計算機網絡 TCP 與 UDP

背景

網絡層,可以實現兩個主機之間的通信。但是這並不具體,因爲,真正進行通信的實體是在主機中的進程,是一個主機中的一個進程與另外一個主機中的一個進程在交換數據。IP 協議雖然能把數據報文送到目的主機,但是並沒有交付給主機的具體應用進程。而端到端的通信才應該是應用進程之間的通信

TCP,提供面向連接的服務,在傳送數據之前必須先建立連接,數據傳送完成後要釋放連接。因此TCP是一種可靠的的運輸服務,但是正因爲這樣,不可避免的增加了許多的開銷,比如確認,流量控制等。對應的應用層的協議有:

  • SMTP:Simple Mail Transfer Protocol,簡單郵件傳輸協議
  • TELNET:Internet 遠程登錄服務
  • HTTP:HyperText Transfer Protocol,超文本傳輸協議
  • FTP:File Transfer Protocol,文件傳輸協議

TCP 利用滑動窗口實現流量控制。流量控制是爲了控制發送方發送速率,保證接收方來得及接收。

TCP的主要特點

① 面向連接 ② 每一條 TCP 連接只能是一對一的 ③ 提供可靠交付 ④ 提供全雙工通信 ⑤ 面向字節流

TCP 把連接作爲最基本的對象,每一條 TCP 連接都有兩個端點,這種端點我們叫作套接字(socket),它的定義爲端口號拼接到 IP 地址即構成了套接字

例如,若IP地址爲 192.3.4.16 而端口號爲 80,那麼得到的套接字爲192.3.4.16:80

UDP,在傳送數據前不需要先建立連接,遠地的主機在收到 UDP 報文後也不需要給出任何確認。雖然 UDP 不提供可靠交付,但是正是因爲這樣,省去和很多的開銷,使得它的速度比較快,比如一些對實時性要求較高的服務,就常常使用的是 UDP 。對應的應用層的協議有:

  • DNS:域名系統(服務)協議(兩者都有
  • DHCP:Dynamic Host Configuration Protocol, 動態主機配置協議
  • NTP:Network Time Protocol,網絡時間協議
  • TFTP:Trivial File Transfer Protocol, 簡單文件傳輸協議
  • SNMP:簡單網絡管理協議
  • NFS:Network File System,網絡文件系統

常用端口號

應用 FTP TFTP TELNET SMTP DNS HTTP SSH MYSQL
端口 21 (控制), 20 (數據) 69 23 25 53 80 22 3306
傳輸層協議 TCP UDP TCP TCP UDP TCP TCP TCP
應用 應用層協議 端口號 傳輸層協議 備註
域名解析 DNS 53 UDP / TCP 長度超過 512 字節時使用 TCP
動態主機配置協議 DHCP 67/68 UDP
簡單網絡管理協議 SNMP 161/162 UDP
文件傳送協議 FTP 20/21 TCP 控制連接 21,數據連接 20
遠程終端協議 TELNET 23 TCP
超文本傳送協議 HTTP 80 TCP
簡單郵件傳送協議 SMTP 25 TCP
郵局協議第三版 POP3 110 TCP
網際報文存取協議 IMAP 143 TCP

兩者對比

TCP、UDP協議的區別

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章