RS複習之:二層技術----以太網

OSI的通信模型把網絡通信劃分成爲了7個相對獨立的功能層次---應用層、表示層、會話層、傳輸層、網絡層、數據鏈路層、物理層。(這圖醜的啊。。。。)

wKioL1aoHHCSPZB9AACNv56-QnE180.jpg

物理層的東西負責傳輸比特流,利用高低脈衝電路表示0和1,不在老衲的研究範圍之內。

數據鏈路層(OOL)有兩個責任:發送和接受,同時,也提供數據有效的端到端的傳輸連接(PPP啥的),數據鏈路層負責將指令、數據等封裝到幀中(貞子,恩(⊙v⊙)),幀是鏈路層的結構,他必須包含足夠的信息(我是誰,我要發給誰),確保數據能夠安全無誤的通過二層傳輸到目的地。

so,從此看來,每個數據幀最基本需要有的:

1、作爲一個快遞員,我要知道是誰發貨,誰收貨吧

2、我送的是啥,總的告訴別人車裏裝的是啥東西是吧

3、校驗,要不別人發個iPhone,到手變成石頭了

同時,作爲快遞員,工作流程是這樣的:上面各種大佬,想幹啥幹啥,我只看客戶---網絡層給我的包裹,然後我就任勞任怨的承載好,丟給下面的物理層----高佬和矮胖,走路一顛一簸的。。。。。

wKioL1aoHW-yutk1AAEkIQkpR34484.jpg

(這圖醜的。。。。。)

如果你想詳細看看作爲一個快遞員,要承載多少東西的話。。。。

wKioL1aoHfTihW6nAAMrv62mYAc408.jpg

/(ㄒoㄒ)/~~真tm多。。。。他們就是這樣一層一層插入的。。。插入。。。。插入



那首先來看看以太網,最大型的快遞公司:

以太網雖然作爲最大的快遞公司,下面也有幾個小型分公司

EthernetⅡ、Netware、802.3 SAP、802.3 LLC SNAP,作爲分公司,我們執行的快遞標準是不應該改變的,大概的流程是這樣的

wKiom1aoIZmTg-sOAAEpE5DZpxw275.jpg

所以對於我們快遞公司來講,客戶承載啥,我並不是那麼關心,我只用在首尾增加快遞單號啊、校驗啥的。

同時,我們對包裹大小是有要求的,老外總公司的要求是這樣的


Ethernet Frame

Here we discuss both legal and illegal Ethernet frames.The receiver will drop all illegal frames.

The vast majority of all local (LAN) data traffic in the world is Ethernet frames !!  There is no single unit of data that is more common. So anyone in any type of technical field would benefit by understanding the contents of these frames, and how they are transmitted and received. 

Min Frame Size = Header+CRC+DataMin = 64
Max Frame Size = Header_CRC+DataMax = 1518


簡單的說,總公司要求:

1、包裹封裝必須合法,不然我不要

2、包裹不能過小,也不能過大,大小必須在64到1518之間,如果小於64我沒法傳,如果大於1518,我就要考慮是不是發兩個包裹了,如果客戶不讓(DF置位,不允許分片),那沒辦法,也只能丟棄

既然說到這裏,包裹大小隻能靠用戶了,用戶數據大,我們也得傳啊,讓不讓發多個包裹,也是用戶說了算的事情,要了解業務,就要先看看我們快遞單是咋寫的,前面也提到了,快遞單必須包含的有:

誰發貨、誰收貨、送貨內容、校驗,各家快遞公司對快遞單號的寫法也多少有不同,來個總覽:

wKiom1aoJBTA_apoAAN6RKWmArQ834.jpg

從上面可以看出,在以太網中,我們使用MAC地址作爲客戶發貨、收貨地址


先從EthernetⅡ公司開始吧,先看看詳細封裝

wKiom1aoJS6zlaeBAAKUjH6Datg398.jpg

各個字段的作用已經很明顯了,這裏算個東西,每個字段的長度相加6+6+2+4=18bytes,所以,客戶要發送的貨物(data)部分,最小爲46,最大爲1500

type字段表明了所承載的內容,可承載的內容大致如下(恩。。。誰tm記啊。。。。),記住幾個關鍵的就行了,比如IP、ARP、RARP、MPLS等等,這裏你也可以發現一個問題-----ARP這個協議不是三層的哦,之前有面試問,ARP工作在哪一層,諾,三層的協議都有告訴你type=0x0800,ARP協議族是單獨列出來的,再看看MPLS ***,作爲一個標籤黨,工作在二三層之間,so,我們可以這樣說,ARP工作在第二層。

wKiom1aoJTGTnUsVAAQ6CWFJPOw559.jpg



Netware快遞公司:

封裝是這樣的



spacer.gifwKiom1aoLVvTjpkmAAMsagANius521.jpg相對於EthernetⅡ來說,有幾個改動

1、把type字段改成了length

2、把type字段改成了DSAP和SSAP

3、載荷能夠負載的更少點6+6+2+1+1+4=20


802集團公司都差不多

你看看802.3SAP




wKioL1aoMbyRg0VNAAIVuqF9ea8372.jpg



你在看看802.3 LLC 




wKiom1aoMbeBYy8cAALKbSI4ij4440.jpg



OUI呢,是賣給廠商的,24個bit,22個bit可以賣,最後2個bit來表示單播或者組播

而且呢,802.3頭部,使用lenth來與以太網二型幀區別,length有效數值爲0-1536(即0x600)

那麼以太網二型幀就要避開這個數值段,如果大於0x600,則爲以太網二型幀,小於0x600的,就是802.3

因爲802.3頭部沒有類型字段,因此通過802.2來補充(又叫LLC)ISO2層區分爲LLC+MAC層,不同的協議區分爲不同的MAC層,但是公用一個LLC層,like this

wKiom1aoMx3yjgNgAACNgAjFCWE361.jpg




其實寫這麼多(╮(╯_╰)╭你好意思說多。。。。),主要記住以下幾點

1、在以太網上傳輸的數據幀封裝必須合法,否則會被丟棄

2、數據幀大小必須在64-1518之間,小於這個無法傳輸,大於這個要分片

3、幾種封裝的細微區別,交換機使用lenth長度來判斷格式,大於1536就是以太網二型幀,小於1536就是802.3的幀

4、ARP不是三層協議啊





附:http://www.infocellar.com/networks/ethernet/frame.htm

老外的一篇關於以太網幀的文章,不錯



發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章