传输层
第3章传输层
12
(2) 会话控制 从原理上说,OSI中的所有连接都是全双 工的。 会话层通过令牌来进行会话的交互控制。 令牌是会话连接的一个属性,表示使用会话的 独占权:拥有令牌的一方才有权发送数据。令 牌是可以申请的,各个端系统对令牌的使用权 可以具有不同的优先级。
13
(3) 会话同步 所谓同步就是使会话服务用户对会话的进 展情况都有一致的了解,在会话被中断后可以 从中断处继续下去,而不必从头恢复会话。
18
应用层
应用层是OSI参考模型的最高层,是用户 与网络的接口。应用层通过支持不同应用协议 的程序来解决用户的应用需求,如文件传输、 远程操作和电子邮件服务等。
19
一、填空题 1. ISO组织提出的OSI RM将网络协议分成 层,它们分 别是物理层、数据链路层、 、传输层、会话层、 表示层和应用层。 2. 在OSI RM中,物理层的重要任务是描述与传输媒体 的接口的一些特性,主要有: 、电气特性、 和 规程特性 3. 在OSI RM中,数据链路层主要完成的工作有:数据 成帧、 和 。 4. 路由选择是指网络节点在收到一个分组后,要确定 向下一节点传送的路由。确定路由选择的策略称为路 由算法,常用的可分为 和 两类。 5. 传输层是OSI RM的中间层,它负责_________的通 信,既是七层模型中负责数据通信的 ,又是面 向网络通信的低三层和面向信息处理的高三层之间的 中间层。
16
(3) 语法选择 传输语法与抽象语法之间是多对多的关系, 即一种传输语法可对应于多种抽象语法,而一 种抽象语法也可对应于多种传输语法。所以传 输层应能根据应用层的要求,选择合适的传输 语法传送数据。
17
计算机网络技术《9.1传输层的作用》
91 数据传输
第三页,共八页。
传输层协议 数据传输
传输层的作用 负责在两个应用之间建立临时通信会话,并在它们之间传送数据。 提供面向连接的数据流支持、可靠性、流量控制和多路复用
第四页,共八页。
传输层协议 数据传输
传输层的职责 跟踪各个会话。 分段数据和分段重组。 标识应用程序。
第五页,共八页。
传输层协议 数据传输
会话多路复用 将数据分成小数据块。 根据会话给数据块添加标签。
第六页,共八Байду номын сангаас。
传输层协议 数据传输
传输层可靠性 提供两种协议:TCP 和 UDP。 TCP 具有可靠性,而 UDP 那么不具有。
第七页,共八页。
内容总结
第 9 章:传输层。第 9 章:传输层。描述传输层在管理端到端通信中的数据传输时起到的作 用。描述 TCP 和 UDP 协议的特征,包括端口号及其用途。解释 TCP 会话的建立和终止流程如 何实现可靠通信。解释如何发送和确认 TCP 协议数据单元来保证交付。描述 UDP 与效劳器建 立通信的客户端进程。比较 UDP 与 TCP。负责在两个应用之间建立临时通信会话,并在它们之 间传送数据。将数据分成小数据块。传输层可靠性
第 9 章:传输层
第一页,共八页。
第 9 章 - 章节和目标
91 传输层协议 描述传输层在管理端到端通信中的数据传输时起到的作用。 描述 TCP 和 UDP 协议的特征,包括端口号及其用途。 92 TCP和UDP 解释 TCP 会话的建立和终止流程如何实现可靠通信。 解释如何发送和确认 TCP 协议数据单元来保证交付。 描述 UDP 与效劳器建立通信的客户端进程。 比较 UDP 与 TCP。
第八页,共八页。
第6章 传输层教案(计算机网络)
第6章传输层教学目标:1、了解传输层的功能2、掌握TCP和UDP协议的工作原理3、理解TCP和UDP协议和上层通信机制教学重点:传输层的功能,TCP和UDP协议教学难点:TCP和UDP协议通信机制教学课时:4课时教学方法:讲解法、讨论法、演示法、练习法教学内容及过程:第6章传输层6.1内容简介传输层是OSI七层参考模型的第四层,它为上一层提供了端到端(end to end)的可靠的信息传递。
物理层使我们可以在各链路上透明地传送比特流。
数据链路层则增强了物理层所提供的服务,它使得相邻节点所构成的链路能够传送无差错的帧。
网络层又在数据链路层基础上,提供路由选择、网络互联功能。
而对于用户进程来说,我们希望得到的是端到端的服务,传输层就是建立应用间的端到端连接,并且为数据传输提供可靠或不可靠的链接服务。
6.2传输层简介一、传输层的定义传输层是OSI模型的第4层。
一般来说,OSI下3层的主要任务是数据通信,上3层的任务是数据处理。
该层的主要任务用一句话表示就是“向用户提供可靠的端到端的服务,处理数据包的传输差错、数据包的次序、处理传输连接管理等传输方面的问题,以保证报文的正确传输”。
二、传输层功能⏹连接管理⏹流量控制⏹差错检测⏹对用户请求的响应⏹建立无连接或面向连接的通信→面向连接:会话建立、数据传输、会话拆除→无连接:不保证数据的有序到达6.3TCP协议传输层协议为TCP(transmission control ptotocol),因此传输层也被称为TCP层。
TCP 协议是面向连接的端到端的可靠的传输层协议。
它支持多种网络应用程序,对下层服务没有多少要求,同时假定下层只能提供不可靠的数据报服务,并可以在多种硬件构成的网络上运行。
一、TCP分段格式⏹序列号和确认号(32比特)⏹ 窗口(16比特) ⏹ 校验和(16比特) ⏹ 数据(可变大小) ⏹ 头长度(4比特) ⏹ 标志(6比特) ⏹ FIN (完成) ⏹ PSH (推) ⏹ RST (复位) ⏹ SYN (同步) ⏹ 紧急指针(16比特) ⏹ 选项(可变长度) 二、TCP 的连接建立和拆除 1、TCP 的连接建立2、TCP 的连接建立发送 SYN接收 SYN1发送 SYN接收 SYN 发送 SYN, ACK接收 SYN123、TCP 连接建立4、TCP 连接拆除发送 SYN接收 SYN 发送 SYN, ACK建立会话123接收 SYN三、TCP 可靠传输技术当TCP 的连接建立好后,为保证数据传输的可靠,TCP 协议要求对传输的数据都进行确认,为保证确认的正常进行,TCP 协议首先对每一个分段都作了32位的编号,称为序列号。
传输层的功能
目录 上一页 下一页 退出
传输层的功能
于QoS的要求变得会特别强烈。需要可靠性的应用将利用这种传输层 协议,它提供了一条端到端的虚电路,利用流量控制,确认,以及 其他方式来保证数据的传送。这样的协议被称为面向连接的协议。 两个网络节点之间会话层或数据传输会话的建立,是传输层所提供 的可靠性的—个重要组成部分。
目录 上一页 下一页 退出
传输层的功能
3. 校验和的提供 校验和是一个基于数据段,在字节的基础上计算出来的16位的 比特值。许多传输层提供了校验和来保证数据的完整性。传输层的 校验和提供了与CRC类似的功能。必须注意的是,CRC并不是一个 完美的机制,以保证数据在到达目的地的途中不发生崩溃。路由器 与交换机可以用来发现崩溃了的数据,重新计算CRC,并将崩溃了 的数据发送到应该送达的地方。由于CRC是在数据崩溃以后计算的, 接受方将无法获知数据曾经崩溃过。中间设备对传输层中的校验和 不做计算。因此,如果通路上发生数据崩溃,最后接收方的工作站 将检测出校验和错误并丢弃数据。校验和可应用于面向连接与无连 接协议的传输层之中。 4. 对数据的辨认 传输层必须能够通知接收方的计算机包含在报文中的数据类型。 这个信息保证了应用程序对数据的正确处理。 当一个计算机接受数据包时,数据从网络接口卡被接收,然后被发
注意:虚电路与人们常用的电话交谈相类似。其中,会话(数据 传送)只有在连接已经建立起来后才可以发生。呼叫者拨号,电话铃 响,然后有人回应。被呼叫者相应后,呼叫者表明自己的身份,被 呼叫者回应呼叫者,然后通话开始。
7. 面向无连接意味着不可靠性 并不是所有的应用程序都需要传输层来提供可靠的QoS。有一些 应用程序主要在局域网中,而不是在巨大的互联网中运行。而可靠 性,虽然很重要,却可以轻易地实现。在这些应用程序中,用来提 供高可靠性的开销与复杂的传输系统既不必要也不需要。这种情况 下,应用程序将使用一个无连接的传输层协议。因为从网络带宽与 处理的角度来说,它的开销较小。
传输层基本概念及内容
传输层基本概念及内容
传输层是OSI模型中的第四层,提供端到端的数据传输服务,以及数据的可靠传输和错误检测。
传输层主要包括以下内容:
1.端口号:传输层的通信需要使用端口号,用于标识不同的应用程序和服务。
2.传输协议:常见的传输协议包括TCP和UDP。
TCP提供可靠的传输服务,保证数据的正确性和完整性;UDP则提供不可靠的传输服务,但是速度更快,适用于实时性要求高的应用。
3.连接控制:对于TCP协议,需要通过三次握手建立连接,保证通信双方的联系。
UDP协议则没有连接的概念,每个数据包都是独立的单元。
4.流量控制:传输层需要对数据的发送速率进行控制,避免网络拥塞和性能下降。
5.错误检测与纠错:通过校验和、序列号、确认应答等机制,检测和纠正传输过程中可能出现的错误,保证数据的完整性和正确性。
6.多路复用:传输层可以对多个应用程序进行多路复用,将它们的数据传输合并到同一个连接中,提高网络的利用率和效率。
osi七层模型的定义和各层功能
OSI七层模型的定义和各层功能随着网络技术的不断发展,我们的生活已经离不开网络了。
而OSI七层模型是计算机网络体系结构的实质标准,它将计算机网络协议的通信功能分为七层,每一层都有着独特的功能和作用。
下面,我将以此为主题,深入探讨OSI七层模型的定义和各层功能。
1. 第一层:物理层在OSI七层模型中,物理层是最底层的一层,它主要负责传输比特流(Bit Flow)。
物理层的功能包括数据传输方式、电压标准、传输介质等。
如果物理层存在问题,整个网络都无法正常工作。
2. 第二层:数据链路层数据链路层负责对物理层传输的数据进行拆分,然后以帧的形式传输。
它的功能包括数据帧的封装、透明传输、差错检测和纠正等。
数据链路层是网络通信的基础,能够确保数据的可靠传输。
3. 第三层:网络层网络层的主要功能是为数据包选择合适的路由和进行转发。
它负责处理数据包的分组、寻址、路由选择和逻辑传输等。
网络层的存在让不同的网络之间能够互联互通,实现数据的全球传输。
4. 第四层:传输层传输层的功能是在网络中为两个端系统之间的数据传输提供可靠的连接。
它通过TCP、UDP等协议实现数据的可靠传输、分节与重组、流量控制、差错检测和纠正等。
5. 第五层:会话层会话层负责建立、管理和结束会话。
它的功能包括让在网络中的不同应用之间建立会话、同步数据传输和管理数据交换等。
6. 第六层:表示层表示层的作用是把数据转换成能被接收方识别的格式,然后进行数据的加密、压缩和解压缩等。
7. 第七层:应用层应用层是OSI模型中的最顶层,它为用户提供网络服务,包括文件传输、电流信箱、文件共享等。
应用层是用户与网络的接口,用户的各种应用软件通过应用层与网络进行通信。
OSI七层模型是计算机网络体系结构的基本标准,它将通信协议的功能划分为七层以便管理和开发。
每一层都有独特的功能和作用,共同构成了完整的网络通信体系。
只有了解并理解这些层次的功能,我们才能更好地利用网络资源,提高网络效率。
计算机网络传输层
流量控制----滑动窗口控制
• 连续发送协议效率高,但要控制发送速度, 避免数据溢出。一般采用滑动窗口控制进 行流量控制。
• 各种连续发送协议使用的滑动窗口控制基 本类似,都是数据单元在发送端排队,在 队列上设置滑动窗口,在滑动窗口内的数 据单元可以发送,在滑动窗口外的数据单 元不能发送。
IP数据报的检验和字段。 • 通过检验和发现错误,则舍弃UDP整个数据报。
UDP协议(5)
• UDP的优点: 1. 发送前不建立连接,减少了开销和发送前
的时延; 2. 不使用拥塞控制,也不保证可靠交付,因
此主机不需要维持许多参数和状态表; 3. 首部只有8个字节,附加信息少; 4. 没有拥塞控制,不会因为拥塞降低数据发
• UDP不考虑拥塞控制问题,只以自己的速 度发送数据。
UDP协议(3)
• UDP不考虑拥塞控制问题,只以自己的速 度发送数据。
• 用户数据报UDP只有两个字段:数据字段 和首部字段。 其中首部只有8个字节。源IBiblioteka 地址12字节 目的IP地址
0 17 UDP长度
伪首部
源端口 目的端口 长度 检验和
首部
• 网络层和传输层的区别 1. 传输层为应用进程提供端到端的逻辑通信,
网络层为主机之间提供点到点的逻辑通信; 2. 传输层对报文数据进行差错检验,网络层
只对报文头进行差错检验; 3. 传输层提供面向连接的TCP服务和无连接
的UDP服务,网络层只能提供无连接的IP 数据报服务。
传输层概述
• 传输层向高层屏蔽了下面通信子网的细节,它建 立的逻辑通信使两个进程看见的就是在两个传输 实体之间有一条端到端的逻辑通信信道。
名词解释——运输层(传输层)
名词解释——运输层(传输层)运输层(传输层)是OSI参考模型中的第四层,主要功能是在网络上的两台主机之间建立逻辑连接,并将数据从一台主机传输到另一台主机。
它是负责传输数据包的一个重要协议层,也是网络应用层与网络互联层之间的桥梁。
运输层的主要功能有:传输控制服务,多路复用,流量控制,拥塞控制,连接管理,错误检测和纠正,拆分/合并报文等。
其中,传输控制服务是运输层最重要的功能,它主要负责在主机之间建立连接,保证报文的可靠传输,并且支持主机的多种服务质量。
多路复用是指在运输层使用一个端口号管理多个不同的传输连接,它可以实现在一个物理链路上同时传输多个传输连接。
多路复用主要有三种实现方式:端口号复用、IP地址复用和虚拟连接复用。
流量控制是指对网络上传输的数据流量进行控制,以避免网络中的拥塞,保证网络的稳定性。
常见的流量控制方法有基于套接字的流量控制、基于端口号的流量控制和基于IP地址的流量控制等。
拥塞控制是指在网络中通过限制网络上传输的数据包,以减少网络中的拥塞,保证网络的稳定性。
常见的拥塞控制方法有基于端口号的拥塞控制、基于IP地址的拥塞控制、基于TCP协议的拥塞控制和基于UDP协议的拥塞控制等。
连接管理是指在两台主机之间建立网络连接,并管理这些连接,以便实现数据传输。
连接管理主要包括连接状态管理、连接拆除管理和连接恢复管理等。
错误检测和纠正是指在网络中,运输层使用一定的技术来检测网络数据传输中的错误,并采取相应的措施来纠正错误。
常见的错误检测和纠正技术有CRC校验、纠错码、循环冗余校验等。
拆分/合并报文是指当报文过大时,运输层可以将报文拆分成若干小报文,然后分别传输,接收方收到后再进行报文合并;当报文过小时,运输层可以将若干小报文合并成一个报文,然后传输,接收方收到后再进行报文拆分。
运输层常见的协议有TCP、UDP、SCTP等,其中TCP是传输控制协议,它提供面向连接和可靠的传输服务,它主要负责主机之间的连接管理、流量控制、拥塞控制和错误检测和纠正等;UDP是用户数据报协议,它提供无连接的传输服务,它不提供可靠性服务,但是传输效率高;SCTP是流控制传输协议,它提供可靠的传输服务,主要用于多媒体传输。
TCP-IP四层体系结构及每层作用
应该说是Internet四层体系结构1.数据链路层2.网络层3.传输层4.应用层,其中IP是在第二层网络层中,TCP是在第3层传输层中,Internet体系结构最重要的是TCP/IP协议,是实现互联网络连接性和互操作性的关键,它把许多台的Internet上的各种网络连接起来。
Internet的其他网络协议都要用到TCP/IP协议提供的功能,因而称我们习惯称整Internet协议族为TCP/IP协议族,简称TCP/IP协议也可称为TCP/IP四层体系结构,1.数据链路层:数据链路层是物理传输通道,可使用多种传输介质传输,可建立在任何物理传输网上。
比如光纤、双绞线等2.网络层:其主要功能是要完成网络中主机间“分组”(Packet)的传输。
含有4个协议:(1)网际协议IP负责分组数据的传输,各个IP数据之间是相互独立的。
(2)互联网控制报文协议ICMPIP层内特殊的报文机制,起控制作用,能发送报告差错或提供有关意外情况的信息。
因为ICMP的数据报通过IP送出因此功能上属于网络的第3层。
3)地址转换协议ARP为了让差错或意外情况的信息能在物理网上传送到目的地,必须知道彼此的物理地址,这样就存在把互联网地址(是32位的IP地址来标识,是一种逻辑地址)转换为物理地址的要求,这就需要在网络层上有一组服务(协议)能将IP地址转换为相应的网络地址,这组协议就是APP.(可以把互联网地址看成是外识别地址和物理地址看成是内识别地址)(4)反向地址转换协议RARPRARP用于特殊情况,当只有自己的物理地址没有IP地址时,可通过RARP获得IP 地址,如果遇到断电或重启状态下,开机后还必需再使用RARP重新获取IP地址。
广泛用于获取无盘工作站的IP地址。
3.传输层:其主要任务是向上一层提供可靠的端到端(End-to-End)服务,确保“报文”无差错、有序、不丢失、无重复地传输。
它向高层屏蔽了下层数据通信的细节,是计算机通信体系结构中最关键的一层。
计算机网络传输层PPT课件
简单连接管理状态图
一套传输原语 — Berkeley Sockets
➢ 连接释放是对称的。
举例:传输服务的实现
➢ 一个本地的应用程序和几个远程应用程序利用面向连接的传输层服务完成 通信的操作过程如下。
接请求。 ➢ A 发出序号为X的第一个数据DATA,并确认B的序号为Y的接受连接确认。
连接请求
CR(seq=x)
接)
发送数据,回送确认
DATA(seq=x, ACK=y)
连接成功!
主机A
主机B
重复的CR
➢ 如果出现了重复的建立连接请求CR的情况,三次握手 可以很好的解决。
➢ 蓝兵穿越白军防地是不可靠通信。 ➢ 蓝军2不知道蓝军1是否收到确认,不能贸然行动。 ➢ 即使采用三次握手释放连接,也会出现最后的确认丢失,应
答TPDU丢失、应答及后续释放请求丢失的情况。 ➢ 没有一个满意的解决问题的方法。
三次握手 + 定时器的方法释放连接
➢ 在实际的通信过程中,使用三次握手 + 定时器的方法 释放连接,在绝大多数情况下是成功的。
➢ 解决延迟重复分组的关键是丢弃过时的分组,可用如 下方法:
➢ 非重复的TSAP ➢ 过时连接表 ➢ 分组的TTL机制 ➢ 三次握手机制
非重复的TSAP
➢ 原理
➢ 废弃使用过的传输地址。
➢ 方法
➢ 系统为每次的传输连接赋予一个新的传输地址。 ➢ 当此连接被释放的时候,此传输地址就被废弃了。
➢ 缺点
➢ 缺点
➢ 消除重复连接请求依赖通信子网完成。 ➢ 不能避免网络层分组传输的不可靠性。
【知识详解】传输层详解(秋招总结)
【知识详解】传输层详解(秋招总结)传输层详解⽬录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:松散的绑定⼀些服务,也就是有许多服务绑定这些端⼝。
第5讲传输层-PPT精品文档
端口及其分类
端口用一个 16 bit 端口号进行标志。
端口号只具有本地意义,即端口号只是为了标志本计算机 应用层中的各进程。在因特网中不同计算机的相同端口号 是没有联系的。 一类是熟知端口
– 其数值一般为 0~1023。当一种新的应用程序出现时,必须为它指派 一个熟知端口。
另一类称为登记端口号
传输实体
网络层服务访问点 NSAP
网络层 (或网际层)
/34
传输层向上提供可靠的和不可 靠的逻辑通信信道
应 用 层
发 送 进 程
数据
接 收 进 程
数据
发 送 进 程
数据
接 收 进 程
?
数据
传 输 层
全双工可靠信道 不可靠信道 使用 TCP 协议 使用 UDP 协议
TCP/IP 体系中的传输层
– 用来随时分配给请求通信的客户进程。 数值为1024~49151,为没有 熟知端口号的应用程序使用的。使用这个范围的端口号必须在 IANA 登记,以防止重复。
用户数据报协议 UDP
– UDP功能和特点
– 报文格式
/34
传输层概述
从通信和信息处理的角度看,传输层向它上面的应 用层提供通信服务,它属于面向通信部分的最高层, 同时也是用户功能中的最低层。
面向信息处理 应用层
用户功能
传输层 面向通信 网络层 数据链路层 物理层
/34
网络功能
传输层的主要功能
– 连接建立延迟 – 连接建立失败概率 – – – – 容错率 保护性 优先权 回弹率
– 吞吐量
– 传输延迟 – 残留差
/34
传输层提供的逻辑通信
5 4 3 2 1 IP 层 AP1 AP 2 应用进程 应用进程 端口 传输层提供应用进程间的逻辑通信 端口 AP3 AP4 5 4 3 2 1
五层原理的传输单位
五层原理的传输单位
五层原理(也称为网络协议栈)是计算机网络中常用的分层结构,用于描述和规范数据在网络中的传输过程。
它包括以下五个层次:
1. 物理层(Physical Layer):负责传输比特流,即将以0和1表示的数据通过物理媒介进行传输,如电缆、光纤等。
其传输单位为比特(Bit)。
2. 数据链路层(Data Link Layer):负责将比特流划分为数据帧(Frame),并通过物理层提供的通信通道进行传输。
其传输单位为帧(Frame)。
3. 网络层(Network Layer):负责实现数据的路由和转发,为数据在网络中的传输提供路径选择和包转发等功能。
其传输单位为包(Packet)。
4. 传输层(Transport Layer):负责提供端对端的数据传输服务,包括传输控制和差错检测等功能。
其传输单位为段(Segment)。
5. 应用层(Application Layer):负责处理特定的网络应用,如文件传输、电子邮件等。
其传输单位为数据(Data)。
这五个层次组成了计算机网络的基本结构,每个层次都有不同的功能和责任,形成了一套完整的网络通信模型。
传输层的基本单位
传输层传输数据的基本单位是报文段(或称为“段”,Segment)。
在计算机网络体系结构中,传输层位于应用层和网络层之间,负责向两台主机中进程之间的通信提供通用的数据传输服务。
传输层的作用至关重要,它起到了承上启下的功能,承上是指对应用层屏蔽了下面网络的细节,启下是指对网络层屏蔽了上面应用层的数据细节,为应用进程之间提供端到端的逻辑通信。
而传输层在传输数据时,所操作的基本单位就是报文段。
报文段是传输层对来自应用层的数据进行分段、封装后形成的传输单元。
每个报文段都包含了应用层数据的一部分,以及传输层所添加的头部信息。
这个头部信息对于数据的可靠传输至关重要,它可能包含序列号、确认号、窗口大小等字段,用于实现流量控制、差错控制以及拥塞控制等功能。
举个例子,当我们在浏览网页时,浏览器会向服务器发送HTTP请求,这个请求在应用层被构造成一个完整的数据包。
然而,当这个数据包传递到传输层时,传输层可能会根据网络状况(如带宽、延迟等)将这个数据包分割成多个较小的报文段进行传输。
每个报文段都会独立地通过网络层进行路
由,最终到达目的主机的传输层,并在那里被重新组装成原始的应用层数据包,以供上层应用处理。
这个过程对于用户来说是透明的,它确保了数据的可靠传输,同时也提高了网络的利用效率。
总之,传输层在计算机网络中扮演着举足轻重的角色,而报文段作为其传输数据的基本单位,是实现各种传输功能和服务的基础。
无论是TCP还是UDP等传输协议,它们都在报文段的基础上完成了数据的可靠传输和高效利用。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
你所不知道的传输层PS.老规矩,列出可能遇到的20个问题,如果您是都能回答的高手,请您绕道,我是小菜,只做自己的学习笔记。
1. 传输层的主要功能是什么?2. 传输层如何区分不同应用程序的数据流?3. 传输层有哪些协议?4. 什么是UDP协议?5. 为什么有了UDP,还需要TCP?6. 什么是TCP协议?7. 怎么理解协议和程序?8. TCP是否真的有链接?9. 链接是如何建立的(逻辑上)?10. 所谓的建立TCP链接开销很大,具体是指什么?11. 三次握手的目的是什么?12. TCP如何提供可靠性?13. 什么是预期确认?什么是肯定确认与重新传输?哪些情况会重传?14. TCP中,序列号和应答号有哪些作用?15. TCP链接中,网络失败,是怎么判断的?16. 为什么需要窗口技术?17. 如何实现流量控制?18. UDP的开销很小,具体是指什么?19. UDP数据包、TCP数据包大小如何确认?20. UDP适合哪些环境?TCP适合哪些环境?一.传输层的主要功能是什么?分割并重新组装上层提供的数据流,为数据流提供端到端的传输服务。
二.传输层如何区分不同应用程序的数据流?因为,对应传输层而言,它只需要知道目标主机上的哪个服务程序来响应这个程序,而不需要知道这个服务程序是干什么的。
因此,我们只需要能够抽象的表示出来这些应用程序和服务程序即可。
我们使用端口号来抽象标识每个网络程序。
因此:在同一IP地址(同一个目标主机)上不同的端口号是两个不同的链接。
IP地址和端口号用来唯一的确定网络上数据的目的地。
三.传输层有哪些协议?传输层的两大协议:TCP(传输控制协议)UDP(用户数据包协议)TCP是一个可靠的面向链接的协议,UDP是不可靠的或者说无连接的协议。
可以用打电话和发短信来说明这种关系:UDP就好似发短信,只管发出去,至于对方是不是空号(网络不可到达)能不能收到(丢包)等并不关心。
TCP好像打电话,双方要通话,首先,要确定对方不是开机(网络可以到达),然后要确定是不是没有信号(),然后还需要对方接听(通信链接)。
四.什么是UDP协议?UDP数据包结构如下图所示UDP为应用程序提供的是一种不可靠的、无连接的分组交付,因此,UDP 报文可能会出现丢失、乱序、重复、延时等问题。
因为它不提供可靠性,它的开销很小。
(开销很小具体指什么?下文揭秘)五.为什么有了UDP,还需要TCP?问题4中已经说到,UDP为应用程序提供的是一种无连接、不可靠的分组交付。
当网络硬件失效或者负担太重时,数据包可能就会产生丢失、重复、延时、乱序的现象。
这些都会导致我们的通信不正常。
如果让应用程序来担负差错控制的工作,无疑将给程序员带来许多复杂的工作,于是,我们使用独立的通信协议来保证通信的可靠性是非常必要的。
六.什么是TCP协议?传输控制协议TCP是一个面向链接的、可靠的通信协议。
1. 在开始传输前,需要进行三次握手建立链接2. 可靠性:在传输过程中,通信双方的协议模块继续进行通信3. 通信结束后,通信双方都会使用改进的三次握手来关闭链接TCP数据包结构如下图**七。
怎么理解协议和程序?**如同我们自定义的应用层协议一样:协议只是给出了一组规范,规定我们应该怎么样(按什么规则)保存数据。
在计算机间传输的永远都是二进制字节码(对于传输层,可以理解为传输的始终是下层的IP数据包),是计算机中的程序通过对这些字节码进行逻辑分析、判断,来控制程序完成差错控制等功能。
至于解析这些字节码的程序,则可以有不同的实现,只要我们按照规则来解析,并作出相应的控制,我们大可以自己写个程序是实现相应功能。
八.TCP是否真的有链接?我们都知道,TCP通过完成三次握手来建立链接的,但是这种连接是面向虚电路的,是物理上不存在的,只是双方的TCP程序,逻辑上的认为建立了这样的链接。
九.链接是如何建立的(逻辑上)?假设:当我们在主机A上启动一个程序,通过TCP去链接主机B上的9091端口。
整个过程是怎么样的呢?逻辑上我们可以这么理解建立链接的过程:1.SYN:seq=X;1.1 A的TCP程序,为这个链接分配一个端口(设为9090)。
1.2 同时逻辑上的将TCP连接的状态设置为:正在连接。
(通过在链接状态表中添加一条记录,记录中状态为:正在连接)猜想:1.3 同时,随机生成一个初始序列号X,生成一个TCP包,将初始化序列号X设置为TCP中的序列号,发送给主机B。
2.SYN:seq=Y ACK:ack=X+1;2.1 B上TCP程序收到该数据包,查询9091端口状态,如果可以链接。
2.2 同样的,在逻辑上的将TCP连接的状态设置为:正在连接2.3 同时,随机生成一个初始化序列号Y,根据接收的序列号X,生成应答号X+1,生成一个TCP包,将序列号和应答号分别设置到TCP包头中,将TCP数据包发给主机A。
3.SYN:seq=X+1 ACK:ack=Y+1.3.1 A上的TCP程序接收到数据包,查询9090端口状态。
3.2 根据收到的SYN:seq=Y;ACK:ack=X+1; 封装一个TCP包SYN:seq=x+1;ACK:ack=Y+1;发送给主机B。
同时,TCP程序将链接状态表中该条记录状态设置为已连接。
3.3 主机B收到数据包,TCP程序将链接状态表中该条记录状态设置为已连接。
至此,一个TCP链接建立(三次握手)完成。
我们可以看到:第一:传送的都是IP数据包,其实只是将收到的数据包交给TCP程序处理。
第二:链接状态,只是TCP程序中的一个逻辑状态。
十:所谓的建立TCP链接开销很大,具体是指什么?从九中,很容易看出。
要简历TCP链接,必须进行三次IP数据包的成功传输。
十一:三次握手的目的是什么?TCP是面向链接的,在面向链接的环境中,开始传输数据之前,在两个中端之间必须先建立一个链接。
建立链接的过程可以确保通信双方在发送应用程序数据包之前,都已经准备好了传送和接收数据。
并且使通信双方统一了初始化序列号。
十二:TCP如何提供可靠性?在传输过程中,通信双方的协议模块继续进行通信,从而确保了传输的可靠性。
针对乱序:在通过三次握手进行链接时,序列号被初始化。
在传输过程中,TCP继续使用这个序列号来标记发送的每一个数据段,没传送一个数据段,序列号加一。
接收方依据序列号重装收到的数据段。
针对丢包:在传输过程中,接收方收到一个数据段后,会用ACK应答码向发送端回复一个IP包进行应答,确认号ACK用来告诉发送端哪些数据包已经成功接收,发送方对未被应答的报文段提供重传。
针对重复:接收端收到数据段后,查看序列号,如果已经成功接收改数据包,则丢弃后面这个数据段。
针对延时:延时造成的第一个问题,就是数据包达到接收端时乱序。
当延时严重时,接收端一直未收到数据段,则不会回复ACK,发送端认为丢包,重发。
十三:什么是预期确认?什么是肯定确认与重新传输?哪些情况会重传?1.确认号ACK会告诉发送端哪些数据段已经成功接收,并且确认号会向发送端指出接收端希望收到的下一个序列号。
即,确实号ACK为上个数据序列号+1,这种机制称为预期确认。
2.为了提高效率,我们在发送端,将数据段保存在缓冲区中,直到发送端收到来自接收端的确认号。
这种机制被称为“肯定确认与重新传输”。
3.当发送端在给定时间间隔内收不到那个数据段的应答时,发送端就会重传那个数据段。
情况1:网络延时/环路,数据段丢失情况2:网络延时,数据段推迟到达情况3:数据段成功到达,应答因为1.2不能达到。
十四: TCP中,序列号和应答号有哪些作用?从以上10,11,12中,很明显的可以看到1.1.1.依靠序列号重组数据段2.依靠数据包消除网络中的重复包3.依靠序列号和应答号进行差错重传,提高了TCP的可靠性十六:为什么需要窗口技术?前面我们已经说了,TCP的可靠性,是通过预期确认来实现的。
即发送方发送一个数据段后,需要得到对方的确认后,才会发送下一个数据段。
因此,假设一个数据段大小为64KB(IP包最大值),一次发送和确认需要的时间为500MS,则,1S内,只能传送128KB的数据,如果带宽为1M,显然很浪费带宽。
为了充分利用带宽,我们使用窗口技术。
滑动窗口允许发送方在收到接收方的确认之前发送多个数据段。
(窗口大小决定了在收到确认前可以发送的数据段数量)十七:如何实现流量控制?窗口数决定了当前传输的最大流量。
当我们在传输过程中,通信双方可以根据网络条件动态协商窗口大小,调整窗口大小时,即可实现流量控制。
(在TCP的每个确认中,除了ACK外,还包括一个窗口通知)十八:UDP的开销很小,具体是指什么?1.因为UDP是无连接的。
在传输数据之前,不需要进行复杂的三次握手来建立连接。
2.在传输数据时,没有协议间通信流量(确认信号),也不需要浪费不必要的处理时间(接收确认信号再发一下)。
3;传输结束后,也不用再用改进的三次握手来端口连接。
十九:UDP数据包、TCP数据包大小如何确认?1.1.无论TCP还是UDP数据包,都需要交给Internet层封装为IP包,而一个IP包,包头中的长度位为16位,所以IP包最大为2的16方,即65535(64KB还需要减去各种包头长度)。
2.TCP因为面向流,且可以凭借序列号对大文件进行分段和重组,因此,TCP可以用来传输较大的文件。
而UDP,如果要传输大于64KB的数据,则需要自己在应用层进行差错控制。
3.为了提高传输效率和减少网络通信量(协议间的通信),TCP也会一次传输足够多的数据。
4.因为MTU的存在,TCP包和UDP包不是越大越好。
(在路由中分包,在接收端重组,加大路由与接收端负担,增大丢包概率。
分组丢失,整个数据包重传。
)二十:UDP适用哪些环境?TCP适用哪些环境?适合UDP的环境:1.在高效可靠的网络环境中(不需要考虑网络不好导致的丢包、乱序、延时、重复等问题),因为UDP是无连接的服务,不用消耗不必要的网络资源(TCP中的协议间通信)和处理时间(预期确认需要的时间),从而效率要高的多。
2.在轻权通信中,当需要传输的数据量很小(可以装在一个IP数据包内)时。
如果我们使用TCP协议,那么,先建立连接,一共需要发送3个IP数据包,然后数据传输,1个IP数据包,产生一个确认信号的IP 包,然后关闭连接,需要传输5个IP数据包。
使用TCP协议IP包的利用率为1/10。
而使用UDP,只需要发送一个IP数据包。
哪怕丢包(服务不成功),也可重新申请服务(重传)。
UDP很适合这种客户机向服务器传送简单服务请求的环境。
此类应用层协议包括TFTP , SNMP , DNS ,DHCP等。
3.在对实时性要求很强的通信中:在诸如实时视频直播等对实时性要求很高的环境中,从而允许一定量的丢包的情况下(直播比赛,前面丢失的包,重传出来已经意义不大了),UDP更适合。