第五章 Internet基礎
本單元概覽
一、Internet的構成。
二、Internet的接入。
三、IP協議與互聯層服務。
四、IP地址。
五、IP數據報。
六、路由器與路由選擇。
七、差錯與控制報文
八、TCP與UDP
九、IPV6
一、Internet的構成
從設計者角度看:Internet是計算機互聯網實例;從使用者角度看:Internet是一個信息資源網。
主要有4部分組成:通信線路、路由器、服務器與客戶機、信息資源。
(1)通信線路:Internet的基礎設施,包括有線線路和無線線路
(2)路由器:網絡互聯的橋梁,具有尋址功能。主要任務是數據從一個網絡到另一個網絡時,路由器為它選擇最佳路由。
(3)服務器與客戶機:是信息資源和服務的載體。所有連接在Internet上的計算機統稱為主機。
(4)信息資源:信息資源是用戶最關注的問題之一。用戶方便、快捷獲取資源一直是Internet的研究方向。
二、Internet的接入
1、通過電話網接入
接入Internet的方法有很多種,但必須借助ISP將自己的計算機接入Internet。
電話已經普及到家家戶戶,傳輸的音頻信號,計算機傳輸數字信號,需要調制解調器連接。一條電話線只能支持一個用戶接入。
調制解調器的功能是數字信號與模擬信號的相互轉換。
調制:數字信號轉換成模擬信號
解調:模擬信號轉換為數字信號
電話線的傳輸效率比較低。速率最快為56Kbps。
2、利用ADSL(非對稱數字用戶線路)接入
ADSL實現普通電話線路上進行高速的數據傳輸,利用ADSL調制解調器,分為上行和下行兩個通道。下行通道的數據傳輸速率遠遠大于上行的數據傳輸速率(非對稱)。
上行速率:16~640kbps;下行速率為1.5~9Mbps。
ADSL調制解調器不但具有調制解調功能,還具有網橋和路由的功能。
3、使用HFC(混合光纖/同軸電纜)接入
除了電話線上網外,還有有線電視網。對有線電視網改造升級,信號首先通過光纖傳輸到光纖結點,再通過同軸電纜到有線電視用戶,即HFC(混合光纖/同軸電纜)。
HFC采用非對稱數據傳輸速率。上行速率:10Mbps左右。下行速率:10~40Mbps。
4、通過數據通信線路接入
要想獲得更好性能,可選數據通信線路。種類有:DDN,ATM,幀中繼等,用戶可以租用。
一臺計算機、局域網用戶可利用數據通信網借助ISP的接入Internet。
三、IP協議與互聯層服務
1、IP互聯網的工作原理
Internet是將提供不同服務的、使用不同技術的、具有不同功能的網絡互聯起來形成的。
TCP/IP協議是一個協議集,它對因特網中主機尋址方式、主機命名機制、信息的傳輸規則以及各種服務功能做了詳細的約定。
IP協議運行在互聯層,屏蔽各種物理網絡的細節和差異,是網絡層向上提供統一的服務,不要求下層使用相同的物理網絡。
IP協議精確定義了IP數據報格式,并且對數據尋址和路由、數據報分片和重組、差錯控制和處理等作出了具體規定。
工作原理:假設主機A發送數據到主機B。主機A的應用層形成的數據經傳輸層送互聯層處理;互聯層將數據封裝成IP數據報,并決定發送給最近的路由器;主機A把IP數據報利用以太網控制傳送到路由器;經由路由器對數據報進行拆封和處理;如果仍需傳輸,再封裝后利用互聯層的廣域網控制程序傳輸;經由通信子網傳輸的到主機B。
2、互聯層服務
提供的服務有3鐘:不可靠的數據投遞服務、面向無連接的傳輸服務、盡最大努力投遞服務。
不可靠的數據投遞服務:IP不能證實發送的報文是否被正確接收。即不能保證數據報的可靠傳遞。
面向無連接的傳輸服務:從源結點到目的結點的數據報可能經過不同的傳輸路徑,而且在傳輸過程中數據報有可能丟失,也有可能正確到達。
盡最大努力投遞服務:IP數據報雖面向非連接的不可靠服務,但IP并不隨意丟棄數據報。只有系統資源用盡,接收數據錯誤或網絡發生故障時,IP才被迫丟棄報文。
3、IP互聯網的特點:
屏蔽了低層物理網絡差異和細節,為用戶提供通用的、一致的網絡服務。IP互聯網是一個單一的虛擬網絡。
不指定網絡互連的拓撲結構,不要求網絡之間全互聯。一個網絡只要通過路由器與IP互聯網中任意一個網絡相連,就具有訪問整個互聯網的能力。
能在物理網絡之間轉發數據,信息可以跨網傳輸。
網絡中計算機使用統一的、全局的地址描述法。
IP互聯網平等對待互聯網中的每一個網絡。
四、IP地址
1、IP地址的作用
以太網中利用MAC地址(物理地址)標識網絡中的一個結點,兩個以太網結點需要知道對方的MAC地址才能通信。
以太網不是唯一的網絡,各種網絡技術互不相同,讓它們之間通信是需要解決的問題。
在互聯層將各種物理網絡地址統一。
屏蔽各種物理地址的差異,使用IP協議規定的地址(IP地址)。IP地址由管理機構統一管理和分配,保證在網絡中的每臺計算機不會產生沖突。
IP地址的作用是標識網絡連接。(嚴格地說,IP地址指定的不是一臺計算機,而是計算機到一個網絡的連接,例如一臺計算機有塊網卡,有兩條連接,有兩個IP地址;或多個IP地址綁定在一條物理連接上)
2、IP地址的層次結構
IP地址有兩層:網絡號和主機號。
網絡號:標識互聯網中一個特定的網絡;而主機號標識該網絡中主機的一個特定連接。
IP地址含有主機的信息和網絡的地址信息,所以主機從一個網絡移動到另一個網絡時,IP地址必須重新分配,否則不能與其他計算機通信。
3、IP地址分類
IP地址32位(物理地址48位),為適應不同的網絡規模,將IP地址分成5類:A、B、C、D、E
A類地址的前一個字節表示網絡號,后三個字節表示主機號。且最前端1個二進制位固定是“0”。表示的地址范圍是從1.0.0.0~126.255.255.255。A類地址允許有27―2=126個網絡(網絡地址的0和127保留用于特殊目的),每個網絡有224―2=16777214個主機。
B類地址的前兩個字節表示網絡號,后兩個字節表示主機號。且最前端的2個二進制位固定是“10”。表示的地址范圍是從128.0.0.0~191.255.255.255。B類地址允許有214=16384個網絡,每個網絡有216―2=65534個主機。
C類地址的前三個字節表示網絡號,后一個字節表示主機號。且最前端的3個二進制位是“110”。表示的地址范圍是從192.0.0.0~223.255.255.255。C類地址允許有221=2097152個網絡,每個網絡有28―2=254個主機。
4、IP地址的直觀表示法:IP地址是32位二進制數字,便于記憶采用點分十進制標記法。每個數值小于255,中間用”.”間隔開。
5、特殊的IP地址形式
網絡地址:包含了一個有效的網絡號和一個全0的主機號。例如A類地址中113.0.0.0表示該網絡的地址。
廣播地址:IP地址以全1結尾,分為兩種形式:直接廣播和有限廣播。
直接廣播:廣播地址包含有效網絡號和全1的主機號。
有限廣播:32位全1的地址,用于本網廣播。
回送地址:A類網絡中127.0.0.0是一個保留地址,用于網絡軟件測試以及本地機器進程間通信。
本地地址:用戶在本地內部網絡中使用的地址,如果與Internet連接,必須將本地地址轉換為 Internet的IP地址。例:10.***.***.***或192.168.***.***
6、子網編址
為克服IP地址的浪費,可以采用子網編址的方法。
(1)子網編址的方法
在IP地址的網絡號部分不變的情況下,在網絡的主機號部分中“借”位表示子網號部分。
每個子網中允許的連接的主機的臺數相應減少。
(2)子網表示法
如何識別網絡號,子網號,和主機號,通過子網掩碼實現。
子網掩碼也是32位二進制數字,在子網掩碼中對于網絡號和子網部分全部用1表示,其它部分用0表示。
通過子網掩碼與IP地址的按位求與,屏蔽掉主機位,得到子網號。子網掩碼作用是區分網絡上的主機是否在同一網絡區段內。
例如:B類地址128.22.25.6 如果子網掩碼為255.255.240.0,按位求與后,確定的子網號為1
7、地址解析協議(ARP)
IP地址屏蔽了物理網絡地址的差異,但不會對物理地址做任何修改。
高層軟件指定源地址與目的地址,低層的物理網絡則通過物理地址來發送和接收信息。
是以以太網經常使用的映射方法,它充分利用了以太網的廣播能力,將IP地址與物理地址進行動態綁定。
ARP協議主要負責將主機的邏輯地址(IP地址)轉換為相應的物理網絡地址。這樣用戶只需給出目的主機的IP地址,就可以找出同一物理網絡中任意一臺主機的物理地址。
五、IP數據報
1、IP數據報的格式
IP數據報分為兩大部分:報頭區和數據區。其中報頭僅僅是正確傳輸高層數據而增加的控制信息,數據區包括高層需要傳輸的數據。
IP數據報的主要字段:
1)版本與協議類型:版本是IP協議版本號(一般是4即IPv4),不同版本數據格式不同;協議類型是指該數據報的數據區數據的高層協議類型(如TCP),用于知名數據區的數據格式。
2)長度:分為報頭長度(以32b為單位)和總長度(以8b為單位)。
3)服務類型:規定本數據報的處理方式。該字段為數據包分配一個轉發優先級,要求中途轉發器路由器盡量使用低延遲、高吞吐或高可靠性的線路投遞。具體實現擇由路由器的實現方法和底層物理網絡技術。
4)報文的分片與重組控制:IP數據報使用標識、標志、片位移3個域對分片進行控制,分片將在目的主機重組。
5)生存周期:設計一個計數器,當計數器值為0時,數據報刪除,避免循環發送。
6)頭部校驗和:用于保證IP數據報報頭的完整性。注:只有報文頭校驗,沒有數據區校驗。好處是允許上層協議選擇自己的數據校驗方法。
7)地址:源地址和目的地址表示發送與接收的地址。此值保持不變。
2、IP封裝、分片與重組
當IP分組在網上傳輸時,可能跨越多個網絡,但每個網絡都規定了一個幀最多攜帶的數據量(此限制稱為最大傳輸單元或MTU),當長度超過MTU時,就需要將數據分成若干個較小的部分(分片),然后獨立發送;
目的主機收到分片后的數據報后,對分片再重新組裝(重組)。
分片獨立傳輸時,需要對分片控制。主要有3個字段:標識、標志和片偏移;
標識:源主機賦予IP數據報的標識符,目的主機利用此標識判斷此分片屬于哪個數據報,以便重組。
標志:告訴目的主機該數據報是否已經分片,是否是最后的分片。
片偏移:本片數據在初始IP數據報中的位置。
3、IP數據報選項
IP數據報選項主要用于控制和測試兩大目的。既然是選項,用戶可以使用IP選項也可以不使用選項,但實現IP協議的設備必須能處理IP選項。
IP選項有3部分組成:源路由、記錄路由、時間戳。
源路由:指IP數據報穿越互聯網所經過的路徑是由源主機指定。分為兩類:嚴格路由選項和松散路由選項。
(1)嚴格路由選項:規定IP數據報要經過路徑上的每一個路由器,相鄰的路由器之間不能有中間路由器,并經過的路由器的順序不能改變。
(2)松散路由選項:給出數據報必須要經過的“要點”,并給出完備的路徑,無直接連接的路由器之間尚需IP軟件的尋址功能補充。
記錄路由:記錄IP數據報從源主機到目的主機所經過的路徑上各個路由器的IP地址。用于測試網絡中路由器的路由配置是否正確。
時間戳:記錄IP數據報經過每一個路由器時的時間(以千分之一秒為單位)。
六、差錯與控制報文
1、ICMP差錯控制
互聯層使用的控制協議是互聯網控制報文協議(ICMP),作用是不僅傳輸控制報文,還傳輸差錯報文。
ICMP最基本的功能是提供差錯報告,但不提供處理方法。
ICMP差錯報文的特點:
差錯報文不享受特別優先權和可靠性。
差錯報告數據中除包含故障IP數據報頭外,還包含故障IP數據報數據區的前64位數據。(利用前64位了解高層協議的重要信息)
IP軟件一旦發現傳輸錯誤,首先拋棄出錯報文,然后調用ICMP向源主機報告出錯信息。
ICMP出錯報告包括:目的地不可達報告、超時報告、參數出錯報告等。
目的地不可達報告:路由選擇和轉發出錯時,路由器發出目的地不可達報告。
超時報告:IP數據報一旦到達生存周期,立刻將其拋棄,同時產生ICMP超時差錯報告,通知源主機該數據報已拋棄。
參數出錯報告:一旦參數錯誤嚴重到機器不得不拋棄IP數據報時,機器向源主機發送此報文,指出可能出現錯誤的參數位置。
2、ICMP控制報文
互聯網控制主要包括擁塞控制和路由控制兩部分。ICMP提供對應的控制報文是擁塞控制與源抑制報文和路由控制與重定向報文。
(1)擁塞控制:路由器被大量涌入的IP數據報“淹沒”的現象。原因是:路由器處理速度慢,路由器傳入數據速率大于傳出速率。
其實質原因是沒有足夠的緩沖區存放大量涌入的IP數據報。為控制擁塞,IP軟件采用“源站抑制”技術,路由器對每個接口進行監視,一旦發現擁塞,立即向相應源主機發送ICMP源抑制報文,請求源主機降低發送IP數據報的速率。
抑制報文的方式有3種:
如果路由器輸出隊列已滿,在緩沖器空出前,拋棄新來的IP數據報,每拋棄一個數據報,向源主機發送ICMP源抑制報文。
為路由隊列設定一個閾值,超過該值,向源主機發送ICMP源抑制報文。
更為復雜的源站抑制技術是選擇性的抑制IP數據報發送率較高的源主機。
什么時候解除擁塞,路由器不通知源主機,而是根據當前一段時間內是否收到ICMP源抑制報文自主決定。
(2) 路由控制與重定向報文
在IP互聯網中,主機在傳輸數據的過程中不斷從相鄰的路由器獲得新的路由信息。
主機在啟動時都具有一定的路由信息,但路徑不一定是最優的。
路由器一旦檢測到某IP數據報經非優路徑傳輸,它一方面繼續將報文轉發出去,另一方面將向主機發送一個重定向ICMP報文,通知相應的目的主機的最優路徑。
ICMP重定向的優點是保證主機擁有一個動態的、既小且優的路由表。
3、ICMP請求/應答報文對
為便于進行故障診斷和網絡控制,利用ICMP請求/應答報文對來獲取某些有用的信息。
回應請求與應答:用于測試目的主機或路由器的可達性。過程是請求者向特定目的IP主機發送一個包含任選數據區的回應請求,當目的主機或路由器收到請求后,返回相應的回應應答。如果請求者收到一個成功的應答,說明路徑以及數據傳輸正常。
時戳請求與應答:利用該請求與應答從其他機器獲得其時鐘的當前時間,經估算后再同步時鐘。
掩碼請求與應答:主機箱路由器發送該請求,路由器發回應答告知主機的子網掩碼。
七、路由器與路由選擇
1、表驅動IP進行路由選擇
路由器:進行路由選擇的計算機。
路由選擇一般采用表驅動的路由選擇算法。每臺設備存放一張路由表,該表存儲有關可能的目的地址及怎樣到達目的的信息。
(1)標準路由選擇算法
路由表中包含許多(N,R)的有序對,N是目的地址,R是到N的路徑中下一個路由器的地址。每個路由器中僅保存下一站,并不知完整路徑。
為減少路由表長度或提高路由效率,路由表中的N一般使用目的網絡的地址,不是目的主機地址。
(2)子網選擇路由-------標準路由選擇算法的擴充
IP采用子網編址后,將路由表改為(M,N,R),其中M為子網掩碼,N為目的網絡的地址,R為下一個路由的IP地址。
(3)路由表的特殊路由
使用網絡地址可以極大縮小路由表規模,路由表也可包含兩種特殊的路由表目,即默認路由和特定主機路由。
默認路由:如果路由表沒有指定達到目的的網絡的路由信息,就可以把數據報轉發到默認路由指定的路由器。
特定主機路由:主要表項(包括默認路由)是基于網絡地址的。為單個主機指定特別的路徑就是特定主機路由。
(4)統一的路由選擇算法
允許使用任意的掩碼形式,子網路由選擇算法不但能按照同樣的方法處理網絡路由、默認路由、特定主機路由,還可以將標準路由選擇算法作為一個特例。
2、路由表的建立與刷新
路由選擇的正確與否依賴于路由表的正確與否。路由表分為靜態路由表和動態路由表兩種。
(1)靜態路由表
靜態路由表有人工管理,一般情況下不會發生變化,但當連接或拓撲結構變化時,網絡管理員必須人工對路由表做出更新。
優點:安全可靠,簡單直觀;缺點:一旦路徑錯誤,路由表的配置比較麻煩。
(2)動態路由表
動態路由是通過自身學習自動修改和刷新路由表。它適應拓撲結構復雜,規模龐大的網絡環境。
為區分速度快慢,延遲的時間,修改和刷新路徑時需要給每條路徑生成一個數字,該數字稱為度量值。度量值越小,路徑越好。
度量值的特征如下:
跳數:到達目的地經過的路由器的個數。
帶寬:鏈路的數據傳輸能力。
延遲:數據從源到目的經過的時間。
負載:網絡信息流的活動數量。
可靠性:數據傳輸過程中的差錯率。
開銷:一個變化值,可根據帶寬、建設費用、維護費用等因素確定。
動態路由雖然適應復雜網絡,但修改和刷新路由表本身需要消耗資源。
動態路由應用比較廣泛的有兩種:路由信息協議(RIP)和開放式最短路徑優先協議(OSPF)。RIP是利用向量-距離算法,OSPF則是鏈路-狀態算法。
3、RIP協議與向量-距離算法
基本思想:由路由器周期性地向其相鄰路由器廣播自己知道的路由信息,用于通知相鄰路由器自己可以到達的網絡以及到達該網絡的距離(跳數),相鄰的路由器根據收到的信息修改和刷新自己的路由表。
RIP協議:可以在局域網中直接實現。規定了路由器之間交換路由信息的時間、交換信息格式、錯誤的處理等內容。
RIP協議除嚴格遵守向量距離路由選擇算法外,還做了一些改進,包括:(1)對相同開銷路由的處理。按先入為主的原則處理。(2)對過時路由的處理:出現開銷更小的路由時,代替原有的路由,否則一直保持下去。
4、OSPF協議與鏈路-狀態路由算法
又稱最短路徑優先算法。基本思想:互聯網上的每個路由器周期性的想其他路由器廣播自己與相鄰路由器之間的關系,每個路由器都可以獲得網絡中的所有聯通情況,根據連通情況和最短路徑算法,計算出自己到達各個網絡的最短路徑。
鏈路狀態路由算法具有收斂速度快、支持服務類型選路,適合龐大復雜環境的網絡等優點。但OSPF協議的缺點主要包括:
要求較高的路由器處理能力:網絡規模越大,對內存和CPU的處理能力要求越高
一定的帶寬要求:為得到相鄰路由器的信息,要求路由器不斷發送和應答查詢信息,OSPF協議要具有一定的帶寬要求。
靜態路由一般適應小型網絡、RIP適應小到中型的網絡,而OSPF適應大型、多路徑、動態的IP網絡。
八、IPV6協議
1、IPv4的局限性
地址空間的局限性:IP地址空間耗盡制約了互聯網的發展,子網劃分、無類域間路由(cidr)等方法雖使IP地址得到有效的利用,但也僅僅是緩解了地址短缺的矛盾。
IP協議的性能問題:主要目標是網絡之間的數據可靠、健壯和高效傳輸提供有效機制,但在性能上還有改進的余地。
IP協議的安全性問題:IP協議對安全性考慮較少。
自動配置問題:IP協議設計初沒有考慮自動配置問題。后來最優DHCP(動態主機配置協議)在一定程度上解決了地址自動配置問題,但需要對DHCP服務器配置,比較麻煩。
服務質量(QoS)保證問題:IP的QoS保證主要依賴于協議頭中的服務類型,但其功能有限。Internet需要提供有效的QoS機制,保證實時數據的傳輸質量。
2、IPv6 地址
(1)IPv6的地址表示:128位地址長度。(IPv4地址長度32位)
基本表示法:按16位一段,每個位短轉換為4位十六進制數,并用冒號隔開。如:21DA:0000:0000:0000:02AA:000F:FE08:9C5A
零壓縮法:在有多個零出現時,用一位0標識一個位段。如上面地址描述為:21DA:0:0:0:2AA:F:FE08:9C5A
IPv6前綴:與無類域間路由類似,IPv6采用前綴表示法形如“地址/前綴長度”。前綴是IPv6的一部分,用來表示路由或子網標識。例如:21DA:D3::/48是一個路由前綴,而21DA:D3:0:2F3B::/64是一個子網前綴
(2)IPv6地址類型
單播地址:標識一個區域中單個網絡接口。
組播地址:稱多播地址,用于表示一組網絡接口。數據會送到該組的所有接口。
任播地址:泛播地址,也用于表示一組網絡接口,可發送到組內任意接口,但通常發送到最近的一個,從單播地中分配。
特殊地址:全0地址(地址不存在),回送地址(0:0:0:0:0:0:0:1),IPv4兼容的IPv6的地址,映射到IPV4的IPv6地址等。
3、IPv6的數據報
IPv6的數據報由一個IPv6的基本頭、多個擴展頭和一個高層協議數據單元組成。基本頭40字節長度。一些可選的內容放在擴展頭部分實現,此種設計方法可提高數據報的處理效率。IPv6數據報格式對IPv4不向下兼容。
各域段含義:
版本:取值為6,意思是IPv6協議。
通信類型:表示IPv6的數據報類型或優先級,以提供區分服務。
流標記:流是特定從源到目的結點之間的數據報序列,一個流由源IP地址和非零的流標記唯一標識。
載荷長度:有效載荷長度,包含擴展頭和高層數據。
下一個報頭:存在擴展頭,該域段的值指明下一個擴展頭的類型;如果無擴展頭,該域段的值指明高層數據的類型,如TCP、UDP或ICMPv6等。
跳數限制:IP數據報丟棄之前可以被路由器轉發的次數。
源地址:源IPv6的地址
目的地址:大多情況下,該域段為最終目的結點的地址,如果有路由擴展頭,目的地址可能為下一個轉發路由器地址。
4、IPv6擴展頭
IPv6的基本報頭固定40字節長,一些可選頭信息由IPv6擴展頭實現。IPv6的基本頭中“下一個報頭”字段指出第一個擴展頭類型。每個擴展頭中都包含“下一個報頭”字段用以指出后繼擴展頭類型。最后一個擴展頭中的“下一個報頭”字段指出高層協議的類型。
擴展頭包含的內容:
逐跳選項頭:類型為0,由中間路由器處理的擴展頭。
目的選項頭:類型為60,用于中間節點或目的結點指定數據報的轉發參數。
路由頭:類型43,用來指出數據報在從數據源到目的結點過程中,需要經過一個或多個中間路由器。
認證頭:類型51,用于攜帶通信雙方進行認證所需的參數。
封裝安全有效載荷報頭:類型52,與認證頭結合使用,也可單獨使用,用于攜帶通信雙方進行認證和加密所需的參數。
5、IPv6的地址自動配置分為兩類:有狀態地址配置和無狀態地址配置兩種形式。
無狀態地址配置:128的IPv6地址由64位前綴和64位網絡接口標識符組成。如果主機與本地網絡的主機通信可以直接通信;如果與其他網絡互聯時,主機需要從網絡中的路由器中獲得該網絡使用的網絡前綴,然后與64位網絡接口標識符結合形成有效的IPv6的地址。
有狀態地址配置:自動配置需要DHCPv6服務器的支持,主機向DHCPv6服務器發多播“DHCP請求信息”,DHCPv6返回“DHCP應答消息”中獎分配的地址返回請求主機,主機利用該地址作為自己的IPv6進行配置。
九、傳輸控制協議(TCP)與用戶數據報協議(UDP)—(傳輸層)
1、端對端通信
傳輸層需要提供從一臺主機到另一遠程主機的端對端通信控制。傳輸層利用互聯層發送數據,每一傳輸層都需要封裝在一個互聯層的數據報中通過互聯網,到達目的地后,互聯層再將數據提交給傳輸層。
注意:傳輸層雖然使用互聯層來攜帶報文,但互聯層并不閱讀或干預報文。傳輸層僅把互聯層看作一個包通信系統,這一通信系統負責連接兩端的主機。
2、傳輸控制協議(TCP)
保證可靠性是傳輸層的主要責任。
(1)TCP提供的服務:從TCP用戶的角度看,TCP可以提供面向連接、可靠的、全雙工的數據流傳輸服務,保證數據在連接關閉之前被可靠地投遞到目的地。
TCP提供的服務有如下特征:
面向連接:發送數據前,應用程序首先建立一個到目的主機的連接。
完全可靠性:TCP確保通過一個連接發送數據正確到達目的地,不會發生數據丟失或亂序。 來源:考試大網
全雙工通信:TCP允許任意一方,任意時刻發送數據。
流接口:TCP提供了一個流接口,應用程序利用它可以發送連續的數據流。
連接的可靠性與優雅關閉:建立連接的過程中,TCP保證新連接不會與其他連接混淆;連接關閉時,TCP確定之前傳遞的所有數據都可靠地到達目的地。
(2)TCP的可靠性實現
TCP建立在IP協議提供的面向非連接、不可靠的數據傳輸服務基礎上(IP協議運行在互聯層,只報告不負責糾正),因此必須實現可靠傳輸。可靠性問題即包括數據丟失后的恢復問題,又包括連接的可靠性建立問題。
(3)數據丟失與重發
TCP建立在一顆不可靠的虛擬通信系統上,數據的丟失可能經常發生,一般發送方利用重發技術補償數據報的丟失。需要通信雙發協同解決。
接收方正確接收數據包,要回復一個確認信息給發送方;而發送方發送數據是啟動一個定時器,在定時器到時之前,如果沒有收到確認信息,則重發該數據。
(4)連接的可靠建立與優雅關閉
為確保連接建立和終止的可靠性,TCP使用了“三次握手”法。簡單說在建立和終止過程中,通信雙方需要交換3個報文。
三次握手的過程:第一次,主機A向主機B發出連接請求,其中保護主機A選擇的初始序列號x。第二次,主機B收到請求后,發回連接確認,其中包含主機B選擇的初始序列號y和對主機A初始序列號x的確認。第三次,主機A想主機B發送序列號x的數據,包括對主機B初始序列號y的確任。
為保證關閉連接前所有數據都可靠到達目的地,TCP使用第三次握手,一方發出關閉請求并不立即關閉,而要等待對方確認,只有收到對方確認信息,才能關閉連接。
(5)TCP緩沖、流控與窗口
TCP使用窗口機制進行流量控制。當連接建立時,連接的每一端分配一塊緩沖區存儲接收的數據,并將緩沖區的尺寸(大小)發給另一端。當數據到達時,接收方發送確認,其中包含自己剩余的緩沖區尺寸。將剩余的緩沖區空間的數量稱為窗口。
如果發生方操作的速度快于接收方的速度,最終接收方的緩沖區必滿,導致接收方向發送方通告一個零窗口,發送方收到零窗口通告后,必須停止發送,直到接收方重新通告一個非零窗口。
窗口和窗口通告可以有效控制TCP的流量,使發送方的數據不會溢出接收方的緩沖空間。
(6)TCP連接與端口
一個TCP連接的兩端稱為端口,端口用16位的二進制數表示。TCP可利用端口提供多路復用功能。
3、UDP(用戶數據報協議)
從用戶角度看,UDP雖處于傳輸層,但UDP提供了面向非連接,不可靠的傳輸服務。(相似互聯層的IP協議)
UDP面向非連接,它可以將數據直接封裝在IP數據報中進行發送。它不使用確認信息對數據的到達進行確認,也不對收到的數據排序。因此UDP協議傳輸的數據可能丟失、亂序或重復現象。
優點:運行高效和實現簡單。
與TCP相同,有很多端口號被指派給一些著名的應用程序,用戶使用時應避免使用。
相關推薦:
北京 | 天津 | 上海 | 江蘇 | 山東 |
安徽 | 浙江 | 江西 | 福建 | 深圳 |
廣東 | 河北 | 湖南 | 廣西 | 河南 |
海南 | 湖北 | 四川 | 重慶 | 云南 |
貴州 | 西藏 | 新疆 | 陜西 | 山西 |
寧夏 | 甘肅 | 青海 | 遼寧 | 吉林 |
黑龍江 | 內蒙古 |