- 1、本文档共45页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第5讲 传输层 本讲目的: 理解传输层服务的原理: 复用/分用 可靠数据传输 流量控制 拥塞控制 Internet传输层的实现和实例 教科书参考 第3章 本讲概述: 传输层的服务 复用/分用 无连接的传输: UDP 可靠数据传输原理 5.1 传输服务和协议 提供运行在不同主机中进程间的逻辑通信 传输协议仅运行在端系统中 传输 vs. 网络层服务 : 网络层: 在端系统间进行通信 传输层: 在进程间进行通信 依赖于, 加强了, 网络层的服务 传输层协议 Internet 传输服务: 可靠, 按序点对点递交 (TCP) 拥塞控制 流量控制 连接建立 不可靠的 (“尽力而为”), 无序的点对点或广播递交: UDP 不能提供的服务: 实时性 带宽承诺 可靠的广播通信 回顾: segment (段)- 传输层实体间交换数据的单位 TPDU: 传输层数据单元 基于发送方, 接收方的端口号, IP 地址 源, 目的端口 #s 存在于每个段中 回顾: 用于特定应用的常用端口号(well-known port number) 举例 5.2 UDP: 用户数据报协议 [RFC 768] “最简约的” Internet 传输协议 “尽力而为的” 服务, UDP 数据段可以: 丢失 应用数据不按序到达 无连接: 在UDP收发双方之间, 无需握手信号 每个 UDP 数据段的操作都互相独立 为什么需要 UDP? 无需建立连接 (会增加延迟) 简单: 在收发双方之间没有连接状态 段首较短 无拥塞控制: UDP 可按需要随时发送 UDP: (续) 经常为流媒体应用使用 允许数据丢失 对传输速率敏感 其他 UDP用途 (why?): DNS SNMP 若需要通过 UDP进行可靠传输:在应用层增加可靠性措施 在应用程序中-专门的出错恢复机制! UDP 校验和(checksum) 发送方: 将段的内容看作一串16位整数 checksum: 作段内容的加法(补码和) 发送方将补码和放入 UDP checksum 字段 接收方: 对接收到的段内容进行补码和计算 检查计算结果是否与收到的校验和相等: NO – 查出错误 YES – 没查出错误. 但是仍有可能存在错误? 5.3 流水线协议 流水作业: 发送端允许发送多个, “悬在空中”, 等待应答的分组 必须增加顺序号的位数 在发送和接收端增加缓存 两种常用的流水线协议: 第N个分组重发(go-Back-N), 选择应答 从第N个分组重发(Go-Back-N) 发送方: 在分组首部设置k位 seq # 使用尺寸为N的“滑动窗口”, 允许连续的多个分组不被应答 GBN: 发送方扩展的 FSM GBN: 接收方扩展的 FSM 接收方举例: ACK-only: 总是对正确接收到的分组中按序( in-order )对最高 seq # 进行ACK 可以产生重复的ACKs 仅仅需要记住 expectedseqnum(预期的序号) 失序分组: 丢弃 (不缓存) - 不进行接收缓存! 接收到的分组中按序对最高 seq # 进行ACK GBN 的运行 选择应答(SR) 接收方逐个对所有正确收到的分组进行应答 如有必要,对接收到的(失序)分组进行缓存, 以便最后对上层进行有序递交 发送方仅对未收到应答的分组进行重发 发送方未每个unACKed 分组设置计时器 发送方的窗口 N 个连续的 seq #’s 同样对已发送的seq #s, unACKed分组进行限制 选择应答: 发送方, 接收方的窗口 选择应答 上层数据到达 : 如果窗口中的下一个序号可用,发送分组 timeout(n):第n个计时器跳 重发分组n, 计时器复位 ACK(n) 到达[sendbase,sendbase+N]: 标记分组 n 已经收到 如n为unACKed分组中的最小值, 将窗口下沿前推倒下一个unACKed seq # 选择应答的运行 5.4 TCP RFCs: 793, 1122, 1323, 2018, 2581 全双工数据传输: 在同一连接上双向传输 MSS: maximum segment size(最大段字节数-1500,536,512) 面向连接: 握手过程 (交换控制信息) 在交换数据前初始化收发双方的状态,“三次握手” 流量控制: 发送方的发送速度不得超过接收方的处理速度 点对点: 一个发送方, 一个接收方 可靠, 按序的字节流 : 无 “报文边界”,无结构但有顺序 流水式控制: TCP的拥塞和流量控制,设置窗口大小 发送 接收缓存 TCP 段格式(p238) TCP seq. #’s 和 ACKs Seq. #’s: 该数据段第一个字节在(整个报文)字节流中 “编号” ACKs: seq
文档评论(0)