计算机网络 Computer Networks 第五讲TCP/P协议(三) 传輪层协议TCP与UDP 2021/2/22
2021/2/22 1 计算机网络 Computer Networks 第五讲 TCP/IP协议(三) ——传输层协议TCP与UDP
TCP/P与传输层 传输层的两项主要功能: 流量控制; 可靠传输 传输层提供两种服务 面向连接的传输服务(连接建立,数据传输,连接 释放) 无连接的传输服务 2021/2/22
2021/2/22 2 TCP/IP与传输层 – 传输层的两项主要功能: • 流量控制; • 可靠传输 – 传输层提供两种服务 • 面向连接的传输服务(连接建立,数据传输,连接 释放); • 无连接的传输服务
■服务质量( Quality of service) 传输层的一个主要功能是增强网络层提供 的服务质量; 典型传输层服务质量参数,如:连接建立 延迟、连接建立失败的概率、吞吐率、传 输延迟等 双方通过协商确定最后双方都能接收的参 数 2021/2/22
2021/2/22 3 ◼ 服务质量(Quality of Service) ◼ 传输层的一个主要功能是增强网络层提供 的服务质量; ◼ 典型传输层服务质量参数,如:连接建立 延迟、连接建立失败的概率、吞吐率、传 输延迟等 ◼ QoS参数在建立连接时,由传输用户描述, 双方通过协商确定最后双方都能接收的参 数
传输层协议 互联网在传输层有2个主要协议 面向连接的TCP 面向无连接的UDP 应用层 传输控制协议TcP)面向连接 传输层 用户数据报协议UDP)面向无连接 网络互联层 网络接口层 物理层 2021/2/22
2021/2/22 4 传输层协议 ◼ 互联网在传输层有2个主要协议 ◼ 面向连接的TCP ◼ 面向无连接的UDP 传输控制协议 (TCP) 用户数据报协议 (UDP) 应用层 传输层 网络互联层 网络接口层 物理层 面向连接 面向无连接
UDP(用户数据报协议) UDP是一个简单的面向数据报的传输层协议:进程的每个输出 操作都正好产生一个UDP数据报,并组装成一份待发送的IP数 据报 UDP不提供可靠性:它把应用程序传给I层的数据发送出去, 但是并不保证它们能到达目的地。可靠性由应用层协议保证。 使用UDP的协议包括:TFTP、SNMP、NFS、DNS等 IP数据报 UDP报文段 IP首部 UDP首部 UDP数据 20字节 8字节 UDP数据在IP数据报中的封装 2021/2/22
2021/2/22 5 UDP(用户数据报协议) ◼ UDP是一个简单的面向数据报的传输层协议:进程的每个输出 操作都正好产生一个UDP数据报,并组装成一份待发送的IP数 据报 ◼ UDP不提供可靠性:它把应用程序传给IP层的数据发送出去, 但是并不保证它们能到达目的地。可靠性由应用层协议保证。 ◼ 使用UDP的协议包括:TFTP、SNMP、NFS、DNS等 IP首部 UDP首部 UDP数据 20字节 8字节 IP数据报 UDP报文段 UDP数据在IP数据报中的封装
UDP报头格式 UDP首部 源端口号(16B) 目的端口号(16B) 8字节 UDP长度(16B) UDP检验和(16B) 数据(可选项) 端口号表示发送进程和接收进程。 UDP长度字段指的是UDP首部和UDP数据的字节长度。该字段 的最小值为8字节(发送一份0字节的UDP数据报是允许的) UDP检验和覆盖UDP首部和UDP数据 UDP和TCP在首部中都有覆盖它们首部和数据的检验和。UDP的 检验和是可选的,而TCP的检验和是必需的 2021/2/22
2021/2/22 6 UDP报头格式 ◼ 端口号表示发送进程和接收进程。 ◼ UDP长度字段指的是UDP首部和UDP数据的字节长度。该字段 的最小值为8字节(发送一份0字节的UDP数据报是允许的) ◼ UDP检验和覆盖UDP首部和UDP数据 ◼ UDP和TCP在首部中都有覆盖它们首部和数据的检验和。UDP的 检验和是可选的,而TCP的检验和是必需的 UDP首部 源端口号(16B) 目的端口号(16B) UDP长度(16B) UDP检验和(16B) 数据(可选项) 8字节
UDP伪头部 UDP 首部数据 伪报头源端口目的端口长度检验和 12-2 2 2 伪报头 源P地址的地址017UDP长度 2 共12字节 这种伪首部,并不是UDP数据报真正的首部,只是在计算检验和 时,临时和UDP数据报连接在一起,得到一个过渡的UDP数据报 2021/2/22
2021/2/22 7 UDP伪头部 首部 数据 UDP 伪报头源端口目的端口 长度检验和 12 2 2 2 2 源IP地址目的IP地址 0 17 UDP长度 4 4 1 1 2 共12字节 伪报头 这种伪首部,并不是UDP数据报真正的首部,只是在计算检验和 时,临时和UDP数据报连接在一起,得到一个过渡的UDP数据报
TCP(传输控制协议) ■TCP是一种面向连接的协议 TCP的目的:用于在不可靠的互连网络上(不 同的拓扑结构、带宽、延迟、分组大小及其 它参数)实现可靠的端-端字节流服务 层不保证报文正确传输,TCP进行超时重 传控制 ■报文不一定按顺序到达,TCP进行重新装配 2021/2/22
2021/2/22 8 TCP(传输控制协议) ◼ TCP是一种面向连接的协议 ◼ TCP的目的:用于在不可靠的互连网络上(不 同的拓扑结构、带宽、延迟、分组大小及其 它参数)实现可靠的端-端字节流服务 ◼ IP层不保证报文正确传输,TCP进行超时重 传控制 ◼ 报文不一定按顺序到达,TCP进行重新装配
TCP的功能 多路复用多种应用数据 TCP同时接收多个应用数据,把它们打包到数据 段中传给IP TCP能同时接收多个应用的数据 TCP通过端口来实现跟踪记录到达的报文要转发 到的应用程序端口80:超文本传输协议http ■测试所接收数据的完整性 比较TCP头的校验和,如果出现问题就给源主机 发一请求,要求其重发一份数据拷贝 顺序化乱序接收的数据 通过查看TCP头中的序列号域可以完成这个任务 2021/2/22
2021/2/22 9 TCP的功能 ◼ 多路复用多种应用数据 ◼ TCP同时接收多个应用数据,把它们打包到数据 段中传给IP ◼ TCP能同时接收多个应用的数据 ◼ TCP通过端口来实现跟踪记录到达的报文要转发 到的应用程序(端口80:超文本传输协议,http ) ◼ 测试所接收数据的完整性 ◼ 比较TCP头的校验和,如果出现问题就给源主机 发一请求,要求其重发一份数据拷贝 ◼ 顺序化乱序接收的数据 ◼ 通过查看TCP头中的序列号域可以完成这个任务
TCP的功能 速率-适应的流控 流量控制使用的是TCP窗口大小。源和目的机的窗口大小 通过TCP头进行通信 如果机器的缓冲完全被填满,它就会发送一个有关最后收 到数据的应答报文,其中新的窗口大小为0。这样会有效地 使发送停止,直到拥塞的机器能清理掉其缓冲 定时功能 计时器可以间接地管理网络拥塞,其方法是当超时出现时 减慢传输率 应答接收 没被应答的数据段被认为在传输过程中已丢失,并被重传 2021/2/22 10
2021/2/22 10 TCP的功能 ◼ 速率-适应的流控 ◼ 流量控制使用的是TCP窗口大小。源和目的机的窗口大小 通过TCP头进行通信 ◼ 如果机器的缓冲完全被填满,它就会发送一个有关最后收 到数据的应答报文,其中新的窗口大小为0。这样会有效地 使发送停止,直到拥塞的机器能清理掉其缓冲 ◼ 定时功能 ◼ 计时器可以间接地管理网络拥塞,其方法是当超时出现时 减慢传输率 ◼ 应答接收 ◼ 没被应答的数据段被认为在传输过程中已丢失,并被重传