




已阅读5页,还剩45页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
传输层 1 主讲 赵玉娟E mail zhaoyujuan 1 上节知识回顾 网络层提供的服务网际协议IP划分子网和构造超网因特网的路由选择协议 2 学习目标 了解传输层定义和主要内容 包含的协议 理解用户数据报协议UDP工作机制 数据报文格式 理解传输控制协议TCP工作机制 数据报文格式 重点理解端口 套接字概念 传输层逻辑连接的概念 为什么要设置传输层 传输层的主要功能是什么 UDP协议的特点是什么 TCP协议的特点是什么 3 目录 1传输层协议概述2用户数据报协议UDP3传输控制协议TCP 4 传输层协议概述 从通信和信息处理角度看 传输层向它上面的应用层提供通信服务 它属于面向通信部分的最高层 同时也是用户功能中的最低层 物理层 网络层 运输层 应用层 数据链路层 面向信息处理 面向通信 用户功能 网络功能 计算机网络的本质是实现分布在不同地理位置的联网主机之间的进程通信 以实现各种网络服务功能 传输层的主要作用就是要实现分布式进程通信 它是实现各种网络应用与应用层协议的基础 5 网络层提供的服务的问题 引入传输层必要性 网络层提供服务存在问题 分组向进程递交分组传输不可靠无法确定数据到达终点时间子网中各站点存储转发的随机性无法确定数据未达终点状态丢失 延迟 即刻到达 乱序 重复拷贝 限制报文在某个有限大小 引入传输层作用消除网络层不可靠 无法控制通信子网 改善质量 增强网络层QoS 提供端到端服务 提供可靠 与实际使用网络无关信息传输 有必要增强网络层提供的服务质量 6 传输层为相互通信的应用进程提供了逻辑通信 54321 IP层 AP1 AP2 AP4 54321 AP3 当网络边缘的两个主机使用网络核心部分的功能进行端到端的通信时 只有位于网络边缘部分的主机的协议栈才有传输层 而网络核心部分中的路由器在转发分组时都只用到下三层的功能 7 传输层协议和网络层协议的主要区别 因特网 8 传输层的主要功能 传输层为应用进程之间提供端到端的逻辑通信 网络层是为主机之间提供逻辑通信 两个主机进行通信实际上就是两个主机中的应用进程互相通信 应用进程之间的通信又称为端到端的通信 传输层向高层用户屏蔽了下面网络核心的细节 如网络拓扑 所采用的路由选择协议等 它使应用进程看见的就好像在两个传输层实体之间有一条端到端的逻辑通信信道 传输层对收到的报文进行差错检测 传输层实现复用和分用 应用层不同进程的报文通过不同的端口向下交付给传输层 再往下就共用网络层提供的服务 9 传输层的主要协议 面向连接的传输控制协议TCP尽管下面的网络是不可靠的 只提供尽最大努力服务 但这种逻辑通信信道就相当于一条全双工的可靠信道 TCP传送的协议数据单位是TCP报文段 segment 无连接的用户数据报协议UDP这种逻辑通信信道是一条不可靠信道 UDP传送的协议数据单位是UDP报文或用户数据报 10 传输层的多路复用与分用 11 目录 1传输层协议概述2用户数据报协议UDP3传输控制协议TCP 12 UDP概述 UDP只在IP的数据报服务之上增加了很少一点的功能 即端口的功能和差错检测的功能 UDP是无连接的 即发送数据之前不需要建立连接 UDP使用尽最大努力交付 不保证可靠交付 同时也不使用拥塞控制 UDP支持一对一 一对多交互通信 UDP的首部开销小 只有8个字节 13 UDP工作过程 发送方UDP对应用程序交下来的报文 在添加首部后就向下交付IP层 UDP对应用层交下来的报文 既不合并 也不拆分 应用层交给UDP多长的报文 UDP就照样发送 即一次发送一个报文 应用程序必须选择合适大小的报文 接收方UDP对IP层交上来的UDP用户数据报 在去除首部后就原封不动地交付上层的应用进程 一次交付一个完整的报文 14 面向报文的UDP IP层 传输层 应用层报文 应用层 15 首部 首部 UDP的首部格式 数据 数据 UDP用户数据报 16 伪首部 源端口 目的端口 长度 检验和 数据 首部 UDP长度 源IP地址 目的IP地址 0 17 IP数据报 字节 4 4 1 1 2 12 2 2 2 2 字节 发送在前 数据 首部 UDP用户数据报 用户数据报UDP有两个字段 数据字段和首部字段 首部字段有8个字节 由4个字段组成 每个字段都是两个字节 17 伪首部 源端口 目的端口 长度 检验和 数据 首部 UDP长度 源IP地址 目的IP地址 0 17 IP数据报 字节 4 4 1 1 2 12 2 2 2 2 字节 发送在前 数据 首部 UDP用户数据报 在计算检验和时 临时把 伪首部 和UDP用户数据报连接在一起 伪首部仅仅是为了计算检验和 18 计算UDP检验和的例子 1001100100010011 153 190000100001101000 8 1041010101100000011 171 30000111000001011 14 110000000000010001 0和170000000000001111 150000010000111111 10870000000000001101 130000000000001111 150000000000000000 0 检验和 0101010001000101 数据0101001101010100 数据0100100101001110 数据0100011100000000 数据和0 填充 1001011011101101 求和得出的结果0110100100010010 检验和 按二进制反码运算求和将得出的结果求反码 全0171510871315全0数据数据数据数据数据数据数据全0 19 目录 1传输层协议概述2用户数据报协议UDP3传输控制协议TCP 20 TCP最主要的特点 TCP是面向连接的传输层协议 每一条TCP连接只能有两个端点 每一条TCP连接只能是点对点的 一对一 TCP提供可靠交付的服务 TCP提供全双工通信 面向字节流 21 TCP面向流的概念 发送TCP报文段 发送方 接收方 把字节写入发送缓存 从接收缓存读取字节 应用进程 应用进程 加上TCP首部构成TCP报文段 TCP TCP H 表示TCP报文段的首部 x 表示序号为x的数据字节 TCP连接 22 应当注意 TCP连接是一条逻辑连接而不是一条真正的物理连接 TCP不关心应用进程一次发送多长的报文到TCP缓存中 TCP根据对方给出的窗口值和当前网络拥塞的程度决定一个报文段应包含多少个字节 UDP如何做 TCP既可以把长数据块划分为短数据块传送 也可以等待积累足够多的字节后再构成报文段发送出去 23 TCP的连接 TCP把连接作为最基本的抽象 每一条TCP连接有两个端点 TCP连接的端点不是主机 不是主机的IP地址 不是应用进程 也不是传输层的协议端口 TCP连接的端点叫做套接字 socket 或插口 端口号拼接IP地址即构成了套接字 24 端口号 标识进程 在传输层使用协议端口号 简称为端口 采用16位标识 虽然通信的终点是应用进程 但可以把端口想象是通信的终点 只要把要传送的报文交到目的主机的某一个合适的目的端口 剩下的工作 即最后交付目的进程 就由TCP来完成 端口是逻辑概念 软件端口 地址 注意与硬件端口概念区别 端口号只具有本地意义 端口号只标志本计算机应用层中的各进程 在因特网中不同计算机的相同端口号没有联系 25 三类端口 端口号的数值范围 端口用16位的端口号进行标识 在TCP IP协议族中 端口号取0 65535之间的整数 端口号的类型 熟知端口 数值一般为0 1023 注册端口号 数值为1024 49151 为没有熟知端口号的应用程序使用的 使用这个范围的端口号必须在IANA登记 以防止重复 临时端口号 数值为49152 65535 留给客户进程选择 暂时使用 一次通信中 动态使用端口号 通信结束后 这个端口号可供其他客户进程以后使用 26 UDP的熟知端口号的分配 27 TCP的熟知端口号的分配 28 套接字 socket 套接字socket IP地址 端口号 每一条TCP连接唯一地由通信两端的两个端点 即两个套接字 所确定 即 TCP连接 socket1 socket2 IP1 port1 IP2 port2 29 套接字 网络层定义了IP地址 传输层需要解决的第一个问题是进程标识 同一台计算机中 不同应用进程可以用进程号唯一地标识 进程号又称端口号 portnumber 网络环境中 标识一个进程必须同时使用IP地址与端口号 套接字 socket 或套接字地址 socketaddress 表示一个IP地址与对应的一个进程标识 套接字是建立网络应用程序的可编程接口 因此套接字又称为应用编程接口 applicationprogramminginterface API 30 应用进程 传输层接口与套接字 应用进程 套接字与传输层协议的关系 31 TCP首部 20字节的固定首部 目的端口 数据偏移 检验和 选项 长度可变 源端口 序号 紧急指针 窗口 确认号 保留 FIN 32位 SYN RST PSH ACK URG 位08162431 填充 TCP数据部分 TCP首部 TCP报文段 IP数据部分 IP首部 发送在前 TCP报文段的首部格式 32 TCP首部 20字节固定首部 目的端口 数据偏移 检验和 选项 长度可变 源端口 序号 紧急指针 窗口 确认号 保留 FIN SYN RST PSH ACK URG 位08162431 填充 源端口和目的端口字段 各占2字节 端口是传输层与应用层的服务接口 实现复用和分用功能 33 TCP首部 20字节固定首部 目的端口 数据偏移 检验和 选项 长度可变 源端口 序号 紧急指针 窗口 确认号 保留 FIN SYN RST PSH ACK URG 位08162431 填充 序号 4字节 TCP连接中传送的数据流中的每一个字节都编上一个序号 指的是本报文段所发送的数据的第一个字节的序号 34 TCP首部 20字节固定首部 目的端口 数据偏移 检验和 选项 长度可变 源端口 序号 紧急指针 窗口 确认号 保留 FIN SYN RST PSH ACK URG 位08162431 填充 确认号 占4字节 是期望收到对方的下一个报文段的数据的第一个字节的序号 35 TCP首部 20字节固定首部 目的端口 数据偏移 检验和 选项 长度可变 源端口 序号 紧急指针 窗口 确认号 保留 FIN SYN RST PSH ACK URG 位08162431 填充 数据偏移 即首部长度 4位 指出TCP报文段的数据起始处距离TCP报文段的起始处有多远 数据偏移 的单位是32位字 以4字节为计算单位 36 TCP首部 20字节固定首部 目的端口 数据偏移 检验和 选项 长度可变 源端口 序号 紧急指针 窗口 确认号 保留 FIN SYN RST PSH ACK URG 位08162431 填充 保留字段 占6位 保留为今后使用 但目前应置为0 37 TCP首部 20字节固定首部 目的端口 数据偏移 检验和 选项 长度可变 源端口 序号 紧急指针 窗口 确认号 保留 FIN SYN RST PSH ACK URG 位08162431 填充 紧急URG 当URG 1时 表明紧急指针字段有效 它告诉系统此报文段中有紧急数据 应尽快传送 相当于高优先级的数据 38 TCP首部 20字节固定首部 目的端口 数据偏移 检验和 选项 长度可变 源端口 序号 紧急指针 窗口 确认号 保留 FIN SYN RST PSH ACK URG 位08162431 填充 确认ACK 只有当ACK 1时确认号字段才有效 当ACK 0时 确认号无效 39 TCP首部 20字节固定首部 目的端口 数据偏移 检验和 选项 长度可变 源端口 序号 紧急指针 窗口 确认号 保留 FIN SYN RST PSH ACK URG 位08162431 填充 推送PSH PuSH 接收TCP收到PSH 1的报文段 就尽快地交付接收应用进程 而不再等到整个缓存都填满了后再向上交付 40 TCP首部 20字节固定首部 目的端口 数据偏移 检验和 选项 长度可变 源端口 序号 紧急指针 窗口 确认号 保留 FIN SYN RST PSH ACK URG 位08162431 填充 复位RST ReSeT 当RST 1时 表明TCP连接中出现严重差错 如由于主机崩溃或其他原因 必须释放连接 然后再重新建立运输连接 41 TCP首部 20字节固定首部 目的端口 数据偏移 检验和 选项 长度可变 源端口 序号 紧急指针 窗口 确认号 保留 FIN SYN RST PSH ACK URG 位08162431 填充 同步SYN 同步SYN 1表示这是一个连接请求或连接接受报文 42 TCP首部 20字节固定首部 目的端口 数据偏移 检验和 选项 长度可变 源端口 序号 紧急指针 窗口 确认号 保留 FIN SYN RST PSH ACK URG 位08162431 填充 终止FIN FINis 用来释放一个连接 FIN 1表明此报文段的发送端的数据已发送完毕 并要求释放运输连接 43 TCP首部 20字节固定首部 目的端口 数据偏移 检验和 选项 长度可变 源端口 序号 紧急指针 窗口 确认号 保留 FIN SYN RST PSH ACK URG 位08162431 填充 窗口字段 占2字节 用来让对方设置发送窗口的依据 单位为字节 44 TCP首部 20字节固定首部 目的端口 数据偏移 检验和 选项 长度可变 源端口 序号 紧急指针 窗口 确认号 保留 FIN SYN RST PSH ACK URG 位08162431 填充 检验和 占2字节 检验和字段检验的范围包括首部和数据这两部分 在计算检验和时 要在TC
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
评论
0/150
提交评论