第6章 传输层维护
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
目 录
上一页
下一页
退 出
6.2 传输层的组件
6.2.1 TCP协议
1 TCP概述 概述 TCP(Transmission Control Protocol,传输控制协议)是专门为了 在不可靠的互联网络上提供一个可靠的端到端字节流而设计的。互 联网络与单个网络不同,因为互联网络的不同部分可能有截然不同 的拓扑结构、带宽、延迟、分组大小和其他的参数。TCP的设计目 标是能够动态的适应互联网络的这些特性,而且当面对多数失败的 时候仍然足够健壮。 2 TCP报文段的结构 报文段的结构 TCP协议能为应用程序提供可靠的通信连接,使一台计算机发 出的字节流无差错地发往网络上的其他计算机,对可靠性要求高的 数据通信系统往往使用TCP协议传输数据。 TCP报文段的格式如图所示。可以看出,一个TCP报文分为首 部和数据两部分。TCP报文段首部的前20个字节是固定的,后面有 4N字节是可有可无的选项(N为整数)。因此TCP首部的最小长度 是20个字节。首部提供了可靠服务所需的字段。
上一页
下一页
退 出
6.2 传输层的组件
3. UDP端口号 端口号 目 录
UDP也使用端口号来标识发送和接收的应用程序。与TCP类似, UDP有两类端口,分别是: 众所周知的端口用于UDP上的标准服务,包括DNS(端口号53), SNMP(端口号161)和其它一些协议,服务器在这些端口上监听想要 访问服务的客户。 临时端口:客户在自己的对话端使用临时端口。 用户数据报协议UDP只在IP的数据报服务之上增加了很少的一 点功能,这就是端口的功能(有了端口,运输层就能进行复用和分用) 和差错检测的功能。虽然UDP用户数据报只能提供不可靠的交付,但 UDP在某些方面由其特殊的优点。 (1) 发送数据之前不需要建立连接(当然发送数据结束时也没有连 接需要释放),因而减少了开销和发送数据之前的时延。 (2) UDP没有拥塞控制,也不保证可靠交付,因此主机不需要维 持具有许多参数的、复杂的连接状态表。 (3) 用户数据报只有8个字节的首部开销,比TCP的20个字节的首 部要短.。
上一页
下一页
退 出
6.2 传输层的组件
6.2.2 UDP协议
目 录
1. UDP协议概述 UDP协议概述 UDP为应用程序提供了一种方法来发送经过封装的IP数据报,而且不必 建立连接就可以发送这些IP数据报。 2. UDP报文段的结构 报文段的结构 用户数据报UDP有两个字段:数据字段和首部字段。首部字段很简 单,只有8个字节,由4个字段组成,每个字段都是两个字节。各字段 意义如下: 源端口字段 源端口号 目的端口字段 目的端口号 长度字段 UDP数据报的长度 校验和字段 防止UDP数据报在传输中出错 – 在计算校验和时在UDP数据报之前要增加12个字节的伪首部。伪首 部并非TCP&UDP数据报中实际的有效成分。图6.4给出来伪首部各字 段的内容。伪首部的第3个字段全是零,第4个字段是IP首部中的协 议字段的值。对于 UDP,此协议字段值为17,第5个字段是UDP数据 报的长度。 – UDP尤其适用在客户/服务器的情形下客户给服务器发送一个短的请 求,并且期望一个短的应答回来,如DNS请求。也常用在时间性要 求很高的实时传输服务中,如网络音频、网络视频等。
网络故障 诊断与测试
目 录 上一页 下一页 退 出
第六 章 传输层维护
本章学习目标
目 录
上一页
下一页
理解并可以描述OSI模型中传输层的功能 理解并可以描述 模型中传输层的功能 识别传输层的各组成部分 理解TCP/UDP、IPX/SPX等协议 理解 、 等协议 了解传输层的故障现象并能排除故障
退 出
目 录
上一页
下一页
退 出
6.2 传输层的组件
4. TCP的连接管理:三次握手协议 的连接管理: 的连接管理
目 录
第一次握手——连接请求:客户端发送连接syn包(SEQ=J(1000),CTL=SYN) 到服务器,并进入SYN_SEND(同步信号已发送 )状态,等待服务器确认; 第二次握手——连接应答:服务器收到syn包,必须确认客户的SYN。 自己发送一个应答ACK包(SEQ=K(750),ACK=J+1(1001),CTL=SYN|ACK), 此时服务器进入SYN_RECV(连接应答)状态; 第三次握手——连接确认:客户端收到服务器的SYN+ACK包,向服务 器发送确认包ACK(SEQ=J(1000),ACK=k+1(751),CTL=ACK),此包发送完毕, 客户端和服务器进入ESTABLISHED(建立连接)状态,完成三次握手。
目 录
上一页 • 下一页 • 退 出 •
6.2 传输层的组件
3. TCP端口号 端口号 目 录
要想获得TCP服务,发送方和接收方必须创建一种被称为套接字的端 点。每个套接字有一个套接字号(地址),它是由主机的IP地址以及 本地主机局部的一个16位数值组成的,此16位数值被称为端口。 TCP层用端口号来区别不同类型的应用程序。由于在TCP报文段结构 中端口地址是16bit,所以端口号的域值范围是0~65535,除了0号端口 是无效端口之外,其他的1~65535号端口的具体分类如下:
目 录
• •
上一页
• •
下一页
退 出
6.2 传输层的组件
• 窗口尺寸(Window ):16位,一般称为“滑动视窗 (Sliding Window)”。TCP使用它进行流量控制。窗口大 小为字节数,这个值是接收端期望接收的字节数。窗口 大小是一个16位的字段,因而窗口大小最大为65535字 节。 TCP校验和:16位,检验整个TCP报文端:TCP首部和 TCP数据。这是一个强制性的字段,一定是由发送端计 算和存储,并由接收端进行验证。 紧急指针:16位,在URG位为1时有效,表示紧急数据 最后一个字节的序号。TCP的紧急方式是发送端向另一 端发送紧急数据的一种方式。 可选项(Option):这个选项比较少用。Option的长度 为0,或32bit的整倍数,如果不足则填充到32bit的整倍数。
– – – 公用端口:它的范围是从0到1023,它们定义在一些应用广泛的服务上。 注册端口:范围是从1024到49151。它们不确定地分配给一些应用服务。 私有端口:其范围是从49152到65535。理论上不应为服务定义这些端口。
上一页
下一页
常用的TCP协议所使用的端口号如下表所示。
退 出
协议名称 FTP(控制) FTP(数据) HTTP TELNET GOPHER SMTP
目 录
上一页
下一页
退 出
6.2 传输层的组件
0 8
源端口 发送序号(Sequence Number):32bits
目 录
16
24
31
目标端口
上一页
偏移量 (4bits)
回应(应答)序号 (Acknowledgement Number) :32bits 保留位 (6bits) 标志位 ACK URG PSH RST SYN FIN 窗口尺寸 (16bits)
上一页
下一页
退 出
6.1 传输层的功能
3. 提供面向连接的可靠或面向无连接的不可靠传输服务 可靠传输服务提供了一条端到端的虚电路,利用流量控制,确认, 以及其他方式来保证数据的传送。这样的协议被称为面向连接的协议。 典型的面向连接的协议是TCP。 并不是所有的应用程序都需要传输层来提供可靠的QoS。有一些 应用程序主要在局域网中,而不是在巨大的互联网中运行。而可靠性, 虽然很重要,却可以轻易地实现。在这些应用程序中,用来提供高可 靠性的开销与复杂的传输系统既不必要也不需要。这种情况下,应用 程序将使用一个无连接的传输层协议。因为从网络带宽与处理的角度 来说,它的开销较小。这样的协议也称为轻量级协议。典型的无连接 的协议是UDP。 传输层面向连接的会话并不只是提供可靠性给网络层,它同时通过 校验和来保护数据,并且向应用程序提供了有用的信息。因此,如果 一个应用程序要求传输层提供可靠的传输,则使用面向连接的协议。 如果希望避免面向连接的协议所需要的附加开销的话,它就可以使用 无连接协议。
本章要点内容
目 录
上一页
传输层的功能 传输层的组件 传输层的故障诊断与排除
下一页
退 出
本章学前要求
目 录
上一页
了解OSI七层的模型 了解 七层的模型 了解计算机网络基础知识
下一页
退 出
6.1 传输层的功能
6.1.1 传输层概述
传输层也称为运输层,是介于低3层通信子网和高3 层资源子网之间的一层,是OSI模型的核心。从通信和 信息处理的角度看,传输层向它上面的应用层提供通信 服务,它属于面向通信部分的最高层,同时也是用户功 务 能中的最低层。 传输层的最终目标是向它的用户(通常是应用层 中的进程)提供高效的、可靠的和性价比合理的服务。 为了实现这个目标,传输层需要充分利用网络层提供给 它的服务。在传输层内部,完成这项工作的硬件和软件 称为传输实体。传输实体可能位于操作系统的内核,或 者在一个独立的用户进程中,或者以一个链接库的形式 被绑定到网络应用中,或者位于网络接口卡上。
目 录
上一页
下一页
退 出
6.1 传输层的功能
6.1.2传输层功能 2 目 录
1. 数据分段 将数据发送给网络层之前,传输层将数据分段。而在将数据上 传给会话层或应用层之前,传输层也需要重新组合数据。当传输层 接受来自OSI模型中的上层所发送的数据时候,数据可能会太长以 致不能被一次传输给网络层。这种情况下,正是传输层的功能将数 据分解为更小的称为数据段的部分,然后将他们分别传送到网络层。 每一个数据段都标记有一个序列号,所以,如果数据段到达目的地 而顺序发生错乱,仍然可以利用此序列号将它们正确的组装起来。 2. 流量控制 传输层的另一个功能是流量控制,它可以防止目的地被大量的 数据淹没,这种情况可能会导致数据包的丢失。传输层实现这一功 能,是通过确立一个传送数据包的最大字节数。在达到此值之前, 接收方必需提供对收到数据包的确认。TCP/IP协议中,这样一个最 大字节数被称为窗口宽度。如果发送设备在发送了窗口宽度的字节 之前,并没有回应,那么,它将停止发送数据。如果在一定的特定 时间间隔中,没有收到确认,发送方将从最后收到确认的地方开始, 重新发送数据。
所使用端口号 21 20 80 23 70 25
6.2 传输层的组件
4. TCP的连接管理 的连接管理
TCP是一个面向连接的可靠传输协议。面向连接表示两个应 用端在利用TCP传送数据前必须先建立TCP连接。 TCP的可 靠性通过校验和,定时器,数据序号和应答来提供。通过 给每个发送的字节分配一个序号,接收端接收到数据后发 送应答,TCP协议保证了数据的可靠传输。 数据序号用来保证数据的顺序,剔除重复的数据。在一个 TCP会话中,有两个数据流(每个连接端从另外一端接收数 据,同时向对方发送数据),因此在建立连接时,必须要 为每一个数据流分配ISN(初始序号)。为了了解实现过程, 我们假设客户端C希望跟服务器端S建立连接,然后分析连 接建立的过程(通常称作三阶段握手)。
下一页
TCP校验和(16bits)
紧急指针(16bitwk.baidu.com) 选项和填充(如果有的话) 数据
退 出
图6-2 报文段的格式
6.2 传输层的组件
一个TCP数据报包括一个TCP头,后面是选项和数据。TCP头部 信息如下: 源端口及目标端口:各16位,表示不同的进程链接表示; 发送序号(Sequence Number) 及回应序号 (Acknowledgement Number):各32位,表示双向传输数据的序号; 偏移量:4位,表示报文头部后数据的开始位置,即TCP头长度, 以32位为单位; 另外TCP头还包含6个标志位。它们的意义分别为: • SYN: 标志位用来建立连接,让连接双方同步序列号。如果 SYN=1而ACK=0,则表示该数据包为连接请求,如果 SYN=1而ACK=1 则表示接受连接。 • FIN: 表示发送端已经没有数据要求传输了,希望释放连接。 • RST: 用来复位一个连接。RST标志置位的数据包称为复位包。 • URG: 为紧急数据标志。如果它为1,表示本数据包中包含紧 急数据。此时紧急数据指针有效。 • ACK: 为确认标志位。如果为1,表示包中的确认号时有效的。 否则,包中的确认号无效。 • PSH: 如果置位,接收端应尽快把数据传送给应用层。