写在前面:本课程授课教师为韩彦芳。本文仅供个人复习学习、构建知识体系所用。

文章目录

  • 第1章 通信网络概述及数学基础
    • 1.1 通信网络的基本构成
    • 1.2 协议体系及分层的概念
      • 1.2.1分层的概念
      • 1.2.2 OSI参考模型
      • 1.2.3 TCP/IP协议体系结构
      • 1.2.4 混合的分层协议
    • 1.3 通信网络的基本理论问题(可能有填空题!)
  • 第2章 端到端的传输协议
    • 2.1组帧技术
      • 2.1.1 面向字符的组帧技术
      • 2.1.2面向比特的组帧技术
      • 2.1.3 采用长度计数的组帧技术
    • 2.2链路层的差错控制
      • 2.2.1 流量控制
      • 2.2.2 差错检测
      • 2.2.3 ARQ协议
    • 2.3标准数据链路控制(DLC)协议
      • 2.3.1标准数据链路控制协议
      • 2.3.2 数据链路层协议的初始化
        • 1.主从模式下的链路初始化
        • 2.平衡模式下的初始化
        • 3.有故障节点的初始化
        • ABM填图题
    • 2.4网络层和传输层的点对点传输协议
      • 2.4.1网络层(子网层)的点对点传输协议
        • 1.会话过程和分组的编号
        • 2.网络层的差错控制
        • 3.网络层的流量控制
        • 4.X.25网络层标准
      • 2.4.2网际层(互连层)的传输协议--IP协议
      • 2.4.3运输层的点对点传输协议
        • 1.TCP中的寻址与复接
        • 2.TCP中的差错控制
        • 3.TCP的流量控制

第1章 通信网络概述及数学基础

1.1 通信网络的基本构成

1.1通信网络的基本构成
一个基本的通信网络通常由用户通信终端物理传输链路(通道)和链路的汇聚点(网络结点)组成。

出题:给定英文简写,写出对应的中文意思。比如ATM是什么?

常用通信网络
ATM(Asynchronous Transfer Mode,异步传输模式)
X.25分组网
PSTN(Public Switched Telephone Network,公用电话交换网)/ISDN(Integrated Service Digital Network,综合业务数字网)
移动通信网/卫星通信网
FDDI(Fiber Distributed Data Interface,光纤分布式数据接口)环网
局域网及高速骨干核心网

以太网系列标准

IEEE根据以太网特性制定了表格所示的一系列标准。人们通常所说的以太网是指这个表格中的第一行,也就是速率为10Mbit/s的标准。表中,10BASE-T中的T指的是UTP(Unshielded Twisted Pair),全称是非屏蔽双绞线,是以太网中常用的线缆类型,第三行中的X,指的是光纤

数据传输链路
概念:所谓数据传输链路是指在物理传输媒介(如双绞线、同轴电缆、光纤、微波传输系统、卫星传输电路等)上利用一定的传输标准(通常规定了电气接口、调制解调方式、数据编码的方式、比特同步、帧格式和复分接的方式等)形成的传输规定速率(和格式)的数据比特传输通道

数据传输链路的分类
一类是用户到网络结点(路由器或交换机)之间的链路,简称为接入链路
一类是网络结点(路由器或交换机)到网络结点(路由器或交换机)之间的链路,简称为网络链路



数据传输网络

基本功能:数据传输网络的基本功能是通过网络的交换机(或路由设备)为运载用户业务的分组,选择合适的传输链路,从而使这些分组迅速可靠地传送到目的用户。

路径(路由):一个分组经过的所有传输链路的集合。

消息(message):在数据传输网络中,要传送的基本内容称为消息。消息可以是一份Email,也可以是文件、图像等。

会话过程(Session):在要进行交互操作的场合,如:A可以发一个消息给B,B可以发一个应答给A,双方需要交互多次才可以完成信息交换过程,或者说,双方需要按照一定的顺序交换大量的消息。称这样一个消息的序列为一个会话过程

典型的数据传输网络有:分组交换网、电路交换网和ATM网。

A分组交换网
在分组交换网中,将消息分成许多比较短的格式化的数据块称为分组(Packet)进行传输和交换。每一个分组由若干比特数据组成。每一个分组通常包括一个附加的分组头。分组头指明该分组的目的结点及其他网络控制信息。

