总结四(TCP、UDP)

  1. TCP,UDP有什么区别

    • TCP是面向连接的、UDP是无连接的
    • TCP是面向字节流的、UDP是基于数据报的
    • TCP是可靠传输(数据正确性及有序),UDP是尽最大努力交付
    • TCP占用系统资源较多、UDP则较少
  2. TCP的重传机制

    • 超时重传:超过超时时间还没有收到ack,则重传数据报。
    • 快速重传:主要针对后面的序号先到达的数据报,则发送三次冗余ack,引起重传
  3. 快速重传为什么需要三次冗余ack?
    两次duplicated ACK肯定是乱序造成的!
    丢包肯定会造成三次duplicated ACK!

  4. 三次握手过程中有哪些不安全性?

  5. TCP的报头

  6. TCP数据校验是怎么做的

  7. TCP三次握手的具体过程,为啥不能是两次或者四次
    两次的话可能是已失效的连接请求,即a发送的第一个连接请求报文段没有丢失,而是在某些网络节点长时间滞留了,以致延误到连接释放以后的某个时间才到达B。B收到此失效的连接报文段后,误以为A又发出有一次新的连接请求,于是同意建立连接。
    四次则是没有必要的,浪费网络资源。

  8. TCP为什么是四次挥手,其中TIME_WAIT和CLOSE_WAIT这两个阶段。
    首先TCP是全双工的,需要各自发送FIN结束连接。
    其中TIME_WAIT的存在有两个原因。第一个原因是确保A发送的ACK能够到达B。如果不存在TIME_WAIT阶段而直接关闭连接,如果B没有收到最后的ACK而无法关闭连接,同时A无法接受B重传的FIN和ACK。
    第二个原因是防止已失效的连接请求报文段出现在本连接中。可以这样理解,在TIME_WAIT状态下,不允许应用程序在当前ip和端口上和之前通信的client(这个client的ip和端口号不变)建立一个新的连接。这样就能避免新的连接收到之前的ip和端口一致的连接残存在网络中的数据包。这也是TIME_WAIT状态的等待时间被设置为2MSL的原因,以确保网络上当前连接两个方向上尚未接收的TCP报文已经全部消失。
    CLOSE_WAIT

  9. 用UDP模拟TCP实现对传输速度的控制

  10. 让你设计如何提高tcp传输效率,有没有关注google对tcp的改进

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值