计算机网络 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协议的区别

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