IP協(xié)議提供不可靠、無連接和盡力投遞的服務,構(gòu)成了因特網(wǎng)數(shù)據(jù)傳輸?shù)幕A;TCP協(xié)議(傳輸控制協(xié)議--Transmission Control Protocol)在IP協(xié)議提供的服務基礎上,TCP協(xié)議軟件增加了確認-重發(fā)、滑動窗口和復用/解復用等機制,提供面向連接的、可靠的、流投遞服務。
TCP協(xié)議的特性
TCP協(xié)議在IP協(xié)議軟件提供的服務的基礎上,支持面向連接的、可靠的、面向流的投遞服務。
TCP端口和連接
TCP模塊以IP模塊為傳輸基礎,同時又可面向多種應用程序提供傳輸服務。為了能夠區(qū)分出對應的應用程序,引入了TCP端口的概念。
TCP端口與一個16位的整數(shù)值相對應,該整數(shù)值也被稱為TCP端口號。需要服務的應用進程與某個端口號進行聯(lián)接(Binding),這樣TCP模塊就可以通過該TCP端口與應用進程通信。
由于IP地址只對應到因特網(wǎng)中的某臺主機,而TCP端口號可對應到主機上的某個應用進程,因此,TCP模塊采用IP地址和端口號的對偶來標識TCP連接的端點。一條TCP連接實質(zhì)上對應了一對TCP端點。
TCP/UDP應用程序端口號分配
端口號實質(zhì)上也是操作系統(tǒng)標識應用程序的一種方法,其取值可由用戶定義或者系統(tǒng)分配。TCP端口號采用了動態(tài)和靜態(tài)相結(jié)合的分配方法,對于一些常用的應用服務(尤其是TCP/IP協(xié)議集提供的應用服務),使用固定的端口號;例如:電子郵件(SMTP)的端口號為25,文件傳輸(FTP)的端口號為21等。
對于其它的應用服務,尤其是用戶自行開發(fā)的應用服務,端口號采用動態(tài)分配方法,由用戶指定操作系統(tǒng)分配。
TCP/IP約定:0—1023為保留端口號,標準應用服務使用;1024以上是自由端口號,用戶應用服務使用。
Unix系統(tǒng)中的/etc/services 文件,Windows 98系統(tǒng)中/windows/setvices文件:列出了系統(tǒng)提供的服務以及各服務的端口號等信息。
TCP窗口機制
TCP的特點之一是提供體積可變的滑動窗口機制,支持端到端的流量控制。TCP的窗口以字節(jié)為單位進行調(diào)整,以適應接收方的處理能力。處理過程如下:
(1)TCP連接階段,雙方協(xié)商窗口尺寸,同時接收方預留數(shù)據(jù)緩存區(qū);
(2)發(fā)送方根據(jù)協(xié)商的結(jié)果,發(fā)送符合窗口尺寸的數(shù)據(jù)字節(jié)流,并等待對方的確認;
(3)發(fā)送方根據(jù)確認信息,改變窗口的尺寸,增加或者減少發(fā)送未得到確認的字節(jié)流中的字節(jié)數(shù)。調(diào)整過程包括:如果出現(xiàn)發(fā)送擁塞,發(fā)送窗口縮小為原來的一半,同時將超時重傳的時間間隔擴大一倍。
TCP的窗口機制和確認保證了數(shù)據(jù)傳輸?shù)目煽啃院土髁靠刂啤?/P>
5.UDP協(xié)議
UDP(用戶數(shù)據(jù)報協(xié)議--User Datagram Protocol)是TCP/IP協(xié)議集中等同于TCP的通信協(xié)議。
(1)UDP與TCP的差異:UDP直接利用IP協(xié)議進行UDP數(shù)據(jù)報的傳輸,因此UDP提供的是無連接、不可靠的數(shù)據(jù)報投遞服務。
(2)UDP的使用場合:UDP常用于數(shù)據(jù)量較少的數(shù)據(jù)傳輸,例如:域名系統(tǒng)中域名地址/IP地址的映射請求和應答(Named),Ping 、BOOTP、TFTP等應用。
(3)使用UDP協(xié)議的好處:在少量數(shù)據(jù)的傳輸時,使用UDP協(xié)議傳輸信息流,可以減少TCP連接的過程,提高工作效率。
(4)UDP協(xié)議的不足:當使用UDP協(xié)議傳輸信息流時,用戶應用程序必須負責解決數(shù)據(jù)報排序,差錯確認等問題。
在多媒體應用中,常用TCP支持數(shù)據(jù)傳輸,UDP支持音頻/視頻傳輸。
相關推薦:北京 | 天津 | 上海 | 江蘇 | 山東 |
安徽 | 浙江 | 江西 | 福建 | 深圳 |
廣東 | 河北 | 湖南 | 廣西 | 河南 |
海南 | 湖北 | 四川 | 重慶 | 云南 |
貴州 | 西藏 | 新疆 | 陜西 | 山西 |
寧夏 | 甘肅 | 青海 | 遼寧 | 吉林 |
黑龍江 | 內(nèi)蒙古 |