| |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
-> 网络协议 -> tcp问题总结 -> 正文阅读 |
|
[网络协议]tcp问题总结 |
1.tcp三次握手 第一次握手:客户端主动发送链接请求,将SYN序列号置为j,服务器被动打开。 第二次握手:服务器收到SYN请求后,会向客户端发送一个SYN及ACK应答,ACK序列号为j+1,SYN序列号为k。 第三次握手:客户端收到应答后,再回复一个ACK K+1,表示收到了。 2.tcp的拥塞机制 拥塞控制:防止过多的数据注入到网络中,让网络中的设备不至于过载,是一个全局控制。 流量控制:是端到端的,主要是抑制发送端的传输速率,使接收端能来得及接收。 拥塞的标志:重传计时器超时,接收到三个重复确认。 拥塞控制的机制: 慢开始:不是一开始就发送大量数据,而是先探测一下网络的拥塞程度,逐渐增加拥塞窗口CWND的大小。为了防止拥塞窗口CWND增长过大导致拥塞,需要设置一个门限状态变量ssthresh 当CWND<ssthresh时,使用慢开始算法。 当cwnd=ssthresh时,慢开始与拥塞避免算法随意。 当cwnd>ssthresh时,使用拥塞避免算法。 拥塞避免:通过每经过一个往返时间RTT,就把发送方的cwnd加1,而非加倍使得拥塞窗口线性缓慢增长。 无论在哪个阶段,如果发送方没有收到确认ack,就会判断为拥塞,然后将慢开始门限设置为出现拥塞时发送窗口的一半,将拥塞窗口置为1,执行慢开始算法。 快重传与快恢复:当接收方收到失序的报文段后就会立即发出重复确认,发送方收到3个重复确认后就会立即重传未收到的报文段。当发送方收到3个重传确认的同时,会将ssthresh门限减半,将cwnd置为sshresh大小,执行拥塞避免算法(发送方认为能收到重传确认,网络可能没有拥塞)。 3.tcp的标志位 urg:紧急指针 ack:置1时表示确认号 psh:置1时请求的数据段在接收方收到后就会直接送到应用程序,不会等到缓冲区满再送, rst:置1时,重连接。syn:置1,发起一个连接。fin:置1发端完成发送任务,用来释放连接。 |
|
网络协议 最新文章 |
使用Easyswoole 搭建简单的Websoket服务 |
常见的数据通信方式有哪些? |
Openssl 1024bit RSA算法---公私钥获取和处 |
HTTPS协议的密钥交换流程 |
《小白WEB安全入门》03. 漏洞篇 |
HttpRunner4.x 安装与使用 |
2021-07-04 |
手写RPC学习笔记 |
K8S高可用版本部署 |
mySQL计算IP地址范围 |
|
上一篇文章 下一篇文章 查看所有文章 |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年12日历 | -2024/12/27 13:29:49- |
|
网站联系: qq:121756557 email:121756557@qq.com IT数码 |
数据统计 |