在每一个网络结点中采用存储转发的工作方式来将输入的分组送到选定的输出链路上(这种按照一定的规则(路由算法)将输入分组送到选定的输出链路上的过程称为交换)。

分组交换网中如何选择一条合适的路由?主要有两种基本的路由选择方式:虚电路方式和数据报方式


B 电路交换网
在电路交换网络中,在双方通信之前,需要建立一条直接的物理通路,在通信结束后,需要拆除该物理链路。在通信过程中,收发双方独占该物理链路。

在电路交换方式中,信息的传输具有很短的时延,且可以保持收发双方严格的同步关系。但与分组交换相比,链路利用率较低。

电路交换适用于:连接时间长、批量大的实时数据传输,如数字话音、传真等业务。对于经常性长期连接的用户之间,可以使用永久性连接线路或租用线路,进行固定连接,即不存在呼叫建立和拆除线路这两个阶段,避免了相应的时延。

分组交换和电路交换比较


分组交换中数据报和虚电路的比较

C ATM网络

ATM(Asynchronous Transfer Mode,异步传输模式)是在传统电话网使用的电路交换以及分组交换网基础上发展起来的一种交换技术,可以较好地支持不同速率、不同种类的宽带信息交换。

ATM网络与分组交换的差别是采用一个全网统一的固定长度的分组(称为信元)进行传输和交换。ATM网络中,信元的长度是53字节,其中5个字节是信元头,48个字节用来运载信息。

好处:由于信元格式和长度固定,可用硬件电路对信元进行处理,因而缩短了每个信元的处理时间。

ATM网络接口

ATM信元格式



网络的互联

前面两个小节讨论的是一个子网内的问题,这时所有的链路具有相同的特性,采用某种数据传输链路协议和寻址方式,通过交换设备来实现子网内的路由选择和信息交换。

网络互联:是指利用网络互联设备及相应的技术措施和协议把两个以上的计算机网络连接起来,使不同网络上的用户能互相通信和交换信息。





物理层设备:中继器和集线器

数据链路层设备:网桥和交换机


网络层设备:路由器


路由器区别于交换机的关键特征是它可连接使用不同物理传输媒介、具有不同传输协议的数据链路。

全网互联的基本条件:一是全网统一编址,而是路由算法

1.2 协议体系及分层的概念

第一章第二部分

设备之间要进行通信,必须遵循一套相同的标准,而这个标准就是协议

1.2.1分层的概念



基本概念





1.2.2 OSI参考模型

OSI参考模型共7层,从下往上分别为:物理层、数据链路层、网络层、传输层、会话层、表示层、应用层。


物理层


数据链路层

网络层



传输层

会话层


表示层


应用层

OSI参考模型整体图

1.2.3 TCP/IP协议体系结构

TCP/IP协议族的通信任务组织成五个相对独立的层次:应用层,传输层,互联网层,网络接入层,物理层。(没有OSI七层模型中的表示层和会话层)。

网络接口层

网际层(互联网层)

传输层

应用层

OSI和TCP/IP模型的异同

1.2.4 混合的分层协议


数据的封装与解封装

1.3 通信网络的基本理论问题(可能有填空题!)


第一章涉及到的主要知识点

第2章 端到端的传输协议

物理层是为链路层提供一组虚拟的比特通道,本章将讨论在这样的比特管道上如何形成一条可靠的业务通道为上层提供可靠的服务。

为了形成可靠的业务通道,首先解决如何标识高层送下来的数据块(分组)的起止位置。接着就要解决如何发现传输中的比特错误。最后要解决的就是发现这些错误后,如何消除这些错误。

2.1组帧技术

2.1.1 面向字符的组帧技术

面向字符的组帧技术是指物理层传输的基本单元是一个字符(通常用一个字符表示一个字节),并在此基础上形成具有一定格式的字符。

Internet网中常用的面向字符的组帧技术的协议有SLIP(Serial Line Internet Protocol)和PPP(Point to Point Protocol)

SLIP协议

