| |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
-> 网络协议 -> [计算机网络]十、TCP的拥塞控制和4个计时器、常用协议原理和命令 -> 正文阅读 |
|
[网络协议][计算机网络]十、TCP的拥塞控制和4个计时器、常用协议原理和命令 |
目录 1、常用协议原理和命令要记住的协议:
http和https,可以理解为传输的内容是明文(http)和传输的内容是加密的(https)
1.1、查找协议的端口号?
1.2、arp协议arp协议(Address resolution protocol):地址解析协议;工作在网络层,端口号出现在传输层,所以arp协议没有对应的端口号。 日常中,先使用dns解析协议得到IP地址然后再用arp协议得到MAC地址。例如:www....-->ip-->mac 作用:将IP地址解析为MAC地址 图中的缓存表是arp缓存表
? ? ? 1.2.1、arp协议在工作的时候有2中类型的数据包
用封装的角度去理解,从网络层和数据链路层,牵扯到的设备有交换机、pc机和路由器 1.2.2、arp病毒的工作原理arp病毒的危害:导致整个局域网里的主机找不到正确网关,从而导致不能上网 工作原理:伪造arp广播包,IP地址还是网关的,但是mac地址不是正确的网关的,因为交换机只查看mac地址。 如何防范? 设置静态的MAC-->IP对应表,不要让主机刷新你设定好的转换表。把电脑和网关的IP地址和mac地址互相绑定。
arp防火墙,可以帮助我们绑定? 1.3、TCP/IP详细图2、TCP的流程控制2.1、滑动窗口下面通过例子说明如何利用滑动窗口机制进行流量控制 2.2、拥塞控制不拥塞情况 拥塞情况 中间链路带宽比较窄,传输时窗口大小根据拥塞窗口(记为Cwnd)的大小变为5。这样就提醒了前边的滑动窗口只发送小于或者等于5的数量的包过来,win的值是参考Cwnd的值来定的。 图片因为链路的堵塞,丢包了,只接受到了102一个确认?(即只收到了seq=101的包) 2.2.1、拥塞控制算法???TCP进行拥塞控制的算法有四个:
?这样就能是数据传输达到最大的效率 2.3、TCP的差错控制TCP差错控制的3种方式
这些机制就体现了TCP的可靠性。 3、计时器
3.1、重传计时器——为了控制丢失的数据段???? ? ? 3.2、坚持计时器——为了防止零窗口死锁A收到win=0的确认,等待对方发送确认来通知窗口的大小,并启动坚持计时器。若是在坚持计时器超时之前接收到通知窗口大小的ack,那么A就继续发送后续的数据段;若是在坚持计时器超时之前没有接收到通知窗口大小的ack,那么A会发送探测数据段,提醒接收端确认已丢失,如果没有坚持计时器和探测数据段,ack丢失时,双方会进入等待死锁的状态。 3.3、保活计时器——防止两个TCP之间的连接长时间的空闲设想有这样的情况:客户已主动与服务器建立了TCP连接。但后来客户端的主机突然出故障。显然,服务器以后就不能再收到客户发来的数据。因此,应当有措施使服务器不要再白白等待下去。这就是使用保活计时器。服务器每收到一次客户的数据,就重新设置保活计时器,时间的设置通常是两小时。若两小时没有收到客户的数据,服务器就发送一个探测报文段, 以后则每隔75秒钟发送一一次。若一连发送10 个探测报文段后仍无客户的响应,服务器就认为客户端出了故障,接着就关闭这个连接。 3.4、时间等待计时器——连续终止期间使用的A发送了最后一个ACK后,不立即关闭连接,等时间等待计时器超时后再关闭。时间等待计时器设置的时间是2MSL。MSL叫做最长报文段寿命,RFC793建议设为2分钟。但是对于现在的网络,MSL = 2分钟可能太长了一些。因此TCP允许不同的实现可根据具体情况使用更小的MSL值。 4、TCP的应用5、UDP的使用?稍微记一下 5.1、UDP的封装格式5.2、UDP的流控和差错控制
?6、TCP/IP协议栈 |
|
网络协议 最新文章 |
使用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年11日历 | -2024/11/26 4:21:47- |
|
网站联系: qq:121756557 email:121756557@qq.com IT数码 |