1、计算机网络概论,刘兵 制作,第5章 传输层,传输层所使用的主要端口号 传输服务和服务质量 UDP协议的报文格式 TCP协议的报文格式及连接传输管理 TCP的流量控制与拥塞控制,5.1 传输层协议概述,5.1.1 基本概念 传输层的任务是,利用网络层的服务并结合其本身的功能,完成主机进程间的通信。传输层最终的目的是向用户提供可靠、经济的数据传送服务。,TCP/IP 的传输层有两个不同的协议: (1)用户数据报协议 UDP (User Datagram Protocol) (2)传输控制协议 TCP (Transmission Control Protocol),两个对等传输实体在通信时传送的数据
2、单位叫作传输协议数据单元 TPDU (Transport Protocol Data Unit) TCP 传送的数据单位协议是 TCP 报文段(segment),而 UDP 传送的数据单位协议是 UDP 报文或用户数据报。,5.1.2 传输层的端口,端口是一种抽象的软件结构,包括一些数据结构和I/O缓冲区。 端口是进程访问传输服务的入口点 为了标识不同的端口,每个端口都拥有一个叫做端口号(port number)的整数标识符,5.1.2 传输层的端口,TCP/IP将端口分为两大类,一类是服务器端使用的端口号,一类是客户端使用的端口号。,在服务器端使用的端口号又分为两类,一类叫熟知端口或系统端口
3、号,数值一般为 01023 另一类叫登记端口号,数值为102449151,为没有熟知端口号的应用程序使用的。,(2)客户端口号或短暂端口号,数值为4915265535,留给客户进程选择暂时使用。,5.2 传输服务和服务质量,5.2.1 传输服务 传输服务包括两种类型:面向连接的传输服务和无连接的传输服务。 面向连接的传输包括3个阶段:建立连接、数据传输和释放连接,传输层的服务质量(Qusality of Service,QoS)可以用来衡量传输层的总体性能 衡量服务质量QoS的主要性能指标有: (1)连接建立延迟 (2)连接建立失败的概率。 (3)吞吐率: (4)传输延迟:,5.2.2 服务质
4、量,(5)残余误码率。 (6)安全保护。 (7)优先级。 (8)恢复功能,5.3.1 UDP概述 用户数据报协议UDP提供无连接不可靠的用户数据报传输服务。 UDP是无连接的 UDP无连接状态。 较少的传输开销。 无须对发送速率进行管理。,5.3 用户数据报协议UDP,各字段意义如下所述。 源端口字段:发送端UDP端口,当不需要返回数据时,该域为。 目的端口字段:目的端口号。 长度字段:UDP用户数据报的总长度,以字节为单位,最小值为8(报头长)。 检验和字段:防止UDP用户数据报在传输中出错。,其中, 协议(protocol):含协议类型码(“17”)。 UDP长度:指用户数据报的长度,不含
5、伪报头。 填充域:目的在于使伪报头长度为16比特的整数倍。,5.4.2 TCP报文格式,1TCP报文段的首部,5.4.3 TCP连接传输管理,TCP连接传输管理使用三次握手协议来建立连接。其工作过程如下:,TCP协议在连接建立过程中要解决以下三个问题。 (1)要使每一方能够确知对方的存在。 (2)要允许双方协商一些参数(如最大报文段长度,最大窗口大小等)。 (3)能够对传输实体资源(如缓存大小,连接表中的项目等)进行分配。采用三次握手的目的是为了防止已失效的连接请求报文段突然又传送到了主机B所产生的错误。,TCP将单向地关闭这个连接。其过程如下,5.4.4 TCP的流量控制与拥塞控制,1流量控
6、制指让发送方的发送速率能让接收方来得及接收。TCP 采用大小可变的滑动窗口进行流量控制。窗口大小的单位是字节。TCP采用滑动窗口机制解决两个重要问题:传输效率和流量控制。,5.4.4 TCP的流量控制与拥塞控制,TCP的滑动窗口在 TCP 报文段首部的窗口字段写入的数值就是当前给对方设置的发送窗口数值的上限。 发送窗口的大小在连接建立时由双方商定。但在通信的过程中,接收端可根据自己的资源情况,随时动态地调整对方的发送窗口上限值(可增大或减小)。,为了在传输层进行拥塞控制,1999年公布的因特网建设标准定义了以下四种算法:慢开始、拥塞避免、快重传和快恢复。,2拥塞控制,TCP 连接需要有以下两个
7、状态变量:接收端窗口 rwnd (receiver window) 又称为通知窗口(advertised window)。拥塞窗口 cwnd (congestion window),2拥塞控制,(1)设定慢启动的门限窗口,并初始化拥塞窗口为1。 (2)设定发送窗口 发送窗口min接收端窗口,拥塞窗口 (3)发送端收到了对所有发出报文段的确认,就在下一次发送时将拥塞窗口加倍。 (4)当拥塞窗口=门限窗口时,拥塞窗口按线性增长,否则,执行拥塞避免算法。 (5)如果出现超时,那么将超时处的窗口值大小的一半作为新的慢启动门限窗口的值,同时拥塞窗口的大小变为1。 (6)接着再循环进行。,1。面向字符型控
8、制规程,(3)面向字符型帧格式所带来:数据透明传输问题。解决方法:使用转义字符DLE(10H)即:1)将每个独立的控制字符都作为普通的数据字符对待2)仅当控制字符紧随在DLE之后时,才具有控制意义。,1。面向字符型控制规程,面向字符型帧格式变成: DLE SYN DLE SYN DLE SOH 报头 DLE STX 正文 DLE ETX 校验码 DLE ETO,3)如果在正文中也出现了DLE ETX,把其转化为DLE DLE ETX。,(3)控制序列和控制协议,1)确认(ACK)控制序列SYN SYN DLE ACK2)否认(NAK)控制序列SYN SYN DLE NAK,(3)控制序列和控制
9、协议,3)询问(ENQ)控制序列SYN SYN 站地址 DLE ENQ4)拆链(EOT);SYN SYN 站地址 DLE EOT,(4)面向字符型控制规程的数据传输过程,1)建立连接阶段(建立收发关系),(4)面向字符型控制规程的数据传输过程,2)数据传输阶段,(4)面向字符型控制规程的数据传输过程,3)拆除连接阶段(释放收发关系),(4)面向字符的(传输的数据和控制信息都是某个字符集,例如ASCII中的一个),存在的弱点:1)采用停止等待协议,收发双方交替工作,通信线路的利用率低,2)通信设备必须使用同样字符代替,不同的BSC协议要求使用不同的代码。3)只对数据部分进行了差错控制,控制部分的
10、差错得不到检测,可靠性差。4)不易扩展,增加功能必须设定一个新得控制符。,(1)定义面向比特型控制规程是靠约定比特模式(而不是靠使用特殊定义的字符)来定界帧的开始和结束。面向比特型控制规程的一个实例是:HDLC(高级数据链路控制规程),2。面向比特型控制规程,(2) HDLC适用于链路的两种基本配置:非平衡配置 平衡配置。非平衡配置的特点是由一个主站(primary station)控制整个链路的工作。平衡配置特点是链路两端的站为复合站,都可以发出命令和响应。,2。面向比特型控制规程,2。面向比特型控制规程,HDLC帧结构各字段的意义数据链路层的数据传送是以帧为单位的。,(2)HDLC帧格式,
11、作用:表示一帧的开始和结束 帧间的同步信号:当帧与帧之间不发送信息 时,可连续地发送标志序列。 透明传输解决方法:HDLC采用零比特填充法(使一帧中两个F字段之间不会出现6个连续1)。,1)标志序列F(01111110),01111110 11011111 0 0100110001111000111111 0 0111001011 01111110 起始标志 插入0 插入0 结束标志,例如:假设要发送的数据为11011111 01001100 01111000 11111101 11001011,通过零比特填充法处理后,发往线路的信息为:,地址字段8个比特。非平衡方式时,地址字段写入次站的地址
12、。平衡方式时,地址字段写入确认站的地址。,2)地址字段,帧校验序列FCS为16比特。采用的生成多项式为CRCCCITT。校验的范围为地址字段的第1比特到信息字段的最后1比特。,3)帧校验序列字段,根据控制字段的前两比特的不同,HDLC帧可以划分为三大类,即信息帧、监督帧和无编号帧,其简称分别是I (Information)、S (Supervisory)和U (Unnumbered)。,若控制字段的第1比特为0,则该帧为信息帧。比特2 4为发送序号N(S),而比特6 8为接收序号N(R)。N(S)表示当前发送的信息帧的序号,而N(R)表示这个站所期望收到的帧的发送序号(该序号是由对方填入的)。
13、在全双工通信中,双方各有一个N(S)和N(R) 。,N(R) 带有确认的意思。表示序号为N(R)-1(mod 8)的帧以及在这以前的各帧都已经正确收到了。 N(R)可以用来进行捎带确认。 第5比特是P/F字段。主站将P比特置为1表示要求对方立即发送响应。对方确认帧若将F比特置为1表示要发送的数据已经发送完毕。,3监督帧若控制字段的第1 2比特为1 0,则对应的帧即为监督帧S。监督帧共有四种,取决于第3 4比特的值(如图3-11中标有S的二比特)。表3-1是这四种监督帧的名称和功能。,(1)S=00,接收准备就绪(RR)帧,表示准备接收下一帧并确认序号为N(R)-1及其以前的各帧。(2)S=10
14、,接收未就绪(RNR)帧,表示暂停接收下一帧数据,但确认序号为N(R)-1及其以前的各帧。,(3)S=01,拒绝接收(REJ)帧,发送该REJ监控帧的一方说明已经确认序号为N(R)-1及其以前的各帧,但编号N(R)的帧有差错,希望对方重发编号为N(R)及其以后的所有帧。(4)S=11,选择接收(SREJ)帧,该帧的含义类似REJ帧,但希望对方仅仅重发第N(R)帧。,前三种用于连续ARQ协议中,最后一种用于选择重传ARQ协议中。监督帧中不包含数据,所以总的长度只有48比特。不需要有发送序号N(S)。前两种相当于确认帧ACK。REJ相当于NAK。RR帧和RNR帧还具有流量控制的作用。,5无编号帧若
15、控制字段的第1 2比特都是1时,这个帧就是无编号帧U。因为不存在N(S)和N(R)字段。,3.2.2 局域网的参考模型与协议标准,局域网多采用广播式传输,需要很好地解决多个设备对子信道的争用问题 局域网络协议,一方面必须设法解决由于竞争所带来的信息冲突问题;另一方面又要对通信协议中的一些功能进行相应的简化。,3.2.2 局域网的参考模型与协议标准,一个局域网(LAN)通常由四个部分组成,分别是:服务器、工作站、通信设备和通信协议。在局域网中所有的通信处理功能是由网卡来实现的,但在物理上却不明显。有时为了扩展局域网络的范围还要引入路由器、网桥、网关和通信服务器等网络部件。,3.2.3 局域网的构
16、成,1. 服务器,服务器是整个网络系统的核心,它为网络用户提供服务并管理整个网络,在其上运行的操作系统是网络操作系统。服务器分为:文件服务器、打印服务器和通信服务器。,2. 客户机,客户机是指当一台计算机连接到局域网上时,这台计算机就成为局域网的一个客户机。客户机是用户和网络的接口设备,用户通过它可以与网络交换信息,共享网络资源。客户机通过网卡、通信介质以及通信设备连接到网络服务器。客户机与服务器在网络中的作用比较?,网络通信设备是指连接服务器与工作站之间的物理线路(又称传输媒体、或传输介质)或连接设备(包括有网络适配器、集线器和交换机等)。,3. 网络通信设备,1网络适配器,网络适配器NIC
17、(Network Interface Card)也就是俗称的网卡。网卡除了起到物理接口作用外,还有控制数据传送的功能,网卡一方面负责接收网络上传过来的数据包,解包后,将数据通过主板上的总线传输给本地计算机;另一方面它将本地计算机上的数据打包后送入网络。网卡还有串并转换功能。,2集线器,集线器又称集中器,也就是俗称的HUB。集线器是把来自不同的计算机网络设备的电缆集中配置于一体,它是多个网络电缆的中间转接设备,象树的主干一样,集线器是各分枝的汇集点,是对网络进行集中管理的主要设备。,(3)交换机,交换机(Switch)大多数是工作在OSI的7层模型中的第二层(即数据链路层)的设备,作用是对封装数
18、据包进行转发,并减少冲突域、隔离广播“风暴”。,(3)交换机,交换机(Switch)的数据交换方式:直通方式(Cut through):存储转发方式(Store & Forward): 无碎片直通方式(Fragment Free),(4)路由器,路由器(Router)是工作在OSI的7层模型中的第三层(网络层)的网络设备 路由的主要作用是将不同的网段连接起来,或是将不同网络操作系统上运行的不同协议进行转换,以实现异构互通。,4 . 通信协议,为了完成两个计算机系统之间的数据交换而必须遵守的一系列规则和约定称为通信协议。在局域网络中一般使用的通信协议有:NetBEUI(用户扩展接口)协议IPX/
19、SPX(网际交换/顺序包交换)协议TCP/IP(传输控制协议/网际协议)。,3.3 以太网,以太网(Ethernet)是由美国Xerox公司和Stanford大学联合开发并于1975年提出的,目的是为了把办公室工作站与昂贵的计算机资源连接起来,以便能从工作站上分享计算机资源和其他硬件设备。,一、以太网的两个标准,1980年9月,Dec公司、Intel公司和施乐公司联合提出了10Mbps的以太网第一个版本的DIX V1。1982年出第二版DIX V2,这个版本成为世界第一个局域网产品规约。,1983年IEEE802委员会公布的802.3局域网络协议(CSMA/CD),基本上和Ethernet技术
20、规范一致,于是,Ethernet技术规范成为世界上第一个局域网的工业标准。 两个标准:DIX Ethernet V2IEEE 802.3,以太网的两个标准,局域网的层次结构:物理层和数据链路层数据链路层又分为:逻辑链路控制LLC (Logical Link Control)子层媒体接入控制MAC (Medium Access Control)子层,提出以太网基于下面的想法:要寻找一种最简单的方法将一些相距较近的计算机互相连接起来,使它们可以很方便和很可靠地进行较高速率的数据通信。,与接入到传输媒体有关的内容都放在MAC子层,而LLC子层则与传输媒体无关。不管采用何种协议的局域网对LLC子层来说
21、是都透明的。只有在MAC子层才能看见所连接的是采用什么标准的局域网。,CSMA/CD载波监听多路访问/冲突检测 最初此协议的实现是在一根总线上完成的。 为什么在总线上完成?简单、可靠。且是无源器件。,3.3.2 以太网的介质访问控制方式,总线的特点: 采用广播通信,并采用每台主机使用不同的地址。 在帧中写时接收站地址,此地址与某主机地址相同时,该主机接收数据。,1、CSMA/CD协议,为通信方便,以太网采取了两种主要的措施: 1。采用无连接方式 2。以太网对发送的数据帧不进行编号,也不要求对方发回确认。(为什么?),1、CSMA/CD协议,因此,以太网提供的服务是不可靠的交付,即尽最大努力的交
22、付。 目的站收到错帧丢弃,差错由高层来决定。 如:高层采用TCP协议,TCP发现一些数据丢失,经过一段时间后,TCP将这些数据重新传递给以太网。但以太网并不知道这是一个重传的数据帧,而是当作一个新的帧来发送。,1、CSMA/CD协议,以太网采用的介质访问控制方式(MAC)是CSMA/CD。下面说明其要点: “多点接入”:多台计算机通过一根总线连接。 “载波监听”:指每一个站在发送数据之前先要检测一下总线上是否忙,忙则等待。 如何检测总线忙?,1、CSMA/CD协议,“碰撞检测”(也称冲突检测) 即计算机边发送数据边检测信道上是否产生冲突。 如何检测冲突的产生呢? 检测冲突后,停止发送数据,但发
23、送干拢串(Jam串)以加强冲突,目的告知整个网络产生冲突。,1、CSMA/CD协议,在这种工作方式下为什么还会产生冲突?下面用图说明。,1、CSMA/CD协议,局域网上的两站A和B相距1km,用同轴电缆相连。电磁波在电缆中的传输速度为空气中的2/3(3x108x2/3=2x108m/s),因此1km电缆需要5us。因此,A向B发出的信息,在5us后才能到达B。或者说,如果B若在A发送的信息到达B之前发送自己的帧(因为此时A不在发送数据,所以CSMA认为信道空闲),则必然要和A发送的帧发生冲突。,发送站发送数据帧经过多长时间可知产生冲突?(2t) 又称碰撞窗口 发现冲突或者产生碰撞后,发送数据的
24、工作站如何工作?,4。争用期,采用随机延迟一段时间。多少合适? 利用截断二进制指数类型的退避算法。,4。争用期,(1)使用2t做为争用期基数 (2)定义参数K(重传次数),但不超过10K=Min重传次数,10 (3)从0,1,。(2K-1)中随机地取出一个数r (16及以上报错) 延迟时间=2t*r,4。争用期,以太网取51.2s为争用期的长度。 对于10Mb/s,争用期发多少位数据? 争用期未发生冲突,这个数据帧发送是否还会冲突? 最短帧长:64字节。凡长度小于64字节的帧都认为是无效帧。,4。争用期,这种退避算法产生一种捕获效应?,4。争用期,强化碰撞。,A的浪费时间是:TBTJ 信道的总浪费时间:TBTJ,例题:一条1Km长的10Mb/s的CSMA/CD的局域网,信号的传播速度为200m/s,数据帧的长度为256比特(其中包括32比特帧头、校验、及其它开销。传输成功后的第一个时隙被留给接收方,用来使接收方捕获信道并发送一个32比特的确认帧,假设没有冲突,有效的数据传输速率是多少?,以太网可使用的传输媒体有四种:粗缆、细缆、双绞线和光缆。,4。传统以太网的连接方法,