導航:首頁 > 網路連接 > 計算機網路數據鏈路層冗餘碼

計算機網路數據鏈路層冗餘碼

發布時間:2023-09-07 12:40:38

1. 計算機網路知識點

一、計算機網路概述

1.1 計算機網路的分類

按照網路的作用范圍:廣域網(WAN)、城域網(MAN)、區域網(LAN);

按照網路使用者:公用網路、專用網路。

1.2 計算機網路的層次結構

TCP/IP四層模型與OSI體系結構對比:

1.3 層次結構設計的基本原則

各層之間是相互獨立的;

每一層需要有足夠的靈活性;

各層之間完全解耦。

1.4 計算機網路的性能指標

速率:bps=bit/s 時延:發送時延、傳播時延、排隊時延、處理時延 往返時間RTT:數據報文在端到端通信中的來回一次的時間。

二、物理層

物理層的作用:連接不同的物理設備,傳輸比特流。該層為上層協議提供了一個傳輸數據的可靠的物理媒體。簡單的說,物理層確保原始的數據可在各種物理媒體上傳輸。

物理層設備:

中繼器【Repeater,也叫放大器】:同一區域網的再生信號;兩埠的網段必須同一協議;5-4-3規程:10BASE-5乙太網中,最多串聯4個中繼器,5段中只能有3個連接主機;

集線器:同一區域網的再生、放大信號(多埠的中繼器);半雙工,不能隔離沖突域也不能隔離廣播域。

信道的基本概念:信道是往一個方向傳輸信息的媒體,一條通信電路包含一個發送信道和一個接受信道。

單工通信信道:只能一個方向通信,沒有反方向反饋的信道;

半雙工通信信道:雙方都可以發送和接受信息,但不能同時發送也不能同時接收;

全雙工通信信道:雙方都可以同時發送和接收。

三、數據鏈路層

3.1 數據鏈路層概述

數據鏈路層在物理層提供的服務的基礎上向網路層提供服務,其最基本的服務是將源自網路層來的數據可靠地傳輸到相鄰節點的目標機網路層。數據鏈路層在不可靠的物理介質上提供可靠的傳輸。

該層的作用包括: 物理地址定址、數據的成幀、流量控制、數據的檢錯、重發 等。

有關數據鏈路層的重要知識點:

數據鏈路層為網路層提供可靠的數據傳輸;

基本數據單位為幀;

主要的協議:乙太網協議;

兩個重要設備名稱:網橋和交換機。

封裝成幀:「幀」是 數據鏈路層 數據的基本單位:

透明傳輸:「透明」是指即使控制字元在幀數據中,但是要當做不存在去處理。即在控制字元前加上轉義字元ESC。

3.2 數據鏈路層的差錯監測

差錯檢測:奇偶校驗碼、循環冗餘校驗碼CRC

奇偶校驗碼–局限性:當出錯兩位時,檢測不到錯誤。

循環冗餘檢驗碼:根據傳輸或保存的數據而產生固定位數校驗碼。

3.3 最大傳輸單元MTU

最大傳輸單元MTU(Maximum Transmission Unit),數據鏈路層的數據幀不是無限大的,數據幀長度受MTU限制.

路徑MTU:由鏈路中MTU的最小值決定。

3.4 乙太網協議詳解

MAC地址:每一個設備都擁有唯一的MAC地址,共48位,使用十六進製表示。

乙太網協議:是一種使用廣泛的區域網技術,是一種應用於數據鏈路層的協議,使用乙太網可以完成相鄰設備的數據幀傳輸:

區域網分類:

Ethernet乙太網IEEE802.3:

乙太網第一個廣泛部署的高速區域網

乙太網數據速率快

乙太網硬體價格便宜,網路造價成本低

乙太網幀結構:

類型:標識上層協議(2位元組)

目的地址和源地址:MAC地址(每個6位元組)

數據:封裝的上層協議的分組(46~1500位元組)

CRC:循環冗餘碼(4位元組)

乙太網最短幀:乙太網幀最短64位元組;乙太網幀除了數據部分18位元組;數據最短46位元組;

MAC地址(物理地址、區域網地址)

MAC地址長度為6位元組,48位;

MAC地址具有唯一性,每個網路適配器對應一個MAC地址;

通常採用十六進製表示法,每個位元組表示一個十六進制數,用 - 或 : 連接起來;

MAC廣播地址:FF-FF-FF-FF-FF-FF。

四、網路層

網路層的目的是實現兩個端系統之間的數據透明傳送,具體功能包括定址和路由選擇、連接的建立、保持和終止等。數據交換技術是報文交換(基本上被分組所替代):採用儲存轉發方式,數據交換單位是報文。

網路層中涉及眾多的協議,其中包括最重要的協議,也是TCP/IP的核心協議——IP協議。IP協議非常簡單,僅僅提供不可靠、無連接的傳送服務。IP協議的主要功能有:無連接數據報傳輸、數據報路由選擇和差錯控制。

與IP協議配套使用實現其功能的還有地址解析協議ARP、逆地址解析協議RARP、網際網路報文協議ICMP、網際網路組管理協議IGMP。具體的協議我們會在接下來的部分進行總結,有關網路層的重點為:

1、網路層負責對子網間的數據包進行路由選擇。此外,網路層還可以實現擁塞控制、網際互連等功能;

2、基本數據單位為IP數據報;

3、包含的主要協議:

IP協議(Internet Protocol,網際網路互聯協議);

ICMP協議(Internet Control Message Protocol,網際網路控制報文協議);

ARP協議(Address Resolution Protocol,地址解析協議);

RARP協議(Reverse Address Resolution Protocol,逆地址解析協議)。

4、重要的設備:路由器

路由器相關協議

4.1 IP協議詳解

IP網際協議是 Internet 網路層最核心的協議。虛擬互聯網路的產生:實際的計算機網路錯綜復雜;物理設備通過使用IP協議,屏蔽了物理網路之間的差異;當網路中主機使用IP協議連接時,無需關注網路細節,於是形成了虛擬網路。

IP協議使得復雜的實際網路變為一個虛擬互聯的網路;並且解決了在虛擬網路中數據報傳輸路徑的問題。

