网络基础:从数据包到IPv6网络的全面解析
1. 数据包通信基础
主机能够以任意顺序发送、接收和处理数据包,无论这些数据包来自何处或去往何方,这使得多个主机能够“同时”进行通信。例如,当一台主机需要同时向另外两台主机传输数据时,它可以在传出数据包中交替指定不同的目标。将消息拆分成更小的单元也有助于检测和纠正传输过程中的错误。
通常情况下,你无需担心数据包与应用程序所使用的数据之间的转换,因为操作系统会为你完成这项工作。不过,了解数据包在网络层中所扮演的角色是很有帮助的。
2. 网络层结构
一个完整运行的网络包含一组被称为网络栈的网络层。典型的互联网栈从顶层到底层依次如下:
- 应用层 :包含应用程序和服务器用于通信的“语言”,通常是某种高级协议。常见的应用层协议包括超文本传输协议(HTTP,用于网页)、加密协议如TLS,以及文件传输协议(FTP)。应用层协议常常可以组合使用,例如TLS通常与HTTP结合形成HTTPS。应用层处理在用户空间进行。
- 传输层 :定义了应用层的数据传输特性。该层包括数据完整性检查、源端口和目标端口,以及在主机端将应用数据拆分成数据包(如果应用层尚未完成此操作)并在目标端重新组装的规范。传输控制协议(TCP)和用户数据报协议(UDP)是最常见的传输层协议。传输层有时也被称为协议层。在Linux中,传输层及以下的所有层主要由内核处理,但也有一些例外情况,即数据包会被发送到用户空间进行处理。
- 网络层或互联网层 :定义了如何将数据包从源主机移动到目标主机。互联网特定的数据包传输规则集被称为
超级会员免费看
订阅专栏 解锁全文
1129

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



