网络基础:TCP/IP 协议解析
1. TCP 与 UDP 协议
TCP(传输控制协议)是一种面向连接的协议,具备可靠的数据传输和流量控制功能。像 FTP、HTTP、SMTP、Telnet、SSH 这类需要可靠数据传输的应用,会将 TCP 作为传输协议。
UDP(用户数据报协议)则比 TCP 简单得多,它是无连接的传输层协议,发送数据时无需与目标主机建立连接。UDP 数据段包含以下内容:
- 源端口:发送主机用于发送数据的端口号。
- 目的端口:接收主机用于接收数据的端口号。
- 长度:头部和数据的字节数。
- 校验和:头部和数据字段计算得出的校验和。
- 数据:来自上层(应用层)的数据。
UDP 没有流量控制机制,且数据丢失时不会重传,因此提供的是不可靠的传输。不过,在需要时可以在应用层实现数据重传和错误处理。
那为什么有 TCP 这么多优点的协议,还会使用 UDP 呢?原因主要有两个:
- 有些应用不需要对数据段进行排序。例如用于 IP 语音(VoIP)的 H.323 协议,如果使用 TCP,当网络拥塞导致数据丢失时,发送主机必须重传所有丢失的数据,同时将新的电话输入封装到新的数据中等待发送,这对于延迟超过 100 毫秒的网络通话来说非常不利。
- 简单的协议所需的处理能力更少。比如 DNS 处理客户端请求时使用 UDP。在大型网络中,通常有两到三个 DNS 服务器,如果使用 TCP 处理 DNS 请求,每个请求都需要与所有客户端建立 TCP 连接,这会使 DNS 服务器需要高处理能力,且比 UDP 慢。另外,TFTP 常用于文件传输,通常路由器用它来加载操作系统,它比 FTP 简单,在
超级会员免费看
订阅专栏 解锁全文
2万+

被折叠的 条评论
为什么被折叠?