其中,版本指IP協議的版本,佔4位,如IPv4和IPv6;首部位長度表示IP首部長度,佔4位,最大數值位15;總長度表示IP數據報總長度,佔16位,最大數值位65535;TTL表示IP數據報文在網路中的壽命,佔8位;協議表明IP數據所攜帶的具體數據是什麼協議的,如TCP、UDP。

4.2 IP協議的轉發流程

4.3 IP地址的子網劃分

A類(8網路號+24主機號)、B類(16網路號+16主機號)、C類(24網路號+8主機號)可以用於標識網路中的主機或路由器,D類地址作為組廣播地址,E類是地址保留。

4.4 網路地址轉換NAT技術

用於多個主機通過一個公有IP訪問訪問互聯網的私有網路中,減緩了IP地址的消耗,但是增加了網路通信的復雜度。

NAT 工作原理:

從內網出去的IP數據報,將其IP地址替換為NAT伺服器擁有的合法的公共IP地址,並將替換關系記錄到NAT轉換表中;

從公共互聯網返回的IP數據報,依據其目的的IP地址檢索NAT轉換表,並利用檢索到的內部私有IP地址替換目的IP地址,然後將IP數據報轉發到內部網路。

4.5 ARP協議與RARP協議

地址解析協議 ARP(Address Resolution Protocol):為網卡(網路適配器)的IP地址到對應的硬體地址提供動態映射。可以把網路層32位地址轉化為數據鏈路層MAC48位地址。

ARP 是即插即用的,一個ARP表是自動建立的,不需要系統管理員來配置。

RARP(Reverse Address Resolution Protocol)協議指逆地址解析協議,可以把數據鏈路層MAC48位地址轉化為網路層32位地址。

4.6 ICMP協議詳解

網際控制報文協議(Internet Control Message Protocol),可以報告錯誤信息或者異常情況,ICMP報文封裝在IP數據報當中。

ICMP協議的應用:

Ping應用:網路故障的排查;

Traceroute應用:可以探測IP數據報在網路中走過的路徑。

4.7網路層的路由概述

關於路由演算法的要求:正確的完整的、在計算上應該盡可能是簡單的、可以適應網路中的變化、穩定的公平的。

自治系統AS: 指處於一個管理機構下的網路設備群,AS內部網路自治管理,對外提供一個或多個出入口,其中自治系統內部的路由協議為內部網關協議,如RIP、OSPF等;自治系統外部的路由協議為外部網關協議,如BGP。

靜態路由: 人工配置,難度和復雜度高;

動態路由:

鏈路狀態路由選擇演算法LS:向所有隔壁路由發送信息收斂快;全局式路由選擇演算法,每個路由器計算路由時,需構建整個網路拓撲圖;利用Dijkstra演算法求源端到目的端網路的最短路徑;Dijkstra(迪傑斯特拉)演算法

距離-向量路由選擇演算法DV:向所有隔壁路由發送信息收斂慢、會存在迴路;基礎是Bellman-Ford方程(簡稱B-F方程);

4.8 內部網關路由協議之RIP協議

路由信息協議 RIP(Routing Information Protocol)【應用層】,基於距離-向量的路由選擇演算法,較小的AS(自治系統),適合小型網路;RIP報文,封裝進UDP數據報。

RIP協議特性:

RIP在度量路徑時採用的是跳數(每個路由器維護自身到其他每個路由器的距離記錄);

RIP的費用定義在源路由器和目的子網之間;

RIP被限制的網路直徑不超過15跳;

和隔壁交換所有的信息,30主動一次(廣播)。

4.9 內部網關路由協議之OSPF協議

開放最短路徑優先協議 OSPF(Open Shortest Path First)【網路層】,基於鏈路狀態的路由選擇演算法(即Dijkstra演算法),較大規模的AS ,適合大型網路,直接封裝在IP數據報傳輸。

OSPF協議優點:

安全;

支持多條相同費用路徑;

支持區別化費用度量;

支持單播路由和多播路由;

分層路由。

RIP與OSPF的對比(路由演算法決定其性質):

4.10外部網關路由協議之BGP協議

BGP(Border Gateway Protocol)邊際網關協議【應用層】:是運行在AS之間的一種協議,尋找一條好路由:首次交換全部信息,以後只交換變化的部分,BGP封裝進TCP報文段.

五、傳輸層

第一個端到端,即主機到主機的層次。傳輸層負責將上層數據分段並提供端到端的、可靠的或不可靠的傳輸。此外,傳輸層還要處理端到端的差錯控制和流量控制問題。

傳輸層的任務是根據通信子網的特性,最佳的利用網路資源,為兩個端系統的會話層之間,提供建立、維護和取消傳輸連接的功能,負責端到端的可靠數據傳輸。在這一層,信息傳送的協議數據單元稱為段或報文。

網路層只是根據網路地址將源結點發出的數據包傳送到目的結點,而傳輸層則負責將數據可靠地傳送到相應的埠。

有關網路層的重點:

傳輸層負責將上層數據分段並提供端到端的、可靠的或不可靠的傳輸以及端到端的差錯控制和流量控制問題;

包含的主要協議:TCP協議(Transmission Control Protocol,傳輸控制協議)、UDP協議(User Datagram Protocol,用戶數據報協議);

重要設備:網關。

5.1 UDP協議詳解

UDP(User Datagram Protocol: 用戶數據報協議),是一個非常簡單的協議。

UDP協議的特點:

UDP是無連接協議;

UDP不能保證可靠的交付數據;

UDP是面向報文傳輸的;

UDP沒有擁塞控制;

UDP首部開銷很小。

UDP數據報結構:

首部:8B,四欄位/2B【源埠 | 目的埠 | UDP長度 | 校驗和】 數據欄位:應用數據

5.2 TCP協議詳解

TCP(Transmission Control Protocol: 傳輸控制協議),是計算機網路中非常復雜的一個協議。

TCP協議的功能:

對應用層報文進行分段和重組;

面向應用層實現復用與分解;

實現端到端的流量控制;

擁塞控制;

傳輸層定址;

對收到的報文進行差錯檢測(首部和數據部分都檢錯);

