版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
第3章传输层及传输层协议袁津生主编主要内容3.1传输层的基本概念3.2UDP协议3.3TCP协议主要内容传输层是资源子网与通信子网的界面与桥梁,它完成通信子网中两结点间的直接逻辑通信。本章将讨论传输层的基本功能、传输层向应用层提供的服务,以及实现这些服务的协议TCP(TransmissionControlProtocol)和UDP(UserDatagramProtocol)。3.1传输层的基本概念传输层的功能传输层的功能是保证数据可靠地从发送结点发送到目标结点,传输层提供端到端的数据交换机制,传输层对应用层提供可靠的传输服务,对网络层提供可靠的目的地站点信息。传输层也称为运输层。传输层只存在于端开放系统中,是介于OSI参考模型的低3层通信子网系统和高3层之间的一层,是很重要的一层,因为它是源端到目的端对数据传送进行控制从低到高的最后一层。传输层的位置传输层的基本功能连接管理。传输层要建立、维持和终止一个会话,就要对整个过程进行管理。流量控制。传输层定义了端到端用户之间的流量控制。差错检测。对用户请求的响应。建立无连接或面向连接的通信。传输层提供的服务面向连接的通信保持数据的分发顺序可靠服务流量控制多路复用拥塞避免进程标识一台计算机中,不同的进程可以用进程号或进程标识惟一地标识出来。进程号又称为端口号。在网络环境中,标识一个进程必须同时使用IP地址和端口号。套接字(socket)就是用来表示一个IP地址与对应的一个进程标识。一个IP地址为202.204.125.56的客户端使用端口号1157,与一个IP地址为202.204.125.87、端口号为80的Web服务器建立TCP连接,那么标识客户端的套接字为“202.204.125.56:1157”,标识服务器端的套接字为“202.204.125.87:80”。应用进程通过套接字交换数据物理层数据链路层网络层TCP/UDP套接字服务进程物理层数据链路层网络层TCP/UDP套接字客户进程因特网客户端服务器端口号的分配方法
端口号取值范围是0~65535之间的整数。熟知端口号:取值范围0~1023,它是由IANA(TheInternetAssignedNumbersAuthority,因特网数字分配机构)统一分配和控制的。注册端口号:取值范围:1024~49151,用户根据需要可以在IANA进行注册,以防止重复。临时端口号:取值范围:49152~65535,由运行在客户机上的软件随机选取的。传输层与其它层次之间的关系3.2UDP协议UDP协议UDP协议全称是用户数据报协议,是TCP/IP协议簇中传输层的两个重要的协议之一。它为应用程序提供了一条访问IP的无连接功能、面向事务、简单不可靠传送服务。UDP的设计允许应用程序创建数据报,允许它们通过端口访问应用程序或进程,其基本作用是向IP分组增加了一个应用程序的端口地址。UDP协议的主要特点
UDP是一个无连接的,不可靠的传输层协议。UDP协议在传输数据之前不需要在通信双方之间建立连接,因此减少了协议开销与传输时延。UDP信息包的标题很短,只有8个字节,相对于TCP的20个字节信息包的额外开销很小。UDP是一种面向报文的传输层协议。UDP数据报格式
UDP的报头是一个具有固定8B的长度。源端口号和目的端口号,每个端口号各占16位(2B)。源端口号表示发送方进程端口号,目的端口号表示接收方进程端口号。UDP总长度占16位(2B),它定义了包括报头在内的UDP总长度。校验和字段的长度为16位(2B)UDP的伪头部伪首部源端口目的端口长度检验和UDP长度源IP地址目的IP地址017字节44112122222字节数据首部UDP用户数据报
UDP的复用和分用UDP的应用UDP协议适用于对传输数据的准确性要求不高、无须应答并且通常一次只传送少量数据的情况。UDP协议在数据传输过程中无须建立逻辑连接,对数据报也不进行检查,因而在传输数据方面,减少了网络的往返来回、使速度和性能得到提升,并且UDP具有较好的实时性,效率高。UDP协议应用于网络游戏,视频聊天,语音聊天UDP协议也是分发信息的一个理想协议。2.3TCP协议TCP协议传输控制协议TCP是一种面向连接的、可靠的、基于字节流的运输层通信协议。在简化的计算机网络OSI模型中,它完成第四层传输层所指定的功能。在TCP/IP协议族中,TCP层是位于IP层之上,应用层之下的中间层。TCP协议为应用进程提供可靠的、端到端的、面向连接的字节流通信的协议。TCP协议提供一种可靠的机制来保证数据完整、无损并且按顺序到达。TCP的设计允许应用程序创建数据报,并通过端口访问应用程序或进程。TCP协议的主要特点面向连接的传输服务支持字节流的传输支持全双工服务支持可靠的传输服务TCP面向流的概念768H发送TCP报文段发送方接收方把字节写入发送缓存从接收缓存读取字节应用进程应用进程1230181716151419202145131211H109H加上TCP首部构成TCP报文段TCPTCP字节流字节流H表示TCP
报文段的首部x表示序号为x
的数据字节TCP
连接TCP报文格式TCP首部20字节的固定首部目的端口数据偏移检验和选项(长度可变)源端口序号紧急指针窗口确认号保留FIN32bitSYNRSTPSHACKURG比特08162431填充TCP数据部分TCP首部TCP报文段TCP报文格式端口号包括源端口号和目的端口号。每个端口号长度都是16位,分别表示发送方和接收方的端口号。序号字段占32位,是本报文段所发送的数据部分第一个字节的序号。确认号字段占32位。只有当ACK标志为1时,确认号字段才有效。数据偏移又称为头部长度占4位。它指出TCP报文段的数据起始处距离TCP报文段的起始处有多远。保留字段占6位,保留为今后使用,但目前应置为0。TCP报文格式控制字段定义了6种不同的控制位或标志。内容如下:紧急URG:当URG为1时,表明紧急指针字段有效。确认ACK:只有当ACK为1时,确认号字段才有效。推送PSH:接收TCP收到PSH为1的报文段,就尽快地交付接收应用进程,而不再等到整个缓存都填满了后再向上交付。复位RST:用来复位一条连接。同步SYN:用来建立连接,让连接双方同步序列号。终止FIN:用来释放一个连接。当FIN为1时,表明此报文段的发送端的数据已发送完毕,并要求释放连接。TCP报文格式窗口字段占16位(2B),用来让对方设置发送窗口的依据,单位为字节。校验和占16位(2B)。校验和字段检验的范围包括TCP头部和TCP数据这两部分。紧急指针字段占16位,只有当URG为1时,表明紧急指针字段有效。选项字段占32位。该字段可包括最大报文段长度、窗口扩大因子、时间戳等选项。TCP连接建立与释放TCP连接有三个阶段,即:连接建立、数据传送和连接释放。连接的管理就是使传输连接的建立和释放都能正常地进行。TCP连接的建立都是采用客户服务器方式。主动发起连接建立的应用进程叫做客户,被动等待连接建立的应用进程叫做服务器。TCP建立连接阶段连接的最初阶段服务器端处于打开阶段,而客户端处于关闭状态。这样要建立一个TCP连接需要经过三次握手的过程。SYN=1,seq=xACK=1,seq=x+1,ack=y1客户服务器SYN=1,ACK=1,seq=y,ack=x1TCP的连接释放由于TCP连接是全双工的,因此每个方向都必须单独进行关闭。因此,需要4次握手。当一方完成它的数据发送任务后就要发送一个FIN来终止这个方向的连接。只有当另一方也发送一个FIN时,才能全部关闭TCP的连接。FIN=1,seq=uACK=1,seq=v,ack=u1FIN=1,ACK=1,seq=w,ack=u1客户服务器数据传送ACK=1,seq=u+1,ack=w1TCP的定时器重传定时器。为了控制丢失的或丢弃的报文段,TCP使用了处理报文段的确认的等待重传时间的重传定时器。坚持定时器。TCP为每一个连接使用一个坚持定时器。当发送方的TCP收到一个窗口大小为零的确认时,就需要启动坚持定时器。保持定时器。又叫做激活定时器,它是用来防止在两个TCP之间的连接处于长时期空闲。时间等待计时器。在连接终止期间使用的。TCP滑动窗口机制滑动窗口协议的基本原理就是在任意时刻,发送方都维持了一个连续的允许发送的字节流的序号,称为发送窗口;同时,接收方也维持了一个连续的允许接收的字节流的序号,称为接收窗口。发送窗口和接收窗口的序号的上下界不一定要一样,甚至大小也可以不同。不同的滑动窗口协议窗口大小一般不同。发送方窗口内的序列号代表了那些已经被发送,但是还没有被确认的字节,或者是那些可以被发送的字节。指针发送窗口缩小1002003004005006007008009001012013014015016017018011已发送并被确认可发送不可发送发送窗口前移900指针1002003004005006007008001012013014015016017018011不可发送已发送并被确认已发送但未被确认可发送指针收到确认即可前移1002003004005006007008009001012013014015016017018011发送窗口可发送不可发送(a)发送窗口大小为500B(b)发送400B,收到确认200B,窗口大小不变,还可发送300B(c)
收到确认400B,窗口缩小400B,还可发送400B发送窗口和接收窗口
TCP滑动窗口用来暂存两台计算机间要传送的数据分组。每台运行TCP协议的计算机有两个滑动窗口:一个用于数据发送,另一个用于数据接收。在全双工工作时,有4个滑动窗口:发送端的发送窗口和接收窗口,接收端的接收窗口和发送窗口。停止等待协议(a)无差错情况A发送
M1确认
M1B发送
M2发送
M3确认
M2确认
M3A发送
M1B超时重传
M1发送
M2确认
M1丢弃有差错的报文(b)超时重传tttt后退n协议选择重发协议TCP协议的流量控制
所谓流量控制就是管理发送端和接收端之间的流量,以免会产生发送过快导致接收端溢出,或者因接收端处理太快而浪费时间。换句话说就是让发送方的发送速率不要太快,要让接收方来得及接收,也不要使网络发生拥塞。利用滑动窗口机制可以很方便地在TCP连接上实现对发送方的流量控制。共有三种情况,窗口扩大,收缩和合拢。扩大:接收方通知接收窗口扩大,右侧边界右移收缩:接收方通知接收窗口缩小,右侧边界左移合拢:接收方通知接收窗口为零,左右边界合拢利用滑动窗口实现流量控制seq=1,DATAseq=201,DATAseq=401,DATAseq=301,DATAseq=101,DATAseq=201,DATAseq=501,DATAACK=1,ack=201,rwnd=300ACK=1,ack=601,rwnd=0ACK=1,ack=501,rwnd=100AB允许A发送序号201至500共300字节A发送了序号101至200,还能发送200字节A发送了序号301至400,还能再发送100字节新数据A发送了序号1至100,还能发送300字节A发送了序号401至500,不能再发送新数据了A超时重传旧的数据,但不能发送新的数据允许A发送序号501至600共100字节A发送了序号501至600,不能再发送了不允许A再发送(到序号600为止的数据都收到了)丢失TCP的差错控制
TCP的差错控制是通过差错检测、确认与重传来实现的。差错检测。在TCP协议中使用的是校验和。确认。TCP在接到数据段后要对其进行校验,并且向发送方反馈确认消息。TCP协议的
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 《单片机测控技术课程设计》课程教学大纲
- 2024年伐木设备出租合同范本
- 2024年出售精装修住房合同范本
- 2024年出口导弹合同范本
- 商业街开业活动
- 培训机构转介绍数据
- 中医针灸学基础培训课件
- 《餐饮服务与管理》高教版(第二版)5.3宴会准备工作单元练习卷(解析版)
- 分子诊断与肿瘤靶向治疗
- 2024产后出血观察和护理
- gsv反恐风险评估表
- 幼儿教师与幼儿有效互动策略课件
- 拟钙剂在慢性肾脏病患者中应用的专家共识简介
- 【2023高血压患者服药依从性研究(论文)2800字】
- 村卫生室2023年度绩效考核评分细则(基本公共卫生服务)
- 智慧校园建设三年规划
- 阴阳五行学说 PowerPoint 演示文稿 全面版【PPT课件】
- 测定总糖原始记录
- 北京科技大学EMC-VNX5300实施文档
- RB/T 089-2022绿色供应链管理体系要求及使用指南
- 高一女生青春期教育讲座
评论
0/150
提交评论