TCP协议的可靠传输机制 | 您所在的位置:网站首页 › 可靠数据传输机制有哪些 › TCP协议的可靠传输机制 |
1. 【确认应答机制】 出现的问题: 1)消息发出后,不知道接收方有没有收到消息~【使用应答报文】 2)网络上,数据传输顺序存在差异,可能出现后发的消息,先到达,导致回复消息时发生错误~【使用确认序号】 解决方法: 1)在网络正常的时候,接收方收到数据之后,给发送方返回一个应答报文(ACK),表示其已经收到了~ 2)当发送的消息条数比较多时,返回的应答报文可能不及时,出现乱序现象,所以需要添加确认序号,能保证消息的一一对应~ 3)确认序号:表示当前这个应答报文是针对哪个消息进行的确认应答~ 2 . 【超时重传机制】 出现的问题: 1)发送出去的消息丢失,导致接收方未收到消息~ 2)发送的消息已收到,但是接收方返回的应答报文丢失,导致发送方未收到确认信息,如果再次超时重传,可能会导致接收方收到多个重复信息~ 解决问题: 1)等待一定的时间,若还未收到应答报文,就重新发送消息~【超时重传】 2)接收方收到的数据会先放入操作系统内核的接收缓冲区中,如果再次收到新的数据,TCP就会根据序号,来检查看这个数据是不是在接收缓冲区中存在,如果不存在就直接放入,如果存在就直接丢弃,保证数据不重复。 3. 【连接管理】(重点面试题) 1)如何建立连接 客户端和服务器通过三次握手,完成了建立连接的过程~ SYN【同步报文段】:表示客户端和服务器要建立连接~ ACK【应答报文段】:表示服务器收到客户端(客户端收到服务器)发来的请求~ 【描述TCP三次握手的过程】【经典面试题】【发起方必须是客户端】 11)客户端向服务器发送连接请求~ 22)服务器向客户端发送应答报文,表示服务器已收到客户端的信息,并向客户端发送连接请求~ 33)客户端向服务器发送应答报文,表示客户端已收到服务器的信息~ 【三次握手的作用】 11)检测通信双方,发送能力和接收能力是否都正常~ 22)让通信双方能够协调一些必要的信息~ 【为啥握手是三次,两次行不行,四次行不行】 【经典面试题】 11)检测通信双方,发送能力和接收能力是否都正常~ 22)让通信双方能够协调一些必要的信息~ 33)四次可以,但是会降低传输效率,不如合在一起好~ 44)两次不可以,如果是两次,意味着缺少最好后一次,此时客户端这边的发送能力和接收能力都是正常的,但是服务器这边是残缺的,它不知道自己的发送能力是否正常,也不知道客户端的接收能力是否正常。 2)如何断开连接 客户端和服务器通过四次挥手,完成断开连接的过程~ FIN【结束报文段】:表示客户端和服务器结束连接~ 【描述TCP四次挥手的过程】【发起方可以是客户端也可以是服务器】 1)客户端向服务器发送结束连接请求~ 2)服务器向客户端发送应答报文,表示已收到客户端的信息~ 3)服务器向客户端发送结束连接请求~ 4)客户端向服务器发送应答报文,表示已收到服务器的信息~ 【状态转换】 1)CLOSE_WAIT : 四次挥手了两次之后的状态,这个状态就是在等待代码中调用socket.close 方法,来进行后续挥手过程~ 2)TIME_WAIT : 谁主动发起FIN,谁就进入此状态,起到的效果是,防止最后一次ACK丢包,导致重传,而发起方由于过早销毁,使得最后的无人处理FIN,也无人针对此FIN进行应答~ 4. 【滑动窗口机制】 由于确认应答机制的存在,导致了当前每次执行一次发送操作,就要等一次ACK的到达,大量的时间都花在了等ACK上,而滑动窗口的本质是在批量的发送数据,一次发送一波数据,然后一起等一波ACK~ 滑动:一次批量发送数据为N,并不是等N组数据的ACK全部到齐,再继续往下发送,而是哪个数据先到,就先发哪个数据的ACK~ 窗口大小:一次批量发送的数据量~N
【出现的问题】:由于接收方的处理速度有限,限制滑动窗口发送的速率~ 1) 在滑动窗口中,窗口越大,传输速度越快,但是不能一味扩大窗口,要考虑接收方的处理速度~ 2) 流量控制的关键就是能够衡量接收方的处理速度~ 3) 这个速度的衡量标准是:接收方接收缓冲区剩余空间的大小~ 6. 【拥塞控制机制】【滑动窗口机制的延伸】 【出现的问题】:由于中间链路的处理能力有限,限制滑动窗口发送的速率~ 1)拥塞控制衡量的是,发送方到接收方,整个链路之间的拥堵状况(处理能力)~ 2)通过实验的方式,逐渐调整发送速度,中找到一个比较合适的值(范围)~ 7. 【延时应答机制】【流量控制机制的延伸】 在流量控制的基础上,尽可能延长大窗口的时间,以便传输速率更快~ 8. 【捎带应答机制】【延时应答机制的延伸】 9. 【面向字节流机制】【粘包问题】 TCP粘包指的是:在TCP接收缓冲区中,若干个应用层数据报混在一起,分不出来了~ 10. 【TCP异常处理机制】 1)进程终止 2)机器关机 3)机器掉电/网线断开 |
CopyRight 2018-2019 实验室设备网 版权所有 |