摘要:這一章其實(shí)就講了一件事,就是分組交互網(wǎng)絡(luò)辣往。前一章講分組在廣域網(wǎng)上的傳輸兔院,這一章講分組在局域網(wǎng)內(nèi)的傳輸,前一章分組轉(zhuǎn)發(fā)的設(shè)備是路由器站削,這一章分組轉(zhuǎn)發(fā)的設(shè)備是交換機(jī)坊萝。更確切的說講以太網(wǎng)的分組交換方式。
關(guān)鍵詞:以太網(wǎng)许起;分組交換網(wǎng)絡(luò)十偶;ARP;
目錄:
??1 以太網(wǎng)簡介
??2 分組交換網(wǎng)的核心:ARP協(xié)議
????2.1 廣播分組
????2.2 交換機(jī)自學(xué)習(xí)能力
????2.3 物理地址適用范圍
1 以太網(wǎng)簡介
以太網(wǎng)到底是個(gè)什么园细,其實(shí)就是個(gè)高速布置的局域網(wǎng)惦积,而且是有線的,目前有線局域網(wǎng)絕大多數(shù)都是以太網(wǎng)猛频,由于我也不知道其他非以太網(wǎng)的有線網(wǎng)是什么樣的狮崩,所以我不好來給以太網(wǎng)一個(gè)定性的描述蛛勉,以及他為什么叫以太網(wǎng),這也許涉及到其發(fā)展史厉亏。
以太網(wǎng)目前主要是交換以太網(wǎng)董习,也就是局域網(wǎng)內(nèi)用交換機(jī)來存儲(chǔ)和轉(zhuǎn)發(fā)分組,據(jù)說以前還有總線類型的以太網(wǎng)后來又有集線器以太網(wǎng)爱只,直到今日才有了交換機(jī)以太網(wǎng)皿淋。
既然是交換機(jī)以太網(wǎng),那么其核心設(shè)備肯定就是交換機(jī)了恬试。路由器用來再廣域網(wǎng)內(nèi)轉(zhuǎn)發(fā)分組窝趣,而交換機(jī)則是用再局域網(wǎng)中轉(zhuǎn)發(fā)分組。
前面我們學(xué)習(xí)了路由器的體系結(jié)構(gòu)及其如何轉(zhuǎn)發(fā)分組的训柴,這章則主要講交換機(jī)如何轉(zhuǎn)發(fā)分組哑舒,但不會(huì)涉及到其體系結(jié)構(gòu)。
2 分組交換的核心:交換機(jī)
交換機(jī)工作原理大致上和路由器原理差不多幻馁,路由器中有路由轉(zhuǎn)發(fā)表洗鸵,交換機(jī)中也有個(gè)轉(zhuǎn)發(fā)表,只不過目的地寫的不是子網(wǎng)仗嗦,而是寫的物理地址膘滨。局域網(wǎng)內(nèi)任何設(shè)備之間的通信都要經(jīng)過交換機(jī),他就如同一個(gè)局域網(wǎng)的樞紐一樣稀拐,是每個(gè)分組的必經(jīng)之地火邓。我們直到,每個(gè)設(shè)備除了有ip地址之外德撬,還有物理地址铲咨。物理地址是鏈路層的,而ip地址是網(wǎng)絡(luò)層的蜓洪。也就是說交換機(jī)根據(jù)物理地址進(jìn)行轉(zhuǎn)發(fā)而不管目的地的ip地址是多少纤勒。所以每臺(tái)主機(jī)在發(fā)送報(bào)文出去之前,都必須要直到目的主機(jī)ip地址對(duì)應(yīng)的MAC地址是多少隆檀,然后將該地址封裝到鏈路層頭部信息中踊东,交換機(jī)會(huì)檢查物理地址,將其推送到對(duì)應(yīng)的輸出端口刚操。這就是物理地址解析協(xié)議ARP闸翅。
這中間就會(huì)有三個(gè)問題,
- 第一菊霜,我怎么直到目的主機(jī)的MAC地址是多少坚冀,他又沒告訴我;
- 第二鉴逞,同樣的道理记某,交換機(jī)又是怎么知道局域網(wǎng)中各個(gè)與之相連的設(shè)備的地址呢司训。
- 第三,如果我要把我的分組發(fā)到外網(wǎng)去液南,是不是得直到外網(wǎng)目的主機(jī)的MAC地址壳猜。
為了回答這三個(gè)問題,使用三個(gè)小節(jié)滑凉。
2.1廣播分組
第一個(gè)問題涉及到ARP協(xié)議的廣播功能统扳,當(dāng)你不知道目的主機(jī)的MAC時(shí),你可以要交換機(jī)幫你廣播一個(gè)APR查詢報(bào)文畅姊,此時(shí)將MAC地址寫為FF-FF-FF-FF-FF-FF咒钟。這個(gè)廣播的查詢報(bào)文會(huì)發(fā)送到子網(wǎng)中的每臺(tái)主機(jī),主機(jī)收到報(bào)文后若未,查看里面的ip是不是自己的朱嘴,如果是就會(huì)回復(fù)他。這樣就獲得了目的主機(jī)的MAC地址了粗合。
2.2 交換機(jī)自學(xué)習(xí)能力
既然所有的分組都要通過交換機(jī)來轉(zhuǎn)發(fā)萍嬉,那么交換機(jī)怎么獲得所有設(shè)備的MAC地址呢癣漆?其實(shí)很簡單冕末,你一旦發(fā)送幀給交換機(jī)的時(shí)候,你的幀里面就包含了你自己的ip地址和MAC地址巩螃,交換機(jī)就記錄下來了甚淡。比如最開始的時(shí)候大诸,所有設(shè)備都不知道彼此的MAC地址捅厂,當(dāng)?shù)谝粋€(gè)設(shè)備發(fā)送ARP查詢時(shí)候贯卦,交換機(jī)得到了第一個(gè)設(shè)備的MAC地址,然后交換機(jī)廣播該查詢焙贷,當(dāng)目的主機(jī)收到之后撵割,回復(fù)該查詢的時(shí)候,他也要發(fā)送幀給交換機(jī)辙芍,這樣交換機(jī)又知道了第二個(gè)設(shè)備的MAC地址啡彬。只要設(shè)備發(fā)送幀,他就已經(jīng)把他的MAC告訴交換機(jī)了故硅。
同時(shí)交換機(jī)會(huì)定期維護(hù)這個(gè)ARP表庶灿,避免過期
2.3 物理地址適用范圍
廣域網(wǎng)內(nèi)的ip地址用于廣域網(wǎng)尋址,局域網(wǎng)內(nèi)MAC地址用于局域網(wǎng)尋址吃衅,所以物理地址只能用來在局域網(wǎng)內(nèi)尋址往踢,如果你要給外網(wǎng)的設(shè)備通信,那么你需要在局域網(wǎng)內(nèi)把分組發(fā)給路由器徘层,所以此時(shí)應(yīng)該寫上路由器的MAC地址峻呕,路由器檢查之后確認(rèn)是外網(wǎng)的利职,會(huì)將其推向輸入端,然后查路由表確定其出口瘦癌,當(dāng)最終該分組到達(dá)目的設(shè)備的局域網(wǎng)路由器上的時(shí)候猪贪,路由器上的NAT協(xié)議將ip地址轉(zhuǎn)變成了局域網(wǎng)ip地址,然后發(fā)送到路由器上的網(wǎng)絡(luò)適配器讯私,開始該分組的在局域網(wǎng)的鏈路層轉(zhuǎn)發(fā)热押,同樣的他首先檢查ARP表,然后加上目的主機(jī)的MAC地址妄帘,交給交換機(jī)楞黄,然后交換機(jī)最后送達(dá)給目的主機(jī)。
我們第五章和第六章討論的都是局域網(wǎng)內(nèi)的技術(shù)抡驼,第五章是以太網(wǎng)鬼廓,第六章是無線網(wǎng)絡(luò)。
Q&A
鏈路層在很大篇幅上講述了如何在避免碰撞致盟。而沒有講清楚這些問題是如何產(chǎn)生的碎税。所以,需要先知道一下背景馏锡。
- 數(shù)據(jù)在傳輸中雷蹂,是使用什么模擬信號(hào)傳輸?shù)模窟@些信號(hào)碰撞之后會(huì)發(fā)生什么情況杯道?
- 在鏈路中一個(gè)節(jié)點(diǎn)發(fā)送數(shù)據(jù)和接收數(shù)據(jù)是共享同一個(gè)傳輸介質(zhì)嗎匪煌?如果共享,那么發(fā)送數(shù)據(jù)和接收數(shù)據(jù)為什么不會(huì)干擾党巾?如果不共享萎庭,是個(gè)節(jié)點(diǎn)與另目的節(jié)點(diǎn)都有自己的線路,還是這些節(jié)點(diǎn)共用一個(gè)線路聯(lián)系目的節(jié)點(diǎn)齿拂?如果都有自己的線路驳规,那么碰撞點(diǎn)應(yīng)該實(shí)在接收方處發(fā)生,接收方是如何知道發(fā)生碰撞了的署海?接收方發(fā)現(xiàn)碰撞之后吗购,怎么讓發(fā)送知道的,然后使得發(fā)送方重傳這些碰撞的幀砸狞?既然在接收方處發(fā)生了碰撞捻勉,那么為什么不在接收方處設(shè)置一個(gè)關(guān)卡,這個(gè)關(guān)卡一次只能處理一條線路刀森,輪流的輸出不同線路的幀踱启,那么這些幀就不會(huì)混在一起產(chǎn)生碰撞了?
- 多路訪問很常見嗎?為什么要著重講廣播禽捆?不是廣播的情況難道就不會(huì)產(chǎn)生碰撞問題嗎笙什?
- 在一個(gè)局域網(wǎng)網(wǎng)絡(luò)中,一個(gè)路由器連接了兩個(gè)子網(wǎng)胚想,其中一個(gè)子網(wǎng)時(shí)各個(gè)用戶琐凭,另一個(gè)子網(wǎng)接入到光纖到戶的網(wǎng)關(guān)路由器上,當(dāng)某用戶通過該路由器發(fā)送目的ip不屬于該子網(wǎng)的報(bào)文時(shí)浊服,是用戶端通過網(wǎng)關(guān)判斷其是外網(wǎng)统屈,然后直接發(fā)送給路由器,而不是發(fā)送給子網(wǎng)中的其他用戶牙躺,還是路由器會(huì)通過他的網(wǎng)關(guān)判斷這是送到外網(wǎng)的愁憔?此時(shí)路由器由于只有一個(gè)出端口,這個(gè)通往外網(wǎng)的分組在入端口出會(huì)先查路由表孽拷,反正都只有一個(gè)出口吨掌,路由表還有意義嗎?如果該分組是通網(wǎng)路由器下的另一個(gè)局域網(wǎng)脓恕,那么路由表中會(huì)包含局域網(wǎng)下路由信息嗎膜宋,如果該路由器下有多個(gè)局域網(wǎng)呢,路由表似乎就不得不將局域網(wǎng)的路由信息寫到路由轉(zhuǎn)發(fā)表了炼幔?當(dāng)一個(gè)分組從出端口出來的時(shí)候秋茫,會(huì)先通過網(wǎng)關(guān)判斷這是子網(wǎng)的還是外網(wǎng)的,如果是子網(wǎng)的就查ARP表乃秀,外網(wǎng)的直接用路由器MAC地址肛著?當(dāng)這個(gè)分組經(jīng)過最后一個(gè)局域網(wǎng)路由器,要送到廣域網(wǎng)的時(shí)候跺讯,他已經(jīng)沒有ARP表可查了枢贿,因?yàn)楹竺鏇]有交換機(jī)了,都是路由器直接互聯(lián)了抬吟,那么該路由器出口端的網(wǎng)關(guān)不就沒有作用了嗎?對(duì)于一個(gè)目的ip地址萨咕,到底是先查路由表還是先查ARP表统抬?
- 子網(wǎng)掩碼在報(bào)文從源到目的之間傳輸?shù)倪^程中火本,具體起到 了哪些作用?
- 連接到交換機(jī)上的多條鏈路的公平性如何聪建?