第3章传输层详解
传输层讲义2006

P1
application transport network
M
application transport network
M
application transport network
复用/分用
Multiplexing: gathering data from multiple app processes, enveloping data with header (later used for demultiplexing)
复用/分用:举例
host A
source port: x dest. port: 23
server B
Web client host C
source port:23 dest. port: x
port use: simple telnet app
Source IP: A Dest IP: B source port: x dest. port: 80
• 差错检测(Error Detection)数据链路层
提供了可靠的链路传输,但在路由器将含有分组的帧重新格式化, 可能会出现影响分组内容的错误。帧校验和是在新帧创建后计算 的,包含了错误数据。传输层的差错检测用于检测此错误。
• 建立无连接和面向连接的通信 • 拥塞控制(congestion control)
UDP: User Datagram Protocol [RFC 768]
• Internet transport protocol • “best effort” service, UDP segments may be: – lost – delivered out of order to app • connectionless: – no handshaking between UDP sender, receiver – each UDP segment handled independently of others
传输层的原理

传输层的原理传输层是OSI(开放式系统互联)模型中的第四层,其主要任务是为应用层提供可靠、高效的数据传输服务。
它在网络层的IP报文的基础上,为两个主机之间的通信提供端到端的数据传输。
传输层的主要特点是有限制的端到端通信和可靠的数据传输。
限制的端到端通信意味着数据从源主机传输到目的主机,并在此过程中经过中间设备,而传输层要负责确保数据在源和目的地之间的正确传输。
可靠的数据传输意味着传输层在数据传输过程中要能够检测错误、重传丢失的数据、排除冗余等,以确保数据的准确性和完整性。
传输层的主要协议有传输控制协议(TCP)和用户数据报协议(UDP)。
TCP是一种面向连接的协议,它通过三次握手建立连接,并在传输过程中使用序列号、确认号等机制来保证数据的可靠传输。
UDP则是一种无连接的协议,它不需要建立连接,只是简单地将数据从一端发送到另一端。
UDP速度较快,但可靠性较低。
传输层的主要功能包括分段和重组、流量控制、差错检测与纠正、拥塞控制等。
分段和重组是传输层的基本功能之一。
当应用层的数据量超过网络层所能承载的最大限制时,传输层将数据分成较小的片段,并在接收端将这些片段重新组合为完整的数据。
这种分段和重组的功能能够提高数据传输的效率和可靠性。
流量控制是指传输层通过控制发送端的发送速度,来避免接收端因处理能力不足而无法接收数据的情况。
流量控制可以通过滑动窗口机制和确认号来实现。
滑动窗口机制允许发送方发送一定数量的数据,在接收方确认收到后,再发送新的数据。
确认号则用于告诉发送方接收到了哪些数据,以便发送方可以控制发送速度。
差错检测与纠正是传输层的重要功能之一。
在数据传输过程中,可能出现误码现象,即数据在传输过程中发生了变化。
传输层可以通过奇偶校验、循环冗余检验等方式来检测错误,并通过重传机制将出错的数据进行纠正。
拥塞控制是指传输层通过控制发送端的发送速度,来避免网络出现拥塞。
当网络中的流量过大时,可能会导致网络性能下降,甚至导致网络堵塞。
传输层

传输层提供的服务可分为传输连接服务和数据传输服务。
☆传输连接服务:通常,对会话层要求的每个传输连接,传输层都要在络层上建立相应的连接。
☆数据传输服务:强调提供面向连接的可靠服务(很晚OSI才开始制定无连接服务的有关标准),并提供流 量控制、差错控制和序列控制,以实现两个终端系统间传输的报文无差错、无丢失、无重复、无乱序。
协议等级与协议
协议级别
服务质量
协议
运输层服务通过协议体现,因此运输层协议的等级与络服务质量密切相关。根据差错性质,络服务按质量可 分为以下三种类型:
☆ A类服务:低差错率连接,即具有可接受的残留差错率和故障通知率; ☆ B类服务:高差错率连接,即具有不可接受的残留差ቤተ መጻሕፍቲ ባይዱ率和故障通知率; ☆ C类服务:介于A类服务与B类服务之间。
基本功能
传输层提供了主机应用程序进程之间的端到端的服务,基本功能如下: (1)分割与重组数据 (2)按端口号寻址 (3)连接管理 (4)差错控制和流量控制,纠错的功能 传输层要向会话层提供通信服务的可靠性,避免报文的出错、丢失、延迟时间紊乱、重复、乱序等差错。
服务类型
传输层既是OSI层模型中负责数据通信的最高层,又是面向络通信的低三层和面向信息处理的高三层之间的 中间层。该层弥补高层所要求的服务和络层所提供的服务之间的差距,并向高层用户屏蔽通信子的细节,使高层 用户看到的只是在两个传输实体间的一条端到端的、可由用户控制和设定的、可靠的数据通路。服务类型
传输层基本概念及内容

