计算机网络复习第三章 传输层 2
UDP: 用户数据报协议
u 简单高效的传输层协议
u 提供“尽力而为(best effort)”服务
Ø UDP数据报可能丢失
Ø 接收的顺序可能与发送顺序不一致
u 无连接协议
Ø 在发送数据之前,发送端和接收端没有握手(handshaking )
Ø 每个UDP数据报都是独立的,和其他的数据报无关
u 比IP增强了:
Ø 多路复用/多路分解
UDP的数据报格式
u 报头:固定为8字节
Ø 源端口号:16位
Ø 目的端口号:16位
Ø 数据报长度:16位,以字节为单位,报头 数据,最大长度65535字节
Ø 校验和:16位
校验和计算方法
u 将数据按16位一组来分组
u 各组对应位相加
u 最高位的进位累加到结果的最低位
u 对最终结果取反码
伪报头:只用于校验和的计算,不发送
TCP
u 面向连接
Ø 数据发送之前,发送端和接收端要握手(handshaking),建立逻辑连接,协商参数,如起始序号、窗口长度等
u 全双工数据传输(full duplex):
Ø 在一个连接之上,可以同时进行双向数据传输
u 端到端传输
Ø 1-1:单播(unicast)
u 采用连续ARQ协议,流水线方式工作
Ø 发送窗口长度由流量控制和拥塞控制算法决定
u 流量控制(Flow Control)
Ø 接收端可以限制发送端发送速度(发送窗口长度)
u 拥塞控制(Congestion Control)
Ø 根据网络状况,可以限制发送端的发送速度(发送窗口长度)
u 可靠、按序的字节流传输
Ø 窗口长度以字节为单位
控制字段
连接建立:三次握手
Ø 第1步:TCP客户端发送SYN报文段(连接请求)
— SYN位=1
— 指定客户端的发送序号,无数据
Ø 第2步:TCP服务器端返回SYN/ACK报文段(连接响应)
— SYN位=1 ACK位=1
— 指定服务器端的发送序号,无数据
Ø 第3步:TCP客户端回应ACK报文段(连接确认)
— ACK位=1
— 报文段内可能包含数据
TCP的连接释放:4步释放
u 两个方向分别释放:半关闭连接
u 第1步:主机1发送FIN报文段
u 第2步:主机2返回ACK报文段,主机1-2方向的连接被关闭,资源被释放
u 第3步:主机2发送FIN报文段
u 第4步:主机1返回ACK报文段,主机2-1方向的资源被释放,整个连接关闭
TCP的流量控制
u 流量控制的目的:防止发送方发送过快而导致接收方缓存溢出,造成数据丢失
u 基本方法:接收方反馈,限制发送方的发送数据量
Ø 报文段中“接收窗口”字段说明了接收方最多可以 接收的数据字节数
Ø 发送方在收到下一个ACK之前发送的数据总量不能超过接收窗口值
u 发送窗口与接收窗口
TCP的传输效率问题
MSS:最大报文段长度, 一个报文段中的最大数据长度,在建立连接时协商
Ø 通常受底层物理网络的限制,例如在以太网上MSS=1460字节
u 报文段中的数据量接近MSS,则传输效率高
u 某些应用每次发送的数据量较小
Ø 交互类应用,如Telnet,每次只发送1字节数据
Ø 传输效率低!
Clark算法:接收端策略
Ø 只在有较大缓存(至少为1/2 MSS)时,才发送窗口更新通知
提高传输效率
Ø Nagle算法:一次尽量发送较大的数据量
Ø Clark算法:只在有较大缓存时,才发送窗口更新通知
这篇好文章是转载于:学新通技术网
- 版权申明: 本站部分内容来自互联网,仅供学习及演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,请提供相关证据及您的身份证明,我们将在收到邮件后48小时内删除。
- 本站站名: 学新通技术网
- 本文地址: /boutique/detail/tanhgbfche
-
photoshop保存的图片太大微信发不了怎么办
PHP中文网 06-15 -
Android 11 保存文件到外部存储,并分享文件
Luke 10-12 -
《学习通》视频自动暂停处理方法
HelloWorld317 07-05 -
word里面弄一个表格后上面的标题会跑到下面怎么办
PHP中文网 06-20 -
photoshop扩展功能面板显示灰色怎么办
PHP中文网 06-14 -
微信公众号没有声音提示怎么办
PHP中文网 03-31 -
excel下划线不显示怎么办
PHP中文网 06-23 -
怎样阻止微信小程序自动打开
PHP中文网 06-13 -
excel打印预览压线压字怎么办
PHP中文网 06-22 -
TikTok加速器哪个好免费的TK加速器推荐
TK小达人 10-01