TCP/UDP數據報的傳遞
首先,在傳輸層有一個非常重要的概念引用,即端口。
1.端口
端口用于區分不同應用進程或不同連接的數字序號.在實際應用中,經常會同時打開多個IE瀏覽窗口瀏覽不同站點的Web資源,或者還有其他網絡應用窗口。在一臺計算機系統中,每打開一項應用就意味著至少開啟了一個進程(何謂進程請參考第11章問題4-1),打開多個IE窗口,就開啟了多個進程。那么,應用層各進程產生的數據報通過傳輸層服務時,就會遇到TCP或UDP同時為多個應用進程提供并發服務的問題,即多個應用進程可能需要通過同一個TCP或UDP協議的服務訪問點傳輸數據,見圖4-6。
為了區別上層不同的應用進程或連接,應用層協議與傳輸層協議交互時,傳輸層使用了不同的端口號來描述上層各應用程序在傳輸層的通信路徑。因此,端口號對于上層應用進程來說是一個非常重要的識別標志。端口號分為兩大類:一類是周知端口,另一類是動態端口。
1)周知端口
周知端口(Well Known Ports):從。到1023.這些端口被緊密綁定于一些服務中,并表明了該種服務的應用層協議。這類端口采用全局分配,是一種集中控制方式。由一個公認的中央機構根據用戶服務需要進行統一分配,并將結果公布于眾。如80端口就明確告知所有客戶,應用層是HTTP協議通信,21端口是FTP協議通信等。若有一提供Web服務的服務器,并希望全世界的用戶都能訪問其資源,那它必須開啟80端口并守候在該端口上,等待隨時為客戶提供HTTP服務.
2)動態端口
動態端口(Dynamic Ports):從1024到65535。之所以稱為動態端口,是因為它們一般不固定分配給某一特定的應用。這類端口采用本地分配,是一種動態控制方式。如某一進程需要傳輸層服務時,該進程首先要向本地操作系統提出端口申請,操作系統從可用的動態端口號中隨機返回一個本地未用的端口號,該進程再通過系統調用將進程與申請得到的端口號綁定.當這個進程關閉時,同時也釋放了所占用的端口號。
【舉例】客戶端開啟Yahoo Messger應用,那么在客戶端至少要開啟兩個會話進程,通過隨機獲得的兩個動態端口分別與Yahoo服務器端和賬戶驗證中心端建立連接.比如:一個進程連接是本地端口2192與Yaho。服務器端口5050的連接,另一個進程是本地端口2196與Yahoo賬戶驗證中心端口433的連接。
2192和2196是客戶端動態分配的端口號,433是Yahoo賬戶驗證中心端的服務端口,5050是Yahoo服務器端的服務端口(這里服務端端口5050從動態端口號里指定,這種情況在實際應用中會有很多,如QQ應用等)。
當客戶與某在線好友通過YahooMessger聊天窗口進行文字聊天時,在客戶端將會再建立一個新的會話進程,比如:本地端口5101與對方端口4548的連接。如果要給某離線好友留言,留言信息將會從本地通過本地端口2192與Yahoo服務端端口5050已建立的連接傳遞給Yahoo服務器端,然后由Yahoo服務器代理傳遞該留言信息給對方。
常用的周知端口號見表4-1。
2. TCP/UDP協議
1) TCP協議
TCP(Transmission Control Protocol)傳輸控制協議,是一種面向連接的、可靠傳輸的通信協議。
何謂面向連接,在對等傳輸層間傳輸數據,發送端與接收端必須先建立一條用于傳輸數據的邏輯通信鏈路(TCP的“三次握手”,見后文解釋),數據傳輸完畢還需要斷開此連接。之所以是可靠傳輸,是因為TCP能確保發送端與接收端之間數據傳輸的完整性(不丟失、不誤傳),即接收端每收到發送端對應層傳送來的TCP數據報,校驗無誤后都要向發送端回送確認信息,否則發送端就要重發。這樣的數據傳輸方式就如同我們日常生活中打電話通信一樣,首先要建立通話連接,然后開始通話,最后斷開連接。故這種服務方式的數據傳輸適合一次傳輸大批數據并要求可靠傳輸的應用中。
2) UDP協議
UDP(User Datagram Protocol)用戶數據報協議,是一種面向非連接的、不可靠傳輸的簡單通信協議。
UDP的無連接通信,即發送端UDP收到上層應用傳遞下來的數據報,添加UDP協議頭信息后就直接向下交付給網絡層。其不可靠傳輸,即接收端收到UDP數據報后,對校驗沒問題的數據報直接向上層提交報文數據,不需要向發送端回送確認;而校驗有問題的數據報則直接丟掉。因丟掉的數據報不需要重傳,故無法保證傳送數據的完整性.這種數據傳輸方式就如同我們日常生活中通過郵局郵遞普通信件一樣,發信方將信件投人某郵遞信筒即可,不用關心信件是否能送到;收信方收到信件后也不裕要向發信方確認。
這種服務方式的數據傳輸適合一次傳輸小量、可靠性要求不高的應用中。
如圖4-7所示,應用層要求傳輸層提供可靠傳輸服務的有HTTP, FTP, Telnet和SMTP等,它們都需要高度的可靠性和完整性。
而TFTP以及SNMP在兩端傳輸的數據均是很簡單的數據,如網絡設備配置信息或網絡管理信息,通過UDP能達到基本的數據傳輸需求。還有像QQ等即時通信工具,在網絡通信良好的情況下,語音數據均優先使用UDP進行傳輸。因為使用UDP可減少信道的額外開銷,不需要建立連接、維持連接,更不需要在端到端之間傳遞確認消息;UDP協議頭本身比TCP小很多,也減少了信道占用帶寬,提高了信道的數據傳輸速率。
推薦新聞
更多行業-
長尾戰略的推動力量
北京網站建設公司尚品中國:上述6個長尾主題的發生全都少不了一個至關重要...
2012-08-23 -
如何提升百度競價質量星級
任何一個做百度競價的用戶都是希望提升百度競價賬戶質量度的,特別是新上線...
2014-04-04 -
響應式網站建設的主要成本有哪些?
網站建設是一件復雜的事情,需要專業人員來建設一個正規的網站。需要一定的...
2022-04-06 -
網絡營銷基本功能
網絡營銷已經發展成為一門比較完整的學科,為了清晰地構建網絡營銷體系的框...
2012-08-21 -
北京網站建設賦能企業數字化轉型
企業數字化轉型已經成為中國事實上全球企業發展的必然趨勢。作為中國的政治...
2024-04-16 -
福州網站建設如何讓目標客戶愛上我們的營銷網站?
如何在電子商務飛速發展的今天占據一席之地?模板網站和營銷網站有什么區別...
2021-06-22
預約專業咨詢顧問溝通!
免責聲明
非常感謝您訪問我們的網站。在您使用本網站之前,請您仔細閱讀本聲明的所有條款。
1、本站部分內容來源自網絡,涉及到的部分文章和圖片版權屬于原作者,本站轉載僅供大家學習和交流,切勿用于任何商業活動。
2、本站不承擔用戶因使用這些資源對自己和他人造成任何形式的損失或傷害。
3、本聲明未涉及的問題參見國家有關法律法規,當本聲明與國家法律法規沖突時,以國家法律法規為準。
4、如果侵害了您的合法權益,請您及時與我們,我們會在第一時間刪除相關內容!
聯系方式:010-60259772
電子郵件:394588593@qq.com