传输层基本概念及内容
传输层是OSI模型中的第四层,提供端到端的数据传输服务,以及数据的可靠传输和错误检测。
传输层主要包括以下内容:
1.端口号:传输层的通信需要使用端口号,用于标识不同的应用程序和服务。
2.传输协议:常见的传输协议包括TCP和UDP。
TCP提供可靠的传输服务,保证数据的正确性和完整性;UDP则提供不可靠的传输服务,但是速度更快,适用于实时性要求高的应用。
3.连接控制:对于TCP协议,需要通过三次握手建立连接,保证通信双方的联系。
UDP协议则没有连接的概念,每个数据包都是独立的单元。
4.流量控制:传输层需要对数据的发送速率进行控制,避免网络拥塞和性能下降。
5.错误检测与纠错:通过校验和、序列号、确认应答等机制,检测和纠正传输过程中可能出现的错误,保证数据的完整性和正确性。
6.多路复用:传输层可以对多个应用程序进行多路复用,将它们的数据传输合并到同一个连接中,提高网络的利用率和效率。
传输层主要内容

进程服务器收到连接请求后,将源端客户程序 所请求的应用进程加载,并将已经建立的连接 转交该进程。
进程服务器返回继续监听。 远方客户程序与所希望的服务程序进行数据传
输。 问题:初始连接协议对于随时需要创建的应用
进程是十分有效的。但是有一些应用并不依赖 进程服务器,而与一些硬件设备相连,不能临
建立连接
解决延迟重复分组的关键是丢弃过时的 分组,可用如下方法:
– 非重复的TSAP – 过时连接表 – 分组的TTL(分组生成周期)机制 – 三次握手机制
非重复的TSAP
原理
– 废弃使用过的传输地址。
方法
– 系统为每次的传输连接赋予一个新的传输 地址。
– 当此连接被释放的时候,此传输地址就被 废弃了。
数据链路层和运输层之间的最后一个区别是数量上的差别 而非类型上的差别。在两层中都需要有数据缓冲和流量控 制,但在运输层中出现的大量的、动态变化的连接要求可 能需要使用与在数据链路层中不同的处理方法。在数据链 路层中,有些协议为每个连接均分配了固定数目的缓冲区。 在运输层中,由于需要管理很大数目的连接,因此,为每 个连接分配很多缓冲区的策略不具有吸引力。在以下的几 小节中,将考察所有这样和那样的问题。
数据传输:双方使用send和receive完成数据的全双 工发送。
释放连接:每一方使用close原语单独释放连接。
首先,在数据链路层,不必为一个路由器指明它要与哪个路由 器通话--每条输出线对应唯一的一个路由器。在运输层里,需 要显式地给出目的端地址。
其次,在图中的线路上建立连接的过程很简单:另一端总是存 在的(只有在它已崩溃的情况下才不存在),每一方都没有太 多事情要做。对运输层而言,初始连接的建立要复杂得多,这
传输层

6
The Transport Layer 传输层
• The obvious question is then this: If the transport layer service is so similar to the network layer service, why are there two distinct layers? Why is one layer not adequate? The answer is subtle, but crucial. The transport code runs entirely on the user’s machine, but the network layer mostly runs on the routers, which are operated by the carrier. What happens if the network layer offers inadequate service? Suppose that it frequently loses packets? What happens if routers crash from time to time.
18
6.4 The Internet Transport Protocols
因特网传输层协议 因特网TCP/IP协议栈的传输层有两个并列的协议: 传输控制协议TCP:面向连接的,相当于OSI参考模型 传输层的TP4; 用户数据报协议UCP:无连接的,相当于OSI参考模型 传输层的TP0;
2
6
The Transport Layer 传输层
• The ultimate goal of the transport layer is to provide efficient, reliable, and costeffective service to its users, normally processes in the application layer. To achieve this goal, the transport layer makes use of the services provided by the network layer. The hardware and/or software within the transport layer that does the work is called the transport entity
04741计算机网络原理2018版PPT课件_第3章_传输层