为了防止IP数据报中出现相同的END字符而使收端错误地终止一帧的接收,SLIP中使用了转义字符ESC。当IP数据报中出现END字符时,就转换成ESC和ESC-END(其中ESC-END=DCH)两个字符。当IP数据报中出现ESC时,就转换成为ESC和ESC-ESC(其中ESC-ESC=DDH)两个字符。

收端只要收到END字符即表示一帧的开始或结束。每当遇到ESC字符就进行字符转换,恢复IP报文中的原有的END和ESC字符。这样就可以完全以一个IP数据报的形式向IP层提交数据。

PPP协议


上述帧格式均支持数据的透明传输,这些帧结构在处理时非常简单,但缺点是效率较低,插入了许多转义字符。另外,数据长度必须以字节为单位。

2.1.2面向比特的组帧技术


2.1.3 采用长度计数的组帧技术

2.2链路层的差错控制

2.2.1 流量控制

2.2.2 差错检测

2.2.3 ARQ协议

停等式ARQ(Stop-and-Wait ARQ)基本思想是在开始下一帧传送以前必须确保当前帧已被正确接收




例题
设有三种物理链路:一条是卫星链路,其信道速率为64kbps,传播时延为Tp=270ms,一条是经过电话网的呼叫接续构成的5000km的链路,其信道速率为9600bps,传播时延Tp=25ms;一条是由同轴电缆提供的长为500m链路,其信道速率为10Mbps,传播时延Tp=2.5μs。试求帧长为K=1000时和K=10000bit时停等式ARQ的链路最大平均利用率U,最大平均吞吐量S(分组/秒)和平均分组时延D(ms)
解答暂无;

设有物理1种链路卫星链路是,其信道速率为64kbps,传播时延为Tp=270ms,试求帧长为K=1000时,误帧率p=0.1时,停等式ARQ的链路最大平均利用率U,最大平均吞吐量S(分组/秒)?

解答

返回n-ARQ的基本思路是:发端在没有收到对方应答的情况下,可以连续发送n帧。收端仅接收正确且顺序连续的帧,其应答中的RN表示RN以前的所有帧都已经正确接收。

从图中可以看出,如果收端能及时返回应答,则发端可以连续不断地全速发送帧。如果减缓应答返回的速率,则可以控制发端发送帧的速率,从而达到速率控制的目的。

帧损坏的情况

丢失帧的情况

确认帧的损坏

返回n帧的图示

返回n帧ARQ的窗口长度

选择重发式ARQ
选择重发式ARQ是对返回n-ARQ的改进。

在返回n-ARQ中,如果前向传输的某一个帧出错,则在收到对方的否定应答后,该帧及其后续的帧都要重传,而不管这些后续是否传输正确。选择重发式ARQ的思路与返回n-ARQ相同,其窗口仍为n,但仅仅重发有错的帧。


返回n帧ARQ和选择重传ARQ的比较填图作业题

作业题答案

2.3标准数据链路控制(DLC)协议

2.3.1标准数据链路控制协议

目前常用的标准数据链路控制(DLC)协议有:IBM提出的SDLC,ISO建议的HDLC,ANSI规定的ADCCP和CCITT建议的LAPB。

HDLC是为多种物理链路设计的。这些链路包括多址链路、点对点链路、全双工链路和半双工链路。它包括三种工作模式:正常相应模式(NRM),异步响应模式(ARM),异步平衡模式(ABM)。

正常响应模式(NRM)用于主从式链路。即链路的一端是主站,另一端是从站。主站负责控制和协调双方的通信过程。典型的应用场合是一个计算机与多个外设之间的链路。采用轮询(polling)机制,实现主站与从站之间的通信。

异步响应模式(ARM)也是采用主从方式,但对从站没有严格的限制,该方式未被广泛采用,后面将不再讨论。

异步平衡模式(ABM)用于全双工点对点的链路,链路两端的节点具有相同的责任进行链路控制。这是应用最广泛的协议之一。

标准DLC协议的帧结构

标志字段

地址域
地址域在常用情况下为一个字节(8bit),它用于多用户共享一条链路时区分不同的节点。在不同的工作方式下,地址域的功能可以不同。例如“在NRM方式中,地址域总是从站的地址。当用于点对点通信时,地址域没有作用。

