一、首先要知道不可靠的方面
a、差错 使用端到端的校验和可以避免;
b、丢包 超时重传+确认机制可以避免;
c、失序 TCP的头文件都有一个序号seq可以避免;
d、重复 TCP的头文件都有一个序号seq可以避免。
二、TCP如何保证可靠性
a、数据被分割成TCP最容易发送的数据块;
b、TCP将保持他首部和数据的校验和;
c、TCP发出一个段后,他启动一个定时器,等待目的端确认收到这个报文段;
d、TCP收到发自TCP另一端的数据,他将发送一个确认;
e、TCP将将接收到的数据进行重新排序;
f、IP数据报会发生重复,TCP的接收端必须丢弃重复的数据;
g、TCP可以提供流量控制。