第六章 传输层的故障诊断与维护
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
应用进程之间的通信
Hale Waihona Puke Baidu
两个主机进行通信实际上就是两个主机中的应用进程互相通信
应用进程之间的通信又称为端到端的通信
运输层的一个很重要的功能就是复用和分用,应用层不同进行的报文通 过不同的端口向下交到运输层,再往下就共用网络层提供的服务
运输层提供应用进程间的逻辑通信,“逻辑通信”的意思是:运输层之 间的通信好象是沿水平方向传送数据,但事实上这两个运输层之间并没 有一条水平的物理连接。
TCP传输的可靠是由于使用了序号和确认
TCP的连接管理
客房服务器方式
用三次握手建立TCP连接
建立TCP连接
三次握手的原因
TCP连接释放过程
6.3 传输层的故障诊断与排除
一、传输层的故障类别
物理错误 主要包括CRC校验错误、对齐数据包错误、过大数据包错误、过小数据包错误, 此类数据包由于存在错误会直接被子网卡丢弃,而不会被子传给操作系统处理
第六章 传输层的故障 诊断与维护
6.1 传输层的功能
传输层的概述
传输层也称为运输层,是介于三层通信子网和 高三层资源子网之间的一层。从通信和信息 处理的角度看,运输层向它上面的应用层提 供通信服务,它属于面向通信部分的最高层, 同时也是用户功能中的最低层。
运输层为相互通信的应用进程提供了逻辑通信
接收端将TCP报文段先存入接收缓存中,然后逐个读取
TCP报文的首部
TCP的数据编号与确认
TCP协议是面向字节的,TCP将所要传送的报文看成是字节组成的数据流, 并使每一个字节对应于一个序号
在连接建立时,双方要商定初始序号,TCP每次发送的报文段的首部中的 序号字段值表示该报文段中的数据部分的第一个字节的序号 TCP的确认是对接收到的数据的最高序号表示确认接收端返回的确认号 是已收到的数据的最高序号加1,因此确认号表示接收端期望下次收到的 数据中的第一个数据字节的序号
IP校验和错误 目标主机对接收到的数据包IP报头进行校验,并与源端的校验进行比较,如经较 的结果不一致,就表示该数据包传输过程中被修改,并将数据包丢弃
TCP检验和错误
目标主机对接收到的数据包的TCP报头进行校验,并与源端的校验和进行比较, 如比较的结果不一致,就表示该数据包在传输过程中被修改,并将该数据包丢弃
注意
运输层的UDP用户数据报与网络层的IP数据报有很大的区别。 IP数据报要经过互连网中许多路由器的存储转发,但UDP用 户数据报是在运输层的端到端的抽象的逻辑信道中传送的, 运输层看不见路由器,路由器看不见运输层用户数据报 TCP报文段是在运输层抽象的端到端逻辑信通中传送,这种 信道是可靠的全双工信道,但这样的信道却不知道究竟经过 了哪些路由器,而这些路由器也根本不知道上面的运输层是 否建立了TCP连接
发送UDP数据报
接收端将UDP数据报和伪首部一起按二进制反码求和,当无差错时应 为全1,否则表示有差错
计算UDP检验和的例子
三、TCP协议
概述
双工通信,每个端口两个对列 发送端的应用进程不断地将数据块(长短可能不同)陆续写 入到TCP的发送缓存中,TCP再从发送缓存中取出数据 组成TCP报文段(Segment)逐个传送给IP层,然后发 送出去
运输层协议和网络层协议的主要区别
运输层与其上下层之间的关系 OSI表示法
提供运输服务的是运输实体
使用运输服务的是运输服务用户 运输协议保证了运输层能够向应用层提供运
输服务
运输层向上提供可靠的和不可靠的逻 辑通信信道
运输层向高层用户屏蔽了下面通信子网的细
节,它使应用进行看见的就是好象在两个运 输层之间有一条端到端的逻辑通信信道
检验和的计算
计算检验和时将首部和数据部分一起检验 先将检验和字段填充全0 再将伪首部和UDP用户数据报看成多个16bit的字串接起来,若UD P用户数据报的数据部分不是偶数个字节,则要填写入一个全0字节 (此字节不发送) 然后按二进制把码计算出这些16位字的和 将和写入检验和字段
运输层提供可靠交付,是指运输层将数据可
靠地交会给接收端的应用层
可靠信道:无差错,无丢失,无重复,按序
运输层功能
数据分段 流量控制 校验和的提供
对数据的辨认
决定服务质量 面向连接意味着可靠
面向无连接意味着不可靠
6.2 运输层的两个协议
TCP/IP的运输层有两个不同的协议 1、用户数据报协议UDP(User Datagram Protocol) 2、传输控制协议TCP(Transmission Control Protocol)
端口用一个16bit端口号进行标志
端口:应用层的源进行将报文发送给运输层的某个 端口,应用层的目的进程从端口接收报文 端口号只具有本地意义,即端口与只是为了标志本 计算机应用层中的各进行,在因特网中不同计算机 的相同端口号是没有联系的
4、端口分类
公用端口(熟知端口):它的范围是1~1023,它们定义在 一些应用广泛的服务上。是TCP/IP体系确定并公布的,因而 是所有用户进程都知道的,当一种新应用程序出现时,必须 为它指派一个熟知端口。 注册端口:范围是1024~4951。它们不确定地分配给一些应 用服务。 私用端口:范围49151~65535。不应为服务定义这些端口
TCP与UDP
OSI体系
两个对等运输实体在通信时传送的数据单位叫作运输协议数据单元TPDU (Transport Protocol Data Unit)
TCP/IP体系 TCP传送的数据单位协议是TCP报文段(segment)
UDP传送的数据单位协议是UDP报文或用户数据报
UDP在传送数据之前不需要先建立连接,对方的运输层在收到UDP报文后,不 需要给出任何确认。虽然UDP不提供可靠交付,但在某些情况下UDP是一种最 有效的工作方式 TCP刚提供面向连接的服务,TCP不提供广播或多播服务,由于TCP要提供可靠 的、面向连接的运输服务,因此不可避免地增加了许多开销,这不仅使协议数据 单元的首部增大很多,还要占用许多的处理机资源。
6.3.2 传输层数据包捕获与分析
捕获TCP数据包
分析TCP数据包
6.3.3 TCP的故障诊断与排除
1、拒绝连接
客户指定的端口号没有与之相连接的监听应用程序
目的应用程序配置错误
2、丢失电路 3、较小的发送窗口和过多的延迟确认 4、过多的或慢速的重新传输 5、高速网络上的缓慢吞吐率 6、很多的Reset命令片段
端口的实现
二、UDP协议
1、概述
UDP只在IP的数据报服务之上增加了很少一点的功能,即端口功能和差错检测的 功能
虽然UDP用户数据报只能提供不可靠的交付,但UDP在某些方面有其特殊的优 点
发送数据之前不需要建立连接
UDP的主机不需要维持复杂的连接状态表 UDP用户数据报只有8个字节的首部开销 网络出现的拥塞不会使源主机的发送速率降低,这对某些实时应用是很重要的, 很多实时应用要求源主机以恒定的速率发送数据,并且允许在网络发生拥塞时丢 失一些数据,但却不允许有太大的时延,UDP正好适合这种要求
使用运输层协议的应用层协议
UDP报文段的结构
UDP数据报的首部格式
伪首部
伪首部:这种首部不是UDP用户数据报的真正首 部,只是在计算检验和时,临时和用户数据报连在 一起,得到一个过度的UDP用户数据报 伪首部既不向下传送,也不向上递交,仅仅为了计 算检验和 在计算检验和时,临时把“伪首部”和UDP用户 数据报连接在一起.
6.2 传输层的组件
一、端口介绍
1、端口的概述
端口就是运输层服务访问点TSAP 端口的作用是让应用层的各种应用进程都能将数据通过端口 向下交付给运输层,以及让运输层知道应当将其报文段中的数 据向上通过端口交付给应用层相应的进程 从这个意义上讲,端口是用来标识应用层的进程
2、端口的作用
3、端口说明
7、奇怪的命令片段
8、错误配置或丢失服务文件
6.3.4 UDP的故障诊断
错误配置或丢失服务文件
防火墙阻断UDP信息
数据报破坏或根本没有发送