tcp,状态. from异常流程

基础: TCP11种状态_哆啦尼可夫的博客-CSDN博客_tcp状态

如何理解状态图, 缺少一个 rst 状态,类似于 closed. 几个观点

   1. syn,ack或者 fin,ack 可以同时发送, 但是接受需要分别接收来设计状态.
   2. Fin 这种是需要业务端触发的, ack ,rst ,syn 这种是 tcp 协议本身自动触发的.
   3. 建连的时候分服务端,客服端. 由于 tcp 是双工的, 后续数据传输和关闭连接不分服务端,客服端.
   4. 其他深入观点, 4.1 经过lvs dr负载均衡的连接是三角形. [对栈连接池不友好] 4.2 lvs 的负载均衡是在连接时完成的.
   5. lvs 其实也是监听了端口,但是其接受到了 syn 后,不返回 ack,而是转发了 syn 数据. 相当于没有使用 tcp 协议,拦截处理了.

为什么连接三次就够了, 断开要四次?

  三次是因为 ack和发送请求请求合并在一起了. 

   讲讲这里的异常情况,幂等!

       客户端进入连接状态后, 服务端还会一直发送ack过来, 会怎么样?  此时客户端已经established.  有没有唯一标识.

a b c三个包, b c没有收到?

     1. bc 收到,  a没有收到,怎么办?

     2. 收到了, 怎么排序.

          tcp 序列号_tcp序列号_个人渣记录仅为自己搜索用的博客-CSDN博客

     3. 此时有个d, 还需要发么?

     4. a一直没有成功怎么办?

     5. 如果文件很大,序号超了,怎么办? 如果速度非常快呢, 内存非常大, 已经超过int最大值了, 第一个包还在途, 包冲突怎么办? 自定义协议,采用string字符串. 包的大小调大.

   6. 当前网络性能变好后,包的大小是否可以调大

   7. 为什么tcp不建议大包发送? 1.网络性能  2.packet大小

udp/tcp 区别? tcp 精准, 不可丢. udp可丢, 视频类, 只是模糊了. 

tcp重传和udp视频传输_视频 tcp重传_个人渣记录仅为自己搜索用的博客-CSDN博客

  TCP的保活机制

 TCP中的保活机制是一个可选项,并不是必须的。
  主要用在服务器端,用于检测已建立TCP链接的客户端的状态,防止因客户端崩溃或者客户端网络不可达,而服务器端一直保持该TCP链接,占用服务器端的大量资源(因为Linux系统中可以创建的总TCP链接数是有限制的)。
  保活机制原理:设置TCP保活机制的保活时间keepIdle,即在TCP链接超过该时间没有任何数据交互时,发送保活探测报文;设置保活探测报文的发送时间间隔keepInterval;设置保活探测报文的总发送次数keepCount。如果在keepCount次的保活探测报文均没有收到客户端的回应,则服务器端即关闭与客户端的TCP链接。
  保活探测报文:
  TCP保活探测报文的内容为,将之前已发送数据的最大序列号序列的减1,并设置数据大小为1个字节,数据内容为“0”,然后发送到客户端,如下图所示

  TCP通信过程中异常情况整理_tcp常见故障_自由不死的博客-CSDN博客

重传和包活关系?

  如上

重传滑动窗口和拥塞控制 关系?

  https://www.cnblogs.com/wxdlut/p/13569700.html

网络原理:网原第一次实验:滑动窗口协议(Netriver平台) https://www.jianshu.com/p/1f092f1acd58

案例1: 连接池中的 tcp 超时案例.  更复杂是防火墙断开长连接. 牛在看堆栈发现问题. [3]

案例2: 被动 close 后, 照样可以 read,但是返回-1. 代表不可能有新的流了. 原因自身的状态已经是 close_wait. 自己主动 close 的,再 read 会抛已关闭. [4]

案例3: 如果状态不符合,更新数据.会导致 connection 被 reset . 上一次 rst 后下一次应该判断在状态, 连接正常才能往里面发送数据. 然后再次写时,直接抛错broken pipe . 这种情况一般发生在客户进程不理会(或未及时处理)Socket 错误,继续向服务 TCP写入更多数据时. 有可能 flush 成功,但是对方未收到数据的情况. 所以发送成功,要看 ack 信息(应用层是 返回 success 信息),不能单方便认为发送成功. [4]

5] 从 lvs 角度再来谈tcp 连接状态_lvs搭建tcp后,端口状态_个人渣记录仅为自己搜索用的博客-CSDN博客

tcp 连接,黑洞,超时_个人渣记录仅为自己搜索用的博客-CSDN博客

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

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值