单元3网络的体系结构与协议4传输层协议_第1页
单元3网络的体系结构与协议4传输层协议_第2页
单元3网络的体系结构与协议4传输层协议_第3页
单元3网络的体系结构与协议4传输层协议_第4页
单元3网络的体系结构与协议4传输层协议_第5页
已阅读5页,还剩54页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

教学模块四:传输层协议单元3网络体系结构与协议教学目标掌握传输层协议TCP和UDP;传输层为什么需要传输层?传输层实现哪些功能?IP提供的服务终端间传输只对首部进行出错校验尽力而为(类似平信服务)应用进程的要求进程间通信对数据实现差错控制传输过程实施流量和拥塞控制端口:标识进程出错检验+重传:差错控制拥塞通知+流量管制:流量控制传输层协议TCP/IP体系结构TCP和UDP传输控制协议(TCP)用户数据报协议(UDP)UDP提供无连接的服务,UDP在传送数据之前不需要建立连接。不管发送的数据包是否到达目的主机,数据包是否出错,接收方也不会告诉发送方是否正确收到了数据,它的可靠性是由上层协议来保障的。TCP提供可靠的、面向连接的服务。在传送数据之前必须先建立连接,数据传送结束后要释放连接。TCP不提供广播或多播服务。3.5.2传输控制协议TCP主要内容TCP主要特点;TCP分段的格式;端口和套接字;TCP建立连接和释放连接的过程。TCP可靠数据传输技术;一、TCP的主要特点TCP旨在向TCP/IP的应用层提供一种端到端的面向连接的可靠的数据流传输服务。常用于一次传输要交换大量报文的情形,如文件传输、远程登录等。功能:规定传输层的连接建立与拆除的方式数据传输格式确认的方式目标应用进程的识别差错控制和流量控制机制等。这些功能集中体现在TCP的协议数据单元中。二、TCP分段的格式TCP报头仍然分为固定部分和可变部分,其中固定部分20字节二、TCP分段的格式源端口和目的端口字段——各占2字节。端口是传输层与应用层的服务接口。二、TCP分段的格式占32比特,表示该分段在发送方的数据流中的位置,用来保证到达数据顺序的编号。例如,若某一个分段的顺序号值为“1301”,而其所携带的数据长度为500字节,则相当于该分段数据的第一个字节的顺序号为1301,最后一个字节的顺序号值为1800,并且该数据流下一个分段的顺序号字段值应该为“1801”。二、TCP分段的格式占32比特,下一个期望接收的TCP分段号,相当于是对对方所发送的并已被本方所正确接收的分段的确认。序列号和确认号共同用于TCP服务中的确认、差错控制。例如,若接收方正确地接收了一个顺序号为“1301”、长度为500字节的分段,则它发送给对方的确认号值就会是“1801”,即表示期望接收的下一个分段的第一个字节的序号应该是1801。二、TCP分段的格式4位,以4B为单位给出首部长度。它指出TCP报文段的数据的起始位置。最大取值1111.二、TCP分段的格式占6比特,为将来的应用而保留,目前置为“0”二、TCP分段的格式标志位,占6比特,TCP分段有多种应用,如建立或关闭连接、传输数据、携带确认等,这些编码位用于给出与分段的作用及处理有关的控制信息。TCP首部20字节固定首部目的端口报头长度检验和选项(长度可变)源端口序号紧急指针窗口确认号保留FINSYNRSTPSHACKURG比特08162431填充紧急比特URG——

当URG1时,表明紧急指针字段有效。它告诉系统此报文段中有紧急数据,应尽快传送(相当于高优先级的数据)。确认比特ACK——

只有当ACK1时确认号字段才有效。当ACK0时,确认号无效。推送比特PSH(PuSH)——

接收TCP收到推送比特置1的报文段,就尽快地交付给接收应用进程,而不再等到整个缓存都填满了后再向上交付。复位比特RST(ReSeT)——

当RST1时,表明TCP连接中出现严重差错(如由于主机崩溃或其他原因),必须释放连接,然后再重新建立运输连接。同步比特SYN——与ACK合用以建立TCP连接。如SYN=1,ACK=0表示连接请求;而SYN=1,ACK=1表示同意建立连接。终止比特FIN(FINal)——

用来释放一个连接。当FIN1时,表明此报文段的发送端的数据已发送完毕,并要求释放运输连接。TCP的标志位二、TCP分段的格式窗口字段——占2字节。窗口的大小表示接收方可以接收的数据量,单位为字节。接收方根据设置的缓存空间大小确定自己的接收窗口大小,然后通知对方以确定对方的发送窗口的上限。TCP首部20字节固定首部目的端口报头长度检验和选项(长度可变)源端口序号紧急指针窗口确认号保留FINSYNRSTPSHACKURG填充TCP首部20字节固定首部目的端口报头长度检验和选项(长度可变)源端口序号紧急指针窗口确认号保留FINSYNRSTPSHACKURG比特08162431填充检验和——

