TCP是一种面向连接,可靠,基于字节流的传输层协议,这是我们最常用来描述TCP的语言,今天我们在这里探讨TCP为什么可靠呢?
1.TCP是面向连接的,什么是面向链接呢?通俗易懂就是小红和小明打电话,电话是通的,双方都在线,都是具备对方给一个讯号,自己可以回答的能力,具有知道自己和对方的放松和接收是没有问题的确认能力,这就一定程度上保证了TCP较UDP可靠。不妨我们反过来想,如果小红给小明打电话,电话没通,小红告诉小明,下午去吃麻辣烫,等会儿五点楼下集合,小明会知道么?小明不知道,那么这次通话就是失败的,这一定不是我们想要的,这就是不可靠的
2.TCP报文 中含有序号与确认序号,这就保证报文是有序到达的。如发送放的缓冲区:hello i'am xiaoming 我们编号"hello”为1号,“i'am”为2号,“xiaoming”为3号,则接收方的缓冲区也应该是:hello i'am xiaoming
3.校验和。发送端在发送时候计算校验和,校验和的计算覆盖TCP首部和携带信息,在接收端进行检验,如果出现差错,则将会丢弃这段TCP报文,这就保证数据的正确性
4.确认应答机制,发送端每发出一段报文,接收端都将会回复一个ACK确认应答报文机制
5.超时重传机制,发送端每发送一个报文,都将会设置一次计数器,如果在规定时间内没有收到ACK,则发送端将会重新发送这一个报文段
拥塞控制,流量控制都是为了提升性能而存在的,这里就不讨论。。。
欢迎访问https://blog.youkuaiyun.com/xinger_28/article/details/100824747