6
第三节 停-等协议与滑动窗口协议
一、可靠数据传输基本原理[领会] 不可靠传输信道的不可靠性主要表现在: (1)不可你传输信道在传输数据的过程中,可能发生比特差错。 (2)不可靠传输信道在传输数据的过程中,可能出现乱序。 (3)不可靠传输信道在传输数据的过程中,可能出现数据丢失。 实现可靠数据传输的措施主要包括以下几种: (1)差错检测:利用差错编码实现数据包传输过程中的比特差错检测(甚至纠正)。 (2)确认:接收方向发送方反馈接收状态。 (3)重传发送方重新发送接收方没有正确接收的数据。 (4)序号:确保数据按序提交。 (5)计时器:解决数据丢失问题,
位对齐)求和,求和过程中遇到的任何滥出(即进位)都被回卷(即进位与和的最 低位再加)。最后得到的和取反码,就是UDP的校验和,填入UDP数据的校验和 字段。UDP在生成校验和时,校验和字段取全0。参与UDP校验和计算的内容包容 包括3部分:UDP伪首部、UDP首部和应用层数据。
传输层的端口号分为服务器端使用的端口号与客户端使用的端口号两大类。 服务器端使用的端口号包括熟知端口号和登记端口号。FTP服务器默认端口号是21, HTTP服务器默认端口号是80,SMTP服务器默认端口号是25,DNS服务器默认 端口号是53。
4
第一节 传输层的基本服务
二、无连接服务与面向连接服务[领会] 传输层提供的服务可以分为无连接服务和面向连接服务两大类。无连接服务
8
第三节 停-等协议与滑动窗口协议
传输层基本功能

传输层基本功能传输层是计算机网络体系结构中的一层,负责在源主机和目的主机之间提供可靠的数据传输服务。
它的基本功能主要包括连接建立、数据分割与重组、流量控制和拥塞控制。
一、连接建立传输层通过建立连接来确保数据的可靠传输。
在传输层中,常用的连接是面向连接的TCP(Transmission Control Protocol)连接。
TCP连接是一种可靠的、有序的、全双工的连接,它通过三次握手的方式在源主机和目的主机之间建立起连接。
首先,源主机向目的主机发送一个连接请求报文,目的主机收到请求后向源主机发送一个确认报文,最后源主机再向目的主机发送一个确认报文,完成连接的建立。
二、数据分割与重组传输层负责将应用层发送的数据分割成适合传输的报文段,并在目的主机上将接收到的报文段重新组装成完整的数据。
这是因为应用层发送的数据往往是大于网络传输的最大单元(MTU)的,因此传输层需要将数据进行分割,以便在网络中进行传输。
在接收端,传输层根据报文段的序号和确认号进行重组,确保数据的完整性。
三、流量控制传输层通过流量控制机制来控制发送方向接收方发送数据的速率,以保证接收方能够及时处理接收到的数据。
流量控制主要基于滑动窗口协议,发送方和接收方各自维护一个窗口,用来控制发送和接收的数据量。
发送方根据接收方返回的确认信息来调整发送数据的速率,以避免接收方因为处理不过来而丢弃数据。
四、拥塞控制拥塞控制是传输层的重要功能之一,它用来控制网络中的拥塞程度,避免过多的数据注入到网络中而导致网络性能下降。
拥塞控制采取的措施包括减少发送方的发送速率、丢弃一部分数据、延迟发送等。
传输层通过使用拥塞窗口来控制发送方的发送速率,当网络拥塞时,发送方会减小拥塞窗口的大小,以减少发送的数据量。
总结:传输层作为计算机网络体系结构中的一层,承担着连接建立、数据分割与重组、流量控制和拥塞控制等基本功能。
通过建立连接,传输层确保了数据的可靠传输;通过数据分割与重组,传输层实现了大数据的分割和重组;通过流量控制,传输层控制了发送方向接收方发送数据的速率;通过拥塞控制,传输层避免了网络拥塞导致的性能下降。
计算机网络传输层

计算机网络传输层概述目录第1节运输层功能及协议概述 (1)1.1 运输层功能概述 (1)1.2 运输层的两个主要协议UDP和TCP (1)1.3 端口 (1)1.4 用户数据报协议UDP (2)1.4.1 UDP概述 (2)1.4.2 UDP报文 (2)1.5 传输控制协议TCP主要特点 (3)1.6 提供可靠传输的几种方法 (3)1.6.1 停止等待协议 (3)1.6.2 连续ARQ协议 (4)1.7 TCP报文格式 (4)1.8 连接及管理 (6)1.8.1 TCP连接建立 (6)1.8.2 TCP连接释放 (6)第1节运输层功能及协议概述1.1运输层功能概述传输层:向它上面的应用层提供通信服务,实现端到端的应答、分组排序和流量控制等功能。
运输层有复用和分用的功能,复用就是多个上层进程可同时使用下面传输层提供的服务,分用则是运输层把收到的信息分别交付给上层中相应的进程,在这一层,信息的传送单位是报文。
从通信和信息处理的角度看,,它属于面向通信部分的最高层,同时也是用户功能中的最低层。
当网络的边缘部分中的两个主机使用网络的核心部分的功能进行端到端的通信时,只有位于网络边缘部分的主机的协议栈才有运输层,而网络核心部分中的路由器在转发分组时都只用到下三层的功能。
两个主机进行通信实际上就是两个主机中的应用进程互相通信。
应用进程之间的通信又称为端到端的通信。
应用层不同进程的报文通过不同的端口向下交到运输层,再往下就共用网络层提供的服务。
运输层需要有两种不同的运输协议,即面向连接的 TCP 和无连接的 UDP。
运输层向高层用户屏蔽了下面网络核心的细节(如网络拓扑、所采用的路由选择协议等),它使应用进程看见的就是好像在两个运输层实体之间有一条端到端的逻辑通信信道。
1.2运输层的两个主要协议UDP和TCP1.TCP(Transmission Control Protocol,传输控制协议)功能和特点:用于在不可靠网络上提供可靠的端到端字节流传输服务,提供面向连接和可靠的服务,即在数据通信前需要先建立连接,通信双方采用三次握手协议建立双方的连接,在输送中维持连接,在数据传送中远程主机的运输层在收到TCP报文后需要及时给出已经收到哪些信息的确认,并在数据传送结束后要释放连接,能够提供可靠的交付,数据传输的单位是报文段(segment),不提供广播或多播服务,所以TCP工作时需要诸多额外开销,如确认,流量控制及连接管理等。
【知识详解】传输层详解(秋招总结)