占2字节。检验和字段检验的范围包括首部和数据这两部分。TCP首部20字节固定首部目的端口报头长度检验和选项(长度可变)源端口序号紧急指针窗口确认号保留FINSYNRSTPSHACKURG比特08162431填充紧急指针字段——占16比特,给出从当前顺序号到紧急数据位置的偏移量。TCP首部20字节固定首部目的端口数据偏移检验和选项(长度可变)源端口序号紧急指针窗口确认号保留FINSYNRSTPSHACKURG比特08162431填充选项字段——

长度可变。TCP只规定了一种选项,即最大报文段长度

MSS(MaximumSegmentSize)。MSS告诉对方TCP:“我的缓存所能接收的报文段的数据字段的最大长度是MSS个字节。”

MSS是TCP报文段中的数据字段的最大长度。数据字段加上TCP首部才等于整个的TCP报文段。TCP首部20字节固定首部目的端口报头长度检验和选项(长度可变)源端口序号紧急指针窗口确认号保留FINSYNRSTPSHACKURG比特08162431填充填充字段——

这是为了使整个首部长度是4字节的整数倍。三、端口和套接字---传输层端口的概念

传输层协议实现应用进程间端到端的通信。计算机中的不同进程可能同时进行通信,这时它们会用端口号进行区别,通过网络地址和端口号的组合达到唯一标识的目的,即套接字(Socket)。套接字是IP地址加上一个端口。32位IP地址16位端口号48位套接字传输层端口的概念端口和套接字在TCP/IP传输层,端口标识16比特,也就是说可定义216

个端口,其端口号从0到216−1。TCP/IP传输层的TCP和UDP两个协议是两个完全独立的软件模块,因此各自的端口号也相互独立,即各自可独立拥有216个端口。应用层与传输层之间的接口FTPTelnetSMTPDNSTFTPHTTPSNMPRIP212325536980161520TCPUDP端口号传输层应用层每种应用层协议或应用程序都具有与传输层唯一连接的端口,并且使用唯一的端口号将这些端口区分开来。当数据流从某一个应用发送到远程网络设备的某一个应用时,传输层根据这些端口号,就能够判断出数据是来自于哪一个应用,想要访问另一台网络设备的哪一个应用,从而将数据传输到相应的应用层协议或应用程序。TCP和UDP应用程序应用程序SMTPHTTPTCPUDPICMPIGMPIPARPRARP以太网驱动程序根据TCP或UDP首部中的端口号进行分用根据IP首部中的协议值进行分用根据以太网首部中的帧类型进行分用8025这种端口号一般都小于1024。它们基本上都被分配给了已知的应用协议。这些端口由于已经有了固定的使用者,不能被动态地分配给其他应用程序。(1)保留端口端口的分配端口根据其对应的协议或应用不同,被分配了不同的端口号。负责分配端口号的机构是Internet编号管理局(IANA)。

UDP保留端口举例端口号关键字应用协议53DNS域名服务69TFTP简单文件传输协议161SNMP简单网络管理协议520RIPRIP路由选择协议TCP保留端口举例21FTP文件传输协议23Telnet虚拟终端协议25SMTP简单邮件传输协议53DNS域名服务80HTTP超文本传输协议119NNTP网络新闻传输协议常用“熟知”端口这种端口的端口号一般都大于1024。这一类的端口没有固定的使用者,它们可以被动态地分配给应用程序使用。也就是说,在使用应用软件访问网络的时候,应用软件可以向系统申请一个大于1024的端口号临时代表这个软件与传输层交换数据,并且使用这个临时的端口与网络上的其他主机通信。Dos窗口下使用netstat命令查看端口使用情况

