計算機網絡筆記(三)謝希仁版

三、TCP/IP五層——數據鏈路層中的重要概念


*1、數據鏈路層使用的信道的類型:點對點信道 和廣播信道


*2、網絡層實現的是數據在不同網絡之間的跳轉傳輸,也就是路由器負責的是對收到的分組進行轉發到其他路由組成的網絡中


3*數據鏈路層的三個基本問題:

3.1、封裝成幀:

3.1.1、幀是數據鏈路層的數據傳送單元

3.1.2、幀的首部和尾部是爲了幀定界

3.1.3、幀的數據部分長度的最大值是MTU(Maximum Transfer Unit,這個值存在與網絡適配器的ROM中,當然路由器中也有,網卡中的默認值爲1500,去掉PPPoE的頭部,實際上是1492字節)

3.1.4、在可打印的ASCII碼組成的文本(鍵盤輸入的文本)中,幀的定界符是SOH(Start Of Header)和EOT(End    Of  Transmission),SOH和EOT的16進制編碼爲0x01和0x04.特別注意,SOH或EOT是一個字符,而非三個

3.2、透明傳輸:控制符在幀的數據部分是透明的

3.2.1、字節/字符填充:在非ASCII碼文件中,很容就出現和SOH和EOT等同的二進制數,解決方法是在定界符前加    ESC轉義符(16進 製爲0x1B),如果本身內容就是0x1B,同理在其前面加ESC轉義符

3.3、差錯檢測:

3.3.1、循環冗餘檢驗(Cyclic Redundancy Check):

a、將數據劃分成k位爲一組的比特流(其實就是一個分組或包的數據長度,我的理解是,網絡中傳輸的最小數據單元是packet,而分組需要進過數據鏈路層的加工,所以,幀的數據長度必然與分組的數據長度一致)

b、雙方實現約定一個數n,在k位一組的數後添加n個0,使其變成k+n位數作爲被除數

c、設除數爲P=n+1;

d、兩數相處,得到餘數R,將餘數R作爲FCS(Frame Check Sequence)添加到幀尾部

e、當收到數據時,將k+n位再加上餘數R後數據除以P=n+1,如果爲0,則表示傳輸無差錯,提交給網絡      層,否則,丟棄數據

3.3.2、網絡適配器是作用物理層和數據鏈路層的設備,並且網絡適配器是有處理器和存儲器的。再就是上述過程    是適配器自行執行的,只有當數據無差錯時,纔會通過中斷告知CPU,將數據提交到上層進行處理

3.3.3、上述的是比特差錯,CRC也僅限於比特差錯檢測,還有一種傳輸差錯:幀丟失,幀重複,幀失序

3.3.4、儘管有CRC這種檢測存在,但仍然不算是可靠傳輸,所有可靠傳輸的操作都在傳輸層進行——TCP超時重傳,流量控制


*4、ASCII碼是7位編碼,128個字符,期中有95個可打印的字符,33個不可打印的字符,也就是說鍵盤上所能輸出的95個字符剛好與之對應


*5、在TCP五層中的IP數據報不一定是二進制,只有當到了物理層才轉化成比特流,這與筆記一中記錄的有所矛盾


*6、點對點的鏈路協議——PPP協議(Point to Point Protocol)。ISP是因特網邊緣主機端連接到因特網核心的接入網,而PPP就是計算機和ISP進行通信時所使用的數據鏈路層協議。PPP是IETF在1992年制定的協議


*7、PPP協議應滿足的需求:簡單、封裝成幀,透明傳輸、差錯檢測、多種網絡協議,多種類型鏈路,檢測連接狀態,最大傳送單元、網絡層地址協商、數據壓縮協商

7.1、PPP的三個組成部分:幀中的數據部分、用來建立、配置和測試數據鏈路連接的鏈路控制協議LCP(Link ControlProtocol)、一套網絡控制協議NCP(Network Control Protocol)

其中F爲定界符,A和C都無作用,協議用來指明是什麼類型的數據:0x0021是IP數據報,0xC021是PPP鏈路控制協議LCP的數據,0x8021表示網絡層的控制數據

