计算机网络14.2

释放连接

两种方法

对称的释放连接,非对称释放连接

三次握手

连续n次发送请求都超时后,自动释放链接

(建立连接是会占用资源的)

**麻烦的情况:从第一次握手都丢失。**在情景C下,如果主机2没有收到主机1的DR,仍然认为主机1需要连接

但是主机1发送了DR,会释放连接

会得到半连通状态,协议失败。需要单独处理这种特殊情况

消除半连通的方法 :对于主机2,很久没有收到数据,那么释放掉。**然而,如何避免错误释放掉?**在释放之前,发送一个哑数据,避免对方错误的释放连接。

建立连接-数据传输-释放连接 为基本过程

数据传输

差错控制的基础是(源自数据链路层的)滑动窗口机制,并配合校验和(Checksums)与重传(Retransmissions)机制

流量控制 管理发送方和接收方的缓冲区(Buffering)。

问题在于,数据进入/离开网络的时间与应用程序处理数据的时间是不同的(即速率不匹配)。

窗口(大小)告诉发送方接收端目前还有多少可用的缓冲空间。

这就构成了一个可变大小的滑动窗口。

上图为三种数据缓冲策略

箭头为数据传输的方向,但是单工只能由A向B发送数据,B能给A发送ack和buffer的情况

后面为具体的信息

A需要8个缓冲空间

···表示传输过程中丢失数据

6中B给A发送确认信息,表示01都被接收,B还有3个缓冲空间

(A发送的data2超时后重发)

死锁:16 B发送的丢掉,A以为没有空间

窗口大小可变,取决于:接收方给发送方分配的可用缓冲空间;发送方的数据量

调节发送速率

几个瓶颈:发送的水流,水管可接受大小,接收

流量控制:当接收方处理得不够快时

拥塞控制:当网络传输得不够快时(中间水管)

拥塞控制

(解决拥塞控制:网络层用RED,随机早期检测)

32为64的一半,作为阈值(接收窗口(Receiver Window, rwnd)的最大长度通常为 64)

先是指数型增长,后来是线性,直到超时,调整阈值,从1k重新开始试探

慢启动算法

UDP

原端口号,目的端口号,UDP长度,UDP校验和

没有重传,没有差错控制与流量控制

伪头部

字段protocol是协议编码

伪头部,校验使用,不做传输

相关推荐
是未才4 小时前
从输入 URL 到页面返回:DNS、路由、TLS 与 HTTP 完整链路
java·后端·计算机网络
白狐_7987 小时前
408计算机网络第3章:PPP协议——帧格式、LCP/NCP、状态机与真题精讲
网络·计算机网络·智能路由器
白狐_79811 小时前
408计算机网络第3章:以太网交换机与共享式以太网——知识总结
服务器·网络·计算机网络
麦烤楽鸡翅13 小时前
计算机网络基础且重要芝士
网络·网络协议·计算机网络·面试算法题·无耻之徒
白狐_79815 小时前
408计算机网络第3章:滑动窗口与ARQ——错题秒杀 + 真题精讲
计算机网络
沐苏瑶16 小时前
计算机网络核心笔记:打通 TCP/UDP 与 HTTP/HTTPS 底层逻辑(重点下)
笔记·计算机网络·http
我爱cope16 小时前
【计算机网络 | 物理层6:常见宽带接入技术:以太网、光纤、DSL 与接入网】
网络·计算机网络·智能路由器
蓝胖的四次元口袋17 小时前
计算机网络基础知识梳理(2)
计算机网络
ZJH__GO1 天前
网络编程v4pro--实现聊天室文件传输功能
java·服务器·网络·计算机网络
黄俊懿2 天前
【架构师从入门到进阶】第五章:DNS&CDN&网关优化思路——第三节:CDN扩展-多地址直连
网络·计算机网络·架构·系统架构·cdn·dns·架构设计