Presentation is loading. Please wait.

Presentation is loading. Please wait.

Westmont College 网络互连 Part 4 (传输协议, UDP and TCP, 协议端口)

Similar presentations


Presentation on theme: "Westmont College 网络互连 Part 4 (传输协议, UDP and TCP, 协议端口)"— Presentation transcript:

1 Westmont College 网络互连 Part 4 (传输协议, UDP and TCP, 协议端口)
CS 140 Part XIII 网络互连 Part 4 (传输协议, UDP and TCP, 协议端口) Chapter 24

2 传输协议(TCP) 是协议栈中单独的一层 概念上处于应用层和IP层的中间 2019/4/7 Westmont College CS 140
Chapter 24

3 术语 IP Transport Protocols 提供计算机到计算机间的通信服务 源和目的地址都是计算机
Westmont College CS 140 术语 IP 提供计算机到计算机间的通信服务 源和目的地址都是计算机 称为 machine-to-machine的通信 Transport Protocols 提供应用程序到应用程序间的通信服务 需要扩展寻址机制来识别应用程序 称为 end-to-end 的通信 2019/4/7 Chapter 24

4 传输协议的功能 识别发送和接收应用程序 可选的提供如下服务 注意: 不是所有的传输协议都能提供以上的功能 “可靠”的语义: 可靠性 流控制
阻塞控制 注意: 不是所有的传输协议都能提供以上的功能 “可靠”的语义: 数据在传输时不丢失、不乱序、不被复制。 不同于“安全”。 2019/4/7

5 两种主要的传输协议 传输控制协议 (TCP) 用户数据报协议 (UDP) 主要不同处 应用程序接口不同 功能不同 2019/4/7

6 用户数据报协议 (User Datagram Protocol ,UDP)
提供不可靠(unreliable)传输服务 不可靠:意味服务时可能会有丢包、坏包等情况发生,UDP不对此负责。 只需最少的 额外负荷 计算量 通讯量 适用于:局域网应用程序 2019/4/7

7 UDP details 采用无连接服务模式 每条消息被封装到IP数据包中 UDP 报头中标记了 面向消息的服务接口 发送程序 接收程序
2019/4/7

8 标示应用程序 不能扩展IP地址 不能使用依赖于操作系统的东西 必须适用于所有的计算机系统 已经没有不用的位 Process ID
Task number Job name 必须适用于所有的计算机系统 2019/4/7

9 标示应用程序 (续) 创造新的抽象 方法: 只用于 TCP/IP协议栈 明确区分和标示发送者和接收者 为每一个应用程序分配唯一的整数标识
称为 protocol port number 2019/4/7

10 协议端口 服务器 客户端 按标准使用端口 总是使用相同的端口号 使用低端口号 从协议软件得到不用的端口 使用高端口号
如何查看服务器上有哪些端口可供使用? 2019/4/7

11 协议端口范例 53号端口被指派用来服务于域名服务程序DNS 使用DNS的应用程序得到端口28900
UDP 数据包从应用程序发送到DNS服务器有 源端口28900 目的端口 53 当DNS服务器做出应答,数据处理后数据包有 源端口 53 目的端口 28900 2019/4/7

12 传输控制协议 (TCP) 英特网使用的主要传输协议 广泛地使用 提供完全可靠的传输服务 应用程序不必担心IP包的复制、丢失等问题
2019/4/7

13 TCP 特点 面向连接的服务 点对点 全双工通信 流接口:应用程序通过它发送持续的字节序列。 流分解成segments
每个segment被封装在IP数据包中传输 使用协议端口来识别应用程序 2019/4/7

14 TCP 特点总结 TCP provides a completely reliable (no data duplication or loss), connection-oriented, full-duplex stream transport service that allows two application programs to form a connection, send data in either direction, and then terminate the connection TCP 提供完全可靠的 (无数据被复制或丢失), 面向连接的, 全双工流式传输服务,允许两个应用程序建立一个连接, 双向传输数据,然后结束这一连接。每一个TCP连接均可可靠的开始、优雅地结束,所以数据在连接关闭前均可被可靠的传输。 2019/4/7

15 TCP和其他协议之间的关联 一台计算机上的TCP实体使用IP和另外一台计算机上的TCP实体进行通讯. 2019/4/7

