第二章
2.2 TCP/IP的标准化
两大特点:开放性、注重实用性(先投入使用,再制定规范和标准)
2.4 TCP/IP协议分层模型
如何分层:
- 应用层:DNS、URI、HTML、HTTP、FTP……
- 传输层:TCP、UDP、DCCP
- 互联网层:IP、ICMP
- 网络接口层
- (硬件)
各层作用:
- 硬件(物理层):负责数据传输
- 网络接口层(数据链路层):利用以太网中的数据链路层进行通信
- 互联网层(网络层):使用IP协议,基于IP地址转发分包数据
- 传输层:让应用程序之间相互通信
2.5TCP/IP分层模型通信过程
每个分层都会为发送的数据附加一个首部,包含该层的必要信息,如发送的目标地址以及协议相关信息。
发送数据包过程:
- 应用程序处理:应用层、表示层、会话层分别发挥作用,然后将应用的数据发送给下一层TCP。
- TCP模块的处理:负责建立连接、发送数据和断开连接。在应用数据前端附加一个TCP首部(包含源端口号和目标端口号)。
- IP模块的处理:IP将TCP传来的TCP首部和TCP数据合起来当作自己的数据,并在TCP首部的前端加上自己的IP首部(接收端IP地址和发送端IP地址)。IP首部可判断其后数据是TCP还是UDP的信息。
- 网络接口的处理:加上以太首部并发送(接收端MAC地址和发送端MAC地址)
数据包接收处理:
- 网络接口的处理:从以太的包首部找到MAC地址判断是否是发给自己的包,是则交给IP处理,不是则丢弃
- IP模块的处理:判断是否与自己的IP地址匹配,然后判断是交给TCP处理还是UDP处理
- TCP模块的处理:首先计算校验和,判断数据是否被破坏。然后检查是否按序号接收数据。最后检查端口号,确定具体的应用程序。数据接收完后,发送“确认回执”给发送端。若未能发送,则发送端会认为接收端未收到,反复发送。
- 应用程序的处理:会直接接收发送端的数据,接收正常会返回“处理正常”给发送端,若出现磁盘已满或未能保存成功等问题会发送“处理异常”给发送端。