控制域
控制域用来区分不同的帧类型。它有三种格式:信息帧(I),控制帧(S)和无编号帧(U)。

信息帧采用模8的返回n-ARQ方式进行传输,它对应的控制包括SN和RN。监控帧用于在无数据传输时返回ARQ的信息或加速返回ACK和NAK信息。无编号帧用于链路的建立和终止以及附加信息的传输。

控制信息种类的区分是靠控制域的第1和2比特来区分的。第1比特为0
表示为信息帧,第1和2比特为“10”表示监控帧,第1和2比特为“11”表示为无编号帧。控制域中的第5个比特为查询/结束(P/F)比特,在查询时称为P比特,在响应时称为F比特。

监控帧(S帧)

监控帧(S)有4种类型
通过控制域中第3和第4比特来进行区分(下图中00,01等表示的就是第3、4比特)

无编号帧(U帧)

无编号帧用于链路的建立、拆除和特殊控制。

2.3.2 数据链路层协议的初始化

通信双方对使用的通信协议进行初始化是通信过程中的基本问题,如果链路中有节点故障或者链路故障存在,初始化问题是挺复杂的。

以链路故障为例,当链路出现故障一段时间后,为了保证端到端的传输可靠性,网络层或传输层通常会采取一定的措施,另外选择一条新的链路来传输在旧链路上未传送的分组。当旧链路恢复工作以后,高层会在该链路中建立一条新的通路来传输新的分组流。

1.主从模式下的链路初始化


在NRM工作过程中,地址域总是从站的地址,主站在发出命令和数据时,使用从站的地址,从站用自己的地址予以响应或传输数据

主从模式下,简化的链路初始化如下图所示,方便起见,采用mod2的停等式ARQ协议。

过程解析:
A节点为主站,B节点为从站。A决定何时进行建立连接和拆除连接。A 首先发送初始化命令(INIT(SN=1))进行链路初始化,B 收到INIT后ACKI(RN=0)予以应答。只有当A 收到B 的应答后,初始化才能结束。A如果在规定的时间内未收到B 的应答,A 会重发INIT 命令,直至收到B 的应答。当A决定拆除链路时,A发拆线命令DISC(SN=0),B收到A的命令后,用ACKD予以应答。

HDLC链路的初始化
在HDLC协议中,SNRM帧对应于上述INIT帧,DISC帧对应上述DISC帧,ACK帧对应上述的ACKI和ACKD。

由于在HDLC协议中,对SNRM和DISC都是采用相同的UA帧予以应答,因而会出现无法区分对SNRM的应答还是对DISC的应答,因而可能会导致不正确的操作(如分组丢失)。

过程解析:
假定传输时延大于发端等待应答的时延。在图中,A 发送三次SNRM 才收到对方B的应答。A 收到B的应答后,发送数据序号为SN=0的分组D0。A在发送D0后等待一段时间后仍未收到对方的应答,则认为链路已不工作,进而发送DISC命令拆除连接。第二个ACK(对应于第二次SNRM的应答)到达A,使A 认为是对DISC的应答,从而使A 认为链路已拆除。A在一定的时延后,决定重新初始化该链路,发出SNRM 命令。第三个ACK(对应于第三次SNRM 的应答)使得A认为链路初始化结束,进而发送新的SN=0的数据分组D′0,此时对分组D0的应答(RN=0)到达A,使A认为D′0已被正确接收。如果D′0传输出错,将导致D′0的丢失。该图从概念上说明由于HDLC应答机制的不完善,将有可能导致链路传输出错。因此在进行通信协议设计时,必须对初始化问题进行认真考虑,它可能使你设计的协议不能正常工作。

2.平衡模式下的初始化


上图分为三个过程:A与B建立连接,A和B同时传输数据和A拆除连接。在这些过程中,任何一方发送数据和要求对方应答时使用对方的地址,应答时使用自己的地址。

平衡模式中,通信双方是平等的,即当A站发送数据时,A是主站,B是从站;当B站发送数据时,B是主站,A是从站。因而这相当于有两个主从协议在工作。

