這是關於網絡系列的第二篇文章,接下來會有更多精彩內容.敬請期待! 讓咱們一塊兒乘風破浪!網絡
上篇咱們瞭解了關於IP協議的相關知識,這裏咱們繼續討論運輸層的UDP協議.但願你有所收穫.post
UDP 及 後來說到的TCP都屬於運輸層協議.運輸層向它上層的應用層提供通訊服務.網際層的IP協議能夠經過IP數據報首部的目的地址,將數據報交付到目的地, 爲何還須要運輸層呢? 其實,"兩臺主機間的通訊"的描述是不夠清晰的,須要通訊的實體應該是主機中的進程.能夠看到,網際層是提供點到點的通訊(也就是兩臺主機之間可以找到彼此), 而運輸層提供了端到端的通訊(也就是各個進程之間的交流).code
運輸層的一個很重要的功能是複用和分用:視頻
爲了解決複用和分用過程當中數據不混淆的問題, 運輸層採用協議端口號(或端口)
來區分.在TCP/IP體系中, 運輸層採用16位(共65535個)的端口號來標識一個端口. 端口只是具備本地意義, 表示了應用程序和運輸層交互時使用的標識.遊戲
不一樣計算機的兩個應用程序通訊時,須要獲取對方的IP地址(知道對方在哪),和對方程序的端口(找到對方的程序入口).就像咱們寄信時,要寫上地址(IP地址)和收件人(端口)同樣.進程
讀到這裏你是否明白了爲何HTTP服務的端口默認80,HTTPS默認端口443,本地啓動的服務問啥建議使用8888了吧?圖片
服務端使用的端口號get
熟知端口(0~1023), 指派該比較重要的,你們熟知的應用使用,便於你們和他通訊, 下面是經常使用的熟知端口io
FTP | TELNET | SMTP | DNS | TFTP | HTTP | SNMP | HTTPS |
---|---|---|---|---|---|---|---|
21 | 23 | 25 | 53 | 69 | 80 | 161 | 443 |
登記端口(1024~49151).使用該類端口須要登記,避免重複.table
客戶端使用的端口號
客戶端的端口號爲(1024~65535),隨着客戶端的運行而肯定,短暫存在.
接下來就來了解下運輸層的UDP協議(User Datagram Protocol), 後序文章會講述TCP協議(Transmission Control Protocol).
UDP 只是在IP協議之上添加了少量功能, 複用和分用及差錯檢測.其主要特色是:
UDP的報文格式:
包含首部和數據字段,數據字段是上層交付的數據,首部包含4個字段,各佔2字節:
整體來看,UDP仍是比較簡單的.它適用於那些無須關心數據是否準確到達的服務, 如視頻電話, 局域網遊戲等.