網(wǎng)絡(luò)編程(三)數(shù)據(jù)鏈路相關(guān)知識

數(shù)據(jù)鏈路,指OSI參考模型中的數(shù)據(jù)鏈路層,有時也指以太網(wǎng)荠呐、無線局域網(wǎng)等通信手段。

各個設(shè)備之間在數(shù)據(jù)傳輸時砂客,數(shù)據(jù)鏈路層和物理層都是必不可少的泥张。數(shù)據(jù)鏈路層的協(xié)議定義了通過通信媒介互連的設(shè)備之間傳輸?shù)囊?guī)范。

MAC地址

MAC地址用于識別數(shù)據(jù)鏈路中互連的節(jié)點(diǎn)鞠值。以太網(wǎng)媚创、無線LAN、藍(lán)牙等設(shè)備都是使用的相同規(guī)格的MAC地址彤恶。

MAC地址長48比特钞钙,在使用網(wǎng)卡(NIC)的情況下,MAC地址一般會被燒入到ROM中声离。因此芒炼,任何一個網(wǎng)卡的MAC地址都是唯一的,在全世界都不會有重復(fù)(凡事有例外:微機(jī)板自己設(shè)置MAC术徊;虛擬機(jī)分配的MAC等不能確保不重復(fù))本刽。

MAC格式

MAC地址中3~24位(比特位)表示廠商識別碼,每個NIC廠商都有特定唯一的識別數(shù)字。25~48位是廠商內(nèi)部為識別每個網(wǎng)卡而用子寓。因此暗挑,可以保證全世界不會有相同MAC地址的網(wǎng)卡。

半雙工與全雙工通信

半雙工是指斜友,只發(fā)送或只接收的通信方式窿祥。它類似于無線電收發(fā)器,若兩端同時說話蝙寨,是聽不見對方說的話的晒衩。而全雙工不同,它允許在同一時間既可以發(fā)送數(shù)據(jù)也可以接收數(shù)據(jù)墙歪。類似于電話听系,接打雙方可以同時說話。

共享介質(zhì)網(wǎng)絡(luò)與非共享介質(zhì)網(wǎng)絡(luò)

從通信介質(zhì)的使用方法上看虹菲,網(wǎng)絡(luò)可分為共享介質(zhì)型非共享介質(zhì)型靠胜。

共享介質(zhì)網(wǎng)絡(luò)

指由多個設(shè)備共享一個通信介質(zhì)的一種網(wǎng)絡(luò)。最早的以太網(wǎng)和FDDI就是介質(zhì)共享型網(wǎng)絡(luò)毕源。在這種方式下浪漠,設(shè)備之間使用同一個載波信道進(jìn)行發(fā)送和接收。為此霎褐,基本上采用半雙工通信方式址愿,并有必要對介質(zhì)進(jìn)行訪問控制。

非共享介質(zhì)網(wǎng)絡(luò)

是指不共享介質(zhì)冻璃,是對介質(zhì)采取專用的一種傳輸控制方式响谓。在這種方式下,網(wǎng)絡(luò)中的每個站直連交換機(jī)省艳,由交換機(jī)負(fù)責(zé)轉(zhuǎn)發(fā)數(shù)據(jù)幀娘纷。此方式下,發(fā)送端與接收端并不共享通信介質(zhì)跋炕,因此很多情況下采用全雙工通信方式赖晶。

最近它也成為了以太網(wǎng)的主流方式。通過以太網(wǎng)交換機(jī)構(gòu)建網(wǎng)絡(luò)辐烂,從而使計(jì)算機(jī)與交換機(jī)端口之間形成一對一的連接遏插,即可實(shí)現(xiàn)全雙工通信。

該方式還可以根據(jù)交換機(jī)的高級特性構(gòu)建虛擬局域網(wǎng)(VLAN棉圈,Virtual LAN)涩堤、進(jìn)行流量控
制等。當(dāng)然分瘾,這種方式也有一個致命的弱點(diǎn),那就是一旦交換機(jī)發(fā)生故障,與之相連的所有計(jì)算機(jī)之間都將無法通信德召。

交換集線器(以太網(wǎng)交換機(jī))

這是一種將非介質(zhì)共享型網(wǎng)絡(luò)中所使用的交換機(jī)用在以太網(wǎng)中的技術(shù)白魂,交換集線器也叫做以太網(wǎng)交換機(jī)。