平衡模式下的初始化过程如下图所示。该过程中,应答是嵌入在发送命令之中的。图中符号的含义与HDLC链路初始化图中符号的含义相同。链路UP/DOWN 状态(即A→B及B→A 的状态)是由A 和B 共同确定的。例如B 在收到对方的INIT 命令并发出初始化INIT 命令后,只有收到对方(A)发来的ACKI时,才能认定链路为UP状态。又如,当A发出DISC后,只有在收到对方的DISC命令后,才能认定链路为DOWN 状态。而在前面的主从协议中,链路的状态是由主站确定的。

3.有故障节点的初始化

节点故障意味着所有与之相连的链路都出现故障。节点有故障时,不接受任何输入,也不产生任何输出,不发生任何操作。如果节点故障时能记忆其状态,则可以看成数据传输丢失,或高层已将数据改走其他链路,它与链路故障情况相同。当节点恢复工作时,所有相邻链路都需要进行初始化。如果节点故障时状态丢失,则此时的问题要复杂得多。

过程解析:
假定采用主从式初始化协议,节点故障时丢失其状态信息,每次节点从故障状态恢复时,都进行初始化。假定节点故障的时间和恢复工作的时间与来回传输时延属同一个量级。节点故障及其初始化的过程如下图所示。在该图中,A 节点多次出现短时间的故障状态,B 无法判定A 是否故障。A 开始发送INIT后出现故障。A 从故障恢复后再次发送INIT进行初始化,并收到B 的应答(该应答是对第一次INIT 的应答)后,A 认为对方已收到本次INIT 命令,便开始发送数据分组D0。A再次出现故障,当A从故障再次恢复后,又发送INIT命令。A在收到B的应答(该应答是对第二次INIT 的应答)后,发送数据分组D′0。当A 收到对D0的应答后,会误认为是对D′0的应答,如果D′0传输出错,则会导致D′0的丢失。

为了解决节点故障后的初始化问题,可以采用以下几种办法:
(1) 采用非易失性的存储器来保存链路的工作状态。
(2) 如果链路有一个最大的传播时延,则可以设计一个足够长的定时器,来避免上述初始化问题。
(3) 采用一个随机数的方法来区分不同正常运行期的操作,从而使得发生不正常操作的概率很小。

ABM填图题

2.4网络层和传输层的点对点传输协议

前一节研究了两个相邻节点的数据传输的协议,这里要讨论一个会话过程(session)跨越一个网络中多条链路,或跨越多个网络的不同传输链路时的分组编号、差错恢复、流量控制和编址等问题,以保证任意两个网络节点两个应用进程之间可靠的数据传输。

2.4.1网络层(子网层)的点对点传输协议

1.会话过程和分组的编号

对于网络中的一条链路而言,它通常被通过该条链路的若干会话过程所共享。也就是说,不同会话过程的分组要共享同一链路。如果要将装载在物理帧中的分组送达不同的目的地或区分来自不同源的分组,这就必须对不同会话过程的分组进行标识。

对于虚电路(VC)方式,对于不同的会话过程,采用虚电路号进行标识,即每个分组含有一个虚电路号。

对于数据报方式,通常在分组头中包括:源节点的地址和目的结点的地址以及相同节点中不同会话过程的标识。利用这些信息,就可以将任一节点中的任一会话过程中的分组送到任一节点中相应的会话过程。

在这两种标识方式中,数据报方式中的分组头开销较大;而虚电路方式中分组头的开销较小,但需要有虚电路的建立过程。

在虚电路方式中,不同会话过程的区分方法如下图所示

过程解析:
图中节点3与7之间同时存在两个session(A和B),sessionA由链路(3,5)中的VC7,链路(5,8)中的VC4 和链路(8,7)中的VC11 组成;sessionB 由链路(3,5)中的VC13,链路(5,8)中的VC7和链路(8,7)中的VC6组成。节点6与2之间有一个sessionC,它由链路(6,5),(5,8)和(8,2)中的VC3、VC3和VC7组成。

不同session的分组可以在不同的帧中独立传输,也可以将多个session的分组复接在一帧中进行传输。不同session的分组复接在一帧中传输的示意图如下图所示。它包括帧头和各个session的分组及相应的session头。session头用于区分不同session的分组。

前面讨论了如何区分不同session的分组,那么对于同一session中的分组是否需要进行标识或编号呢?

