计算机网络导论第二弹
寻光 2019-07-01 IPTCPUDPDNS
# IP(Internet Protocol) - 互联网协议
一个标准,就像邮件,每逢邮件必须有地址,必须有收发信人,每封邮件都必须遵循这个标准才能送出去。
数据包也是如此。
互联网协议是一个很底层的协议,从图中就成看出。
# 组成
头部:存放目标地址,也就是元数据(metadata)。
尾部 : 存放要传输数据流。
# UDP(User Datagram Protocol) - 用户数据协议
# 组成
UDP 头部: 存放一些更详细的信息,其中也包括端口号和校验和。
端口号:操作系统概念,每个要访问网络的 app 都需要像 OS 申请一个端口号。数据包中的端口号可以让操作系统明白一个数据包到底要给哪个应用程序。
校验和(Checksum):16 位二进制数的一串数据,用于检查数据是否正确。
# 特点
不支持数据修复和数据重发机制(无法实现断点续传),接收方得知数据损坏只能扔掉。
但是 UDP 简单并且迅速,适合即时通讯和网络游戏这类应用程序,不像 TCP 那样一定要等确认码。
# TCP(Transmission Control Protocol) - 传输控制协议
# 组成
TCP 头部:也有端口号和校验和。
# 特点
每个数据包中有序号,这使得接收方可以很容易讲数据包排成正确的顺序,即使到达时间不同。
在 TCP 协议中,接收方的计算机在每次收到数据包并通过校验和检查无误后,会给发送方反馈一个确认码(ACK),代表收到了。这时才会继续传输下一个数据包。确认码的成功率和来回时间可以用来判断网络状况,计算机可以利用这个信息调整发包速率,缓解拥堵问题。
# DNS(Domain Name System) - 域名系统
一个专门为每台服务器做的“电话簿”,域名由服务商提供。