以太網(wǎng)交換機(jī)就是持有多個端口的網(wǎng)橋上岗,它們根據(jù)數(shù)據(jù)鏈路層中每個幀的目標(biāo)MAC地址福荸,決定從哪個網(wǎng)絡(luò)接口發(fā)送數(shù)據(jù)。這時所參考的肴掷、用以記錄發(fā)送接口的表就叫做轉(zhuǎn)發(fā)表(Forwarding Table)敬锐。

自學(xué)過程

上面提到的轉(zhuǎn)發(fā)表不需要人工在交換機(jī)上面進(jìn)行設(shè)置,可以自動生成呆瞻。

數(shù)據(jù)鏈路層的每個通過點(diǎn)在接到包時台夺,會從中將源MAC地址以及曾經(jīng)接收該地址發(fā)送的數(shù)據(jù)包的接口作為對應(yīng)關(guān)系記錄到轉(zhuǎn)發(fā)表中以某個MAC地址作為源地址的包由某一接口接收痴脾,實(shí)質(zhì)上可以理解為該MAC地址就是該接口的目標(biāo)颤介。因此也可以說,以該MAC地址作為目標(biāo)地址的包赞赖,經(jīng)由該接口送出即可滚朵。這一過程也叫自學(xué)過程。

交換機(jī)的轉(zhuǎn)發(fā)方式

1)存儲轉(zhuǎn)發(fā)
存儲轉(zhuǎn)發(fā)方式檢查以太網(wǎng)數(shù)據(jù)幀末尾的FCS位后再進(jìn)行轉(zhuǎn)發(fā)前域。
因此辕近,可以避免發(fā)送由于沖突而被破壞的幀或噪聲導(dǎo)致的錯誤幀。
2)直通轉(zhuǎn)發(fā)
不需要將整個幀全部接收下來以后再進(jìn)行轉(zhuǎn)發(fā)匿垄。只需要得知目標(biāo)地址即可開始轉(zhuǎn)發(fā)亏推。
因此,它具有延遲較短的優(yōu)勢年堆。但同時也不可避免地有發(fā)送錯誤幀的可能性吞杭。

VLAN

為了減少實(shí)際網(wǎng)絡(luò)拓?fù)涞男薷模梢允褂脦в蠽LAN功能的交換機(jī)变丧。

VLAN技術(shù)附加到網(wǎng)橋/2層交換機(jī)上芽狗,就可以切斷所有VLAN之間的所有通信。因此痒蓬,相比一般的網(wǎng)橋/2層交換機(jī)童擎,VLAN可以過濾多余的包,提高網(wǎng)絡(luò)的承載效率攻晒。

簡單VLAN

如下圖所示顾复,是一個簡單的VLAN,該交換機(jī)按照其端口區(qū)分了A鲁捏、B兩個網(wǎng)段芯砸,從而區(qū)分了廣播數(shù)據(jù)傳播的范圍、減少了網(wǎng)絡(luò)負(fù)載并高了網(wǎng)絡(luò)的安全性。然而異構(gòu)的兩個網(wǎng)段之間假丧,就需要利用具有路由功能的交換機(jī)(如3層交換機(jī))双揪,或在各段中間通過路由器的連接才能實(shí)現(xiàn)通信。

簡單VLAN區(qū)分網(wǎng)段
TAG VLAN(定義了IEEE802.1Q的標(biāo)準(zhǔn))

TAG VLAN中對每個網(wǎng)段都用一個VLAN ID的標(biāo)簽進(jìn)行唯一標(biāo)識包帚。

在交換機(jī)中傳輸幀時渔期,在以太網(wǎng)首部加入這個VID 標(biāo)簽,根據(jù)這個值決定將數(shù)據(jù)幀發(fā)送給哪個網(wǎng)段渴邦。

跨交換機(jī)的VLAN

以太網(wǎng)

在眾多數(shù)據(jù)鏈路中最為著名疯趟、使用最為廣泛的莫過于以太網(wǎng)(Ethernet)(以太網(wǎng)(Ethernet)一詞源于Ether(以太),意為介質(zhì)谋梭。在愛因斯坦提出量子力學(xué)之前信峻,人們普遍認(rèn)為宇宙空間充滿以太,并以波的形式傳送著光章蚣。) 站欺。

現(xiàn)在,以太網(wǎng)已成為最具兼容性與未來發(fā)展性的一種數(shù)據(jù)鏈路纤垂。

早期以太網(wǎng)結(jié)構(gòu)

初期使用多臺終端使用同一電纜的共享介質(zhì)型的連接方式矾策。