对于数据报方式和虚电路方式,答案都是肯定的。

在数据报方式中,同一session分组可能会经过不同的路径,这样到达目的节点的顺序就会不同于源节点发出分组的顺序,另外一方面分组在传输的过程中,因链路拥塞、传输错误、节点或链路故障等原因会引起分组丢失。因此,就必须提供一种方式来使目的节点发现上述问题。解决方法就是对同一session发送的分组进行编号。

在虚电路方式中,可能会有下列原因导致分组丢失或传输出错:
(1) 虚电路号错误导致不正确的帧通过了CRC校验,而把不正确帧误认为是一个正确的帧;
(2) 当数据分组中的传输错误未能被CRC检查出来;
(3) 节点或链路故障可能导致部分分组丢失,如果没有分组编号,目的节点就不可以发现丢失的分组。
因此,在虚电路方式中,同样需要对同一session中发送的分组进行编号。

2.网络层的差错控制

网络层的差错控制方式与数据链路层的差错控制方式类似,采用ARQ 方
式,发端有发送序号SN,收端应答有接收序号RN。ARQ 的方式可为返回式ARQ 或选择重发式ARQ。

网络层的差错控制与数据链路层差错控制的主要差别在于:
(1) 使用的位置不同。数据链路层的差错控制是用于一条物理链路的两端,而网络层的差错控制是用于网络中的任意两节点之间。通常网络中的任意两个节点之间的传输路径会由多条链路串联而成。
(2)分组编号的方式不同。在网络层是对一个session中的分组(或者字节,或者消息)进行统一编号。而在链路层上是对不同session中所有分组进行顺序编号。
(3) 传输顺序的差别。在链路层,所有的帧都是按顺序传输的;而在网络层中,相同源和目的节点的分组可能会经过不同的路径,分组的传输可能会出现乱序现象。
(4) 时延不同。在链路层,传输时延(包括传播时延、处理时延、帧传输的时延)在小范围内变化;而在网络层,传输时延会在大范围内变化。

前面已经提到,在链路层为了检测传输错误,使用了CRC 校验序列;在网络层为了检测出子网中的传输错误和链路层中的未检测出来的错误,也需要使用某种形式的校验序列。

3.网络层的流量控制

前面讨论的ARQ协议(返回n-ARQ和选择重发式ARQ 等)主要用于点对点的差错控制。这里讨论ARQ协议如何用于流量控制。

上述采用延迟应答来减小拥塞的方法,对于减少子网内部和目的节点处的拥塞都是非常有效的。这种减少拥塞的方法是将流控功能附在应答的传输过程中。但这也带来了一些限制,即发端无法区分下列三种情况。

解决上述问题的方法是设法将应答和流控的功能适当分开

4.X.25网络层标准

X.25标准是由CCITT(现称为ITU-T)制定的外部设备(称为数据终端设备,DTE)到网络节点(称为数据通信设备,DCE)之间的标准接口。其物理层标准称为X.21,其数据链路层标准称为LAPB。X.25网络层标准有时称为分组层标准。

X.25分组有两种:一种是数据分组,另一种是控制分组。其通用格式和数
据分组格式如图2-27(a)和(b)所示。其分组头由三个字节组成:第一个字节的高四位是总格式标识(GFI),第一个字节的低四位和第二个字节是虚信道号;第三个字节是分组类型标识。

下面对各个控制比特的含义进行解释:




X.25的分组交换过程

X.25的分组交换过程如图2-28所示。它分为呼叫建立阶段、数据传输阶
段和呼叫清除阶段,其数据传输过程类似于数据链路层。呼叫建立阶段用于确定通信的逻辑通路和通信使用的参数以及初始化双方的工作状态。呼叫清除阶段用于拆除逻辑通路。实际系统的工作情况要比图2-28复杂。例如,当子网内部因为负载太重而不能建立虚电路时,或者目的节点不愿接受呼叫时,这时网络或目的节点将会向主叫节点发送呼叫清除请求分组,此次呼叫被拒绝。

2.4.2网际层(互连层)的传输协议–IP协议


IP协议有两个主要版本,IPv4和IPv6。IPv4中的地址长度为32bit,IPv6中的地址长度为128bit。IPv4的报头是可变长的,而在IPv6中报头是固定长度的。


