TCP

作者: miyakee | 来源:发表于2018-08-07 23:08 被阅读0次

传输层,可靠

tcp三次握手:

1.client发送【SYN】到 service
2.service返回【SYN+ACK】到client
3.client 发送【ACK】到service

tcp四次挥手:

1.client发送【FIN】 到service
2.service发送【ACK 】到client
3.service 发送【FIN】到client
4.client发送【ACK】到servcie
原因:因为tcp是双向
在三次握手的时候是syn+ack一起,四次的时候是分开发的。因为发送ack的时候不能确定service的数据是发送完毕了的。

为什么说tcp是可靠的

1.三次握手时有 【seq+ack+mss】来作为基础,校验和
2.超时重传:超过时间没有收到相应,自动重新传送
3.分包编号:TCP有专门的序列号SN字段,可提供数据re-order
4.流量控制:调节缓冲空间大小
5.拥塞控制:网络拥塞的时候减少发送量

丢包重传

丢包的原因:
1.并发 2.逻辑错误 3.缓冲区溢出
解决方式:心跳机制
重传的原因:
1.超时重传
2.快重传:就是说在发送端一连收到4个ack报文,其中3个重复报文时,就立即重传相应的报文而不等到定时器超时。
3.SACK方法:记录哪些数据到达了

TCP半连接队列和全连接

三次握手中,在第一步server收到client的syn后,把相关信息放到半连接队列中,同时回复syn+ack给client(第二步);
第三步的时候server收到client的ack,如果这时全连接队列没满,那么从半连接队列拿出相关信息放入到全连接队列中,否则按tcp_abort_on_overflow指示的执行。

image.png
(图片来源:http://www.cnxct.com/something-about-phpfpm-s-backlog/)

OSI模型:物数网传会表应

网络抖动:

网络时延引起的差值,表现其延迟程度
在发布或者上线时容易产生,解决方法:
1.启动预热(编译好的java,机器主动访问热点代码)
2.增加编译的线程

参考:http://jm.taobao.org/2017/05/25/525-1/

相关文章

  • TCP那些事儿

    目录: TCP是什么TCP报文结构TCP连接过程TCP状态转移TCP流量控制 —— 滑动窗口TCP拥塞控制TCP可...

  • 计算机网络

    一、tcp/http 1、TCP首部。 IP数据报(IP首部+TCP报文段(TCP首部+TCP数据)) TCP首部...

  • TCP协议三次握手和四次挥手

    TCP协议 TCP/IP协议栈 由上图可知,TCP/IP协议栈包含很多的协议。 二. 什么是TCP TCP是TCP...

  • 15分钟TCP

    TCP协议详解 介绍TCP协议之前,先区分一下TCP协议,和TCP/IP体系结构。TCP协议是TCP/IP协议体系...

  • TCP 与 UDP

    TCP 与 UDP(主要说TCP)TCP/UDP端口号TCP/UDP端口号TCP连接的建立TCP连接的建立发送se...

  • 四 . TCP 编程

    什么是 TCP 编程 TCP 编程是建立在 TCP 协议上的 Socket 编程 什么是 TCP 协议 TCP (...

  • TCP HTTPS专题

    TCP HTTPS专题 TCP协议 TCP/IP协议分层 TCP/IP 协议族里重要的一点就是分层。 TCP/IP...

  • 浅谈 TCP

    这篇文章介绍 TCP 理论,主要分为「TCP 连接,TCP 优化,TCP 重连」三个方面。看《TCP/IP 详解》...

  • 传输层

    ICMP UDP TCP TCP的三次握手 TCP四次挥手 TCP状态机Tcp_status_map.jpg

  • TCP/IP

    引用 一文搞懂TCP与UDP的区别 TCP/UDP协议详解... TCP基础特性* TCP 1、 TCP特性: T...

网友评论

      本文标题:TCP

      本文链接:https://www.haomeiwen.com/subject/igszvftx.html