初期以太網(wǎng)
現(xiàn)代以太網(wǎng)結(jié)構(gòu)

終端與交換機(jī)之間獨(dú)占電纜的方式實(shí)現(xiàn)以太網(wǎng)通信。

現(xiàn)代以太網(wǎng)
以太網(wǎng)分類

下圖展示以太網(wǎng)介質(zhì)峭沦,不做詳細(xì)介紹:

以太網(wǎng)分類
以太網(wǎng)幀格式

以太網(wǎng)幀前端有一個叫做前導(dǎo)碼(Preamble)的部分贾虽,表示一個以太網(wǎng)幀的開始,也是對端網(wǎng)卡能夠確保與其同步的標(biāo)志吼鱼。

前導(dǎo)碼如下所示:

以太網(wǎng)幀的前導(dǎo)碼

以太網(wǎng)幀本體的前端是以太網(wǎng)的首部蓬豁,它總共占14個字節(jié)。分別是6個字節(jié)的目標(biāo)MAC地址菇肃、6個字節(jié)的源MAC地址以及2個字節(jié)的上層協(xié)議類型地粪。

以太網(wǎng)幀本體

文章內(nèi)容摘自:圖解TCP/IP(第五版)

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個濱河市琐谤,隨后出現(xiàn)的幾起案子蟆技,更是在濱河造成了極大的恐慌,老刑警劉巖斗忌,帶你破解...
    沈念sama閱讀 216,651評論 6 501
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件质礼,死亡現(xiàn)場離奇詭異,居然都是意外死亡织阳,警方通過查閱死者的電腦和手機(jī)眶蕉,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 92,468評論 3 392
  • 文/潘曉璐 我一進(jìn)店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來唧躲,“玉大人造挽,你說我怎么就攤上這事碱璃。” “怎么了刽宪?”我有些...
    開封第一講書人閱讀 162,931評論 0 353
  • 文/不壞的土叔 我叫張陵厘贼,是天一觀的道長界酒。 經(jīng)常有香客問我圣拄,道長,這世上最難降的妖魔是什么毁欣? 我笑而不...
    開封第一講書人閱讀 58,218評論 1 292
  • 正文 為了忘掉前任庇谆,我火速辦了婚禮,結(jié)果婚禮上凭疮,老公的妹妹穿的比我還像新娘饭耳。我一直安慰自己,他們只是感情好执解,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,234評論 6 388
  • 文/花漫 我一把揭開白布寞肖。 她就那樣靜靜地躺著,像睡著了一般衰腌。 火紅的嫁衣襯著肌膚如雪新蟆。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 51,198評論 1 299
  • 那天右蕊,我揣著相機(jī)與錄音琼稻,去河邊找鬼。 笑死饶囚,一個胖子當(dāng)著我的面吹牛帕翻,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播萝风,決...
    沈念sama閱讀 40,084評論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼嘀掸,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了规惰?” 一聲冷哼從身側(cè)響起睬塌,我...
    開封第一講書人閱讀 38,926評論 0 274
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎卿拴,沒想到半個月后衫仑,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 45,341評論 1 311
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡堕花,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,563評論 2 333
  • 正文 我和宋清朗相戀三年文狱,在試婚紗的時候發(fā)現(xiàn)自己被綠了。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片缘挽。...
    茶點(diǎn)故事閱讀 39,731評論 1 348
  • 序言:一個原本活蹦亂跳的男人離奇死亡瞄崇,死狀恐怖呻粹,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情苏研,我是刑警寧澤等浊,帶...
    沈念sama閱讀 35,430評論 5 343
  • 正文 年R本政府宣布,位于F島的核電站摹蘑,受9級特大地震影響筹燕,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜衅鹿,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,036評論 3 326
  • 文/蒙蒙 一撒踪、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧大渤,春花似錦制妄、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,676評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至烫幕,卻和暖如春俺抽,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背纬霞。 一陣腳步聲響...
    開封第一講書人閱讀 32,829評論 1 269
  • 我被黑心中介騙來泰國打工凌埂, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留,地道東北人诗芜。 一個月前我還...
    沈念sama閱讀 47,743評論 2 368
  • 正文 我出身青樓瞳抓,卻偏偏與公主長得像,于是被迫代替她去往敵國和親伏恐。 傳聞我的和親對象是個殘疾皇子孩哑,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 44,629評論 2 354

推薦閱讀更多精彩內(nèi)容