计算机网络协议的特点,计算机网络传输层协议类型与特点
我們在上文中給大家簡單介紹了計算機網絡體系的七層結構,而今天我們就一起來了解一下,計算機網絡傳輸層協議類型與特點。
傳輸層涉及到兩個重要的協議:UDP和TCP,本節我們重點介紹這兩個協議。
1、UDP協議
1.1、UDP數據報格式
UDP基本沒干啥事,繼承了IP包的特性:數據可能丟失,順序傳輸無法保證。UDP與后邊介紹的TCP不一樣,是無狀態的。我們來看看UDP數據報的格式:
源端口號:發送數據報方使用的端口號,用于標識發送進程;
目的端口號:接收數據包方使用的端口號,用于標識接收進程;
UDP長度:UDP頭部和UDP負載數據的字節長度;
UDP校驗和:UDP校驗和覆蓋UDP頭部和UDP數據和一個偽頭部(區別:IP頭部校驗和只覆蓋IP頭部),偽頭部衍生子IPv4頭部字段的12個字節,或者衍生子IPv6頭部字段的一個40字節的偽頭部;
負載數據:具體的UDP數據。
可以發現,UDP與下層不同,是需要端口號的。
為什么UDP需要端口號,TCP和UDP端口號可以相同嗎?
類似ICMP協議回顯請求的標識符,UDP的端口用于區分是哪個進程的數據包,如果沒有端口號,那么就不知道應該把數據包終交給哪個進程來處理了。
TCP端口號由TCP來查看,UDP端口號由UDP來查看,TCP端口號和UDP端口號是相互獨立的,所以是可以相同的。每個請求都有源IP、目標IP、源端口號、目標端口、協議五個元素來標識的,每個協議的端口池是完全獨立的。
為什么UDP的端口號多是65535個?
在UDP/TCP協議中源端口和目的端口都只有16位,也就是說端口的取值范圍為0~65535。
1.2、UDP特點
UDP在IP層之上,沒有做其他的封裝,主要表現如下特點:
數據可能丟失,順序傳輸無法保證;
無狀態,不需要像TCP那樣要建立連接;
沒有擁塞控制,來一個包就發一個。
1.3、UDP使用場景
基于UDP的特點,UDP主要用于以下場景:
需要資源少,在網絡情況比較好的內網,或者對對包不敏感的場合。如DHCP和TFTP就是基于UDP的;
廣播場景,不需要一對一建立連接,如DHCP;
需要時延低,允許丟包,不關注網絡擁塞的場景,如視頻直播這種流媒體,實時游戲,通信,物聯網等領域。
2、TCP協議
TCP是我們平時用到多的協議,特別是做web開發的時候,或者互聯網后端開發,真的是時時刻刻都會用到,這里我會展開來講?!禩CP/IP詳解-卷1:協議》一書中花了6章來講解TCP的各種功能,單單是從TCP/IP協議棧的名稱就可以看出,TCP協議的分量有多重了。為此,面試官張口就聊TCP咋的咋的。
與UDP不同,TCP做了很多功能的封裝與實現。
先來簡單介紹下TCP協議:
TCP給應用程序提供給了一種與UDP完全不同的服務。
TCP是面向連接的可靠的服務:面向連接指TCP的兩個應用程序必須在它們可交換數據之前,通過相互聯系來建立一個TCP連接;
TCP提供了一種字節流抽象概念給應用程序:TCP不會自動插入記錄標志或者消息邊界,這意味著TCP沒有限制應用程序的寫范圍。發送端分兩次發10字節和30字節,接收端可能會以兩個20字節的方式讀入。
我們還是先來看看TCP數據報的格式吧,這個可比UDP復雜多了,但是也是設計的恰到好處的。
【免責聲明】:本內容轉載于網絡,轉載目的在于傳遞信息。文章內容為作者個人意見,本平臺對文中陳述、觀點保持中立,不對所包含內容的準確性、可靠性與完整性提供形式地保證。請讀者僅作參考。更多內容請在707945861群中學習了解。
總結
以上是生活随笔為你收集整理的计算机网络协议的特点,计算机网络传输层协议类型与特点的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: centos系统服务器关机,centos
- 下一篇: linux上源码安装mysql,Linu