TCP/IP-鏈路層
數據鏈路層的作用
- TCP/IP中對OSI參考模型的數據鏈路層及以下部分(物理層)未作定義。因為TCP/IP以這兩層的功能是透明的為前提(TCP/IP假定這些物理網絡已經存在)。
- 各個設備之間在數據傳輸時,數據鏈路和物理層都是必不可少的。數據鏈路層是在物理層提供比特傳輸的前提下以幀為單位再進行傳輸。
- 數據鏈路層常用的傳輸技術有以太網、WLAN、PPP(Point to Point Protocol,點對點協議)。
IEEE802局域網和城域網標準
原始以太網幀格式被稱為DIX或者Ethrnet II。對這種類型修改後,由IEEE標準化為一種CSMA/CD網絡,稱為802.3.在IEEE標準中,帶802前綴的標準定義額局域網和城域網的工作過程。當前最流行的802標準是802.3(以太網) 和802.11(WLAN/Wi-Fi)
以太網幀格式
- 前導碼字段:接收器電路用它確定一個幀的到達時間
- SFD:幀起始分隔符:接收器使用它“恢復時鐘”,固定為0xAB
- DST:目的MAC地址
- SRC:源MAC地址
- 長度或類型:大多數情況下用於確定後面的數據類型,常見的
-
IPV4(0x0800)
-
IPV6(0x86DD)
-
ARP(0X0806)
-
Q標簽(0x8100)
可攜帶一個虛擬局域網或者802.1q標準的VLAN ID
-
- P/Q標簽:提供虛擬局域網和一些服務質量(QoS)指示符
- FCS:幀校驗序列
802.1p/q:虛擬局域網和QoS標簽
虛擬局域網是一組邏輯上的設備和用戶,這些設備和用戶不受物理位置的限制,可以根據功能,部門以及應用等因素組織起來,相互間的通信就像在同一個網段中,通信主要通過第三層的路由器實現,目的是為了解決大型多用途交換網絡運行中的問題。
劃分VLAN的基本策略
從技術角度講,VLAN的劃分可依據不同原則,一般有以下三種劃分方法:
-
基於端口的VLAN劃分
這種劃分是把一個或多個交換機上的幾個端口劃分一個邏輯組,這是最簡單、最有效的劃分方法。該方法只需網絡管理員對網絡設備的交換端口進行重新分配即可,不用考慮該端口所連接的設備。
-
基於MAC地址的VLAN劃分
MAC地址其實就是指網卡的標識符,每一塊網卡的MAC地址都是惟一且固化在網卡上的。MAC地址由12位16進制數表示,前8位為廠商標識,後4位為網卡標識。網絡管理員可按MAC地址把一些站點劃分為一個邏輯子網。
-
基於路由的VLAN劃分
路由協議工作在網絡層,相應的工作設備有路由器和路由交換機(即三層交換機)。該方式允許一個VLAN跨越多個交換機,或一個端口位於多個VLAN中。
VLAN的三大優點:
- 控制廣播風暴:一個VLAN就是一個邏輯廣播域,通過對VLAN的創建,隔離了廣播,縮小了廣播範圍,可以控制廣播風暴的產生。
- 提高網絡的整體安全性:可以控制用戶訪問權限和邏輯網段大小,將不同用戶群劃分在不同VLAN,從而提高交換式網絡的整體性能和安全性
- 方便網絡的管理:對於采用VLAN技術的網絡來說,一個VLAN可以根據部門職能、對象組或者應用將不同地理位置的網絡用戶劃分為一個邏輯網段。在不改動網絡物理連接的情況下可以任意地將工作站在工作組或子網之間移動。利用虛擬網絡技術,大大減輕了網絡管理和維護工作的負擔,降低了網絡維護費用
當不同的VLAN對應同一個交換機的時候,只需要確保流量不在兩個VLAN中泄露就可以。
但是不同的VLAN在不同的交換機中的話,就有點麻煩了。
在這種情況下需要使用VLAN來標記該幀的歸屬,這通過使用VLAN標簽標記,在VLAN標簽中包含了一個12位的VLAN標識符,它還包含額QoS的3位優秀級
網橋和交換機
網橋和交換機用於連接多個物理的鏈路層網絡或成組的站,可以通過網橋或者交換機擴展局域網。
網橋、交換機處理幀和建立轉發表
- (1) 從端口x收到無差錯的幀(如有差錯即丟棄),在轉發表中查找目的站 MAC 地址。
- (2) 如有,則查找出到此 MAC 地址應當走的端口 d,然後進行(3),否則轉到(5)。
- (3) 如到這個 MAC 地址去的端口 d = x,則丟棄此幀(因為這表示不需要經過網橋進行轉發)。否則從端口 d 轉發此幀。
- (4) 轉到(6)。
- (5) 向網橋除 x 以外的所有端口轉發此幀(這樣做可保證找到目的站)。
- (6) 如源站不在轉發表中,則將源站 MAC 地址加入到轉發表,登記該幀進入網橋的端口號,設置計時器。然後轉到(8)。如源站在轉發表中,則執行(7)。
- (7) 更新計時器。
- (8) 等待新的數據幀。轉到(1)。
生成樹協議(STP)
生成樹協議(Spanning Tree Protocol,STP)由IEEE 802委員會制定了生成樹協議的規範802.1d。是一個第2層的管理協議。其目標是在物理環路上建立一個無環的邏輯鏈路拓撲結構。
當有多個交換機進行工作的時候,可能會出現環路,當出現這種情況的時候STP通過在每個網橋中禁用某些端口來解決環路問題
這樣就出現了一個問題,網橋的啟用和關閉,接口卡更換或者MAC地址改變,這些都會影響到生成樹,那麽STP就需要動態的適應這種情況,為此,STP通過一種稱為網橋協議數據單元(BPDU)的幀來實現,這些幀形成和維護生成樹,這顆樹“生長”自一個網橋,該網橋稱為根網橋
BPDU結構:
- port:協議ID,被設置為0
- Vers:設為0或2,表示使用STP或者RSTP
- type:數據類型
- flags:
- TC:拓撲變化
- TCP:拓撲變化確認
- P:建議
- 端口角色:
- 00:未知
- 01:備用
- 10:根
- 11:指定
- 根ID:發送方是的根網橋標識符
- 根路徑成本:根ID字段中指定的計算出到達某個網橋的成本
- PID:端口標識符和由發送幀給出的端口號
- msgA:消息有效期
- maxA:最大有效期
- helloTime:配置幀的傳輸周期
- 延遲時間:處於學習和幀聽的狀態的時間
端口狀態和角色
為了能夠支持STP,網橋的端口狀態:
-
阻塞
在阻塞狀態下,該端口不進行地址學習,數據轉發,BPDU的發送,但它會監控接受BPDU,並且在它需要包含在根網橋的路徑中時,該端口會轉為偵聽狀態。
-
幀聽
該狀態可以發送和接收BPDU,但不進行地址學習和轉發,在經過15s的轉發延遲後轉為學習狀態
-
學習
可以執行除了數據轉發之外的所有操作
-
轉發
轉發數據
-
禁用
禁用端口,防止環路
端口種類:
-
根端口
生成樹中位於指向根的線段終點的端口
-
指定端口
處於轉發狀態,並與根相連線段中路徑成本最小的端口
-
備用端口
與根相連線段中路徑成本比指定端口高的端口
-
備份端口
連接到同一線段中作為同一網橋指定端口使用的端口,可輕易接管一個失效的指定端口
生成樹的建立
建立生成樹的第一步是選舉根網橋,根網橋是在網絡中標識符最小的網橋,確定根網橋的方法:一個網橋初始化的時候,認為自己是根網橋,用自己的網橋ID配置根ID字段發送BPDU消息,當碰到一個更小的ID的網橋時,停止發送,讓更小的ID的網橋發送,發出根ID更小的BPDU端口標記為根端口
當網絡中發生拓撲變化的時候: 網橋向根端口以外的端口發送拓撲變化通知TCN,通知自己在樹中的父網橋,直到根,樹中通過根的下一個網橋向發送通知的網橋確認TCN,並將它們轉發到根,根網橋在後續周期性配置消息中設置TC位,網絡中的每個網橋都會轉發此消息,並且處於阻塞和轉發狀態的端口接收消息,將有效期以秒代替分鐘,更新轉發表。
TCP/IP-鏈路層