TCP提供面向连接的,可靠的字节流服务。
面向连接:两台主机在通信前必须通过TCP建立连接,只要tcp连接建立,tcp协议就将为双方提供会话管理。
tcp提供以下服务:
源端和目标端的会话管理;
数据的顺序传输;
不可重复的数据传输;
有保障的数据传输。(广播和多播不能用于tcp)
tcp用以下方式提供可靠性:
1.应用数据被分成tcp认为最合适发送的数据块;
2.tcp发送一个分段之后,启动一个定时器,等待目的端的确认。如果不能及时收到这个确认,将重发这个分段;
3.当tcp收到发自连接另一端的一个分段,它将在几分之一秒后发送一个确认;
4.将校验和有误时,tcp丢弃这个报文段,不做确认,以等待对方超时重发;
5.如果收到的报文分段失序,(因为tcp基于ip,而每个ip报文都各自路由),tcp对数据重新排序;
6.ip数据报会发生重复,tcp会丢弃重复的数据报;
7.tcp提供流控制服务。发送端只能发送接受端所能容纳的数据。
tcp对字节流的内容不做任何解释和标注。字节流的内容由应用层解释。