【知识详解】传输层详解(秋招总结)传输层详解⽬录1.传输层概述1.1 概述TCP⾪属于传输层,所以要⾸先明⽩传输层的作⽤是什么,传输层能够实现端到端的连接。
⽐如说我们⽤QQ与别⼈发信息,⽹络层能够将信息发送到对⽅的主机上,主机上使⽤什么协议来接受这个信息就由传输层来完成,所以传输层实现的是进程到进程间的连接。
传输层提供的是应⽤程序间的逻辑通信,也就是说它向⾼层(应⽤层)屏蔽了下⾯⽹络层的细节,使应⽤程序看起来好像是在传输层之间沿着⽔平⽅向传输数据,但事实上两者之间并没有这样⼀条实际的物理连接。
1.2 功能1.⽹络层提供了点到点的连接,⽽传输层提供了端到端的服务,也就是进程间的通信;2.⽹络层提供的是不可靠的连接,传输层能够实现可靠的传输;1.3 协议TCP(Transmission Control:Protocol) 传输控制协议UDP(User Datagram Protocol) ⽤户数据报协议1.4 传输层和应⽤层的关系1.4.1 端⼝TCP/IP传输层⽤⼀个16位端⼝号(0~65535)来标识⼀个端⼝,但是注意,端⼝号只具有本地意义,不同计算机的相同端⼝号没有关联,0⼀般不⽤,所以允许有65535个不同的端⼝号。
两个计算机的进程要实现通信,不仅必须知道对⽅的IP地址(为了找到对⽅的计算机),⽽且还要知道对⽅的端⼝号(为了找到对⽅计算机中的应⽤程序)问:怎么理解端⼝?在⽹络技术中,端⼝(Port)⼤致有两种意思:1.硬件端⼝,也就是设备间交互的接⼝,是物理意义上的端⼝,⽐如集线器,交换机等设备的接⼝;2.软件端⼝,指的是应⽤层的的进程和运输层进⾏层间交互的⼀种地址,是逻辑意义上的端⼝,⼀般指的是TCP/IP协议中的端⼝。
正是这种端⼝,所有传输层实现的是端到端的通信;在TCP/IP协议中,⽤"源IP地址、⽬的IP地址、源端⼝号、⽬的端⼝号、协议号"这五部分组成⼀个套接字,来标识⼀次通信;⼀个进程可以绑定多个端⼝号,因为⼀个进程可以有很多线程或者说是⼦进程等,这每⼀个都对应⼀个端⼝号,所以⼀个进程可以绑定多个端⼝号;但是⼀个端⼝号不可以被多个进程绑定,每⼀个端⼝号都与唯⼀的进程对应,if有多个了,那通信不就乱了套了吗;⼀个端⼝号⼀个进程,⼀个进程可以多个端⼝;端⼝号分类公认端⼝:0~1023,明确与某种服务绑定,⽐如各种协议;注册端⼝:1024~65535:松散的绑定⼀些服务,也就是有许多服务绑定这些端⼝。
TCP IP协议与网络编程 任泰明第3章 传输层协议UDP和TCP

