TCP
TCP,传输控制协议(Transmission Control Protocol)
UDP类似写信的模型,有可能信息丢失,不安全。
TCP可以想象成打电话的模型,相对更稳定安全,TCP的一大特点,发送的数据包如果对方没有收到,那么会再发一遍,保证数据一定能够到达。
或者数据再传输过程中出错了,接收方会对数据进行检查,发现数据是错误的,会请求再传一次这个包
TCP在通信前必须先建立连接
TCP通信三个步骤,创建连接、数据传送、终止连接
TCP比UDP更复杂,但是更稳定,体现在:
1)TCP采用发送应答机制
TCP发送的每个报文段都必须得到接收方的应答才认为这个TCP报文段传输成功
UDP:a发送给b一组数据,a不知道b是否收到
TCP:a发送给b一组数据,b收到后会告诉a,否则,超时重传
2)超时重传
发送端发出一个报文段之后就启动定时器,如果在定时时间内没有收到应答就重新发送这个报文段。
TCP为了保证不发生丢包,就给每个包一个序号,同时序号也保证了传送到接收端实体的包的按序接收。然后接收端实体对已成功收到的包发回一个相应的确认(ACK);如果发送端实体在合理的往返时延(RTT)内未收到确认,那么对应的数据包就被假设为已丢失将会被进行重传。
3)错误校验
TCP用一个校验和函数来检验数据是否有错误;在发送和接收时都要计算校验和。
4) 流量控制和阻塞管理
流量控制用来避免主机发送得过快而使接收方来不及完全收下。
简单点说就是发送方考虑接收方的速度,你收一点,我再发一点。