16 明显的矛盾 IP提供不可靠的尽力传输服务 TCP 使用IP 而TCP 提供完全可靠的传输 这怎么可能?
系统重启后,如何区分上一个连接的数据包? 2019/4/7

17 达成可靠性 可靠的连接启动 可靠的数据传输 完美的连接关闭 2019/4/7

18 可靠数据传输 确认 重发 当数据到达时候,接收者返回短消息 称为 acknowledgment 消息一发送,发送者起动计时器
如果在确认消息到达前计时器终止, 发送者将重发消息 2019/4/7

19 重传图解 2019/4/7

20 在重传前TCP会等多久? 确认信息到达的时间依赖于 可能同时打开多个连接 流量条件可能迅速改变 与目的地的距离 当前的流量条件
LAN: 几毫秒 卫星? 当前的流量条件 可能同时打开多个连接 流量条件可能迅速改变 2019/4/7

21 要点 数据到达目的地以及返回确认所需要的延迟依赖于网络上流量和离目的地的距离. 因为TCP允许多应用程序和多个目的地进行并发通讯, 导致流量状况的不断变化,因此TCP必须处理迅速变化的多种不同延迟. 2019/4/7

22 解决重传问题 TCP发明以前,重传延迟使用固定值--往往较大。 最好能根据不断变化的条件而改变 TCP成功的关键 显然不好
检测并估计每个连接的往返时间 使用当前的估计来设置重发计时器 称为;自适应重传 TCP成功的关键 2019/4/7

23 自适应重传的图解 延时(空闲时间)依赖于对当前回路的估计 2019/4/7

24 TCP 流控制 接收者 宣告可用的缓冲区大小 称为 window 发送者 在确认信息到达前可以发出整个窗口大小的内容 2019/4/7

25 窗口宣告 每个确认信息都包含了新窗口信息 解释: 我已经收到x了,你还可以发y字节的数据. 称为 window advertisement
可以为0 (称为 closed window) 解释: 我已经收到x了,你还可以发y字节的数据. 2019/4/7

26 Illustration of Window Advertisement
2019/4/7

27 连接启动和关闭 连接启动 必须为可靠的 连接关闭 必须为完美的 2019/4/7

28 为什么启动和关闭连接困难 分段可能被 需要避免重复的“shut down”消息影响后面的连接 丢失 复制 延迟 无顺序的递送
任一方程序可以崩溃 任一方程序可以被重新启动 需要避免重复的“shut down”消息影响后面的连接 2019/4/7

29 TCP 启动/关闭连接问题的解决 使用三次消息交换 称为3次握手协议 是明确、可靠的启动和明确、完美的关闭连接的必要和充分条件
采用两个特殊的分段 SYN 用于启动连接 FIN 用于关闭 每次新连接,均采用一个新的32位随机数保证每一旧数据包干扰新连接。 2019/4/7

30 用于关闭连接的3次握手 在每个方向上发送的确认用于保证所有的数据在连接关闭前 均已到达 2019/4/7

31 TCP 数据段格式 所有的TCP有相同的格式 数据段分为两部分 数据 确认信息 SYN (启动) FIN (关闭) 报头
有效负载 (0或多于0字节的数据) 2019/4/7

32 TCP数据段格式 (续) 报头包含 协议端口号,用来识别 发送端应用 接收端应用 指明消息类型的位标记,比如 SYN FIN ACK
用于窗口宣告,确认信息等的域. 2019/4/7

33 TCP数据段 序列号SEQUENCE NUMBER用于指明数据在在流中什么位置 很少数据段包含OPTIONS 2019/4/7

34 SUMMARY 传输协议处于应用层协议和网际协议之间 TCP/IP包含两种传输协议 UDP 用户数据报协议 (UDP)
不可靠的 面向消息的接口 2019/4/7

35 SUMMARY (续) TCP 英特网上使用的主要传输协议 完全可靠的 面向流的接口 使用自适应重传机制 2019/4/7

36 SUMMARY (续) 协议端口 整数 用于识别发送和接收应用 允许多应用明确的,并发的通讯 2019/4/7
Westmont College CS 140 SUMMARY (续) 协议端口 整数 用于识别发送和接收应用 允许多应用明确的,并发的通讯 2019/4/7 Chapter 24


Download ppt "Westmont College 网络互连 Part 4 (传输协议, UDP and TCP, 协议端口)"

Similar presentations


Ads by Google