计算机网络-传输层-TCP、UDP协议

TCP、UDP区别

  • TCP 面向连接,不提供广播、多播;可靠交付;头部长,开销大
  • UDP 无需建立连接,无需确认;不可靠交付;头部短,开销小

TCP可靠交付靠什么实现?

  • 流量控制 滑动窗口机制(超时重传、序列号确认号)
  • 拥塞控制

为什么要三次握手?

避免第二次握手报文丢失

为什么要四次挥手?

=问为什么要在close-wait后再发出一次报文。因为某一方收到fin报文后这一方不再发出报文但是有可能收到报文,colse-wait这段时间为了保证主动关闭的那方发送的报文都被正确接收。

为什么要等待2MSL?

确保第四次报文被正确接收,被动关闭那一方没收到最后的ack报文会重传fin报文,fin报文+ack报文最长耗时2msl,能同步通信双方的状态。

2MSL有什么缺点?怎么避免?

若服务器是关闭连接的那一方,2MSL非常浪费资源。避免方法:不等2msl直接关连接。

对方发来一个fin 这一方回一个ack 然后不等2msl直接关,如果对方收到了ack 就也关闭了 如果对方没有收到ack 会再发一个fin过来 这个时候根据tcp的四元数据找不到对应的链接了,所以返回一个没有连接的错 说明连接已经关了。

三次握手、四次挥手过程


posted @ 2020-08-29 22:18  rikarika  阅读(162)  评论(0)    收藏  举报