7.2、PPP異步傳輸時,將轉義符定義爲0x7E;若在數據中遇到0x7E這把它變成2字節的0x7D,0x5E;若數據中出現0x7D,則把他變成2字節的0x7D,0x5D;若數據中出現ASCII碼的控制字符(即數值小於0x20的字符),則在前面加一個0x7D

7.3、PPP同步傳輸時(一連串的比特連續傳輸,異步是逐個字符傳輸),使用零比特填充,即遇到連續的5個1,就在後面加一個0

7.4、PPP協議工作的過程:當連入ISP後,建立一條從PC到ISP的物理連接,然後想ISP發送一系列的LCP分組,建立LCP連接,然後再發送NCP連接,給PC分配一個臨時的IP地址;當使用完後,NCP釋放IP,LCP釋放鏈路,最後釋放物理層連接。需要注意的時,這整個過程的開始和結束,物理層的連接都是不存在的,當PC通過調制解調器呼路由器時,才喀什建立物理層的連接,然後建立LCP協商,設置最大幀長,所使用的鑑別協議,以及不使用A和C字段。


*8、廣播的鏈路協議——CSMA/CD(Carrier Sense Multiple Access with Collection Detection)的過程:

準備發送:從網絡層獲取一個packet,加上幀的封裝,放入適配器緩存,並開始檢測信道

檢測信道:若檢測到信道忙,則繼續不停檢測,否則,如果9.6us內信道一直存於空閒,就發送幀

載波監聽:就是邊發送邊監聽,但是,發送過程中,如果數據正在信道中和其他端發送的數據發生碰撞,此時,碰撞兩方是都不能接收到碰撞信號的,必須等數據的第一比特到達端的時候,才能終止,而終止後還需要發送32比特或48比特的干擾信  號。而後,在爭用時間2t(512比特,51.2us)的r(指數退避算法)倍後,再次檢測信道發送。

  如果發送過程中並沒有發生碰撞,則在發送結束9.6us後再次發送下一個幀(9.6us用來清楚緩存)

指數退避算法:即r是0到2的n(次數)次方-1之間的一個整數,並且如果2的n次方-1大於10,就讓r在0到10之間的整數中取一隨機數,當次數達到16次,就停止發送,向上報錯


*9、PPP協議是全雙工的,而CSMA/CD是單工的


*10、網絡適配器的功能是:數據鏈路層數據的的封裝和解封(添加幀首部和尾部)、對鏈路的管理(CSMA/CD的實現——進行數據串行傳輸和並行傳輸的轉換)、物理層中對傳輸的數據的編碼和解碼(本來有個疑問,這個功能不是調制解調器的嗎?後來發現在現在的網絡中,電路傳輸已經很少了,那麼對於數字信號轉模擬信號的的實現就沒有必要存在了,因此,也就沒有真正意義上的調制解調器了,現在我們所聽到的撥號器調制解調器錯誤都指的是軟件,並且功能並不是模數轉換了,而數據的編碼依然是存在的,例如以太網的數據都是曼切斯特編碼的。所以,才把這部分的功能歸併到網絡適配器上)


*11、電磁波在1km電纜的傳播時延約爲5us


*12、MAC幀判定無效:

幀的長度不是整數個字節

收到的幀檢驗序列FCS查出有錯(CRC比特差錯檢測)

收到的有效幀幀字長不再64~1518字節之間


*13、網橋是依靠轉發表來轉發MAC幀的(路由器用路由表根據IP轉發分組),網橋隔絕了衝突域


*14、交換機是多接口網橋


*15、網絡適配器中有MAC地址,MTU值


*16、集線器(屬於轉發器)——物理層、交換機/網橋——數據鏈路層、路由器——網絡層、網絡適配器——數據鏈路層和物理層、網關——網絡層以上


*17、鏈路是一個節點到相鄰節點的一段物理線路,數據鏈路是在鏈路的基礎上增加了一些必要的硬件(網絡適配器)和軟件(協議的實現)


*18、PPPoE是爲寬帶上網的主機使用的鏈路層協議


*19、共享信道資源的方式有兩種:一是靜態劃分信道(各種複用技術,頻分,時分,波分,CDMA碼分),二是動態操控接入控制,又稱多點接入












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