第3讲传输层之 本讲目的: 本讲概述: 口理解传输层服务的原口传输层的服务 理 o复用/分用 T复用/分用 o可靠数据传输 口无连接的传输:UDP o流量控制 T可靠数据传输原理 o拥塞控制 口工 nternet传输层的实 现和实例 口教科书参考 o第8章 主讲人:西安交通大学程向前 第3讲传输层之二1
主讲人:西安交通大学 程向前 第3讲 传输层之一 1 第3讲 传输层之一 本讲目的: 理解传输层服务的原 理: 复用/分用 可靠数据传输 流量控制 拥塞控制 Internet传输层的实 现和实例 教科书参考 第8章 本讲概述: 传输层的服务 复用/分用 无连接的传输: UDP 可靠数据传输原理
传输服务和协议 口提供运行在不同主机中进 ication 程间的逻舞通信 data link networ 口传输协议仅运行在端系统 data link 中 口传输vs.网络层服务 be, physical i network data link 门网络层:在端系统间进行 physical 通信 受 门传输层:在进程间进行通 application 信 o依赖于,加强了,网络层的 服务 主讲人:西安交通大学程向前 第3讲传输层之二2
主讲人:西安交通大学 程向前 第3讲 传输层之一 2 传输服务和协议 提供运行在不同主机中进 程间的逻辑通信 传输协议仅运行在端系统 中 传输 vs. 网络层服务 : 网络层: 在端系统间进行 通信 传输层: 在进程间进行通 信 依赖于, 加强了, 网络层的 服务 application transport network data link physical application transport network data link physical network data link physical network data link physical network data link physical network data link network physical data link physical
传输层协议 Internet传输服务 口可靠,按序点对点递交 lication 〔TcP data link o拥塞控制 data link o流量控制 o连接建立 network 口不可靠的C尽力而为”) data link physical 无序的点对点或广播递交 受 UDP 口不能提供的服务: application 实时性 o带宽承诺 o可靠的广播通信 主讲人:西安交通大学程向前 第3讲传输层之二3
主讲人:西安交通大学 程向前 第3讲 传输层之一 3 传输层协议 Internet 传输服务: 可靠, 按序点对点递交 (TCP) 拥塞控制 流量控制 连接建立 不可靠的 (“尽力而为”), 无序的点对点或广播递交 : UDP 不能提供的服务: 实时性 带宽承诺 可靠的广播通信 application transport network data link physical application transport network data link physical network data link physical network data link physical network data link physical network data link network physical data link physical
复用/分用 (multiplexing/Demultiplexing 回顾: segment(段) 传输层实体间交换数据分用:将接收到的段传 的单位 O TPDU:传输层数撂递给正确的应用层进程 单元 receiver P3 application-layer P4 M(M data applicatio segment trarsport P2 eader M M net work applcation application gment→ M transpor- transport Hnl Metwork network 主讲人:西安交通大学程向前 第3讲传输层之二4
主讲人:西安交通大学 程向前 第3讲 传输层之一 4 application transport network M P2 application transport network 复用/分用(multiplexing/Demultiplexing) 回顾: segment (段)- 传输层实体间交换数据 的单位 TPDU: 传输层数据 单元 receiver Ht Hn 分用: 将接收到的段传 递给正确的应用层进程 segment segment M application transport network P1 M M M P3 P4 segment header application-layer data
复用/分用 复用: 从多个应用进程获取 32 bits 数据,用首部(便于随 游端口#宿端口# 后的分用)封装数据 其他首部字段 复用/分用: 口基于发送方,接收方的端口 号,TP地址 o源,目的端口#s存在于 应用层数据 每个段中 报文) o回顾:用于特定应用的常 用端口号(wel|- known port number TCP/UDP段格式 主讲人:西安交通大学程向前 第3讲传输层之二5
主讲人:西安交通大学 程向前 第3讲 传输层之一 5 复用/分用 复用/分用: 基于发送方, 接收方的端口 号, IP 地址 源, 目的端口 #s 存在于 每个段中 回顾: 用于特定应用的常 用端口号(well-known port number) 从多个应用进程获取 数据, 用首部(便于随 后的分用)封装数据 源端口 # 宿端口 # 32 bits 应用层数据 (报文) 其他首部字段 TCP/UDP 段格式 复用:
复用/分用:举例 source port:x Web客户端 主机Ales+por+:23服务器B 主机C ource port: dest. port: x I Source IP: C Source IP: C Dest ip: B Dest ip: B source port:y source port:x 端口的使用:简单的 telnet应用 dest. port: 80 dest. port: 80 Source IP:A Dest ip: B Web Web客户端 source port:x 服务器B 主机A dest port: 80 端口的使用:Web服务器 主讲人:西安交通大学程向前 第3讲传输层之二6
主讲人:西安交通大学 程向前 第3讲 传输层之一 6 复用/分用: 举例 主机 A 服务器 B source port: x dest. port: 23 source port:23 dest. port: x 端口的使用: 简单的 telnet 应用 Web客户端 主机 A Web 服务器 B Web客户端 主机 C Source IP: C Dest IP: B source port: x dest. port: 80 Source IP: C Dest IP: B source port: y dest. port: 80 端口的使用: Web 服务器 Source IP: A Dest IP: B source port: x dest. port: 80
UDP:用户数据报协议[RFC768] 口“最简约的”工 terne↑传 输协议 为什么需要UDP? "尽力而为的”服务,UDP 数据段可以: 口无需建立连接(会增加 o丢失 延迟 o应用数据不按序到达 口简单:在收发双方之间 无连接: 没有连接状态 O在UDP收发双方之间,无 段首较短 需握手信号 口无拥塞控制:UDP可按 o每个UDP数据段的操作 都互相独立 需要随时发送 主讲人:西安交通大学程向前 第3讲传输层之二7
主讲人:西安交通大学 程向前 第3讲 传输层之一 7 UDP: 用户数据报协议 [RFC 768] “最简约的” Internet 传 输协议 “尽力而为的” 服务, UDP 数据段可以: 丢失 应用数据不按序到达 无连接: 在UDP收发双方之间, 无 需握手信号 每个 UDP 数据段的操作 都互相独立 为什么需要 UDP? 无需建立连接 (会增加 延迟) 简单: 在收发双方之间 没有连接状态 段首较短 无拥塞控制: UDP 可按 需要随时发送
UDP:(续) 口经常为流媒体应用使用 o允许数据丢失 对传输速率敏感 32 bits 其他UDP用途 长度,UDP 源端口# 宿端口# (why?) 段的字节数 length checksum O DNS 包括首部 O SNMP 口若需要通过UDP进行可靠 传输:在应用层增加可靠性 应用层数据 措施 报文) o在应用程序中-专门的 出错恢复机制! UDP数据报格式 主讲人:西安交通大学程向前 第3讲传输层之二8
主讲人:西安交通大学 程向前 第3讲 传输层之一 8 UDP: (续) 经常为流媒体应用使用 允许数据丢失 对传输速率敏感 其他 UDP用途 (why?): DNS SNMP 若需要通过 UDP进行可靠 传输:在应用层增加可靠性 措施 在应用程序中-专门的 出错恢复机制! 源端口 # 宿端口 # 32 bits 应用层数据 (报文) UDP 数据报格式 length checksum 长度, UDP 段的字节数, 包括首部
UDP校验和( checksum) 且标:检测传输段中的“错误”(e.g.,位错 发送方: 接收方: 口将段的内容看作一串16日对接收到的段内容进行补码和 位整数 口检查计算结果是否与收到的校 g checksum:作段内容 验和相等 的加法(补码和) ONO-查出错误 T发送方将补码和放入 oYEs-没查出错误.但是仍 UDP checksum字段 有可能存在错误? 主讲人:西安交通大学程向前 第3讲传输层之一9
主讲人:西安交通大学 程向前 第3讲 传输层之一 9 UDP 校验和(checksum) 发送方: 将段的内容看作一串16 位整数 checksum: 作段内容 的加法(补码和) 发送方将补码和放入 UDP checksum 字段 接收方: 对接收到的段内容进行补码和 计算 检查计算结果是否与收到的校 验和相等: NO – 查出错误 YES – 没查出错误. 但是仍 有可能存在错误? 目标: 检测传输段中的“错误” (e.g., 位错)
可靠数据传输原理 在应用、传输、链路层都十分重要 口属于网络工程的top-10课题之一! CO=OO= sending recelver process process data data Reliable channel rat send()↓四 a ata deliver_data( reliable data reliable data transfer protocol transfer protocol (sending side) (receiving side udt send(I packet] packet frat rcv() Unreliable channe (a) provided service (b) service implementation 口不可靠传输通道的特性将决定可靠传输协议(rdt)的复杂性 主讲人:西安交通大学程向前 第3讲传输层之一10
主讲人:西安交通大学 程向前 第3讲 传输层之一 10 可靠数据传输原理 在应用、传输、链路层都十分重要 属于网络工程的top-10 课题之一! 不可靠传输通道的特性将决定可靠传输协议(rdt)的复杂性