資料鏈路層在tcp-ip協議簇中位於第二層,是除物理層外第乙個需要了解的層。
資料鏈路層的傳輸單位是幀,有沒有覺得熟悉呢?如果你看了我的tcp-ip5層協議的話,我在這篇部落格裡用了資料幀的說法。下面讓我們來更詳細的認識一下幀結構吧。
在另一篇部落格中,此時的幀是這樣的
mac子層
網路層傳輸層
應用層幀尾
幀頭、資料部分
ip頭tcp/udp頭(具體哪個取決是傳輸方式)
hello
fcs但是現在我們只關心幀,我們將中間的網路層、傳輸層、應用層抽象為資料部分,只關心mac子層和幀尾。其中mac子層中又分為幀頭和資料部分。
幀頭資料部分
幀尾目標mac 、源mac、型別字段
上3層資料
fcs幀頭包含了3個字段源mac位址和目標mac位址和型別字段。
前兩個字段分別為6位元組長的目的位址字段和源位址字段,目的位址字段包含目的mac位址資訊,源位址字段包含源mac位址資訊。第三個欄位為2位元組的型別字段,裡面包含的資訊用來標誌網路層使用的是什麼協議,以便接收端把收到的mac幀的資料部分上交給網路層的這個協議。例如,當型別欄位的值是0x0800時,就表示上層使用的是ip協議;若型別欄位的值為0x0806,則表示該幀是由arp協議發過來的。
mtu是什麼呢?mtu是最大傳輸單元
最大傳輸單元(maximum transmission unit,mtu)用來通知對方所能接受資料服務
單元的最大尺寸,說明傳送方能夠接受的有效載荷大小。
而幀的mtu值最大時1500byte。裡面儲存的就是上三層,網路層、傳輸層、應用層的資料了。當我們傳輸的資料大於1500byte的時候,那麼我們只能分包傳送了。這也是為什麼現在tcp的使用越來越多的原因,因為tcp是可靠連線,就算某個包丟失了,還會重新傳送;而udp丟了就丟了,消失在了網路的汪洋大海?♂️中。
幀尾的fcs是什麼呢?fcs是將前面幾個部分通過某個演算法算出來的乙個大小為4bytes的值,通過這個值可以校驗資訊是否被篡改了,聽上去是不是很像md5演算法呢?雖然演算法不同,但是做的事情還是一樣的。???
幀格式有很多,詳細的可自行查閱資料或者看看度娘詞條幀格式。這裡我們只簡單說2種幀格式。
這個幀格式是使用在有線網絡卡的,裝了這個幀格式的幀就像在陸地上馳騁的?。因為有線也被比喻為網路高速公路?嘛。???
這個幀格式則使用在無線網絡卡的傳輸之間,裝了這個幀格式的幀就像在天空中翱翔的?。可以脫離有線的限制,而無線傳輸。
不論是接收還是傳送乙個資料幀時
首先學習幀中的源mac位址並記錄到本交換機上形成mac位址表
交換機永遠只會根據源mac位址學習。
傳送幀時學習本交換機上的mac位址和對應的交換機埠號。因為傳送時的client一定時本交換機上的,所以通過這個途徑學習本交換機上的mac位址。
接收幀時學習其他交換機上的mac位址和對應的交換機埠號。因為接收的幀的源mac位址是其他交換機上的,通過這個途徑才能學習到其他交換機上的mac位址。
如mac位址表中有匹配項,則單播**至相對應的埠號。
如mac位址表中無匹配項,則除接收埠外廣播**至本交換機所有埠。
mac位址表老化時間預設是300秒(可修改)
從乙個位址記錄加入位址表以後開始計時,如果在老化時間內各埠未收到源位址為該mac位址的幀,那麼,這些位址將從動態**位址表(由源mac位址、目的mac位址和它們相對應的交換機的埠號)中被刪除。靜態mac位址表不
受位址老化時間影響。
TCP IP 二 資料鏈路層
資料鏈路層有三個目的 ip大家都聽說過。至於arp和rarp,arp叫做位址解析協議,是用ip位址換mac位址的一種協議,而rarp則叫做逆位址解析協議,在tcp ip協議的後面章節會介紹它們 在區域網裡面用arp協議可以很容易的搞癱瘓網路哦 資料鏈路層的協議還是很多的,有我們最常用的乙太網 就是平...
TCP IP協議 資料鏈路層
資料鏈路層的主要作用 網路層的資料單元是資料報package,資料鏈路層的作用就是把網路層傳下來的資料報封裝成幀frame,傳送給物理層 或者接收到的幀中的資料提取出來傳送給網路層。可以概括為下面三個 資料封裝成幀,或者從幀裡提取資料 控制真的傳輸,包括傳輸差錯,調節傳送速率與接收方匹配 在兩個網路...
TCP IP協議(2) 資料鏈路層
資料鏈路層有三個目的 1.為ip模組傳送和接收ip資料報 2.為arp模組傳送arp請求和接收arp應答 3.為rarp傳送rarp請求和接收rarp應答 ip大家都聽說過。至於arp和rarp,arp叫做位址解析協議,是用ip位址換mac位址的一種協議,而rarp則叫做逆位址解析協議,在tcp i...