在IP中,数据报的原始长度主要是根据用户的方便来选择的,但不同的网络对分组的长度有不同的限制,因此要将一个数据报分成若干较小的段(fragment)。这些小的数据段在网络中自由地传输,到达目的节点后,再组装成IP分组上交给应用层。如果一个或多个数据段在传输过程中丢失,则该数据报中其他到达的数据段在一定时间后将被丢弃。整个数据段将由发端重发。尽管这种做法效率不高,但实现简单。如果要提高传输效率,网际层就必须采用差错恢复机制。

通过上述四个参数,就可以确定某一分段数据属于哪一个数据报以及它在数据流中所处的位置和长度。


2.4.3运输层的点对点传输协议

1.TCP中的寻址与复接

通常在TCP之上有很多的用户(或进程),为了区分这些用户(或进程),就需要对它们进行编址。TCP 中将TCP之上的每一个用户(或进程)称为一个端口(port)(用16比特表示)。一些常用的TCP 端口为:SMTP(25),FTP(21),TELNET(23);一些常用的UDP 端为:RPC(111),SNMP(161)和TFTP(69)。因此,在TCP中,一个完整的地址应当由三部分组成:网络号、主机号、端口号,它们被称为一个套接口(socket)。在TCP中,仅将端口号包括在TCP头中,而以参数的形式将网络号和主机号(IP地址)告知IP层,IP 层将IP地址放入IP头中。对于具有相同源和目的节点的不同端口的消息将复接在IP分组中传输。而IP本身并不关心TCP提交的信息内容。

2.TCP中的差错控制


在TCP中,差错恢复主要解决两方面的问题,一是重传问题,二是连接建立
和拆除时错误。


TCP中采用了一种自适应算法来确定重发间隔。该算法采用下式来确定报文的平均往返时延T(往返时延指报文发送时刻到发端接收到相应应答的时刻之间的时延。)


通过上面的讨论,得到TCP的报文格式

分析
在图中:源端口和目的端口是运输层向高层提供的服务接口,采用16bit表示。数据偏移占4bit,表示在该报文中数据开始点离TCP报文段起始点的距离,它实际上是TCP报文头的长度。控制域用6个比特表示,它用于建立和释放连接、应答和报文提交方式等动作的控制。

其中:

URG比特=1 表示此报文应尽快发送,它与紧急指针配合使用,指明紧急数据的长度;
ACK比特=1表示确认序号字段有意义;
PSH 比特=1 表示请求远端TCP将本报文段立即传送给其应用层;
RST比特=1表示要重新建立连接;
SYN 比特和ACK比特组合使用用于表示发送建立连接请求和应答,SYN比特=1及ACK比特=0表示建立连接的请求报文,SYN比特=1及ACK 比特=1表示同意建立连接的应答报文;
FIN比特=1表示要释放一个连接。

窗口占两个字节,表示收窗口的大小,即告诉对方在未收到应答前可发送的最大数据节长度。

校验和是对报文头的校验。紧急指针指明在报文段中,紧急数据的最后一个字节的序号。

3.TCP的流量控制



为了解决接收者缓冲区溢出问题,在TCP中采用了窗口允许机制。TCP报文格式中,采用了16bit的窗口域,该窗口称为通知窗口(advertised window),它用来通知发端在未收到应答以前可以发送的最多字节数,即发端可以发送序号从RN到RN 加窗口值之间的数据字节。