實現進程間的端到端可靠數據傳輸控制。

TCP協議的特點:

TCP是面向連接的協議;

TCP是面向位元組流的協議;

TCP的一個連接有兩端,即點對點通信;

TCP提供可靠的傳輸服務;

TCP協議提供全雙工通信(每條TCP連接只能一對一);

5.2.1 TCP報文段結構:

最大報文段長度:報文段中封裝的應用層數據的最大長度。

TCP首部:

序號欄位:TCP的序號是對每個應用層數據的每個位元組進行編號

確認序號欄位:期望從對方接收數據的位元組序號,即該序號對應的位元組尚未收到。用ack_seq標識;

TCP段的首部長度最短是20B ,最長為60位元組。但是長度必須為4B的整數倍

TCP標記的作用:

5.3 可靠傳輸的基本原理

基本原理:

不可靠傳輸信道在數據傳輸中可能發生的情況:比特差錯、亂序、重傳、丟失

基於不可靠信道實現可靠數據傳輸採取的措施:

差錯檢測:利用編碼實現數據包傳輸過程中的比特差錯檢測 確認:接收方向發送方反饋接收狀態 重傳:發送方重新發送接收方沒有正確接收的數據 序號:確保數據按序提交 計時器:解決數據丟失問題;

停止等待協議:是最簡單的可靠傳輸協議,但是該協議對信道的利用率不高。

連續ARQ(Automatic Repeat reQuest:自動重傳請求)協議:滑動窗口+累計確認,大幅提高了信道的利用率。

5.3.1TCP協議的可靠傳輸

基於連續ARQ協議,在某些情況下,重傳的效率並不高,會重復傳輸部分已經成功接收的位元組。

5.3.2 TCP協議的流量控制

流量控制:讓發送方發送速率不要太快,TCP協議使用滑動窗口實現流量控制。

5.4 TCP協議的擁塞控制

擁塞控制與流量控制的區別:流量控制考慮點對點的通信量的控制,而擁塞控制考慮整個網路,是全局性的考慮。擁塞控制的方法:慢啟動演算法+擁塞避免演算法。

慢開始和擁塞避免:

【慢開始】擁塞窗口從1指數增長;

到達閾值時進入【擁塞避免】,變成+1增長;

【超時】,閾值變為當前cwnd的一半(不能<2);

再從【慢開始】,擁塞窗口從1指數增長。

快重傳和快恢復:

發送方連續收到3個冗餘ACK,執行【快重傳】,不必等計時器超時;

執行【快恢復】,閾值變為當前cwnd的一半(不能<2),並從此新的ssthresh點進入【擁塞避免】。

5.5 TCP連接的三次握手(重要)

TCP三次握手使用指令:

面試常客:為什麼需要三次握手?

第一次握手:客戶發送請求,此時伺服器知道客戶能發;

第二次握手:伺服器發送確認,此時客戶知道伺服器能發能收;

第三次握手:客戶發送確認,此時伺服器知道客戶能收。

建立連接(三次握手):

第一次: 客戶向伺服器發送連接請求段,建立連接請求控制段(SYN=1),表示傳輸的報文段的第一個數據位元組的序列號是x,此序列號代表整個報文段的序號(seq=x);客戶端進入 SYN_SEND (同步發送狀態);

第二次: 伺服器發回確認報文段,同意建立新連接的確認段(SYN=1),確認序號欄位有效(ACK=1),伺服器告訴客戶端報文段序號是y(seq=y),表示伺服器已經收到客戶端序號為x的報文段,准備接受客戶端序列號為x+1的報文段(ack_seq=x+1);伺服器由LISTEN進入SYN_RCVD (同步收到狀態);

第三次: 客戶對伺服器的同一連接進行確認.確認序號欄位有效(ACK=1),客戶此次的報文段的序列號是x+1(seq=x+1),客戶期望接受伺服器序列號為y+1的報文段(ack_seq=y+1);當客戶發送ack時,客戶端進入ESTABLISHED 狀態;當服務收到客戶發送的ack後,也進入ESTABLISHED狀態;第三次握手可攜帶數據;

5.6 TCP連接的四次揮手(重要)

釋放連接(四次揮手)

第一次: 客戶向伺服器發送釋放連接報文段,發送端數據發送完畢,請求釋放連接(FIN=1),傳輸的第一個數據位元組的序號是x(seq=x);客戶端狀態由ESTABLISHED進入FIN_WAIT_1(終止等待1狀態);

第二次: 伺服器向客戶發送確認段,確認字型大小段有效(ACK=1),伺服器傳輸的數據序號是y(seq=y),伺服器期望接收客戶數據序號為x+1(ack_seq=x+1);伺服器狀態由ESTABLISHED進入CLOSE_WAIT(關閉等待);客戶端收到ACK段後,由FIN_WAIT_1進入FIN_WAIT_2;

第三次: 伺服器向客戶發送釋放連接報文段,請求釋放連接(FIN=1),確認字型大小段有效(ACK=1),表示伺服器期望接收客戶數據序號為x+1(ack_seq=x+1);表示自己傳輸的第一個位元組序號是y+1(seq=y+1);伺服器狀態由CLOSE_WAIT 進入 LAST_ACK (最後確認狀態);

第四次: 客戶向伺服器發送確認段,確認字型大小段有效(ACK=1),表示客戶傳輸的數據序號是x+1(seq=x+1),表示客戶期望接收伺服器數據序號為y+1+1(ack_seq=y+1+1);客戶端狀態由FIN_WAIT_2進入TIME_WAIT,等待2MSL時間,進入CLOSED狀態;伺服器在收到最後一次ACK後,由LAST_ACK進入CLOSED;

為什麼需要等待2MSL?

最後一個報文沒有確認;

確保發送方的ACK可以到達接收方;

2MSL時間內沒有收到,則接收方會重發;

確保當前連接的所有報文都已經過期。

六、應用層

為操作系統或網路應用程序提供訪問網路服務的介面。應用層重點:

數據傳輸基本單位為報文;