第3章 传输层协议UDP和TCP 3.2.3 UDP协议的特点 从UDP协议的数据报格式可以看出,UDP对数据的封 装非常简单,主要是增加了端口号与校验和,然后就可以 直接通过IP层进行传输了,因此它具有以下特点: (1) UDP是一种无连接、不可靠的数据报传输服务协
由于TCP是一个全双工协议,因此在通信过程中两 台主机都可以独立地发送数据,完成数据发送的任何 一方可以提出关闭连接的请求。关闭连接时,由于在 每个传输方向既要发送一个关闭连接的报文段,又要 接收对方的确认报文段,因此关闭一个连接要经过4次 握手。
第3章 传输层协议UDP和TCP 连接建立和关闭的过程可以用图3-8表示,该图是 通信双方正常工作时的情况。关闭连接时,图中的u表 示服务器已收到数据的序列号,v表示客户机已收到数 据的序列号。
它只是为了UDP在进行差错检查时可以把更多的信息包
含进去而人为加上的。伪头部的格式如图3-5所示。
第3章 传输层协议UDP和TCP
0
78
15 16 源 端IP地 址(32位) 目标端IP地址(32位)
31
填充域(8位,全0)
协议(8位,UDP值为17)
UDP长度(16位)
图3-5 UDP伪头部格式
第3章 传输层协议UDP和TCP 256~1023之间的端口号通常都是由Unix系统占用的, 以提供一些特定的Unix服务。现在IANA管理1~1023之间 所有的端口号。任何TCP/IP实现所提供的服务都使用1~ 1023之间的端口号。 客户端口号又称为临时端口号(即存在时间很短暂)。 这是因为客户端口号是在客户程序要进行通信之前,动态 地从系统申请的一个端口号,然后以该端口号为源端口, 使用某个众所周知的端口号为目标端口号(如在TCP协议上 要进行文件传输时使用21)进行客户端到服务器端的通信。 综上所述,我们知道两台要通信的主机,每一端要使 用一个二元地址(IP地址,端口号)才可以完成它们之间的通 信。
传输层概述、位置、功能及其必要性

传输层存在的必要性
网络层的分组传输不可靠。 无法了解数据到达终点的时间。 无法了解数据未达终点的状态。 有必要增强网络层提供服务的服务质量。
11
2013-8-13
应用层 表示层 用户功能 会话层 传输层 网络层 网络功能
2013-8-13
信息处理
通信服务
链路层
物理层
9
• 传输层与网络层之间的区别:
传输层为应用进程之间提供逻辑通道,而 网络层为主机之间提供逻辑通道。
2013-8-13
10
引入传输层的目的
消除网络层的多样性和不可靠性。 提供从源主机到目的端主机可靠的、价格合 理的、与实际使用的网络无关的信息传输。
IP提供的是无连接的不可靠的服务 资源子网中的端用户依靠在自己主机上所 增加的这个传输层来检测分组的丢失或数 据的残缺并采取相应的补救措施。
二、传输层功能 在网络层所提供的源到目标的分组传输服 务的基础上,向上层提供可靠的源主机到 目标主机的数据传输。 当上层的协议数据包的长度超过网络互联 层所能承载的最大数据传输单元时,提供 分段和合并分段的功能。
三、端到端的传输 传输层就是为上三层提供端到端的传输服 务
端到端
声音信号
声音信号
电信号
电信号点到点点到点来自点到点四、TCP/IP 的传输层 两个主要的协议即传输控制协议(transport control protocol,简称TCP)和用户数据报协议 (user datagram protocol,简称UDP)
TCP协议是一个可靠的面向连接的传输层协议。 UDP协议将可靠性问题交给应用程序解决
指标
是否连接 传输可靠性 速度 传输质量
第三章 传输层及应用层

接收方: 接收方
o 对接收到的段内容进行补
码和计算 o 检查计算结果是否与收到 的校验和相等: 的校验和相等 NO – 查出错误 YES – 没查出错误 但 没查出错误. 是仍有可能存在错误? 是仍有可能存在错误
主讲人: 西安交通大学 程向前
10
TCP概述 RFCs: 793, 1122, 1323, 2018, 2581 概述
32 bits
源端口 #
宿端口 #
其他首部字段
应用层数据 (报文)
TCP/UDP 段格式
主讲人: 西安交通大学 程向前 6
复用/分用 复用 分用: 举例 分用
主机 A
source port: x dest. port: 23
服务器 B
Web客户端 主机 C
source port:23 dest. port: x
主讲人: 西安交通大学 程向前
8
UDP: (续) 续
o 经常为流媒体应用使用
允许数据丢失 长度, 长度 UDP 对传输速率敏感 段的字节数, 段的字节数 o 其他 UDP用途 : 用途 包括首部 DNS SNMP o 若需要通过 UDP进行可靠 进行可靠 传输:在应用层增加可靠性 传输 在应用层增加可靠性 措施 在应用程序中-专门的 在应用程序中 专门的 出错恢复机制! 出错恢复机制
主讲人: 西安交通大学 程向前
application transport network data link physical network data link physical network data link physical
network data link physical
network data link physical
传输层 osi 详解 免费

