第三章 數據鏈路層
3.1不同的數據鏈路層協議
PPP協議(點到點)
CSMA/CD協議(以太網)(帶衝突檢測的載波偵聽多路訪問機制)
(網關和本計算機在同一個網段,一般是路由器的地址,路由器隔絕廣播包)
集線器(只能工作在半雙工)和總線型類似
命令提示符cmd:
arp(地址解析協議)命令:可以查看計算機中緩存ip地址對應的mac地址
ipconfig:可以查看計算機的mac地址,ip地址
以太網(Etherne II)的數據幀格式:
報頭8 目標地址6 源地址6 以太類型2 數據46-1500 幀檢驗序列
報頭:8個字節,提供接收器同步和幀定界服務。
目標地址:6個字節,目標MAC地址,廣播地址全爲1,0xFF FF FF FF。
源地址:6個字節。指出發送節點的單點廣播地址。
以太類型:2個字節,用來指出以太網幀內所含的上層協議。
有效負載:由一個上層協議的PDU(協議數據單元)構成。可以發送的最大有效負載是1500字節。由於以太網的衝突檢測特性,有效負載至少是46個字節。如果上層協議數據單元長度少於46個字節,必須增補到46個字節。
幀檢驗序列:4個字節。驗證比特完整性。
使用wireshark抓取的以太網數據包的幀格式
PPP協議幀格式:
首部標誌字段(5字節) 數據(不超過1500字節) 尾部(3字節)
首部:由標誌字段和協議字段構成
數據部分:信息字段的長度可變,不超過1500字節
尾部:FCS校驗字段和尾部標誌字段
使用GNS3抓取的PPP協議數據包的幀格式
3.2數據鏈路層實現的功能
封裝成幀:在發送數據之前先給其加上頭和尾,用來給數據定界(選定界定符的要求是儘量避免與數據混淆)
透明傳輸:發送端給數據加上轉義字符後發送數據,接收端接收數據並去掉轉義字符,這個過程由於轉義字符在發送時被加上,在接收完成之後被移除,整個過程就好像沒有發生任何事情,所以被稱爲透明傳輸。
差錯檢測:主要通過CRC校驗進行差錯檢測。
算法:先規定一個生成多項式(共有n位),然後給被傳輸數據的末尾加上n-1個 0,用生成多項式除以(mod 2)加零後的傳輸數據,得到n位的餘數,即爲FCS(幀校驗序列)的值
3.3數據鏈路層協議
3.3.1 PPP(點到點)協議:
(1)特點:簡單(不提供可靠傳輸)
封裝成幀(首部和尾部,具有幀開始符和幀結束符)
透明傳輸(加轉義字符,去掉轉義字符)
差錯校驗:CRC計算FCS
支持多種類型的鏈路:光纖,銅線。。。
檢測連接裝狀態
支持身份驗證
最大傳輸單元:1500字節
(2)PPP協議的劃分:網絡控制協議(NCP):支持不同網絡層協議
鏈路控制協議(LCP):建立/配置和測試鏈路連接的選項
高級數據鏈路控制協議(HDLC):將數據包封裝到串行鏈路,支持同步傳輸和異步傳輸
(3)PPP協議的幀格式
幀首字段(1B)7E+地址字段(1B)FF+控制字段(1B)+協議字段(2B)+信息部分(MTU=1500B)+FCS(2B)+幀尾字段(1B)7E
(4) PPP協議傳輸的方式
1)異步傳輸使用字節填充:如果在傳輸的數據中出現了7E(01111110),則將7E變成(7D和5E),如果出現 7D,則變成7D和5D
2)同步傳輸使用零比特填充:如果出現了0111 1110等連續的5個 0的情況,則每5個1後加一個0.
3.3.1.1同步傳輸和異步傳輸
同步傳輸(synchronoustransmission ):以幀爲單位進行發送,通過時鐘同步信號,有兩種方式:有專門的線路來同步時鐘;傳輸的數據本身就帶有時鐘信號(前同步碼)
異步傳輸(asynchronous transmission):以字符爲單位進行發送,兩段有獨立的時鐘(頻率不能相差太多)
3.4 廣播信道的數據鏈路層(使用CSMA/CD協議)
3.4.1 國際標準
10base-5(表示10M帶寬,使用粗同軸電纜,基帶信號,最大傳輸距離爲500m)
T表示雙絞線
F表示光纖
X表示混合介質
3.4.2以太網的最短幀
(1)標準以太網設計的長度爲5km,帶寬爲10m單程傳播時延爲25.6us,往返傳播時延爲51.2us,
則最短幀爲10Mb/S*51.2us=10^7b/s*51.2*10^-6s=512b (64B)
(2)實際爲等待時間t*2(爭用期)*帶寬
(3)截斷二進制指數退避算法
從離散的整數集合[0,1,…,(2k-1)]中隨機取出一個數,記爲r。重傳應推後的時間就是r倍的爭用期。上面的參數k按下面的公式計算:
k=Min[重傳次數,10]
可見當重傳次數不超過10時,參數k等於重傳次數;但當重傳次數超過10時,k就不再增大而一直等於10。
當重傳達16次仍不能成功時(這表明同時打算髮送數據的站太多,以致連續發生衝突),則丟棄該幀,並向高層報告。
3.4.3 以太網的幀格式
對於無效幀,路由器直接丟棄
3.4.4 網卡的作用和MAC地址
(1)網卡使用並行通訊,其工作在物理層(物理連接,數字信號同步,數據的編碼解碼)和數據鏈路層(幀的封裝、差錯檢驗、介質訪問控制)
(2)MAC地址爲全球唯一,共48位二進制組成,前24位標識廠商,後24位自己指定(有單播、多播、廣播MAC地址)
使用arp -a 可以解析出與其通訊的MAC地址
3.4.5 擴展以太網 (計算機數量、距離)
(1)集線器(hub):工作在物理層,不安全,可以帶寬分享,是衝突域相當於網線=總線型
(2)網橋:基於MAC地址轉發數據幀 數據鏈路層設備(衝突變小,但是延遲增加(載波偵聽多路訪問衝突檢測))
網橋不關心是否存在其他網橋的存在,只記錄自己端口對應的mac地址
(3)交換機:很多口的網橋,端口帶寬獨享,每一個端口衝突域(多口網橋)全雙工通訊(可以不使用CSMA/CD協議)
匯聚層交換機(父級交換機) 接入層交換機(子交換機)
只要有集線器存在就爲半雙工 交換機比集線器安全
最短幀 幀格式 退避算法 信道利用率
以太網最短幀:往返最長時間*帶寬
Ipconfig -all(查看本機的ip,mac命令)
Arp -a (本網段其他計算機的mac地址,緩存)
Wf.msc(windows防火牆)
3.4.6 生成樹協議(高可用網絡)
阻斷環路,避免廣播風暴的形成,每個交換機都有優先級和mac地址,通過比較id來i小的優先級高
選根網橋->選根端口(轉發狀態)->選指定端口(轉發狀態)其他端口爲阻斷狀態
高速以太網(100M,1000M,10000 M)
100M 10M以太網最短幀兼容,網線長度變爲100m
1GB以太網 分組突發 工作在全雙工半雙工 最短幀64字節+載波延伸=512字節(有衝突檢測)
10GB以太網只能工作在全雙工通訊,不用衝突檢測 沒有最短幀要求
3.4.7 VLAN 虛擬局域網
VLAN 是由一些局域網網段構成的與物理位置無關的邏輯組。
虛擬局域網其實只是局域網給用戶提供的一種服務,而並不是一種新型局域網。
作者:xuan97916
參考資料: [1]韓立剛,計算機網絡原理創新教程[M],水利水電出版社,2017.1