




已阅读5页,还剩128页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
第5章传输层,第1章,第5章传输层,5.1传输层协议概述5.2用户数据报协议UDP5.3传输控制协议TCP概述5.4可靠传输的工作原理5.5TCP段报头格式5.6TCP可靠传输实现5.7TCP流控制5.8TCP拥塞控制5.9TCP传输连接管理2,5.1传输层协议概述, 5.1.1进程间的通信5.1.2传输层的端口5.1.3传输层的端口5.1.3进程间的通信3 . 5 . 1 . 1从通信和信息处理的角度来看,传输层向其上的应用层提供通信服务,它属于面向通信部分的最高层,也是用户功能的最低层。 当网络边缘部分的两台主机使用网络核心部分的功能进行端到端通信时,只有位于网络边缘部分的主机的协议栈具有传输层,而网络核心部分的路由器在转发数据包时仅使用较低三层的功能。传输层提供应用程序进程、主机A、主机B、应用程序进程、应用程序进程、路由器1、路由器2、AP1、LAN2、广域网、AP2、AP3、AP4、IP层、LAN1、AP1、AP2、AP4、端口、端口之间的逻辑通信。传输层为相互通信的应用程序进程提供逻辑通信。网络层提供主机之间的逻辑通信,而传输层提供应用程序进程之间的端到端逻辑通信。传输层协议和网络层协议的主要区别6。传输层的作用是一台主机上的许多应用程序进程经常同时与另一台主机上的许多应用程序进程通信。这表明传输层具有非常重要的复用和解复用功能。根据应用程序的不同需求,传输层需要两种不同的传输协议,即面向连接的TCP和无连接的UDP。然而,由于传输层使用的协议不同,通向上层的逻辑通信信道的性能有很大的不同。当传输层采用面向连接的TCP协议时,尽管下面的网络不可靠(仅提供可能的最佳服务),但该逻辑通信信道相当于全双工可靠信道。当传输层采用无连接的UDP协议时,这个逻辑通信信道是不可靠的信道。传输控制协议的传输层有两种主要协议:(1)用户数据报协议UDP (2)传输控制协议TCP(传输控制协议),传输控制协议TCP/IP系统中的传输层协议,10、TCP和UDP,两个对等传输实体在通信过程中传输的数据单元称为传输协议数据单元TPDU(TransportProtocolDataUnit)。由传输控制协议传输的数据单元协议是传输控制协议段。UDP传输的数据单元协议是UDP报文或用户数据报。协议:一种提供无连接服务的无连接协议。在传输数据之前,不需要建立连接。传输的数据单元协议是UDP消息或用户数据报。收到UDP消息后,对方的传输层不需要给出任何确认。虽然UDP不提供可靠的传输,但在某些情况下,UDP是最有效的工作方式。协议:一种面向连接的协议,提供面向连接的服务。传输的数据单元协议是传输控制协议段。TCP不提供广播或多播服务。由于TCP必须提供可靠的面向连接的传输服务,因此不可避免地会增加大量开销。这不仅大大增加了协议数据单元的报头,而且占用了大量处理器资源。13、5.1.3传输层端口,计算机中运行的进程用进程标识符标记。然而,运行在应用层上的各种应用程序进程不应该让计算机操作系统分配其进程标识符。这是因为在互联网上使用的计算机有多种操作系统,不同的操作系统使用不同格式的进程标识符。为了使运行不同操作系统的计算机的应用进程能够相互通信,有必要用统一的方法标记TCP/IP系统的应用进程。这个问题的解决方案是在传输层使用protocolportnumber,简称port。尽管通信的终点是应用程序进程,但我们可以将端口视为通信的终点,因为只要我们将消息传递到目标主机的合适的目标端口,其余的工作(即目标进程的最终传递)将由TCP完成。15,软件端口和硬件端口,两个不同的概念。协议栈层之间的抽象协议端口是软件端口。路由器或交换机上的端口是硬件端口。硬件端口是不同硬件设备交互的接口,而软件端口是应用层各种协议进程与传输实体交互的地址。16,TCP/IP传输层端口,该端口标有16位端口号。端口号仅具有本地含义,也就是说,端口号仅用于标记此计算机应用层中的每个进程。在互联网中,不同计算机的相同端口号是不连接的。由此我们可以看出,要相互通信,两台计算机中的进程不仅要知道对方的IP地址(以便找到对方的计算机),还要知道对方的端口号(以便在对方的计算机中找到应用程序进程)。(1)服务器端使用的端口号称为端口,一般为01023。没有已知端口号的应用程序使用注册端口号,其值为102449151。使用此范围的端口号必须在IANA注册,以防重复。(2)客户端使用的端口号也称为临时端口号,取值为4915265535,让客户端进程选择临时使用。当服务器进程从客户端进程接收到消息时,它知道客户端进程使用的动态端口号。通信完成后,其他客户端进程可以稍后使用该端口号。18,常见端口,19,5.2用户数据报协议UDP,5.2.1UDP概述5.2.2UDP报头格式,20,5.2.1UDP概述,UDP仅在IP数据报服务上增加了一点功能:多路复用和解复用功能错误检测功能虽然UDP用户数据报只能提供不可靠的传送,但UDP在某些方面有其特殊的优势。UDP的主要特点是:(1)UDP是无连接的,在发送数据之前不需要建立连接,从而减少了发送数据之前的开销和延迟。(2)UDP尽可能地被传递,也就是说,不保证可靠的传递,因此主机不需要维护复杂的连接状态表。(3)UDP是面向消息的。UDP不合并或拆分应用层传递的消息,但保留这些消息的边界。UDP一次传递一条完整的消息。(4)UDP没有拥塞控制,因此网络拥塞不会降低源主机的发送速率。这对于一些实时应用程序很重要。它非常适合多媒体通信。(5)UDP支持一对一、一对多、多对一和多对多的交互式通信。(6)UDP的报头开销很小,只有8个字节,比TCP的20个字节的报头短。面向消息的UDP发送方UDP在添加报头后将应用程序发送的消息传送到IP层。UDP不合并或拆分应用层传递的消息,但保留这些消息的边界。应用层将发送UDP,只要它给出UDP,即一次一个消息。消息的UDP接收方UDP将从IP层传送的UDP用户数据报完整地传送到上层应用程序进程,在移除报头之后,一次传送一个完整的消息。应用程序必须选择适当大小的消息。如果消息太长,在UDP将消息传递给IP层后,IP层可能会在传输过程中分裂,这会降低IP层的效率。如果消息太短,UDP会使IP数据报的报头的相对长度在切换到IP层后变得太长,这也会降低IP层的效率。用户数据报UDP有两个字段:数据字段和报头字段。标题字段非常简单,只有8个字节。,UDP用户数据报报头和伪报头,26,UDP是基于端口拆分的。当传输层从IP层接收到UDP数据报时,它根据报头中的目的端口将UDP数据报通过相应的端口传递到最终目的地应用程序进程。请注意,尽管端口号是UDP之间通信所必需的,但套接字不是必需的,因为UDP通信是无连接的。27,5.3 TCP概述,5.3.1TCP主要功能5.3.2TCP连接,28,5.3.1TCP主要功能,TCP是一种面向连接的传输层协议。每个TCP连接只能有两个端点,每个TCP连接只能是点对点(一对一)。TCP提供可靠的服务交付。TCP提供全双工通信。面向字节流的TCP中的“流”是指流入或流出进程的字节序列。“面向字节流”意味着,尽管应用程序和TCP之间的交互一次是一个数据块,但TCP将应用程序移交的数据视为一系列非结构化的字节流。请注意,TCP连接是虚拟连接,而不是真正的物理连接。TCP不关心应用程序进程一次向TCP缓存发送多长时间的消息。根据另一方给出的窗口值和当前的网络拥塞程度(UDP发送的消息长度由应用程序进程给出),TCP确定一个消息段应该包含多少字节。传输控制协议可以将太长的数据块分割成较短的数据块进行传输。在形成要发送的消息段之前,TCP还可以等待足够的字节积累。TCP连接,TCP将连接视为最基本的抽象。每个TCP连接都有两个端点。TCP连接的端点不是主机,不是主机的IP地址,不是应用程序进程,也不是传输层的协议端口。TCP连接的端点称为套接字或套接字。端口号与)IP地址保持一致,形成套接字。31,套接字),TCP连接:3360=套接字1,套接字2 =(IP 1:端口1),(:端口2) (5-2),套接字=(IP地址:端口号)(5-1),每个TCP连接由通信两端的两个端点(即两个套接字)唯一确定。即:32,TCP连接,IP地址,套接字,TCP连接是由协议软件提供的抽象。TCP连接的端点是一个非常抽象的套接字,即(IP地址:端口号)。同一IP地址可以有多个不同的TCP连接。相同的端口号也可以出现在许多不同的TCP连接中。33,5.4可靠传输的原理,5.4.1停止和等待协议,5.4.2连续ARQ协议,34,理想传输条件具有以下两个特征:(1)传输信道不产生错误。(2)无论发送方发送数据的速度有多快,接收方总是有时间处理接收到的数据。在这种理想的传输条件下,不需要采取任何措施就可以实现可靠的传输。然而,实际网络并不具备上述两种理想条件。必须使用一些可靠的传输协议来实现在不可靠的传输信道上的可靠传输。35,5.4.1停止等待协议,“停止等待”是指停止发送每个数据包并等待另一方的确认。收到确认后发送下一个数据包。全双工通信的双方都是发送方和接收方。为了便于讨论这个问题,我们只考虑A发送数据,而B接收数据并发送确认。所以a叫做发送者,b叫做接收者。如果没有错误,则A将发送分组M1,发送后暂停发送,并等待来自B的确认(确认)。B从M1接收到对A的确认。A将在接收到M1的确认后发送下一个分组M2。甲,乙,确认M1,确认m2,37,2。如果有一个错误,在接收器b中会有两种情况:如果b在接收M1时检测到一个错误,它将丢弃M1并且不做其他任何事情(它将不会通知a接收到带有错误的分组)。M1在传播过程中迷失了方向,然后B当然什么也不知道,什么也没做。在这两种情况下,乙方都不会发送任何信息。如何保证B能正确接收M1?解决方案:超时重传为每个发送的数据包设置一个超时计时器。只要它在超时计时器到期之前收到相应的确认,它就会取消超时计时器并继续发送下一个数据包M2。如果B发送的M1确认丢失,则A不能在设置的超时重传时间内接收到确认,但是A不能知道它自己发送的分组是错误的、丢失的,还是B发送的确认丢失了。因此,A将在超时计时器到期后重新传输M1。假设B再次接收到重传的分组M1。此时,b应该采取两个行动:首先,丢弃这个重复的数据包M1,不要把它传递到上层。第二,向A发送确认。不能认为确认已经发送并且将不会再次发送,因为A重新发送M1的原因意味着A没有收到M1的确认。确认丢失,确认延迟。在延迟确认的传输过程中没有出现错误,但是B组M1的确认延迟。a将收到重复确认。重复确认的处理很简单:接受它们并丢弃它们。b将仍然接收重复的M1,并且也将丢弃重复的M1并且重发确认分组。请注意,发送数据包后,必须暂时保留发送数据包的副本,以备重新传输。分组和确认分组都必须编号。超时计时器的重传时间应该比数据包传输中数据的平均往返时间长。自动重复请求ARQ,通常情况下,A最终总能收到所有输出数据包的确认。如果A继续重传数据包,但从未收到确认,则通信线路太差,无法通信。使用上述确认和重传机制,我们可以在不可靠的传输网络上实现可靠的通信。像上面这样可靠的传输协议通常被称为ARQ(自动传输请求(ARQ)。这意味着重传请求是自动的,并且接收者不需要请求发送者重传错误的分组。信道利用率,TD,RTT,A,TD RTT TA,B,分组,确认,t,t,确认,停止-等待协议的信道利用率太低,停止-等待协议的优点很简单,但缺点是信道利用率太低。为了提高传输效率,发送方可以使用流水线传输来代替低效的停止等待协议。管道传输是指发送方可以连续发送多个数据包,而不必在每个数据包发送后等待对方的确认。这样,数据可以在信道上连续传输。由于数
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025版实习单位实习学生权益保障合同汇编
- 2025版医疗器械公司售后服务人员劳动合同模板
- 2025版城市基础设施建设砂浆采购合同范本
- 2025年度土地承包经营权流转合同签订与执行指南
- 2025年外墙乳胶漆新型环保材料采购合同
- 2025版专业食堂食材配送与健康管理服务协议
- 2025年烧结砖行业绿色物流服务购销合同模板
- 2025版全民健身中心设施租赁协议书
- 2025年度水果品牌设计与包装合同
- 2025版水电水利工程环境保护与土壤修复设计合同
- 中国脑小血管病诊治指南2023版
- 房地产中介服务操作手册
- 水质-氯化物的测定验证报告
- 2024年全国职业院校技能大赛中职组(水利工程制图与应用赛项)考试题库(含答案)
- 2024至2030年中国纪录片市场投资方向及未来运行状况监测报告
- 托管班安全责任承诺书
- 江苏省南京市鼓楼区2023-2024学年八年级下学期期末英语试卷(含答案解析)
- 盘扣式卸料平台计算书
- 天然气管网SCADA系统方案建议书
- 成人氧气吸入疗法-2020版指南解读
- 《医药电子商务》1-电子商务概述
评论
0/150
提交评论