传输层的主要功能
传输层为应用进程之间提供端到端的逻辑通信( 传输层为应用进程之间提供端到端的逻辑通信(但 网络层是为主机之间提供逻辑通信)。 网络层是为主机之间提供逻辑通信)。 传输层还要对收到的报文进行差错检测。 传输层还要对收到的报文进行差错检测。 传输层有两种不同的传输协议,即面向连接的 传输层有两种不同的传输协议, TCP 和无连接的 UDP。 。
UDP 是面向报文的
应用层报文 应用层
UDP 首部
UDP 用户数据报的数据部分
运输层
IP 首部
IP 数据报的数据部分
IP 层
端口用报文队列来实现
应 用 层 出队列 传 输 层 TFTP 客户 TFTP 服务器
入队列
出队列
入队列
UDP
端口 51000 UDP 用户数据报
UDP
端口 69
UDP 基于端口的分用
插口(socket)
TCP 使用“连接”(而不仅仅是“端口”)作为最基 使用“连接” 而不仅仅是 端口” 作为最基 而不仅仅是“ 本的抽象, 本的抽象,同时将 TCP 连接的端点称为插口 (socket),或套接字、套接口。 ,或套接字、套接口。 插口和端口、IP 地址的关系是: 插口和端口、 地址的关系是:
传输层协议和网络层协议的 主要区别
应用进程 应用进程 … 因 特 网 …
IP 协议的作用范围 (提供主机之间的逻辑通信) TCP 和 UDP 协议的作用范围 (提供进程之间的逻辑通信)
传输层与其上下层之间的关系 的 OSI 表示法
主机 A 传输服务用户 (应用层实体) 传输层服务访问点 TSAP 传输实体 应用层 主机 B 传输服务用户 (应用层实体) 层接口 传输协议 传输实体 传输层 层接口
计算机网络传输层基本知识

application
transport network link physical
application
transport network link physical
Hale Waihona Puke P2P4application transport network
link
physical
host 1
host 2
host 3
Transport Layer 3-7
3.5 Connection-oriented
transport: TCP
segment structure reliable data transfer flow control connection management
3.6 Principles of
congestion control 3.7 TCP congestion control
P1 P4 P5 P6 SP: 5775 P2 P1 P3
DP: 80
S-IP: B D-IP:C SP: 9157 SP: 9157
client IP: A
DP: 80 S-IP: A D-IP:C
server IP: C
DP: 80 S-IP: B D-IP:C
Client
IP:B
Transport Layer 3-12
Transport Layer 3-4
Internet transport-layer protocols
reliable, in-order
delivery (TCP)
congestion control flow control connection setup
传输层功能及作用通俗的解释