包含的主要協議:FTP(文件傳送協議)、Telnet(遠程登錄協議)、DNS(域名解析協議)、SMTP(郵件傳送協議),POP3協議(郵局協議),HTTP協議(Hyper Text Transfer Protocol)。

6.1 DNS詳解

DNS(Domain Name System:域名系統)【C/S,UDP,埠53】:解決IP地址復雜難以記憶的問題,存儲並完成自己所管轄范圍內主機的 域名 到 IP 地址的映射。

域名解析的順序:

【1】瀏覽器緩存,

【2】找本機的hosts文件,

【3】路由緩存,

【4】找DNS伺服器(本地域名、頂級域名、根域名)->迭代解析、遞歸查詢。

IP—>DNS服務—>便於記憶的域名

域名由點、字母和數字組成,分為頂級域(com,cn,net,gov,org)、二級域(,taobao,qq,alibaba)、三級域(www)(12-2-0852)

6.2 DHCP協議詳解

DHCP(Dynamic Configuration Protocol:動態主機設置協議):是一個區域網協議,是應用UDP協議的應用層協議。作用:為臨時接入區域網的用戶自動分配IP地址。

6.3 HTTP協議詳解

文件傳輸協議(FTP):控制連接(埠21):傳輸控制信息(連接、傳輸請求),以7位ASCII碼的格式。整個會話期間一直打開。

HTTP(HyperText Transfer Protocol:超文本傳輸協議)【TCP,埠80】:是可靠的數據傳輸協議,瀏覽器向伺服器發收報文前,先建立TCP連接,HTTP使用TCP連接方式(HTTP自身無連接)。

HTTP請求報文方式:

GET:請求指定的頁面信息,並返回實體主體;

POST:向指定資源提交數據進行處理請求;

DELETE:請求伺服器刪除指定的頁面;

HEAD:請求讀取URL標識的信息的首部,只返回報文頭;

OPETION:請求一些選項的信息;

PUT:在指明的URL下存儲一個文檔。

6.3.1 HTTP工作的結構

6.3.2 HTTPS協議詳解

HTTPS(Secure)是安全的HTTP協議,埠號443。基於HTTP協議,通過SSL或TLS提供加密處理數據、驗證對方身份以及數據完整性保護

原文地址:https://blog.csdn.net/Royalic/article/details/119985591

2. [計算機網路]Ch.3 數據鏈路層

數據鏈路層使用物理層提供的服務在通信信道上發送和接收比特。
(1) 向網路層提供一個定義良好的介面
(2) 處理傳輸錯誤
(3) 調節數據流,確保慢速的接收方不會被快速的發送方淹沒
提供的服務
(1) 無確認的無連接服務 (區域網)
(2) 有確認的無連接服務 (無線通信)
(3) 有確認的有連接服務 (電話)
無線通信,信道使用率很低但數據傳輸的誤碼率相對較高,確認是必要的

成幀:將原始的位流分散到離散的幀中。
成幀的方法有:
(1)字元計數法
(2)帶位元組/字元填充的標志位元組法
(3)比特填充的比特標志法
(4)物理層編碼違例法

位元組計數法:利用幀頭部的一個欄位來標識該幀中的字元數
缺點:簡單,無法恢復,已經很少使用

該方法考慮了錯誤之後重新開始同步的問題,用一些特殊位元組(FLAG)作為幀開始和結束標志,用轉義字元(ESC)來區分二進制數據中存在的特殊位元組。

採用冗餘編碼技術,如曼切斯特編碼,即兩個脈沖寬來表示一個二進制位
數據0:低-高電平對
數據1:高-低電平對
高-高電平對和低-低電平對沒有使用,可用作幀邊界

差錯的種類:

差錯的處理:

計算機網路中主要採用:

海明距離的意義 :如果海明距離為d,則一個碼字需要發生d個1位錯誤才能變成另外一個碼字
海明距離與檢錯和糾錯的關系:

糾正單比特錯的冗餘位下界, m為數據位數 r為校驗位數

將某一位數據位的編號展開成2的乘冪的和,那末每一項所對應的位即為該數據位的校驗位(收方使用)。
如: 11 = 1 + 2 + 8
29 = 1 + 4 + 8 + 16
校驗位1的檢驗集合為所有奇數位。
校驗位2的檢驗集合:2、3、6、7、10、11、…
校驗位4的檢驗集合:4、5、6、7、……
校驗位8的檢驗集合:8、9、10、11、……

海明碼糾錯過程(只糾錯1位)
首先將差錯計數器置「0」。
當海明碼數據到達接收端後,接收端逐個檢查各個校驗位的奇偶性。
如發現某一校驗位和它所檢測的集合的奇偶性不正確,就將該檢驗位的編號加到差錯計數器中。
待所有校驗位核對完畢:
若差錯計數器仍為「0」值,則說明該碼字接收無誤。
非「0」值,差錯計數器的值為出錯位的編號,將該位求反就可得到正確結果。

例子:

