TCP/IP入门(1) --链路层
/**
本博客由汗青ZJF整理并發布,?轉載請注明出處:
http://blog.csdn.net/zjf280441589/article/category/1854365
*/
TCP/IP體系結構
?
1)網絡接口層
? 物理層定義與傳輸媒體的接口有關的一些特性,即機械特性、電氣特性、功能特性、過程特性,并需要完成并行傳輸和串行傳輸之間的轉換。
? 數據鏈路層向該層用戶提供透明的和可靠的數據傳輸服務。?透明性是指該層上傳輸的數據的內容、格式及編碼沒有限制,也沒有必要解釋信息結構的意義;可靠性是指在傳輸過程中將物理層提供的可能出錯的物理連接改造成為邏輯上無差錯的數據鏈路,其具體的方法有幀同步、差錯控制、流量控制、鏈路管理。
? 數據鏈路層中的主要協議有點對點協議PPP,CSMA/CD協議,以太網802.3。
?
2)網際層(IP層)
? 網際層向上只提供簡單靈活的、無連接的、盡最大努力交付的數據報服務。網際層不提供服務質量的承諾,即所傳輸的分組可能出錯、丟失、重復和失序,當然也不保證分組交付的時限。
? 網際層中主要協議有IP協議,地址解析協議ARP和網際控制報文協議ICMP等。
? IP協議是網際層的核心,通過路由選擇將下一跳IP封裝后交給網絡接口層。IP?數據報是無連接服務。
? ICMP是網際層的補充,可以回送報文。用來檢測網絡是否通暢(使用ping命令)。
? ARP是通過已知IP,尋找對于主機的MAC地址。
?
3)運輸層
? 運輸層為應用進程之間提供端到端(進程到進程)的邏輯通信,并具有復用和分用的功能,即發送方不同的應用進程都可以使用同一個運輸層協議傳送數據;接收方的運輸層在剝去報文的首部后能夠把這些數據正確交付到目的應用進程。運輸層還將對報文進行差錯控制,以提供可靠傳輸。
? 運輸層中主要協議有用戶數據報協議UDP和傳輸控制協議TCP???
?
4)應用層
? 應用層為用戶提供應用程序。
? 應用層中主要協議有域名系統DNS,文件傳輸協議FTP,遠程終端協議TELNET,超文本傳輸協議HTTP,簡單郵件傳送協議SMTP,郵件讀取協議POP3和IMAP,動態主機配置協議DHCP等。
? ? DNS:提供域名解析服務,提供域名到IP地址之間的轉換,使用端口53
????FTP:在異構網絡中任意計算機之間傳送文件,使用端口21
????TELNET:提供用戶遠程登錄服務,使用端口23,使用明碼傳送,保密性差、簡單方便
????HTTP:用于實現萬維網上的各種鏈接,即萬維網客戶程序與萬維網服務器之間的連接,使用端口80
????SMTP/POP3、IMAP:提供郵件的傳輸,用來控制信件的發送、中轉、從郵件服務器讀取郵件
????DHCP:為新加入網絡的計算機自動分配IP地址
電路交換、報文交換與分組交換?
(1)電路交換的三個過程?
? ? 電路建立?->?數據傳輸?->?電路拆除
? ??在通信之前要在通信雙方之間建立一條被雙方獨占的物理通路(由通信雙方之間的交換設備和鏈路逐段連接而成)
(2)報文交換?
? ??報文交換方式的數據傳輸單位是報文,報文就是站點一次性要發送的數據塊,其長度不限且可變。當一個站要發送報文時,它將一個目的地址附加到報文上,網絡節點根據報文上的目的地址信息,把報文發送到下一個節點,一直逐個節點地轉送到目的節點。?
? ??每個節點在收到整個報文并檢查無誤后,就暫存這個報文,?然后利用路由信息找出下一個節點的地址,?再把整個報文傳送給下一個節點。因此,端與端之間無需先通過呼叫建立連接。?
(3)分組交換?
? ??分組交換是報文交換的一種改進,它將報文分成若干個分組,每個分組的長度有一個上限,有限長度的分組使得每個節點所需的存儲能力降低了,分組可以存儲到內存中,提高了交換速度。它適用于交互式通信,如終端與主機通信。
?
電路交換與分組交換優點對比 | |
①由于通信線路為通信雙方用戶專用,數據直達,所以傳輸數據的時延非常小. | ①加速了數據在網絡中的傳輸。因為分組是逐個傳輸,可以使后一個分組的存儲操作與前一個分組的轉發操作并行,這種流水線式傳輸方式減少了報文的傳輸時間。?此外,傳輸一個分組所需的緩沖區比傳輸一份報文所需的緩沖區小得多,這樣因緩沖區不足而等待發送的機率及等待的時間也必然少得多。 |
②通信雙方之間的物理通路一旦建立,雙方可以隨時通信,實時性強。 | ②簡化了存儲管理。因為分組的長度固定,相應的緩沖區的大小也固定,在交換結點中存儲器的管理通常被簡化為對緩沖區的管理,相對比較容易。 |
③雙方通信時按發送順序傳送數據,不存在失序問題。 | ③減少了出錯機率和重發數據量。因為分組較短,其出錯機率必然減少,每次重發的數據量也就大大減少,這樣不僅提高了可靠性,也減少了傳輸時延。 |
④電路交換既適用于傳輸模擬信號,也適用于傳輸數字信號。 | ④由于分組短小,更適用于采用優先級策略,便于及時傳送一些緊急數據,因此對于計算機之間的突發式的數據通信,分組交換顯然更為合適些。 |
⑤電路交換的交換的交換設備控制均較簡單。 | ? |
?
電路交換與分組交換缺點對比 | |
①電路交換的平均連接建立時間對計算機通信來說嫌長。 | ①盡管分組交換比報文交換的傳輸時延少,但仍存在存儲轉發時延,而且其結點交換機必須具有更強的處理能力。 ? |
②電路交換連接建立后,物理通路被通信雙方獨占,即使通信線路空閑,也不能供其他用戶使用,因而信道利用低。 | ②分組交換中的每個分組都要加上源、目的地址和分組編號等信息,這將增大傳送的信息量,一定程度上降低了通信效率,增加了處理的時間,使控制復雜,時延增加。? |
③電路交換時,數據直達,不同類型、不同規格、不同速率的終端很難相互進行通信,也難以在通信過程中進行差錯控制。 | ③當分組交換采用數據報服務時,可能出現失序、丟失或重復分組,分組到達目的結點時,要對分組按編號進行排序等工作,增加了麻煩。 |
MTU與路徑MTU?
? ? 以太網和IEEE?802.3對數據幀的長度都有限制,其最大值分別是1500和1492字節,將這個限制稱作最大傳輸單元(MTU,Maximum?Transmission?Unit);如果IP層有一個數據報要傳,而且數據的長度比鏈路層的MTU還大,那么IP層就要進行分片(Fragmentation),把數據報分成若干片,這樣每一片都小于MTU。
當網絡上的兩臺主機互相進行通信時,兩臺主機之間要經過多個網絡,每個網絡的鏈路層可能有不同的MTU,其中兩臺通信主機路徑中的最小MTU被稱作路徑MTU。
?
路徑MTU的發現方法:?
? ??這是確定兩個IP主機之間路徑最大傳輸單元的技術,其目的就是為了避免IP分片。首先源地址將數據報的DF(不要分片)位設置為1,再逐漸增大發送的數據報的大小——路徑上任何需要將分組進行分片的設備都會將這種數據報丟棄并返回“數據報過大“的ICMP響應到源地址——這樣源主機就”學習“到了無需分片就能通過這條路徑的最大的最大傳輸單元。
?
如何實現“透明傳輸”?
? ??透明傳輸的基本概念:數據透明傳輸就是用戶不受協議中的任何限制,可隨機的傳輸任意比特編碼的信息,?用戶可以完全不必知道協議中所規定的結束段的比特編碼或者其他的控制字符,因而不受限制的進行傳輸。
(1)字符填充
? ??基本思想:發送端在數據中出現的控制字符”SOH”或”EOT”的前面插入一個轉義字符”ESC”(其十六進制編碼為1B),?而接收端在將接受到的數據送到上層之前刪除之前發送端插入的轉義字符;
? ??如果轉義字符也出現在數據當中,?那么應在轉義字符前面插入一個轉義字符,?當接收端收到連續的兩個轉義字符時,?就刪除其中前面的一個.
? ??字符填充PPP協議實例:?將信息字段中出現的每一個0x7E字節轉換成為2字節序列(0x7D,?0x5E),?若信息字段中出現一個0x7D的字節,?則將其轉變成為2字節序列(0x7D,?0x5D).?若信息字段中出現ASCII碼的控制字符(即數值小于0x20的字符),?則在該字符前面要加入一個0x7D字節,?同時將該字節的編碼加以改變;
(2)零比特填充
? ??基本原理:在發送端,?只要發現有5個連續的1,?則立即填入一個0.?接收端對幀中的比特流進行掃描時,?每當發現5個連續的1時,?就把這5個連續的1之后的一個0刪除(因為01111110(6個1)表示HDLC數據塊的起始和結束,從而構成最終傳輸的幀).
注意:只要出現了5個連續的1,則必須加上一個0!?
?
CRC循環校驗法
? ??在發送端,?先把數據劃分為組,?假定每組K個比特(K位),?同時假定待傳送的一組數據M=101001(K=6),?我們在M的后面再添加供差錯檢測用的N位冗余碼一起發送.
?
N位冗余碼求解方法:
? ??首先,用二進制的模2運算[一種特殊的運算:?00得1,?11得1,?01得0,?10得0,?但不進位/退位]進行2^N乘M的運算,?這相當于在M后面添加N個0;
? ??然后,?用得到的(K+N)位的數除以事先選定好的長度為(N+1)位的除數P,?得出商為Q且余數是R,?余數R比除數P少1位,?即R是N位;
? ??最后,使用R替換N個0,?即得到要發送的數據.
示例:
? ??假設現在K=6,?M=101001,?設N=3,?除數P=1101,?則被除數為(2^N)*M?=?101001000,?模2運算的結果為:?商110101,?余數R=001,?因此最終得到需要發送的數據位101001001
?
接收端校驗:
? ??接收端對收到的每一幀進行CRC校驗如下:
? ??(1)若得出的余數R=0,?則判定這個幀沒有差錯,?接受accept;
? ??(2)若得出的余數R!=0,?則判定這個幀有差錯,?丟棄abandon.
?
注意:這種檢測方法并不能確定究竟是哪一個/幾個比特出了差錯,?但是只要經過嚴格的挑選,?并使用位數足夠多的除數P,?那么出現檢測不到的差錯的概率就很小很小了;
因此僅用循環冗余校驗CRC差錯檢驗技術只能做到”無差錯接受”.
?
MAC地址
? ??概念:MAC地址就是在鏈路層上使用的地址,也叫物理地址、硬件地址或鏈路地址,其被固化在適配器(網卡)的ROM中。可見MAC地址實際上就是適配器(網卡)地址或標識符。當某臺計算機使用某塊適配器后,適配器上的標識符就成為該計算機的MAC地址。MAC地址長度為6字節(48比特),由IEEE的注冊管理結構RA進行管理分配。
? ??作用:MAC地址是計算機的唯一標識,在數據鏈路層中,交換機通過識別MAC地址進行數據包的傳輸。
?
網絡設備
1)物理層用到的設備是中繼器和集線器
? ??中繼器的主要功能是對接收到的信號進行再生整形放大以擴大網絡的傳輸距離(從一個網絡電纜中接收信號,?放大它們,?然后將其送入下一個電纜)。
? ??集線器(HUB)就是將網線集中到一起的機器,也就是多臺主機和設備的連接器。集線器的主要功能是對接收到的信號進行同步整形放大(同中繼器),以擴大網絡的傳輸距離;?與中繼器的區別在于集線器能夠提供多端口服務,也稱為多端口中繼器。
?
2)數據鏈路層用到的設備是交換機和網橋
? ??交換機是一種基于MAC識別,能完成封裝,?轉發數據包功能的網絡設備。它可以“學習”MAC地址,并把其存放在內部地址表中,當一個數據幀的目的地址在MAC地址表中有映射時,它被轉發到連接目的節點的端口而不是所有端口。交換機將局域網分為多個沖突域,每個沖突域都是有獨立的寬帶,因此大大提高了局域網的帶寬。
? ??網橋就是個硬件網絡協議翻譯器,?在網絡互聯中可起到數據接收、地址過濾與數據轉發的作用,?可用來實現多個不同網絡系統之間的數據交換。
?
3)網絡層用到的設備是路由器
? ??路由器用于連接多個邏輯上分開的網絡,具有路由和轉發的功能,它能在多網絡互聯環境中,建立靈活的連接,可用完全不同的數據分組和介質訪問方法連接各種子網(我們將在網絡層對路由器有更詳盡的描述)。
?
4)應用層用到的設備是網關
? ??網關(協議轉換器)是在網絡層之上的具有協議轉換功能的設施,所以稱為設施,是因為網關不一定是一臺設備,有可能在一臺主機中實現網關功能。?
網關分類:
1)協議網關:協議網關通常在使用不同協議的網絡區域間做協議轉換。?
2)應用網關:應用網關是在使用不同數據格式間翻譯數據的系統。?
3)安全網關:安全網關是各種技術的融合,具有重要且獨特的保護作用,其范圍從協議級過濾到十分復雜的應用級過濾。
總結
以上是生活随笔為你收集整理的TCP/IP入门(1) --链路层的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Linux环境下Redmine的安装(一
- 下一篇: SpringCloud微服务:Ribbo