复用/分用:举例 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)的复杂性