通信网络基础期末复习-第一章和第二章-概论和端到端的传输协议相关推荐

  1. 通信网络基础期末复习与汇总

    计算机网络课程 期末复习汇总,方便自己复习总结. [1]通信网络基础期末复习-第一章和第二章-概论和端到端的传输协议 [2]通信网络基础期末复习-第三章-网络的时延分析 [3]通信网络基础期末复习-第 ...

  2. 通信网络基础期末复习-第五章-路由算法

    写在前面:本文主要依据为<通信网络基础>李建东,盛敏编著,如有侵权,请联系作者删除.本文仅用于个人期末复习与知识结构的搭建. 文章目录 第五章 路由算法 5.1 路由算法概述 5.1.1路 ...

  3. 通信网络基础期末复习-第六章-拥塞控制

    文章目录 第六章 拥塞控制 6.1 拥塞和流量控制概论 6.1.1网络数据流的控制技术分类 6.1.2拥塞控制的基本原理 6.1.3 流控和拥塞控制所经历的层次 6.2 流量和拥塞控制技术 6.2.1 ...

  4. 2020年通信网络基础期末复习

    文章目录 期末考试(已删除!) 平时作业题汇总 写在最后 写在前面: 第一,现在是2021年6月28日19点46分,之前的文章需要填坑!男人嘛,言而有信. 第二,写这篇文章之日,距离考试接近一载光阴, ...

  5. 通信网络基础期末复习-第四章-多址接入协议

    文章目录 第四章 多址技术 4.1 多址协议概述 4.1.1 MAC层在通信协议中的位置 4.1.2 多址协议的分类 4.1.3 系统模型 4.2 固定多址接入协议 4.2.1 频分多址接入(FDMA ...

  6. 通信网络基础期末复习-第三章-网络的时延分析

    文章目录 第3章 网络的时延分析 3.1 Little定理 3.2 M/M/m型排队系统 3.2.1 M/M/1排队系统 M/M/1排队系统的例题 3.2.2 M/M/m排队系统 3.3 M/G/1型 ...

  7. 网络经济学期末复习——第一章 导论

    网络经济学期末复习 --第一章.导论 一.课程介绍 二.课本选择 三.思维导图--第一章 导论 四.温馨提示 一.课程介绍 网络经济学简介: 网络经济学是近几年的一门新兴的研究网络环境下经济活动的交叉 ...

  8. 通信电子线路期末复习第一章和第二章上

    写在前面:本文仅供个人学习使用.本课程授课教师为乐艳芬. 文章目录 第一章 绪论课后作业题 第二章 丙类谐振功率放大器 2.1小信号谐振放大器概述 2.2单谐振回路-LC谐振回路 电容单位的换算 计算 ...

  9. 网络操作系统期末复习资料

    网络操作系统期末复习资料 1. 网络操作系统的概念 2. 网络操作系统的基本功能 3. 网络操作系统的特征 4. 网络操作系统的三种工作模式 5. 进程的定义 6. 进程与程序的关系 7. 进程与线程 ...

最新文章

  1. 数据蒋堂 | 为什么我们需要C程序员
  2. 从Matlab中导出不含白边的图片及设置画布尺寸及图片位置
  3. TF-A代码阅读: SP_EL3栈内存-cpu_data内存的介绍(cpu_context介绍)
  4. arduinohanshu_Arduino 常用函数参考文档
  5. mysql定时任务 分钟_mysql定时任务
  6. 一分钟了解阿里云产品:企业级分布式应用服务EDAS五大热点技术问题分析
  7. 在线HTML转JSX工具
  8. Tcl Tutorial 笔记10 · list
  9. SendMessage 函数
  10. MAB多臂老虎机/赌博机
  11. 网站压力测试工具Webbench介绍
  12. 可变剪切(选择性剪接)rmats2sashimiplot可视化安装与使用
  13. PostGIS Raster 空间查询
  14. staring mysql.the_mysql 启动异常失败 Starting MySQL..The server quit without updating PID file
  15. Web测试中定位bug方法
  16. MYSQL----innoDB存储引擎
  17. 一本通-1309-回文数
  18. 机器学习7 - 算法进阶2
  19. 计算机音乐好想你曲谱,好想你简谱
  20. visio2007使用记录

热门文章

  1. [2-SAT]【学习笔记】【未完】
  2. 子选择器与后代选择器的区别
  3. 大约xib连接错误bug正确
  4. 教程-经典Delphi教程网
  5. android文件缓存,并SD卡创建目录未能解决和bitmap内存溢出解决
  6. 不再为DataGrid生成的表格的单无格中的内容过长、自动折行、表格撑开等问题而烦恼----一个很久以前的做品...
  7. python中文注释缩进_Python入门学习之注释、行与缩进
  8. 【控制】《自动控制原理》胡寿松老师-第7章-线性离散系统的分析与校正
  9. 被人崇拜的欧拉恒等式
  10. 二、linux最小驱动