How TCP/TP works
问题
- Packet如何送达主机?
- 主机如何将Packet转交给应用?
- Packet是如何被完整地送达应用程序?
主机定位
- 网络层: 通过Internet Protocol, 即IP
- 数据在经过网络层时,会被加上IP头,其中包含IP地址,再传入下一层
程序定位UDP
- 传输层:- 通过User Datagram Protocol, 即UDP
- 数据在经过传输层时,会被加上UDP头,其中包含端口号 ,再传入下一层
- 特性: 传输速度快; 无重发机制,不能保证数据可靠性; 无数据组装还原机制
- 应用: 在线视频、互动游戏
程序定位 + 完整送达TCP
- 传输层: 通过Transmission Control Protocol, 即TCP
- TCP也能够通过端口号定位程序
- 数据在经过传输层时,会被加上TCP头,其中包含
端口号
和重构序号
- 特性: 传输速度慢;有重传机制;数据包排序机制,能够重构为完整文件
TCP连接生命周期
- 建立链接: 三次握手: 一次发起,两次确认;
- 传输数据: 接收端需要对接收到每个数据包进行核对确认; 如果发送数据包,
很久都未收到返回的数据包
,则判别为数据包丢失
,启动重传机制;大的数据包会被分解成小的数据包,按照序号
在接收端进行组合。 - 断开链接: 四次分手: 前两次保证关闭
发送端
;后两次保证关闭接收端
;
三次握手,数据包验证机制以及四次握手,传输的数据包总数量提高了一倍,传输时间变长。
总结
- IP负责定位主机
- UDP/TCP负责定位应用程序