本章结构
- 2.1 创建套接字
- 2.2 连接服务器
- 2.3 收发数据
- 2.4 从服务器断开并删除套接字
- 2.5 IP 与以太网的包收发操作
- 2.6 UDP 协议的收发操作
热身问题(判断对错)
1. 我们现在使用的以太网中存在不符合国际标准(IEEE802.3/802.2)的部分。
答案:对,国际标准(IEEE802.3/802.2)的头部(开头的控制信息)格式长度太长、效率降低没有得到普及。所以现在以太网中的头部遵循更老的DIX规格。具体可以搜索:DIX和IEEE802.3的区别。
2. TCP/IP 是由 TCP 和 IP 两个协议的名字组合而成的,最开始这两个协议是合在一起的。
答案:对,最开始确实合在一起,后来才拆分成了TCP和IP两个协议。
3. 网络包通信技术是 20 世纪 60 年代为用计算机进行数据通信而设计出来的。
答案:对。
本章内容概述
本章将具体讲解操作系统中的协议栈是如何处理数据发送请求的。
(1)创建套接字
介绍协议栈的内部结构、套接字的实体,以及创建套接字的操作过程。
(2)连接服务器
将介绍连接服务器的过程中,具体怎么链接,协议栈如何工作,客户端和服务器如何交互。
(3)收发数据
收发数据阶段,协议栈从应用程序收到的数据将切成小块发送给服务器,这个过程中要考虑包丢失的问题。
(4)从服务器断开连接并删除套接字
断开连接不仅包括客户端和服务器相互确认,删除套接字,还包括一些有意思的地方。
(5)IP 与以太网的包收发操作
前面提到,收发数据阶段协议栈从应用程序收到的数据将切成小块发送给服务器,本节会讲述协议栈如何与网卡进行配合将网络包转换成电信号或者光信号发送。
(6)用 UDP 协议收发数据的操作
TCP存在缺点,这时需要用到UDP协议,这节介绍UDP的必要性以及它和TCP的差异。