一:TCP/IP 分层模型
-
- OSI 更强调:通信协议必要的功能是什么
- TCP/IP 更强调:在计算机上实现协议应该开发哪种程序
二:以一个完整的流程来描述 TCP/IP 的作用(以发邮件举例)
- 图示
-
- 发送 流程
- 应用程序 处理
- 程序编码处理。(例如:中文邮件统一使用UTF8编码处理)
- TCP 处理
- 负责建立连接/发送数据/断开连接。(TCP提供将应用层数据发送至对端的可靠传输)。
- 应用数据 前端加一个TCP首部
- 包括源端口号/目标端口号(用于识别发送主机和接受主机上的应用)
- 序号(标明发送的包中哪部分是数据)
- 校验值(类似MD5,用于检验包的完整性)
- 之后将附加了 TCP 首部的包发送给 IP。
- IP 处理
- TCP 处理之后的数据包 前端加一个 IP 首部
- IP 包将发送给目标地址,以实现真正的发送数据.
- 网络接口 (以太网驱动)处理
- IP 处理之后的数据包 前端加一个 以太网 首部。
- 包含了接收端的 MAC 地址
- 发送端的 MAC 地址
- 以太网数据协议
- 这些信息将通过物理层传输给接收端。
- 接收 流程
- 主机接收以太网包之后,首先从以太网包中找到MAC地址并判断是否为发给自己包。如不是,则丢弃
- IP
- 接收 主机 发来的包,解析IP包
- TCP
- 接收 IP 发来的包,解析TCP包
- 同时检查数据是否被破坏
- 是我否是按照序号接收。
- 最后检查端口号
- 数据接收完毕后,接收端则发送一个“确认回执”给发送端。
- 如果这个回执信息未能达到发送端,则发送端会认为接收端一直没有收到信息而反复发送.
- 应用程序处理
- 确认信息,并返回回执.