(2)动态分配的端口端口的分配某些软件厂商通过使用注册端口,使它的特定软件享有固定的端口号,而不用向系统申请动态分配的端口号。一般,这些特定的软件要使用注册端口,其厂商必须向端口的管理机构注册。大多数注册端口的端口号大于1024。(3)注册端口端口的分配端口重定向在实际使用中,经常会采用端口重定向技术。所谓端口重定向是指将一个著名端口重定向到另一个端口,例如默认的HTTP端口是80,不少人将它重定向到另一个端口,如8080。()()()()()()()()主机B主机C端口1端口2端口3端口4端口1端口2端口3端口4连接1连接2连接3连接4主机A源端口与目的端口网络中的两台主机进行通信的时候,TCP/IP协议会在传输层封装数据段时,把发出数据的应用程序的端口作为源端口,把接收数据的应用程序的端口作为目的端口,添加到数据段的头中,从而使主机能够同时维持多个会话的连接,使不同应用程序的数据不发生混淆。端口的功能小结端口在传输层的作用有点类似IP地址在网络层的作用或MAC地址在数据链路层的作用,只不过IP地址和MAC地址标识的是主机,而端口标识的是网络应用进程。由于同一时刻一台主机上会有大量的网络应用进程在运行,所以需要有大量的端口号来标识不同的进程。TCP连接包括建立连接、数据传输和拆除连接三个过程。TCP通过TCP端口提供连接服务,最后通过连接服务来接收和发送数据。如何连接?TCP使用三次握手协议来建立连接。连接可以由任何一方发起,也可以由双方同时发起。一旦一台主机上的TCP软件已经主动发起连接请求,运行在另一台主机上的TCP软件就被动地等待握手。四、TCP连接的建立和拆除TCP建立连接过程三次握手协议第一次握手:客户端问服务器咱俩能不能通信?并告知服务器自己的序列号为x,其中x为机器随机产生。第二次握手:服务器收到来自客户端的序列号x,当服务器认为可以与客户端通信,就发出回应,置确认号为x+1,并告知客户端自己的序列号为y,其中y也是随机生成。第三次握手:客户端接收到来自服务器的确认号x+1时,知道服务器答应与自己通讯了,于是置下一次正式传输数据开始的序列号为x+1,同时置确认号为y+1,表示告知服务器我收到你的应答了,数据传输可以开始。TCP建立连接过程RST=1服务器拒绝建立连接。RST=1客户机拒绝建立连接。TCP释放连接过程TCP连接用于双向通信,因此,任何一方一旦完成数据发送,都需启动连接释放过程。发起连接释放过程的一方发送FIN=1的TCP报文,另一方以确认应答作为响应。复习传输层有哪些功能?传输层有哪些协议?分别适用于什么情况?TCP首部最少多少字节?TCP的校验和是对哪些部分进行校验的?TCP的端口号起什么作用?http协议对应的端口号是多少?TCP如何建立连接?发起方将哪个标志位置1?TCP如何释放连接?发起方将哪个标志位置1?五、TCP可靠数据传输技术TCP采用了许多与数据链路层类似的机制来保证可靠的数据传输,如采用序列号、确认应答、滑动窗口协议等。

只不过TCP的目的是为了实现端到端节点之间的可靠数据传输,而数据链路层协议则为了实现相邻节点之间的可靠数据传输。1.TCP序列号TCP发送端要为所发送的每一个分段加上序列号(SequenceNumber),保证每个分段能被接收端接收,并只被正确地接收一次。停止等待算法2.具有重传功能的积极确认技术接收端在正确收到发送端数据分段之后向发送端回送一个确认信息,如发送方收不到此确认信息将认为此数据丢失,并重新发送此数据。发送端接收端分段ACK下一个分段定时器溢出时间确认机制发送端接收端分段重发该分段定时器溢出时间发送端接收端分段ACK重发该分段定时器溢出时间数据分段出错或丢失这两种情况下,接收方不进行任何响应,发送方定时器超时后自动重传2.具有重传功能的积极确认技术重传机制为了避免由于网络延迟引起迟到的确认和重复的确认,TCP规定在确认信息中捎带一个分段的序号,使接收方能正确地将分段与确认联系起来。TCP差错控制机制的要素是检错、确认应答和重传;发送端保留发送的数据报文,接收端对接收到的数据报文检错,如果没有错误,则发送确认应答,发送端在规定时间内接收不到确认应答,重发数据报文。TCP用确认序号给出接收端已经成功接收的字节流;3.可变长的滑动窗口协议进行流量控制滑动窗口

滑动窗口(Slidingwindow)是一种流量控制技术,可以避免网络拥塞情况的发生。在TCP段首部的

“窗口”字段写入的数值就是滑动窗口的大小,其单位为字节。在建立连接时,通信双方使用SYN报文段或ACK报文段中的窗口字段捎带着各自的接收窗口尺寸,即通知对方从而确定对方发送窗口的上限。

当滑动窗口为0时,发送方一般不能再发送数据。思考假设主机1有一个大小为4096字节长的缓冲区,向主机2发送2048字节长度的数据分段,在未收到主机2的关于该2048字节长度分段的确认之前,主机1向其他主机只能声明自己有多少字节长度的发送缓冲区?过了一段时间后,假定主机1收到了来自主机2的确认,但其中声明的窗口大小为0,表明什么?主机2能不能接受任何来自主机1的新的分段了?流量控制取决于接收端的处理能力和网络状态;接收端的处理能力通过确认应答中的窗口字段告知发送端;如何确定网络发生拥塞?在确定网络发生拥塞的情况下,如何确定流量?

发送端确定网络发生拥塞的依据是网络传输TCP报文过程中发生丢失报文的情况,这和重传条件是相同的,这意味着一旦发生丢失报文,发送端需要调节发送流量。六、TCP流量控制机制慢启动发送端一开始发送报文时,如何确定流量,完全按照接收端的窗口值,还是选择更小的流量?对未知的情况,总是摸着石头过河!将流量控制在最小,确认网络没有拥塞后,逐渐加大流量,当然,加大过程或者达到接收端公告的窗口值,或者网络发生拥塞时停止,这种方法就是慢启动。TCP流量控制机制慢启动一开始发送1个TCP报文,收到确认应答后,发送2个报文,依此成倍增大,或达到接收端公告的窗口值,或发生报文丢失。TCP流量控制机制思考:网络发生拥塞会导致报文丢失,网络根据哪些情况判断报文是否丢失?发送端通过重传定时器溢出或者连续接收到3个重复的

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论