經計算需要的檢驗字個數的最小值 r應滿足 ( 所以r最小值為4,再根據校驗位的對應規則可得下表:

Data: 1011010
Even: 1011010 0 (偶校驗)
Odd: 1011010 1 (奇校驗)

使用CRC編碼時發送方和接收方必須預先商定一個生成多項式G(x),假設有一個m為的幀M(x),使用G(x)生成的幀的步驟如下:
假設G(x)的階為r, 那麼M(x)在末尾添加r個0,得到 m+r位的位模式 。
利用模2出發,用G(x)去除 ,得到對應的余數(總是小於等於r位)。
利用 減去(模2減法)第2步中得到的余數,得到的位模式就是即將被傳輸的帶校驗和的幀
Sender
在數據幀的低端加上r個零,對應多項式為XrM(x)
採用模2除法,用G(x)去除XrM(x),得余數
採用模2減法,用XrM(x)減去余數,得到帶CRC校驗和的幀
Receiver
用收到的幀去除以G(x)
為零:無錯誤產生。非零:發生了錯誤,重傳

在一定條件下運作:

缺點

缺點

對協議2的改進:

確認幀
只在接收無差錯時才發確認幀,出錯時不發確認幀。
重發
網路中採用檢錯碼,無法糾正錯誤,由重發原來幀的方式來恢復正確的幀。
計時器
控制何時重發,防止無限期等待(死鎖)。
幀序號
防止重發時接收端收到重復的幀,序號還用於接收時排序。
保證送給網路層的都是按序無重復的分組

幀格式:

****

與前三個協議不同,這是一個雙向傳遞的協議。 之後的三個協議都屬於滑動窗口協議。

滑動窗口協議
如果發送端可以連續發送一批數據幀,必須考慮接收端是否來得及接納與處理這么多的幀,這里就提出了網路流量控制問題

N回退協議 選擇重傳協議:
由於傳輸過程中存在延遲,即數據在傳播過程中需要時間,那麼如果使用上面所提及的協議,傳輸過程中有大量的時間存在阻塞狀態,所以為了充分利用帶寬,我們讓發送方一次發送w個幀。所以就存在如何處理在傳輸過程中出現的幀錯誤的問題

協議四的基本工作原理:
窗口設置

窗口滑動機制

特點

出錯情況
連續發送W個數據幀,其中有一幀出錯,但其後續幀被成功發送

接收方的接收策略: 丟棄錯幀,其後續幀因不是期望接收幀也被丟棄(接收窗口為1)。
發送方的重傳策略: 緩存在發送窗口中的出錯幀以及其後續幀全部重發

W<=2BD+1(個幀)
BD:帶寬-延遲乘積,bit乘積出來之後換算成幀的個數

該圖的發送方和接收方的窗口大小都是7,那麼也就是說發送方一次最多隻能發送7個幀,剛開始發送方只能發送序號為0~6的數據幀,圖中發送方收到序列號為第0和第1號幀的確認幀,那麼整個窗口向前滑動,發送方可以發送序列號為7和8 的數據幀,但是不幸的是2號數據幀並沒有收到確認幀,所以整個窗口並不會向前滑動,此時只能等待2號數據幀的計時器超時,那麼超時後發送方將會從2號數據幀開始發送,重復這個過程。
實現

出錯情況

原因:如果錯誤很少發生,那麼協議5可以很好的工作。一旦線路質量很差,那麼重傳幀需要浪費大量帶寬。而選擇重傳節約了帶寬,允許接收方緩存丟失幀之後的所有幀

接收方的接收策略: 丟棄錯幀,緩存後續正確接收幀
發送方的重傳策略: 只重發出錯幀。

基本概念:

選擇重傳策略:
接收方丟掉壞幀,但接受並緩存壞幀後面的所有好幀。

否定重傳策略
當接收方收到錯誤,他就發送一個否定確認(NAK)信息,而不需要等到相應的計數器超時,提高協議性能。

滑動窗口長度w的選擇
協議5(回退n幀) W = MAX_SEQ
協議6(選擇重傳) W= (MAX_SEQ + 1) / 2

發送方和接收方的窗口大小 W=((MAX_SEQ+1))/2,原因是 防止窗口重疊,在確認幀丟失的情況下而導致的數據錯誤

接收方在某個幀出錯後繼續接受和緩存後續發送的數據包,直到整個窗口的填滿後,把幀進行排序後才傳遞給網路層。

面向字元的數據鏈路協議
PPP 是一種在鏈路上傳輸分組的常用方法

3個主要特性:

PPP兩種認證協議: PAP and CHAP

PPP的幀格式

PPP成幀是面向位元組填充的:
具體細節可以參考上面的位元組填充法, 因為PPP重用了HDLC的技術,所以PPP使用標志字(0x7E 01111110)來標記幀的起始,使用0x7D來作為轉義字元, 具體操作如下:

接收方接收到幀後進行下面處理:
在幀中遇到0x7D 就把0x7D刪除,在把緊跟在0x7D 後的位元組和0x20進行異或運算,就得到對應的數據

LCP ( Link Control Protocol)提供了建立、配置、維護和終止點對點鏈接的方法

PPP的工作過程

3. 計算機網路(三)數據鏈路層

結點:主機、路由器

鏈路:網路中兩個結點之間的物理通道,鏈路的傳輸介質主要有雙絞線、光纖和微波。分為有線鏈路、無線鏈路。

數據鏈路:網路中兩個結點之間的邏輯通道,把實現控制數據傳輸協議的硬體和軟體加到鏈路上就構成數據鏈路。

幀:鏈路層的協議數據單元,封裝網路層數據報。

數據鏈路層負責通過一條鏈路從一個結點向另一個物理鏈路直接相連的相鄰結點傳送數據報。

數據鏈路層在物理層提供服務的基礎上向網路層提供服務,其最基本的服務是將源自網路層來的數據可靠地傳輸到相鄰節點的目標機網路層。其主要作用是加強物理層傳輸原始比特流的功能,將物理層提供的可能出錯的物理連接改造成為 邏輯上無差錯的數據鏈路 ,使之對網路層表現為一條無差錯的鏈路。

封裝成幀就是在一段數據的前後部分添加首部和尾部,這樣就構成了一個幀。接收端在收到物理層上交的比特流後,就能根據首部和尾部的標記,從收到的比特流中識別幀的開始和結束。首部和尾部包含許多的控制信息,他們的一個重要作用:幀定界(確定幀的界限)。

幀同步:接收方應當能從接收到的二進制比特流中區分出幀的起始和終止。

組幀的四種方法:

透明傳輸是指不管所傳數據是什麼樣的比特組合,都應當能夠在鏈路上傳送。因此,鏈路層就「看不見」有什麼妨礙數據傳輸的東西。

當所傳數據中的比特組合恰巧與某一個控制信息完全一樣時,就必須採取適當的措施,使收方不會將這樣的數據誤認為是某種控制信息。這樣才能保證數據鏈路層的傳輸是透明的。

概括來說,傳輸中的差錯都是由於雜訊引起的。

數據鏈路層編碼和物理層的數據編碼與調制不同。物理層編碼針對的是單個比特,解決傳輸過程中比特的同步等問題,如曼徹斯特編碼。而數據鏈路層的編碼針對的是一組比特,它通過冗餘碼的技術實現一組二進制比特串在傳輸過程是否出現了差錯。

較高的發送速度和較低的接收能力的不匹配,會造成傳輸出錯,因此流量控制也是數據鏈路層的一項重要工作。數據鏈路層的流量控制是點對點的,而傳輸層的流量控制是端到端的。

滑動窗口有以下重要特性:

若採用n個比特對幀編號,那麼發送窗口的尺寸W T 應滿足: 。因為發送窗口尺寸過大,就會使得接收方無法區別新幀和舊幀。

每發送完一個幀就停止發送,等待對方的確認,在收到確認後再發送下一個幀。

除了比特出差錯,底層信道還會出現丟包 [1] 問題

「停止-等待」就是每發送完一個分組就停止發送,等待對方確認,在收到確認後再發送下一個分組。其操作簡單,但信道利用率較低

信道利用率是指發送方在一個發送周期內,有效地發送數據所需要的時間占整個發送周期的比率。即

GBN發送方:

GBN接收方:

因連續發送數據幀而提高了信道利用率,重傳時必須把原來已經正確傳送的數據幀重傳,是傳送效率降低。

設置單個確認,同時加大接收窗口,設置接收緩存,緩存亂序到達的幀。

SR發送方:

SR接收方:

發送窗口最好等於接收窗口。(大了會溢出,小了沒意義),即

傳輸數據使用的兩種鏈路

信道劃分介質訪問控制將使用介質的每個設備與來自同一通信信道上的其他設備的通信隔離開來,把時域和頻域資源合理地分配給網路上的設備。

當傳輸介質的帶寬超過傳輸單個信號所需的帶寬時,人們就通過在一條介質上同時攜帶多個傳輸信號的方法來提高傳輸系統的利用率,這就是所謂的多路復用,也是實現信道劃分介質訪問控制的途徑。多路復用技術把多個信號組合在一條物理信道上進行傳輸,使多個計算機或終端設備共享信道資源,提高了信道的利用率。信道劃分的實質就是通過分時、分頻、分碼等方法把原來的一條廣播信道,邏輯上分為幾條用於兩個結點之間通信的互不幹擾的子信道,實際上就是把廣播信道轉變為點對點信道。

頻分多路復用是一種將多路基帶信號調制到不同頻率載波上,再疊加形成一個復合信號的多路復用技術。在物理信道的可用帶寬超過單個原始信號所需帶寬的情況下,可將該物理信道的總帶寬分割成若千與傳輸單個信號帶寬相同(或略寬)的子信道,每個子信道傳輸一種信號,這就是頻分多路復用。

每個子信道分配的帶寬可不相同,但它們的總和必須不超過信道的總帶寬。在實際應用中,為了防止子信道之間的千擾,相鄰信道之間需要加入「保護頻帶」。頻分多路復用的優點在於充分利用了傳輸介質的帶寬,系統效率較高;由於技術比較成熟,實現也較容易。

時分多路復用是將一條物理信道按時間分成若干時間片,輪流地分配給多個信號使用。每個時間片由復用的一個信號佔用,而不像FDM那樣,同一時間同時發送多路信號。這樣,利用每個信號在時間上的交叉,就可以在一條物理信道上傳輸多個信號。

就某個時刻來看,時分多路復用信道上傳送的僅是某一對設備之間的信號:就某段時間而言,傳送的是按時間分割的多路復用信號。但由於計算機數據的突發性,一個用戶對已經分配到的子信道的利用率一般不高。統計時分多路復用(STDM,又稱非同步時分多路復用)是TDM 的一種改進,它採用STDM幀,STDM幀並不固定分配時隙,面按需動態地分配時隙,當終端有數據要傳送時,才會分配到時間片,因此可以提高線路的利用率。例如,線路傳輸速率為8000b/s,4個用戶的平均速率都為2000b/s,當採用TDM方式時,每個用戶的最高速率為2000b/s.而在STDM方式下,每個用戶的最高速率可達8000b/s.

波分多路復用即光的頻分多路復用,它在一根光纖中傳輸多種不同波長(頻率)的光信號,由於波長(頻率)不同,各路光信號互不幹擾,最後再用波長分解復用器將各路波長分解出來。由於光波處於頻譜的高頻段,有很高的帶寬,因而可以實現多路的波分復用

碼分多路復用是採用不同的編碼來區分各路原始信號的一種復用方式。與FDM和 TDM不同,它既共享信道的頻率,又共享時間。下面舉一個直觀的例子來理解碼分復用。

實際上,更常用的名詞是碼分多址(Code Division Multiple Access.CDMA),1個比特分為多個碼片/晶元( chip),每一個站點被指定一個唯一的m位的晶元序列,發送1時發送晶元序列(通常把o寫成-1) 。發送1時站點發送晶元序列,發送o時發送晶元序列反碼。

純ALOHA協議思想:不監聽信道,不按時間槽發送,隨機重發。想發就發

如果發生沖突,接收方在就會檢測出差錯,然後不予確認,發送方在一定時間內收不到就判斷發生沖突。超時後等一隨機時間再重傳。

時隙ALOHA協議的思想:把時間分成若干個相同的時間片,所有用戶在時間片開始時刻同步接入網路信道,若發生沖突,則必須等到下一個時間片開始時刻再發送。

載波監聽多路訪問協議CSMA(carrier sense multiple access)協議思想:發送幀之前,監聽信道。

堅持指的是對於監聽信道忙之後的堅持。

1-堅持CSMA思想:如果一個主機要發送消息,那麼它先監聽信道。

優點:只要媒體空閑,站點就馬上發送,避免了媒體利用率的損失。

缺點:假如有兩個或兩個以上的站點有數據要發送,沖突就不可避免。

非堅持指的是對於監聽信道忙之後就不繼續監聽。

非堅持CSMA思想:如果一個主機要發送消息,那麼它先監聽信道。

優點:採用隨機的重發延遲時間可以減少沖突發生的可能性。

缺點:可能存在大家都在延遲等待過程中,使得媒體仍可能處於空閑狀態,媒體使用率降低。

p-堅持指的是對於監聽信道空閑的處理。

p-堅持CSMA思想:如果一個主機要發送消息,那麼它先監聽信道。

優點:既能像非堅持演算法那樣減少沖突,又能像1-堅持演算法那樣減少媒體空閑時間的這種方案。

缺點:發生沖突後還是要堅持把數據幀發送完,造成了浪費。

載波監聽多點接入/碰撞檢測CSMA/CD(carrier sense multiple access with collision detection)

CSMA/CD的工作流程:

由圖可知,至多在發送幀後經過時間 就能知道所發送的幀有沒有發生碰撞。因此把乙太網端到端往返時間為 稱為爭周期(也稱沖突窗口或碰撞窗口)。

截斷二進制指數規避演算法:

最小幀長問題:幀的傳輸時延至少要兩倍於信號在匯流排中的傳播時延。

載波監聽多點接入/碰撞避免CSMA/CA(carrier sense multiple access with collision avoidance)其工作原理如下

CSMA/CD與CSMA/CA的異同點:

相同點:CSMA/CD與CSMA/CA機制都從屬於CSMA的思路,其核心是先聽再說。換言之,兩個在接入信道之前都須要進行監聽。當發現信道空閑後,才能進行接入。

不同點:

輪詢協議:主結點輪流「邀請」從屬結點發送數據。

令牌:一個特殊格式的MAC控制幀,不含任何信息。控制信道的使用,確保同一時刻只有一個結點獨占信道。每個結點都可以在一定的時間內(令牌持有時間)獲得發送數據的權利,並不是無限制地持有令牌。應用於令牌環網(物理星型拓撲,邏輯環形拓撲)。採用令牌傳送方式的網路常用於負載較重、通信量較大的網路中。

輪詢訪問MAC協議/輪流協議/輪轉訪問MAC協議:基於多路復用技術劃分資源。

隨機訪問MAC協議: 用戶根據意願隨機發送信息,發送信息時可獨占信道帶寬。 會發生沖突

信道劃分介質訪問控制(MAC Multiple Access Control )協議:既要不產生沖突,又要發送時佔全部帶寬。

區域網(Local Area Network):簡稱LAN,是指在某一區域內由多台計算機互聯成的計算機組,使用廣播信道。其特點有

決定區域網的主要要素為:網路拓撲,傳輸介質與介質訪問控制方法。

區域網的分類

IEEE 802標准所描述的區域網參考模型只對應OSI參考模型的數據鏈路層與物理層,它將數據鏈路層劃分為邏輯鏈路層LLC子層和介質訪問控制MAC子層。

乙太網(Ethernet)指的是由Xerox公司創建並由Xerox、Intel和DEC公司聯合開發的基帶匯流排區域網規范,是當今現有區域網採用的最通用的通信協議標准。乙太網絡使用CSMA/CD(載波監聽多路訪問及沖突檢測)技術。 乙太網只實現無差錯接收,不實現可靠傳輸。

乙太網兩個標准:

乙太網提供無連接、不可靠的服務

10BASE-T是傳送基帶信號的雙絞線乙太網,T表示採用雙絞線,現10BASE-T 採用的是無屏蔽雙絞線(UTP),傳輸速率是10Mb/s。

計算機與外界有區域網的連接是通過通信適配器的。

在區域網中,硬體地址又稱為物理地址,或MAC地址。MAC地址:每個適配器有一個全球唯一的48位二進制地址,前24位代表廠家(由IEEE規定),後24位廠家自己指定。常用6個十六進制數表示,如02-60-8c-e4-b1-21。

最常用的MAC幀是乙太網V2的格式。

IEEE 802.11是無線區域網通用的標准,它是由IEEE所定義的無線網路通信的標准。

廣域網(WAN,Wide Area Network),通常跨接很大的物理范圍,所覆蓋的范圍從幾十公里到幾千公里,它能連接多個城市或國家,或橫跨幾個洲並能提供遠距離通信,形成國際性的遠程網路。

廣域網的通信子網主要使用分組交換技術。廣域網的通信子網可以利用公用分組交換網、衛星通信網和無線分組交換網,它將分布在不同地區的區域網或計算機系統互連起來,達到資源共享的目的。如網際網路(Internet)是世界范圍內最大的廣域網。

點對點協議PPP(Point-to-Point Protocol)是目前使用最廣泛的數據鏈路層協議,用戶使用撥號電話接入網際網路時一般都使用PPP協議。 只支持全雙工鏈路。

PPP協議應滿足的要求

PPP協議的三個組成部分

乙太網交換機

沖突域:在同一個沖突域中的每一個節點都能收到所有被發送的幀。簡單的說就是同一時間內只能有一台設備發送信息的范圍。

廣播域:網路中能接收任一設備發出的廣播幀的所有設備的集合。簡單的說如果站點發出一個廣播信號,所有能接收收到這個信號的設備范圍稱為一個廣播域。

乙太網交換機的兩種交換方式:

直通式交換機:查完目的地址(6B)就立刻轉發。延遲小,可靠性低,無法支持具有不同速率的埠的交換。

存儲轉發式交換機:將幀放入高速緩存,並檢查否正確,正確則轉發,錯誤則丟棄。延遲大,可靠性高,可以支持具有不同速率的埠的交換。

4. 計算機網路-02-物理層和數據鏈路層

物理層主要功能是為數據端設備提供傳送數據的通路以及傳輸數據。

信道是往一個方向傳送信息的媒體,一條通信電路包含一個接收信道和一個發送信道。

分用-復用技術 允許多個用戶使用一個共享信道進行通信,可以降低成本,提高利用率。

數據鏈路層在物理層提供的服務的基礎上向網路層提供服務,其最基本的功能是向該層用戶提供透明的和可靠的數據傳送基本服務。

數據鏈路層有兩個功能: 幀編碼 和 差錯控制 。

物理層只負責傳輸比特流,為了使傳輸過程發生差錯後只將有限數據進行重發,數據鏈路層將比特流組合成以太幀作為單位傳送。

每個幀除了要傳送的數據外,還包括校驗碼,以使接收方能發現傳輸中的差錯。

假設現在從網路層過來了一個IP數據報,數據鏈路層會將這個數據報作為幀進行傳送。

當然物理層是不管你幀不幀的,它只會將數據鏈路層傳過來的幀以比特流的形式發送給另一台物理設備。

由前面的文章可知: 總時延 = 發送時延 + 排隊時延 + 傳播時延 + 處理時延

數據鏈路層的數據幀不是無限大的,數據幀過大或過小都會影響傳輸的效率,數據鏈路層使用MTU來限制數據幀長度。

乙太網MTU一般為1500位元組, 路徑MTU由鏈路中MTU的最小值決定

一個實用的通信系統必須具備發現(即檢測)這種差錯的能力,並採取某種措施糾正之,使差錯被控制在所能允許的盡可能小的范圍內,這就是差錯控制過程。物理層只管傳輸比特流,無法控制是否出錯,所以差錯檢測成了數據鏈路層的主要功能之一。

一般的檢測方法有 奇偶校驗碼 和 CRC循環冗餘校驗碼 。

網路中需要唯一標識物理設備的地址,用於確定數據傳輸時的發送地址和目的地址。

MAC地址(物理地址、硬體地址)共48位,使用十六進製表示,每一個設備都擁有唯一的MAC地址。

雖然MAC地址是物理硬體地址,但其屬於數據鏈路層的MAC子層。

乙太網(Ethernet)是一種使用廣泛的區域網技術,它是應用於數據鏈路層的協議,使用乙太網可以完成相鄰設備的數據幀傳輸。

乙太網數據報文主要由五個部分組成:

類型主要表示幀數據的類型,例如網路層的IP數據。

定義完數據結構後,就需要進行數據傳輸。由上文可知,MAC地址唯一標識了設備,那麼怎麼獲得目的設備的MAC地址呢?

MAC地址表記錄了與本設備相連的設備的MAC地址。

假設主機A發送了一個乙太網數據報文,數據幀到達路由器,路由器取出前6位元組(通過報文數據結構可知前6位位目的地址)。

路由器匹配MAC地址表,找到對應的網路介面,路由器往該網路介面發送數據幀。

當路由器的MAC地址表中沒有目的地址,此時路由器會將此MAC地址進行廣播(發送方A除外),接收區域網中與該路由其相連的其他設備的MAC地址並記錄。

由於MAC地址表只能知道當前設備的下一個設備的MAC地址,簡而言之就是只能進行相鄰物理節點的數據傳輸。

有關跨設備傳輸數據的功能是交由網路層處理的,具體見下一章。

5. 計算機網路:數據鏈路層

互聯網是指很多異構的網路由路由器聯系起來的一個大網路。在研究這個大網路之前,我們要庖丁解牛,先研究其局部和單元。最小的網路單元就是區域網,區域網是一個單位所擁有,且地理范圍和站點數量都很有限。

區域網內的計算機通信不需要路由器,所以不會用到網路層的協議,而是依賴數據鏈路層。

上圖說明了數據鏈路層在整個互聯網體系中的位置。數據鏈路層的信道分為兩種:

在點到點信道的數據鏈路層協議上,可以採用簡化的三層模型。無論是主機和主機,主機和路由器,或者兩個路由器之間,我們都可以看成結點和結點之間的通信。

數據鏈路層不必考慮物理層是如何實現比特傳輸的細節,我們甚至可以簡單設想,節點A沿著數據鏈路層的水平方向把幀輸出給結點B。

數據鏈路層的協議有多個,但有三個共性問題。

從上圖可以得出以下結論:

利用轉義字元(ESC,十六進制編碼0x1B)來解決幀的數據部分包含控制字元的問題

信道往往不是理想的,所以通信會帶來誤差。常用誤碼率來衡量傳輸誤差。誤碼率BER(bit error rate)等於錯誤的比特佔全部比特的百分比。

那麼我們怎麼知道所接受到的幀有沒有錯誤比特呢?這就需要校驗機制,目前數據鏈路層廣泛採用循環冗餘校驗CRC((Cyclic Rendancy Check)。其原理是在幀的數據部分後面加上冗餘碼(FCS),接受方利用冗餘碼校驗數據部分。具體細節請參考《計算機網路》。

綜上,封裝成幀和透明傳輸保證收到完整的幀,差錯檢驗保證收到正確的幀。這三種機制能保證幀的無差錯傳輸,但不能保證可靠傳輸(發送什麼就接收到什麼)。造成不可靠傳輸的原因有兩類:

1. 幀中的比特錯誤
2. 幀重復,幀丟失,幀失序
數據鏈路層的幀的三種機制只能消除第一種錯誤,至於第二種則需要確認和重傳機制。在早期互聯網中,數據鏈路層曾經保證可靠傳輸,但隨著光纖技術的發展,誤碼率大大下降,數據鏈路層就採用了簡單的不可靠傳輸協議,把可靠運輸的實現放在了運輸層中。實踐證明,這樣可以提高通信效率。

最後,我們可以看到,計算機網路本質是通信問題,裡麵包含了很多通信元素:完整,誤差,校驗,重復,丟失,失序,可靠傳輸等。

閱讀全文

與計算機網路數據鏈路層冗餘碼相關的資料

熱點內容
網路安全教育日活動心得 瀏覽:552
付網路平台費用哪個二級科目 瀏覽:444
13是什麼意思網路流行語 瀏覽:42
手機網路不關耗流量嗎 瀏覽:743
查看所用網路信號頻率 瀏覽:329
網路開賭博群怎麼舉報 瀏覽:144
對小紅書網路營銷微觀環境 瀏覽:359
空軍計算機網路技術需要幾級 瀏覽:179
網路電視接收信號 瀏覽:53
電腦乙太網沒有網路怎麼回事 瀏覽:216
魅族手機總是跳出無網路服務 瀏覽:189
網路有錢的人都在哪裡 瀏覽:553
電腦下載網路軟體 瀏覽:109
掃描槍網路不好怎麼辦 瀏覽:982
移動網路電影收費 瀏覽:745
計算機網路技術組織機構 瀏覽:250
能發網路獎狀的軟體 瀏覽:336
武侯新城網路安全培訓 瀏覽:163
為什麼手機網路總顯示不可用 瀏覽:970
路由器網路燈閃爍是因為什麼 瀏覽:877

友情鏈接