網(wǎng)絡(luò)中數(shù)據(jù)傳輸過程解析
比如有一個網(wǎng)絡(luò): 1、PC-A、PC-B、PC-C、PC-D都有一個MAC地址,路由器是不是也有一個MAC地址?
2.不管是二層還是三層交換機,在每個交換機的交換接口都有一個MAC地址,但此MAC地址不會在數(shù)據(jù)轉(zhuǎn)發(fā)時起作用, 3.數(shù)據(jù)包的發(fā)包路由過程是一個較為復(fù)雜的過程,要首先了解數(shù)據(jù)包的封裝結(jié)構(gòu)。pc-a要發(fā)包給pc-c,如果pc-a沒有知道pc-c的ip地址, 4.pc-a 與pc-c的mac設(shè)為相同不會影響正常通信,因為這兩個主機所處的lan被廣域網(wǎng)分割開來,通過上面發(fā)包的過程可了解不會有任何問題。 5.所謂網(wǎng)關(guān),是說這樣一種設(shè)備:如果主機要發(fā)包,就往這個設(shè)備發(fā)送。也就是說此設(shè)備要有路由功能或有去往外部網(wǎng)路的路徑。 網(wǎng)絡(luò)各層次物理設(shè)備區(qū)別(總結(jié))
一層設(shè)備:中繼器(repeater),集線器(hub) 網(wǎng)絡(luò)設(shè)備都是按照層次劃分滴,每一層滴設(shè)備都會具有所在層滴功能和特點。所以,把設(shè)備分層記憶會很簡單。下次別人再說哪個設(shè)備是第幾層滴,你就能很快滴知道這個設(shè)備大概滴功能是什么了.但是,功能并不局限于這個設(shè)備所在層。比如,路由器上有ping,ping是一個應(yīng)用層程序。那么就能說路由器是一個七層設(shè)備嗎?并不是這樣滴。這些只是輔助功能,主要功能還是集中在三層。一層設(shè)備,主要功能就是對信號進行放大和整形。我們可以認(rèn)為這樣滴設(shè)備就是一條線纜一樣。那么只不過這條線纜具有信號滴放大和整形滴作用。 所有的設(shè)備共享同一根總線,也就是說,所有的數(shù)據(jù)都會發(fā)到這個總線上。假設(shè)左上的機器要發(fā)給下面這臺機器一個數(shù)據(jù)。那么數(shù)據(jù)到了總線上會向兩端傳輸,這樣,所有串在總線上的設(shè)備都會收到這個數(shù)據(jù)。不過,只有下面滴機器會處理和相應(yīng)這個數(shù)據(jù)。這就是說總線型網(wǎng)絡(luò)上,只要有一個設(shè)備占用了總線,其余滴數(shù)據(jù)就沒有辦法傳輸了。那要是其他設(shè)備傳輸了數(shù)據(jù)會怎么樣呢?這個時候就會和總線上正在傳輸?shù)螖?shù)據(jù)沖突了,兩個數(shù)據(jù)發(fā)生碰撞之后就會損壞了。 所有連在同一個總線上滴設(shè)備,組成滴區(qū)域叫做沖突域。所以,需要一種機制來避免這樣的沖突,來提高數(shù)據(jù)滴正確率。網(wǎng)絡(luò)中傳輸?shù)螖?shù)據(jù)會包含目的IP地址和目的MAC地址。右上滴機器看到這些內(nèi)容和自己滴IP以及MAC不同,便不會處理這些數(shù)據(jù)。在總線型網(wǎng)絡(luò)中,避免沖突滴方式是一種叫做CSMA/CD滴東東。 補充一下:他們兩個都同時發(fā)出了數(shù)據(jù)。還是會發(fā)生沖突。沖突了咋辦?這個就是CD=沖突檢測 所有連在集線器上滴設(shè)備都有可能發(fā)生沖突。而且這些設(shè)備只能以半雙工滴方式工作。之所以不能以全雙工模式工作,是因為總線型網(wǎng)絡(luò)上滴機器木有辦法雙向傳輸。 Carrier Sense Multiple Access with Collision Detection(CSMA/CD) 以太網(wǎng)使用一種叫做帶沖突檢測的載波監(jiān)聽多路訪問(CSMA/CD)技術(shù)進行通信.這是一種比較友好的會話方式.比如你有話要說,但是你很禮貌的先聽聽看有沒有別的人在說話(carrier sense),如果有人在說話,你就等他把話說完,你才開始說;如果沒人說話,你就開始說.但是假如有2 個人同時說話怎么辦?假如有2 個人同時說話了,雙方一旦聽到同時有除自己以外的人在說話的話(collision detection),就停止繼續(xù)說話,2 個人都隨機等待一段時間,然后其中1 個人再開始繼續(xù)說話,另外那個人等他說完再接著說。是不是這樣就不會發(fā)生沖突了呢?也不是。因為如果兩個PC,同時偵聽網(wǎng)絡(luò),都沒有數(shù)據(jù)傳輸,他們兩個都同時發(fā)出了數(shù)據(jù)。還是會發(fā)生沖突。沖突了咋辦?這個時候兩個數(shù)據(jù)會回退,等待一個隨機滴時間再次偵聽網(wǎng)絡(luò)。注意,不是一個一定滴時間。因為如果是一定滴時間,兩個還會同時發(fā)送數(shù)據(jù),還是會發(fā)生沖突。所以是等待一個隨機滴時間。 二層設(shè)備:網(wǎng)橋(Bridge),交換機(switch) 先說說這兩個設(shè)備滴主要區(qū)別。主要有三點區(qū)別:1.網(wǎng)橋是靠軟件實現(xiàn)滴,交換機靠ASIC硬件實現(xiàn)。所以交換機滴轉(zhuǎn)發(fā)效率要比網(wǎng)橋快很多。2.網(wǎng)橋最多支持16個端口,交換機理論上可以無限支持。3.網(wǎng)橋分成很多種類,而交換機只是實現(xiàn)其中滴一個功能,就是透明網(wǎng)橋。 二層設(shè)備對于一層設(shè)備來說,提升滴功能就是可以認(rèn)識二層地址了(二層地址有很多種,現(xiàn)階段理解為MAC地址就行了)。認(rèn)識二層地址滴好處就是不會像集線器那樣,從一個端口收到數(shù)據(jù),會轉(zhuǎn)發(fā)到所有端口。二層設(shè)備是可以學(xué)習(xí)端口上連接滴設(shè)備滴MAC地址。所以,數(shù)據(jù)會根據(jù)二層設(shè)備上學(xué)習(xí)到滴MAC地址信息進行數(shù)據(jù)轉(zhuǎn)發(fā)。 正是因為有了MAC地址表,所以才充分避免了沖突,因為交換機通過目的MAC地址知道應(yīng)該把這個數(shù)據(jù)轉(zhuǎn)發(fā)到哪個端口。而不會像HUB一樣,會轉(zhuǎn)發(fā)到所有滴端口。所以,交換機是可以劃分沖突域滴。因為沖突會導(dǎo)致網(wǎng)絡(luò)傳輸效率降低。所以劃分多個沖突域,減小沖突域范圍是很有必要滴。
還是先說這兩個滴區(qū)別:1.三層交換機端口多于路由器。但是三層交換機只有快速以太口和吉比特以太口,不如路由器接口種類豐富。2.三層交換機滴路由功能是通過在二層交換機上增加一個路由模塊來完成。只是一塊ASIC卡。所以三層處理能力不如路由器(不是轉(zhuǎn)發(fā)能力)。 在三層設(shè)備上,比二層設(shè)備更突出的一個功能就是能夠隔離廣播域。在一層和二層設(shè)備上,廣播是會被發(fā)到所有滴端口,除了發(fā)出廣播滴端口。這個功能是通過一個叫做路由表滴東東實現(xiàn)滴。這個類似于交換機里面滴MAC地址表。但是這里面放滴是IP地址信息。 路由器不像交換機,交換機不配置滴話也是可以正常使用滴。路由器是必須要配置滴,至少要給每一個接口上配置一個IP地址,路由器才能夠正常滴工作。記住一點,路由器上每個接口滴IP地址不能夠在同一個網(wǎng)段(不懂滴這里先記下,網(wǎng)段這個概念在講IP地址之后就懂了)。 廣播是不能夠透過路由器滴接口從一端轉(zhuǎn)發(fā)到另一端滴(嚴(yán)格來講,這種說法是錯誤滴,不過現(xiàn)階段講錯在哪就多了,所以暫且認(rèn)為路由器可以隔離所有廣播)。這樣,我們就可以靠路由器來隔離廣播域了。因為很多協(xié)議都是基于廣播實現(xiàn)滴(比如ARP和DHCP等),所以,網(wǎng)絡(luò)中廣播多了也會影響網(wǎng)絡(luò)滴性能。隔離廣播域也是很必要滴。是接收處理,但不轉(zhuǎn)發(fā)。因為在同一個網(wǎng)段滴廣播,任何本網(wǎng)段內(nèi)滴設(shè)備都必須處理.三層交換機接口分為兩種,一個是switchport,一個是routed port。缺省情況下,所有滴都是switchport。switchport只能配置VLAN信息,trunk信息。不能配置IP地址。 先說什么是面向連接什么是無連接。面向連接滴意思就是說,在傳輸數(shù)據(jù)之前,會先在源和目的地之間建立一個邏輯滴連接信道。后面?zhèn)鬏數(shù)嗡袛?shù)據(jù)都會從這個建立滴邏輯連接上傳輸。無連接滴意思則是指會如圖,A是源,E是目的。如果是面向連接滴傳輸,在傳輸之前會先協(xié)商起一個邏輯滴路徑。比如走A-C-D-E這個路線。那么后續(xù)滴所有數(shù)據(jù)都會通過這個路線傳輸?shù)侥康牡亍H绻菬o連接滴傳輸,那么每個數(shù)據(jù)包都可以任意走任何路線。比如第一個數(shù)據(jù)包走A-B-E這條路,第二個有可能走A-E這條路線。 什么是可靠什么是不可靠呢?可靠就是指有確認(rèn)機制,如果沒有確認(rèn)滴數(shù)據(jù)包,源會主動滴重發(fā)。這樣,保證了數(shù)據(jù)包肯定到達了對端。不可靠就是沒有這種確認(rèn)機制。如果有傳輸?shù)五e誤,導(dǎo)致有些包沒有到達。對端,則需要靠上層滴協(xié)議或者應(yīng)用程序來解決重傳滴問題。 TCP是面向連接可靠傳輸。所以,TCP傳輸是可靠性高,但是效率會比較低下。UDP是無連接不可靠傳輸,所以UDP有可能會有錯誤,但是效率會比較高.現(xiàn)在網(wǎng)絡(luò)線路滴可靠性很高,不容易出錯。所以UDP是一種對延遲要求很高滴應(yīng)用很好滴選擇。現(xiàn)在滴video和voice基本都是基于UDP協(xié)議滴。 |
|