传输层功能及作用通俗的解释一、传输层是啥呢?咱就把网络想象成一个超级大的快递系统。
传输层啊,就像是这个快递系统里特别重要的一个环节。
它就像是负责把包裹准确送到每家每户的快递员一样。
你在网上和朋友聊天、看视频或者玩游戏,传输层就在背后默默工作着,确保你发出的消息能准确到达对方那里,对方回复的内容也能准确地回到你这儿。
比如说,你在手机上给朋友发了个超搞笑的表情包。
这个表情包就像是一个小包裹,传输层要做的就是把这个小包裹从你的手机送到你朋友的手机上。
而且啊,在网络这个超级复杂的环境里,有好多好多的数据在跑来跑去,就像马路上有很多车一样。
传输层就得保证你的表情包这个小包裹不会被其他数据给挤丢了,也不会送错地方。
二、传输层的功能1. 端口号的作用端口号就像是你家的门牌号一样。
在网络里,不同的应用程序就像是住在不同房子里的人。
比如说,你电脑上的QQ和浏览器,它们就是不同的应用程序。
每个应用程序都有自己的端口号,就像每个房子都有自己的门牌号。
传输层通过端口号来区分这些不同的应用程序,这样就能准确地把数据送到正确的应用程序那里。
就像快递员看到门牌号就能准确地把包裹送到对应的人家一样。
如果没有端口号,那数据就不知道该往哪个应用程序送了,就像快递员找不到门牌号,不知道把包裹放哪儿了,那可就乱套了。
2. 可靠传输和不可靠传输有时候啊,传输层会提供可靠传输。
这就好比你寄一个非常重要的文件,你希望快递公司能保证这个文件肯定能安全送到。
在网络里也是这样,像一些对数据准确性要求特别高的情况,比如你在网上转账,传输层就会采用可靠传输的方式,它会检查数据有没有在传输过程中出错或者丢失,如果出错或者丢失了,它会重新发送,直到数据准确无误地到达目的地。
但是呢,还有不可靠传输的情况。
比如说你在看在线视频,偶尔有一两个画面没显示清楚或者声音有点卡,其实也不太影响你看视频的整体感受。
这种情况下,传输层就可能采用不可靠传输,因为这样可以提高传输的速度,虽然可能会有一点点小问题,但总体上能让你更快地看到视频。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
若UDP用户数据报的数据部分不是偶数个字节则要填入一个全零 字节(但此字节不发送)。然后按二进制反码计算出这些16 bit字的和。 将此和的二进制反码写入校验和字段后,发送此UDP用户数据报。
在接收端,将收到的UDP用户数据报连同伪首部(以及可能的填充 全零字节)一起,按二进制反码求这些16 bit字的和。 当无差错时其结果应为全1。否则就表明有差错出现,接收端就应 将此UDP用户数据报丢弃(也可以上交给应用层)。
3.1.1 传输层功能及提供的服务
• 从通信和信息处理的角度看,传输层向它上面的 应用层提供通信服务,它属于面向通信部分的最 高层,同时也是用户功能中的最低层。 • 传输层协议是在端系统中,而不是在路由器中实 现的。 • 传输层协议要提供端到端的错误恢复与流量控制, 对网络层出现的丢包、乱序或重复等问题作出反 应。 • 传输层扩展网络层服务功能,为高层提供可靠数 据传输,即它是资源子网与通信子网的界面与桥 梁。
•
7.3 用户数据报协议UDP
7.3.2 UDP数据报格式 在UDP用户数据报首部增加了12个字节的“伪首部”。 所谓“伪首部”是因为这种伪首部并不是UDP用户数据报真 正的首部。只是在计算校验和时,临时和UDP用户数据报连 接在一起,得到一个过渡的临时的UDP用户数据报。校验和 就是按照这个过渡的UDP用户数据报来计算的。 伪首部既不向下传送,也不向上递交。
3.2 UDP
UDP 只在 IP 的数据报服务之上增加了很少一 点的功能,即端口的功能和差错检测的功能。
虽然 UDP 用户数据报只能提供不可靠的交付, 但 UDP 在某些方面有其特殊的优点。
3.2.1 用户数据报概述
•
UDP分组称为用户数据报,有8字节的固定首部, 这个首部由4个字段组成,每个字段2字节(16位)。
7.1 传输层概述
7.1.2 进程和端口号 端口在进程之间的通信中所起的作用
端口可以分为两大类: 7.1.2 进程和端口号 (1)服务器端使用的端口号: 专用端口号:也称为熟知端口号,绑定于一些特定的服务 ,通常带有这些端口号的通信明确表明了某种服务的协议 ,这种端口号不可再重定义它的作用对象。 注册端口号:1024~49151,多数没有明确的定义服务 对象,不同程序可根据实际需要自己定义,比如远程控制 软件和木马程序中都会有这些端口号的定义。 (2)客户端口:49152~65535,仅在客户进程运行时 才动态分配,是留给客户进程暂时使用时选择。通信结束 后被收回,供其他客户进程以后使用。
常用的端口号及对应协议 7.1.2 进程和端口号
端口号
20 21 23 25 53 69 80 110
应用程序
说明
文件传输协议(数据) 文件传输协议(命令) 远程连接 简单邮件传输协议 域名解析服务 简单文件传输协议 超文本传输协议 邮局协议版本3
FTP_DATA FTP_CONTROL TELNET SMTP DNS TFTP HTTP POP3
传输层为应用进程间提供逻辑通信
主机H1 应用层 运输层 网络层 链路层 物理层 网络层 链路层 物理层 路由器 R1 R2 网络层 链路层 物理层 路由器 R2 R3 网络层 链路层 物理层 路由器 R3 主机H2
逻辑端到端传输
应用层 运输层 网络层 链路层 物理层
两个主机进行通信实际上就是两个主机中的应 用进程互相通信。 应用进程之间的通信又称为端到端的通信。
7.3 用户数据报协议UDP
7.3.3 UDP校验 • 【例4-1】假设从源端A要发送下列3个16位的二进制数: word1,word2和word3到终端B,校验和计算如下: • word1:0110011001100110 • word2:0101010101010101 • word3:0000111100001111 • 三个二进制字段的和 sum=word1+word2+word3=1100101011001010 • 校验和(sum的反码)为0011010100110101 • 从发送端发出的4个(word1,2,3以及校验和)16位二进 制数之和为1111111111111111,如果接收端收到的这 4个16位二进制数之和也是全“1”,就认为传输过程中 没有出差错。
第3章传输层
2016
第3章 传输层
3.1 3.2 3.3 传输层概述 UDP TCP
3.4 实训 TCP 传输控制协议分 析
3.1 传输层概述
•
•
传输层位于应用层和网络层之间。它在两个应用层 之间提供进程到进程的服务,一个进程在本地主机,另一 个在远程主机。 使用逻辑连接提供通信,意味着两个应用层可以位 于地球上的不同位置,两个应用层假设存在一条想象的直 接连接,通过这条连接它们可以发送和接收数据。
使用校验和检测错误举例
• 【例4-2】以下是十六进制格式的UDP首部内容:
CB80 0035 002A 001C,请问 • (1)源端口号是多少? • (2)目的端口号是多少? • (3)用户数据报总长度是多少? • (4)数据长度是多少? • (5)分组是从客户端发往服务器端的还是相反 方向的? • (6)客户进程是什么?
这两种协议在协议栈中的位置:
应用层 FTP HTTP SMTP TELNE T DNS TFTP
传输层
TCP
UDP
网络层
IP
ICMP
ARP
RARP
TCP 与 UDP TCP是面向连接的、可靠的传输协议。在传送数 据之前必须先建立连接,数据传送结束后释放连 接。它能把报文分解成数段,在目的端再重新装 配这些段,重新发送没有被收到的段。在用户通 信之间TCP提供了一个虚电路。 UDP是无连接的,而且“不可靠”,远端主机的 运输层在收到UDP报文后,不需要给出任何确认 ,也没有对发送段进行软件校验。因此,被称之 为“不可靠”。
• • •
3.3 TCP
• TCP指定了两台计算机之间为了进行可靠传输而交换 的数据和确认信息的格式,以及计算机为了确保数据 的正确到达而采取的措施。 • 在Internet中看TCP与IP的关系
3.3.1 TCP服务
• (1)面向连接的传输 • (2)端到端的通信 • (3)高可靠服务 • (4)全双工通信 • (5)采用字节流方式,即以字节为单位传输字节序列 • (6)可靠的连接建立
161
179 520
SNMP
BGP RIP
简单网络管理协议
边界网关协议 路由信息协议
7.1.3 套接字 为了区别不同的应用程序进程和连接,许多计算机操作 系统为应用程序与TCP/IP协议交互提供了称为套接字 (Socket)的接口 应用程序进程、套接字
主机A 程 序 A 主机B 程 序 B
7.1.2 进程和端口号
数据通 信过程
3.1.2 应用进程、传输层接口 与套接字
运输层的一个很重要的功能就是复用和分用。 应用层不同进程的报文通过不同的端口向下交 到运输层,再往下就共用网络层提供的服务。 “运输层提供应用进程间的逻辑通信”。“逻 辑通信”的意思是:运输层之间的通信好像是 沿水平方向传送数据。但事实上这两个运输层 之间并没有一条水平方向的物理连接。
3.1.3 传输层的多路复用与多 路分解
每当一个实体从一个以上的源接收到数据项时, 称为多路复用(multiplexing,多对一); 每当一个实体将数据项传递到一个以上的源时, 称为多路分解(demultiplexing,一对多)。 源端的传输层执行复用;目的端的传输层执行 多路分解。
服务器 P1 客户 P1 应用层 多路复用器 报文 m1 m2 m3 传输层 P2 P3 报文 m1 m3 P3 应用层
• 答:(1)源端口号是头4位十六进制数(CB80)16,这意
•
•
• • •
味着源端口号是52096。 (2)目的端口号是第二组4位十六进制数(0035)16,即 目的端口号为53。 (3)第三组四位十六进制数(002A)16,定义了整个UDP 分组的长度,即长度为42字节。 (4)数据的长度是整个分组长度减去首部长度,即428=34字节。 (5)由于目的端口号是53(为专用端口号),分组是从客 户端发送到服务器端。 (6)客户进程是DNS(见表3-1)。
这些数据项可以是数字或在计算校验和过程中看作数字的 其他字符串。
7.3 用户数据报协议UDP
校验和计数
UDP计算检验和的方法和计算IP数据报首都检验和的方法相似。 在发送端,首先是先将全零放入检验和字段。再将伪首部以及 UDP用户数据报(现在要包括数据字段)看成是由许多16 bit的字串接 起来
分
组
3
分组1 分组3
多路复用器 传输层 分组1 分组2 分组3
分
组
1
服务器 P2 应用层
分பைடு நூலகம்组 2
报文 m2 多路复用器 图例
mi:报文 Pi:进程
传输层
分组2
3.1.4 无连接服务与面向连接 服务
•TCP/IP 的运输层有两个不同的协议: •(1) 用户数据报协议UDP(User Datagram Protocol) •(2) 传输控制协议TCP(Transmission Control Protocol)
• (1)源端口字段:包含16 位长度的发送端UDP协议端
• •
口号。 (2)目的端口字段:包含16 位长度的接收端UDP 协议 端口号。 (3)长度字段:UDP用户数据报的长度,记录该数据 报的长度,即首部加数据的长度,16位可以定义的总长 度范围是0到65 535。 (4)校验和字段:防止UDP用户数据报在传输中出错。 校验和字段是可选择的,如该字段值为0则表明不进行校 验。一般说来,使用校验和字段是必要的。