Ⅰ 計算機網路(3)| 數據鏈路層
數據鏈路層屬於計算機網路的低層。數據鏈路層使用的信道主要是兩種類型:
(1)點對點信道 。即信道使用的是一對一點對點通信方式。
(2)廣播信道 。這種信道使用的是一對多的光播通信方式,相對復雜。在廣播信道上連接的主機很多,因此必須使用專用的共享信道協議來協調這些主機的數據發送。
首先我們應該了解一些有關點對點信道的一點基本概念。
(1)數據鏈路 。值得是當我們需要在一條線路上傳送數據時,除了有一條物理線路外(鏈路),還必須有一些必要的通信協議來控制這些數據的傳輸,若把實現這些協議的硬體和軟體加到鏈路上就構成了數據鏈路。
(2)幀 。幀指的是點對點信道的數據鏈路層的協議數據單元,即數據鏈路層把網路層交下來的數據構成幀發送到鏈路上以及把接收到的幀中的數據取出並上交給網路層。
點對點信道的數據鏈路層在進行通信時的主要步驟如下:
(1)結點A的數據鏈路層把網路層交下來的IP數據報添加首部和尾部封裝成幀。
(2)結點A把封裝好的幀發送給結點B的數據鏈路層。
(3)若B接收的幀無差錯,則從接收的幀中提取出IP數據報上交給上面的網路層;否則丟棄這個幀。
接下來是來介紹數據鏈路層的三個基本問題,而這三個問題對於各種數據鏈路層的協議都是通用的。
(1)封裝成幀 。指的是在一段數據的前後分別添加首部和尾部,這樣就構成了一個幀,從而能夠作為數據鏈路層的基本單位進行數據傳輸。在發送幀時,是從幀的首部開始發送的。各種數據鏈路層協議都對幀首部和幀尾部的格式有著明確的規定,且都規定了所能傳送的 幀的數據部分 長度上限—— 最大傳送單元MTU 。首部和尾部的作用是進行幀定界,幀定界可以使用特殊的 幀定界符 ,當數據在傳輸中出現差錯時,通過幀的幀定界符就可以知道收到的數據是一個不完整的幀(即只有首部開始符而沒有結束符)。
(2)透明傳輸 。從上面的介紹中知道幀的開始和結束標記使用了專門的控制字元,因此所傳輸的數據中任何與幀定界符相同的比特編碼是不允許出現的,否則就會出現幀定界錯誤。當傳送的幀是用文本文件組成的幀時,它的數據部分一定不會出現和幀定界符相同的字元,這樣的傳輸就叫做 透明傳輸 。為了解決其他類型文件傳輸時產生的透明傳輸問題,就將幀定界符的前面插入一個 轉義字元ESC ,這種方法稱為 位元組填充 。如果轉義字元也出現在數據中,就在轉義字元前面加上一個轉義字元,當接收端收到兩個轉義字元時,就刪除前面的那一個。
(3)差錯檢測 。在現實中,通信鏈路都不會是完美的,在傳輸比特的過程當中都是會產生差錯的,1變成0或者0變成1都是可能發生的,我們把這樣的錯誤叫做差錯檢測。在數據鏈路層中,為了保證數據傳輸的可靠性,減少差錯出現的數量,就會採用各種差錯檢測措施,目前最常使用的檢錯技術是 循環冗餘校驗 。它的原理簡單來說就是在被傳輸的數據M後面添加供錯檢測用的n為冗餘碼,構成一個幀數據發送出去。關於n位冗餘碼的得出方式與檢驗方式,可以 點擊這里進一步了解 。
對於點對點鏈路,點對點協議PPP是目前使用得最廣泛的數據鏈路層協議。由於網際網路的用戶通常都要連接到某個ISP才能接入到網際網路,PPP協議就是用戶計算機和ISP進行通信所使用的數據鏈路層協議。
在設計PPP協議時必須要考慮以下多方面的需求:
(1)簡單 。簡單的設計可使協議在實現時不容易出錯,這樣使得不同廠商對協議的不同實現的互操作性提高了。
(2)封裝成幀 。PPP協議必須規定特殊的字元作為幀定界符(即標志一個幀的開始和結束的字元),以便使接收端從收到的比特流中能准確的找出幀的開始和結束的位置。
(3)透明性 。PPP協議必須保證數據傳輸的透明性。如果說是數據中碰巧出現和幀定界符一樣的比特組合時,就要採用必要的措施來解決。
(4)多種網路層協議 。PPP協議必須能夠在同一條物理鏈路上同時支持多種網路層協議(IP和IPX等)的運行。
(5)多種類型鏈路 。除了要支持多種網路層的協議外,PPP還必須能夠在多種鏈路上運行(串列與並行鏈路)。
(6)差錯檢測 。PPP協議必須能夠對接收端收到的幀進行檢測,並舍棄有差錯的幀。
(7)檢測連接狀態 。必須具有一種機制能夠及時(不超過幾分鍾)自動檢測出鏈路是否處於正常工作狀態。
(8)最大傳送單元 。協議對每一種類型的點對點鏈路設置最大傳送單元MTU。
(9)網路層地址協商 。協議必須提供一種機制使通信的兩個網路層(如兩個IP層)的實體能夠通過協商知道或能夠配置彼此的網路層地址。
(10)數據壓縮協商 。協議必須能夠提供方法來協商使用數據壓縮演算法。但PPP協議不要求將數據壓縮演算法進行標准化。
PPP協議主要是由三個方面組成的:
(1) 一個將IP數據報封裝到串列鏈路的方法。
(2) 一個用來建立、配置和測試數據鏈路連接的鏈路控制協議LCP(Link Control Protocol)。
(3) 一套網路控制協議NCP(Network Control Protocol),其中的每一個協議支持不同的網路層協議,如IP、OSI的網路層、DECnet,以及AppleTalk等。
最後來介紹PPP協議幀的格式:
首先是各個欄位的意義。首部中的地址欄位A規定為0xFF,控制欄位C規定為0x03,這兩個欄位並沒有攜帶PPP幀的信息。首部的第一個欄位和尾部的第二個欄位都是標識欄位F(Flag)。首部的第四個欄位是2位元組的協議欄位。當協議欄位為0x0021時,PPP幀的信息部分欄位就是IP數據報。若為0xC021,則信息欄位是PPP鏈路控制協議LCP的數據,而 0x8021表示這是網路層的控制數據。尾部中的第一個欄位(2位元組)是使用CRC的幀檢驗序列FCS。
接著是關於PPP協議的差錯檢測的方法,主要分為位元組填充和零比特填充。當是PPP非同步傳輸時,採用的是位元組填充的方法。位元組填充是指當信息欄位中出現和標志欄位一樣的比特(0x7E)組合時,就必須採取一些措施使這種形式上和標志欄位一樣的比特組合不出現在信息欄位中。而當PPP協議使用的是同步傳輸時,就會採用零比特填充方法來實現透明傳輸,即只要發現有5個連續1,則立即填入一個0的方法。
廣播信道可以進行一對多的通信。由於區域網採用的就是廣播通信,因此下面有關廣播通信的討論就是基於區域網來進行的。
首先我們要知道區域網的主要 特點 ,即網路為一個單位所擁有,且地理范圍和站點數目均有限。在區域網才出現時,區域網比廣域網有著較高的數據率、較低的時延和較小的誤碼率。
區域網的 優點 主要有一下幾個方面:
(1) 具有廣播功能,從一個站點可方便地訪問全網。
(2) 便於系統的擴展和逐漸地演變,各設備的位置可靈活地調整和改變。
(3) 提高了系統的可靠性(reliability)、可用性(availibility)、生存性(survivability)。
關於區域網的分類,我們一般是對區域網按照網路拓撲進行分類:
1.星狀網: 由於集線器的出現和雙絞線大量用於區域網中,星形乙太網和多級星形結構的乙太網獲得了非常廣泛的應用。
2.環形網: 顧名思義,就是將各個主機像環一樣串起來的拓撲結構,最典型的就是令牌環形網。
3.匯流排網: 各站直接連在匯流排上。匯流排兩端的匹配電阻吸收在匯流排上傳播的電磁波信號的能量,避免在匯流排上產生有害的電磁波反射。
乙太網主要有兩個標准,即DIX Ethernet V2和IEEE 802.3標准,這兩種標準的差別很小,可以不是很嚴格的區分它們。
但是由於有關廠商的商業上的激烈競爭,導致IEEE 802委員會未能形成一個最佳的區域網標准而制定了幾個不同的區域網標准,所以為了數據鏈路層能夠更好的適應各種不同的標准,委員會就把區域網的數據鏈路層拆成兩個子層: 邏輯鏈路控制LLC子層 和 媒體接入控制MAC子層 。
計算機與外界區域網的連接是通過通信適配器(adapter)來進行的。適配器本來是在電腦主機箱內插入的一塊網路介面板(或者是在筆記本電腦中插入一塊PCMCIA卡),這種介面板又稱為網路介面卡NIC(Network Interface Card)或簡稱為網卡。適配器和區域網之間的通信是通過電纜或雙絞線以串列傳輸方式進行的,而適配器和計算機之間的通信則是通過計算機主板上的I/O匯流排以並行傳輸方式進行的,因此適配器的一個重要功能就是要進行數據串列傳輸和並行傳輸的轉換。由於網路上的數據率和計算機匯流排上的數據率並不相同,所以在適配器中必須裝有對數據進行緩存的存儲晶元。若在主板上插入適配器時,還必須把管理該適配器的設備驅動程序安裝在計算機的操作系統中。這個驅動程序以後就會告訴適配器,應當從存儲器的什麼位置上把多長的數據塊發送到區域網,或應當在存儲器的什麼位置上把區域網傳送過來的數據塊存儲下來。適配器還要能夠實現乙太網協議。
要注意的是,適配器在接收和發送各種幀時是不使用計算機的CPU的,所以這時計算機中的CPU可以處理其他的任務。當適配器收到有差錯的幀時,就把這個幀丟棄而不必通知計算機,而當適配器收到正確的幀時,它就使用中斷來通知該計算機並交付給協議棧中的網路層。當計算機要發送IP數據報時,就由協議棧把IP數據報向下交給適配器,組裝成幀後發送到區域網。特別注意: 計算機的硬體地址—MAC地址,就在適配器的ROM中。計算機的軟體地址—IP地址,就在計算機的存儲器中。
CSMA/CD協議主要有以下3個要點:
1.多點接入 :指的是這是匯流排型網路,許多計算機以多點接入的方式連接在一根匯流排上。
2.載波監聽 :就是用電子技術檢測匯流排上有沒有其他的計算機也在發送。載波監聽也稱為檢測信道,也就是說,為了獲得發送權,不管在發送前,還是在發送中,每一個站都必須不停的檢測信道。如果檢測出已經有其他站在發送,則自己就暫時不發送數據,等到信道空閑時才發送數據。而在發送中檢測信道是為了及時發現有沒有其他站的發送和本站發送的碰撞。
3.碰撞檢測 :也就是邊發送邊監聽。適配器一邊發送數據一邊檢測信道上的信號電壓的變化情況,以便判斷自己在發送數據時其他站是否也在發送數據。所謂碰撞就是信號之間產生了沖突,這時匯流排上傳輸的信號嚴重失真,無法從中恢復出有用的信息來。
集線器的一些特點如下:
(1)使用集線器的乙太網在邏輯上仍然是一個匯流排網,各個站點共享邏輯上的匯流排,使用的還是CSMA/CD協議。
(2)一個集線器是有多個介面。一個集線器就像一個多介面的轉發器。
(3)集線器工作在物理層,所以它的每一個介面僅僅是簡單的轉發比特。它不會進行碰撞檢測,所以當兩個介面同時有信號的輸入,那麼所有的介面都將收不到正確的幀。
(4)集線器自身採用了專門的晶元來進行自適應串音回波抵消。這樣可使介面轉發出去的較強的信號不致對該介面收到的較弱信號產生干擾。
(5)集線器一般都有少量的容錯能力和網路管理能力,也就是說如果在乙太網中有一個適配器出現了故障,不停地發送乙太網幀,這是集線器可以檢測到這個問題從而斷開與故障適配器的連線。
在區域網中,硬體地址又稱為物理地址或者MAC地址,這種地址是用在MAC幀中的。由於6位元組的地址欄位可以使全世界所有的區域網適配器具有不同的地址,所以現在的區域網適配器都是使用6位元組MAC地址。
主要負責分配地址欄位的6個位元組中的前3個位元組。世界上凡事要生產局域適配器的廠家都必須向IEEE購買這3個位元組構成的地址號,這個地址號我們通常叫做 公司標識符 ,而地址欄位的後3個位元組則由廠家自行指派,稱為 擴展標識符 。
IEEE規定地址欄位的第一位元組的最低位為I/G位。當I/G位為0時,地址欄位表示一個單個站地址,而當I/G位為1時表示組地址,用來進行多播。所以IEEE只分配地址欄位前三個位元組中的23位,當I/G位分別為0和1時,一個地址塊可分別生 2^24 個單個站地址和2^24個組地址。IEEE還把地址欄位第1個位元組的最低第二位規定為G/L位。當G/L位為0時是全球管理,來保證在全球沒有相同的地址,廠商向IEEE購買的都屬於全球管理。當地址段G/L位為1時是本地管理,這時用戶可以任意分配網路上的地址,但是乙太網幾乎不會理會這個G/L位的。
適配器對MAC幀是具有的過濾功能的,當適配器從網路上每收到一個MAC幀就先用硬體檢查MAC幀中的目的地址。如果是發往本站的幀則收下,然後再進行其他的處理,否則就將此幀丟棄。這樣做就可以不浪費主機的處理機和內存資源這里發往本站的幀包括以下三種幀:
(1)單播幀:即收到的幀的MAC地址與本站的硬體地址相同。
(2)廣播幀:即發送給本區域網上所有站點的幀。
(3)多播幀:即發送給本區域網上一部分站點的幀。
常用的乙太網MAC幀格式是乙太網V2的MAC幀格式。如下圖:
可以看到乙太網V2的MAC幀比較的簡單,有五個欄位組成。前兩個欄位分別為6位元組長的目的地址和源地址欄位。第三個欄位是2位元組的類型欄位,用來標志上一層使用的是什麼協議,以便把收到的MAC幀的數據上交給上一層的這個協議。下一個欄位是數據欄位,其長度在46到1500位元組之間。最後一個欄位是4位元組的幀檢驗序列FCS(使用CRC檢驗)。
從圖中可以看出,採用乙太網V2的MAC幀並沒有一個結構來存儲一個數據的幀長度。這是由於在曼徹斯特編碼中每一個碼元的正中間一定有一次電壓的轉換,如果當發送方在發送完一個MAC幀後就不再發送了,則發送方適配器的電壓一定是不會在變化的。這樣接收方就可以知道乙太網幀結束的位置,在這個位置減去FCS序列的4個位元組,就可以知道幀的長度了。
當數據欄位的長度小於42位元組時,MAC子層就會在MAC幀後面加入一個整數位元組來填充欄位,來保證乙太網的MAC幀的長度不小於64位元組。當MAC幀傳送給上層協議後,上層協議必須具有能夠識別填充欄位的功能。當上層使用的是IP協議時,其首部就有一個總長度欄位,因此總長度加上填充欄位的長度,就是MAC幀的數據欄位的長度。
從圖中還可以看出,在傳輸MAC幀時傳輸媒體上實際是多發送了8個位元組,這是因為當MAC幀開始接收時,由於適配器的時鍾尚未與比特流達成同步,因此MAC幀的最開始的部分是無法接收的,結果就是會使整個MAC成為無用幀。所以為了接收端能夠迅速的與比特流形成同步,就需要在前面插入這8個位元組。這8個位元組是由兩個部分組成的,第一個部分是由前7個位元組構成的前同步碼,它的主要作用就是就是實現同步。第二個部分是幀開始界定符,它的作用就是告訴接收方MAC幀馬上就要來了。需要注意的是,幀與幀之間的傳輸是需要一定的間隔的,否則接收端在收到了幀開始界定符後就會認為後面的都是MAC幀而會造成錯誤。
乙太網上的主機之間的距離不能太遠,否則主機發送的信號經過銅線的傳輸就會衰減到使CSMA/CD協議無法正常工作,所以在過去常常使用工作在物理層的轉發器來拓展乙太網的地理覆蓋范圍。但是現在隨著雙絞線乙太網成為乙太網的主流類型,拓展乙太網的覆蓋范圍已經很少使用轉發器,而是使用光纖和一對光纖數據機來拓展主機和集線器之間的距離。
光纖解調器的作用是進行電信號與光信號的轉換。由於光纖帶來的時延很小,並且帶寬很寬,所以才用這種方法可以很容易地使主機和幾公里外的集線器相連接。
如果是使用多個集線器,就可以連接成覆蓋更大范圍的多級星形結構的乙太網:
使用多級星形結構的乙太網不僅能夠讓連接在不同的乙太網的計算機能夠進行通信,還可以擴大乙太網的地理覆蓋范圍。但是這樣的多級結構也帶來了一些缺點,首先這樣的結構會增大它們的碰撞域,這樣做會導致圖中的某個系的兩個站在通信時所傳送的數據會通過所有的集線器進行轉發,使得其他系的內部在這時都不能進行通信。其次如果不同的乙太網採用的是不同的技術,那麼就不可能用集線器將它們互相連接起來。
拓展乙太網的更常用的方法是在數據鏈路層中進行的,在開始時人們使用的是網橋。但是現在人們更常用的是 乙太網交換機 。
乙太網交換機實質上是一個多介面的網橋,通常是有十幾個或者更多的介面,而每一個介面都是直接與一個單台主機或者另一個乙太網交換機相連。同時乙太網交換機還具有並行性,即能同時連通多對介面,使多對主機能同時通信,對於相互通信的主機來說都是獨占傳輸媒體且無碰撞的傳輸數據。
乙太網交換機的介面還有存儲器,能夠在輸出埠繁忙時把到來的幀進行緩存,等到介面不再繁忙時再將緩存的幀發送出去。
乙太網交換機還是一種即插即用的設備,它的內部的地址表是通過自學習演算法自動的建立起來的。乙太網交換機由於使用了專用的交換結構晶元,用硬體轉發,它的轉發速率是要比使用軟體轉發的網橋快很多。
如下圖中帶有4個介面的乙太網交換機,它的4個介面各連接一台計算機,其MAC地址分別為A、B、C、D。在開始時,乙太網交換機裡面的交換表是空的。
首先,A先向B發送一幀,從介面1進入到交換機。交換機收到幀後,先查找交換表,但是沒有查到應從哪個介面轉發這個幀,接著交換機把這個幀的源地址A和介面1寫入交換表中,並向除介面1以外的所有介面廣播這個幀。C和D因為目的地址不對會將這個幀丟棄,只有B才收下這個目的地址正確的幀。從新寫入的交換表(A,1)可以得出,以後不管從哪一個介面收到幀,只要其目的地址是A,就應當把收到的幀從介面1轉發出去。以此類推,只要主機A、B、C也向其他主機發送幀,乙太網交換機中的交換表就會把轉發到A或B或C應當經過的借口號寫入到交換表中,這樣交換表中的項目就齊全了,以後要轉發給任何一台主機的幀,就都能夠很快的在交換表中找到相應的轉發介面。
考慮到有時可能要在交換機的介面更換主機或者主機要更換其網路適配器,這就需要更改交換表中的項目,所以交換表中每個項目都設有一定的有效時間。
但是這樣的自學習有時也會在某個環路中無限制的兜圈子,如下圖:
假設一開始主機A通過介面交換機#1向主機B發送一幀。交換機#1收到這個幀後就向所有其他介面進行廣播發送。其中一個幀的走向:離開#1的3->交換機#2的介面1->介面2->交換機#1的介面4->介面3->交換機#2的介面1......一直循環下去,白白消耗網路資源。所以為了解決這樣的問題,IEEE制定了一個生成樹協議STP,其要點就是不改變網路的實際拓撲,但在邏輯上切斷某些鏈路,從而防止出現環路。
虛擬區域網VLAN是由一些區域網網段構成的與物理位置無關的邏輯組,而這些網段具有某些共同的需求。每一個VLAN的幀都有一個明確的標識符,指明發送這個幀的計算機屬於VLAN。要注意虛擬區域網其實只是區域網給用戶提供的一種服務,而不是一種新型區域網。
現在已經有標準定義了乙太網的幀格式的擴展,以便支持虛擬區域網。虛擬區域網協議允許在乙太網的幀格式中插入一個4位元組的標識符,稱為VLAN標記,它是用來指明發送該幀的計算機屬於哪一個虛擬區域網。VLAN標記欄位的長度是4位元組,插入在乙太網MAC幀的源地址欄位和類型欄位之間。VLAN標記的前兩個位元組總是設置為0x8100,稱為IEEE802.1Q標記類型。當數據鏈路層檢測到MAC幀的源地址欄位後面的兩個位元組的值是0x8100時,就知道現在插入了4位元組的VLAN標記。於是就接著檢查後面兩個位元組的內容,在後面的兩個位元組中,前3位是用戶優先順序欄位,接著的一位是規范格式指示符CFI,最後的12位是該虛擬區域網VLAN標識符VID,它唯一的標志了這個以台網屬於哪一個VLAN。
高速乙太網主要是分為三種,即100BASE-T乙太網、吉比特乙太網和10吉比特乙太網:
Ⅱ OSI每層的數據格式
第一層:物理層,二進制傳輸,bit(比特流)
第二層:數據鏈路層,介質訪問,frame(幀)
第三層:網路層,確定地址和最佳路徑,packet(包)
第四層:傳輸層,端到端連接,segment(段)
第五層:會話層,互連主機通信
第六層:表示層,數據表示
第七層:應用層,為應用程序提供網路服務
五至七層為節點傳輸,發送和接收消息。
數據發送時,從第七層傳到第一層,接收數據則相反。
上三層總稱應用層,用來控制軟體方面。下四層總稱數據流層,用來管理硬體。
數據在發至數據流層的時候將被拆分。
在傳輸層的數據叫段,
網路層叫包,
數據鏈路層叫幀,
物理層叫比特流,這樣的叫法叫PDU(協議數據單元)
第1層 物理層:處於OSI參考模型的最底層。物理層的主要功能是利用物理傳輸介質為數據鏈路層提供物理連接,以便透明的傳送比特流;
第2層 數據鏈路層:—在此層將數據分幀,並處理流控制。屏蔽物理層,為網路層提供一個數據鏈路的連接,在一條有可能出差錯的物理連接上,進行幾乎無差錯的數據傳輸。本層指定拓撲結構並提供硬體定址;
第3層 網路層:—本層通過定址來建立兩個節點之間的連接,為源端的運輸層送來的分組,選擇合適的路由和交換節點,正確無誤地按照地址傳送給目的端的運輸層。它包括通過互連網路來路由和中繼數據 ;
第4層 傳輸層:—常規數據遞送-面向連接或無連接。為會春斗話層用戶提供一個端到端的可靠、透明和優化的數據傳輸服務機制。包括全雙工或半雙工、流控制和錯誤恢復服務;
第5層 會話層:—在兩個節點之間建立端連接。為端系統的應用程序之間提供了對話控制機制。此服務包括建立連接是以全雙工還是以半雙工的方式進行設置,盡管可以在層4中處理雙工方式 ;
第6層 表示層:主要用於處理兩個通信系統中交換信息的表示方式。為上層用戶解決用戶信息的語法問題。它包括數據格式交換、數據加密與解密、數據壓縮與恢復等功能;
第7層 應用層:OSI中的最高層。為特定類型的網路應用提供了訪問OSI環境的手段。應用層確定進程之間通信的性質,以扒明磨滿足用戶的需要。應用層不僅要提供應用進程所需要的信息交換和遠程操作,而且還要作為應用進程的用戶代理,來完成一些為進行信息交換所必需的功能。它包括:文件傳送訪問和管理FTAM、虛擬終端VT、事務處理TP、遠程資料庫訪問RDA、製造業報文規槐肢范MMS、目錄服務DS等協議。
Ⅲ 數據鏈路層協議代表有SDLC和HDLC ,PPP, STP的中文全稱是哪些
常見廣域網協議
PPP(Point to Point Protocol)、HDLC(High level Data Link Control)、frame-relay,SDLC等。
1)PPP:點對點的協議,華為路敬殲絕由器默認封裝,是面向字元的控制協議。
2)HDLC:高級數據鏈路控制協議,Cisco路由改李器默認的封裝,是面向位的控制協議。
3)fram-relay:表示幀中繼交換網,它是x.25分組交換網的改進,以虛電路亮姿的方式工作。
4)SDLC:同步數據鏈路控制(SDLC)協議是一種 IBM 數據鏈路層協議,適用於系統網路體系結構(SNA)。
Ⅳ OSI參考模型的七層結構,各層的名稱、主要功能及物理層、數據鏈路層、網路層和傳輸層的協議數據單元分別是
1.第一層:物理層(PhysicalLayer),規定通信設備的機械的、電氣的、功能的和規程的特性,用以建立、維護和拆除物理鏈路連接。具體地講,機械特性規定了網路連接時所需接插件的規格尺寸、引腳數量和排列情況等;電氣特性規定了在物理連接上傳輸bit流時線路上信號電平的大小、阻抗匹配、傳輸速率距離限制等;功能特性是指對各個信號先分配確切的信號含義,即定義了DTE和DCE之間各個線路的功能;規程特性定義了利用信號線進行bit流傳輸的一組操作規程,是指在物理連接的建立、維護、交換信息時,DTE和DCE雙方在各電路上的動作系列。
在這一層,數據的單位稱為比特(bit)。
屬於物理層定義的典型規范代表包括:EIA/TIA RS-232、EIA/TIA RS-449、V.35、RJ-45等。
2.第二層:數據鏈路層(DataLinkLayer):在物理層提供比特流服務的基礎上,建立相鄰結點之間的數據鏈路,通過差錯控制提供數據幀(Frame)在信道上無差錯的傳輸,並進行各電路上的動作系列。
數據鏈路層在不可靠的物理介質上提供可靠的傳輸。該層的作用包括:物理地址定址、數據的成幀、流量控制、數據的檢錯、重發等。
在這一層,數據的單位稱為幀(frame)。
數據鏈路層協議的代表包括:SDLC、HDLC、PPP、STP、幀中繼等。
3.第三層是網路層(Network layer)
在計算機網路中進行通信的兩個計算機之間可能會經過很多個數據鏈路,也可能還要經過很多通信子網。網路層的任務就是選擇合適的網間路由和交換結點, 確保數據及時傳送。網路層將數據鏈路層提供的幀組成數據包,包中封裝有網路層包頭,其中含有邏輯地址信息- -源站點和目的站點地址的網路地址。
在這一層,數據的單位稱為數據包(packet)。
網路層協議的代表包括:IP、IPX、RIP、OSPF等。
4.第四層是處理信息的傳輸層(Transport layer)。第4層的數據單元也稱作數據包(packets)。但是,當你談論TCP等具體的協議時又有特殊的叫法,TCP的數據單元稱為段(segments)而UDP協議的數據單元稱為「數據報(datagrams)」。這個層負責獲取全部信息,因此,它必須跟蹤數據單元碎片、亂序到達的數據包和其它在傳輸過程中可能發生的危險。第4層為上層提供端到端(最終用戶到最終用戶)的透明的、可靠的數據傳輸服務。所謂透明的傳輸是指在通信過程中傳輸層對上層屏蔽了通信傳輸系統的具體細節。
傳輸層協議的代表包括:TCP、UDP、SPX等。
5.第五層是會話層(Session layer)
這一層也可以稱為會晤層或對話層,在會話層及以上的高層次中,數據傳送的單位不再另外命名,統稱為報文。會話層不參與具體的傳輸,它提供包括訪問驗證和會話管理在內的建立和維護應用之間通信的機制。如伺服器驗證用戶登錄便是由會話層完成的。
6.第六層是表示層(Presentation layer)
這一層主要解決用戶信息的語法表示問題。它將欲交換的數據從適合於某一用戶的抽象語法,轉換為適合於OSI系統內部使用的傳送語法。即提供格式化的表示和轉換數據服務。數據的壓縮和解壓縮, 加密和解密等工作都由表示層負責。例如圖像格式的顯示,就是由位於表示層的協議來支持。
7.第七層應用層(Application layer),應用層為操作系統或網路應用程序提供訪問網路服務的介面。
應用層協議的代表包括:Telnet、FTP、HTTP、SNMP等。
Ⅳ 計算機網路體系分為哪四層
1.、應用層
應用層對應於OSI參考模型的高層,為用戶提供所需要的各種服務,例如:FTP、Telnet、DNS、SMTP等.
2.、傳輸層
傳輸層對應於OSI參考模型的傳輸層,為應用層實體提供端到端的通信功能,保證了數據包的順序傳送及數據的完整性。該層定義了兩個主要的協議:傳輸控制協議(TCP)和用戶數據報協議(UDP).
TCP協議提供的是一種可靠的、通過「三次握手」來連接的數據傳輸服務;而UDP協議提供的則是不保證可靠的(並不是不可靠)、無連接的數據傳輸服務.
3.、網際互聯層
網際互聯層對應於OSI參考模型的網路層,主要解決主機到主機的通信問題。它所包含的協議設計數據包在整個網路上的邏輯傳輸。注重重新賦予主機一個IP地址來完成對主機的定址,它還負責數據包在多種網路中的路由。
該層有三個主要協議:網際協議(IP)、互聯網組管理協議(IGMP)和互聯網控制報文協議(ICMP)。
IP協議是網際互聯層最重要的協議,它灶拍游提供的是一個可靠、無連接的數據報傳遞服務。
4.、網路接入層(即主機-網路層)
網路接入層與OSI參考模型中的物理層和數據鏈路層相對應。它負責監視數據在主機和網路之間的交換。事實上,TCP/IP本身並未定義該層的協議,而由參與互連的各網路使用自己的物理層和數據鏈路層協議,然後與TCP/IP的網路接入層進行連接。地址解析協議(ARP)工作在此層,即OSI參考模型的數據鏈路層。
(5)數據鏈路層表示方式叫什麼擴展閱讀:
OSI將隱銷計算機網路體系結構(architecture)劃分為以下七層:
物理層: 將數據轉換為可通過物理介質傳送的電子信號相當於郵局中的搬運工人。
數據鏈路層: 決定訪問網路介質的方式。
在此層將數據分幀,並處理流控制。本層指定拓撲結構並提供硬體定址,相當於郵局中的裝拆箱工人。
網路層: 使用權數據路由經過大型網路 相當於郵局中的排序工人。
傳輸層: 提供終端到終端的可靠賀嘩連接 相當於公司中跑郵局的送信職員。
會話層: 允許用戶使用簡單易記的名稱建立連接 相當於公司中收寄信、寫信封與拆信封的秘書。
表示層: 協商數據交換格式 相當公司中簡報老闆、替老闆寫信的助理。
應用層: 用戶的應用程序和網路之間的介面老闆。
Ⅵ TCP/IP是什麼意思
TCP/IP 指傳輸控制協議/網際網路互聯協議(Transmission Control Protocol / Internet Protocol),又名網路通訊協議。
TCP/IP是Internet最基本的協議、Internet國際互聯網路的基礎,由網路層的IP協議和傳輸層的TCP協議組成,是供連接網際網路的計算機進行通信的通信協議。
TCP/IP 定義了電子設備(比如計算機)如何連入網際網路,以及數據如何在它們之間傳輸的標准。
TCP/IP協議從字面上看,有人可能會認為 TCP/IP 是指 TCP 與 IP 兩種協議。雖然實際中的確有這兩種協議,但是在很多情況下,它泛指 IP、ICMP、TCP、UDP、TELNET、FTP、HTTP 等協議群,所以有時也稱 TCP/IP 為網際協議族。
(6)數據鏈路層表示方式叫什麼擴展閱讀:
其實 TCP/IP 也是使用 OSI七層協議的觀念, 所以同樣具有分層的架構,只是將它簡化為四層,在結構上面比較沒有這么嚴謹,程序撰寫會比較容易些。
TCP/IP協議族是一個四層協議系統,自底而上分別是數據鏈路層、網路層、傳輸層和應用層。每一層完成不同的功能,帆困畝且通過若干協議來實現,上層協議使用下層協議提供的服務。
1、數據鏈路層。
該層實現了網卡介面的網路驅動程序,以處理數據在物理媒介(比如乙太網、令牌環等)上的傳輸。不同的物理網路具有不同的電氣特性,網路驅動程序隱藏了這些細節,為上層協議提供一個統一的介面。
數據鏈路層兩個常用的協議是ARP協議(Address Resolve Protocol,地址解析協議)和RARP協議(Reverse Address Resolve Protocol,逆地址解析協議)。
它們實現了IP地址和機器物理地址(通常是MAC地址,乙太網、令牌環和802.11無線網路都使用MAC地址)之間的相互轉換。
2、網路層
網路層實現數據包的選路和轉發。WAN(Wide Area Network,廣域網)通常使用眾多分級的路由器來連接分散的主機或LAN(Local Area Network,區域網),因此,通信的兩台主機一般不是直接相連的,而是通過多個中間節點(路由器)連接的。
網路層的任務就是選擇這些中間節點,以確定兩台主機之間的通信路徑。同時,網路層對上層協議隱藏了網路拓撲連接的細節,使得在傳輸層和網路應用程序看來,通信的雙方是直接相連的。
網路層最核心的協議是IP協議(Internet Protocol,網際網路協議)。IP協議根據數據包的目的IP地址來決定如何投遞它。如果數據包不能直接發送給目標主機,那麼IP協議就為它尋找一個合適的態森下一跳(next hop)路由器,並將數據包交付給該路由器來轉發。
多次重復這一過程,數據包最終到達目標主機,或者由於發送失敗而被丟棄。可見,IP協議使用逐跳(hop by hop)的方式確定通信路徑。
3、傳輸層
傳輸層為兩台主機上的應用程序提供端到端(end to end)的通信。與網路層使用的逐跳通信方式不同,傳輸層只關心通信的起始端和目的端,而不在乎數據包的中轉過程。圖1-3展示了傳輸層和網路層的這種區別。
4、應用層
應用層負責處理應用程序的邏輯。數據鏈路層、網路層和傳輸層負責處理網路通信細節,這部分必須既穩定又高效,因此它們都在內核空間中實現,而應用層則在用戶空間實現,因為它負責處理尺弊眾多邏輯,比如文件傳輸、名稱示等。
而應用層則在用戶空間實現,因為它負責處理眾多邏輯,比如文件傳輸、名稱查詢和網路管理等。如果應用層也在內核中實現,則會使內核變得非常龐大。
當然,也有少數伺服器程序是在內核中實現的,這樣代碼就無須在用戶空間和內核空間來回切換(主要是數據的復制),極大地提高了工作效率。
應用層協議(或程序)可能跳過傳輸層直接使用網路層提供的服務,比如ping程序和OSPF協議。應用層協議(或程序)通常既可以使用TCP服務,又可以使用UDP服務,比如DNS協議。
Ⅶ 02 - 數據鏈路層的詳細認識
時間有限我這里只寫了一部分內容,更詳細的內容可以直接看我的筆記 第三章數據鏈路層
數據鏈路層的任務就是將分組從一個網路中或一個鏈路上的一端傳送到另一端。數據鏈路層傳送的數據單元稱為幀(frame)。所以也可以說數據鏈路層的任務就是在一個網路(或一段鏈路上)傳送以幀為單位的數據
數據鏈路層屬於計算機網路的底層,僅在物理層的上方,在網路層的下方,網路中的主機、路由器等都必須實現數據鏈路層。數據鏈路層使用的信道主要有兩種類型,點對點信道,廣播信道
在點對點信道中最重要的是如何實現可靠傳輸(在實際中並不會在數據鏈路層實現可靠傳輸,而是交給上層)
網路層的IP數據報必須向下傳達到數據鏈路層,在數據報前後分別加上首部和尾部,封裝成為一個完整的幀。因為在數據鏈路層就是以幀為單位傳輸和處理數據,因此,數據鏈路層中的幀長就是數據部分加上首部和尾部的長度。
發送方將幀以比特流的形式發送給接收方(在物理層會轉換成電信號),接收方為了能夠處理幀數據,必須正確認識每個幀的開始和結束,這就需要進行幀定界
幀定界有很多種,比如乙太網就是在傳輸的幀與幀之間插入時間間隔來實現,只有首部有幀定界符,尾部沒有幀定界符。還有一種就是在幀的首部和尾部都加上一個幀定界符。
幀定界符:
不同類型:
幀定界符在透明傳輸中的問題和解決
問題: 傳輸數據存在使用幀定界符所使用的字元或比特組合,會出現錯誤的幀定界
解決:
注意:
通信鏈路的傳輸都不會是理想的,比特在傳輸過程中可能會產生差錯,比如1變為0,0變為1,這叫做比特差錯,因此就需要在接收端進行差錯檢測。
發送方需要採用某種差錯檢測演算法,使用發送的數據計算出差錯檢測碼EDC,差錯檢測碼隨數據一起發送給接收方,接收方使用同樣的差錯檢測演算法計算出差錯檢測碼EDC',如果兩者不一致,則表示出現差錯,一般採用循環冗餘檢驗(CRC)來檢錯
差錯檢測演算法:
接收雙方需要約定好一個多項式,之後按照下圖的方式進行處理
案例說明
發送方的冗餘校驗:
說明:
接收方的冗餘校驗:
說明:
注意:
有些情況下數據鏈路層需要向上層的網路層提供「可靠傳輸」的服務,也就是發送端發送什麼,對應的接收端就必須接收什麼。我們通過可靠傳輸協議來實現數據鏈路層的可靠傳輸,有三種,停止等待協議SW、回退N步協議GBN、選擇重傳協議SR。
可靠傳輸協議就是要在不可靠的信道上實現可靠的數據傳輸服務。
在計算機網路中實現可靠傳輸的基本方法就是:如果發現錯誤就重傳
使用分組確認和超時重傳機制就可以在不可靠的信道上實現可靠的數據傳輸。
解決: 可以在發送方發送完一個數據分組後,啟動一個超時計時器,若超出了設置的重傳時間,發送方仍沒有收到接收方的任何確認分組,就會重傳原來的分組。
注意: 重傳時間的選擇一般是略大於「從發送方到接收方的平均往返時間」數據鏈路層的往返時間是比較確定的,可以使用這種方式
說明:
上面也可以看到停止等待協議的信道利用率很低,所以需要採用流水線傳輸方式,發送方不間斷的發送分組來提高信道利用率。但是這種方式有可能會使接收方來不及處理這些分組,從而導致分組的丟失。因此需要限制發送方連續發送分組的個數避免這個問題,而這種方式就是回退N步協議。
簡單理解回退N步協議就是停止等待協議只能發送一個分組就等待,回退N步協議是發送多個分組才處於等待狀態
原理: 回退N步協議在流水線傳輸的基礎上利用發送窗口來限制發送方連續發送分組的個數,是一種連續的ARQ協議
注意:
選擇重傳協議是在回退N步協議的基礎上,只重傳出現差錯的分組,這時接收窗口不再為1,以便先收下失序到達但仍然處於接收窗口中的分組,等到所缺分組收齊後再一並送交上層,這就是選擇重傳協議。
注意:
Ⅷ 數據鏈路層,整體數據結構叫什麼
數據鏈路層的數據叫做 幀
同時整體分為
物理層、數據鏈路層、網路層、傳輸層、會洞散槐話層、表示掘世層和應納友用層