TCP与UDP

TCP与UDP

为什么有两个协议?

和两个协议的特点有关系。

  1. TCP是面向连接的。
  2. TCP提供可靠的服务
  3. UDP面向无连接的
  4. TCP对系统资源要求多些,UDP对系统资源要求少些。
  5. UDP用在实时性较高网络较好的通信和广播领域

TCP协议主要机制?

  1. 校验和
    TCP首部 TCP数据 TCP伪首部3部分。反码求和。发送端和接收端。
  2. 重传机制
    TCP的应答机制,会有效率问题。而滑动窗口能解决问题。丢包的话,快速重传。
  3. 序号标识
    通过序号来保证传输过程之中包的重组,保证包的完整性。利用序列号可以跟踪发送的数据量,接收端利用确认号来确认接受的数据。
  4. 滑动窗口
    无需等待ACK,可以继续发送。提供效率
  5. 确认应答
    ACK确认号

为什么TCP三次握手和四次挥手?

三次握手完成两个重要的功能,既要双方做好发送数据的准备工作(双方都知道彼此已准备好),也要允许双方就初始序列号进行协商,这个序列号在握手过程中被发送和确认。把三次握手改成仅需要两次握手,死锁是可能发生的。

time_wait状态产生的原因、危害以及如何避免?

防止主动发起close端的机器,第3次ACK服务器能收的到。
高并发的时候, 短连接会产生大量time_wait, 导致ip port资源不释放,从而连接不上。

设置SO_REUSEADDR套接字选项来通知内核,如果端口忙,但TCP连接位于TIME_WAIT状态时可以重用端口

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值