欢迎来到TB体育·(中国)手机客户端下载
网络基TB体育官方网站本概念_
栏目:行业动态 发布时间:2023-04-25 11:42:13

  TB体育官网app下载节点必须向适当的方向转发数据包。网络层处理的主要任务是:路由计算、数据包的分段 和重组(当网络中的不同链路有不同的最大包大小限制时)和拥塞控制。

  5) 会话层: ISO认为会话层对于因特网体系来说并没有太大作用。 ISO会话层提供的服务超 出了运输层提供的简单全双工可靠通信流,比如对话控制(实现系统间的特殊通信模式) 和链接(捆绑一组数据包,使得它们要么都发送,要么都不发送 )。不管这一层是什么,

  它都跟下层的网络设备如网桥以及路由器等无关。 6) 表示层:这一层的设计目的是为了对数据的表示取得一致,这样人们就可以定义自己的

  当第n1层发送消息给第 n层时,这个消息称为 SDU(服务数据单元)。和PDU一样,在 SDU 前面,我们也用一个字母来表示它属于哪一层。当一个运输层想传输一个 TPDU给另外一个运输 层时,它需要先给网络层一个 NSDU。网络层接收了这个 NSDU后,给它加上一个“信封”,然 后再通过数据链路层把这个 NPDU发送出去(参见图1-3)。

  本章介绍了一些基本概念,这些概念对理解包含网桥和路由器的计算机网络的特定领域是 必需的。OSI的网络结构 7层参考模型是网络概念的基础,本章介绍的内容覆盖了其中的第二层 和第三层。本章还讨论了网络设计中的不同要素,例如网络的覆盖范围、可扩展性、健壮性和 自动配置性等。此外,本章还阐述了提供双方可靠通信的典型技术,因为路由器所用的这种技 术可以和其他层所用的技术相互影响。

  直观地讲,提供可靠服务应是需要的,但这种可靠服务是要付出代价的。它通常使得第 n-1 层花费增多、效率降低。虽然有的时候,在多层上都提供可靠服务是有理由的,但绝对不需要 在所有层上都提供可靠服务。

  我们将在第 6章讨论面向连接与无连接服务之间,以及数据报与可靠服务之间的折衷。在 ISO和IEEE制订的标准里,提倡面向连接可靠服务的人和提倡无连接数据报服务的人,一直都无 法说服对方,所以在 ISO和IEEE的协议中,这两种服务类型都可能提供。这就是为什么在第 2章 将讨论的 LAN中,要提供两种风格的、运行在 LAN上的数据链路层,这种服务称为 LLC(逻辑链 路控制)。LLC类型1是无连接的数据报服务, LLC类型2提供的是可靠的面向连接的服务。 ISO在 这之上定义了两种网络层服务,其一是 CONS(面向连接的网络服务),其二是CLNS(无连接的 网络服务)。

  正因为人们没有就选择哪种服务类型达成一致, ISO定义了5类运输层,从 TP0到TP4。TP0 假定网络层负责完成几乎所有的事情,而 TP4认为网络层只提供简单的数据报服务。

  在TCP/IP协议中,网络层 (IP)是无连接的。有两种运输层,一种是 TCP(传输控制协议)提 供可靠的面向连接的服务;另一种是 UDP(用户数据报协议)提供数据报服务。

  ISO定义的层模型: 1) 物理层:物理层通过链路来传送比特信息。它主要处理以下问题:接插件大小和形状的

  选择,每一针的作用,数据比特的电信号变换和比特级的同步。通常一个网络内可以有 好几种不同的物理层类型,甚至一个节点也可能有多种不同的物理层类型,这是因为不 同的技术要求各自的物理层。 2) 数据链路层:数据链路层(有时也称为链路层)通过物理链路来传输成块的信息。它主 要负责处理以下任务:数据出错校验、协调共享媒体的使用(如在一个 LAN中)以及编 址(当多个系统都可以访问时,如在某个 LAN中)。另外,不同的链路通常也有不同的数 据链路层实现;而且,同一个节点可以支持几种不同的数据链路层协议,节点所连的每 一类链路都有自己的协议。 3) 网络层:网络层使得网络中的任何一对系统间都可以相互通信。一个全互连的网络是指其 中的每一个节点都和其他节点直接相连,但是这种拓扑结构不可能用于有很多节点的情况。 比较典型的情况是,网络层必须找到一条通过一系列相连节点的路径,且路径上的每一个

  4) 运输层:运输层在两个系统之间建立一条可靠的通信链路。它主要处理一些由网络层引 起的错误,比如包丢失和重复包等错误,以及对包进行重新排序、分段 (这样运输层用户 就可以处理大的报文 )和重装 (这样可以避免网络层进行低效的分段和重装 )。另外,这也 有助于运输层在网络发生拥塞时可以相应降低发送数据的速率。

  作为一条规则,本书不采用 ISO的术语,因为它过于冗长且难以迅速理解(除非你已经参加 过三次以上的标准会议)。但是,在需要的时候,我们还是偶尔会采用它的术语来进行说明。

  一般说来,第 n-1层提供给第 n层的服务是通过数据传送来实现的。第 n层提供数据( SDU) 以及一些附加信息(如目的地址)给第 n-1层。第n层也能通过第 n-1层给它的一个通告信息,从 对等的第n层接收数据。

  第n-1层既可提供无连接服务,也可以提供面向连接服务。在无连接服务的情况下,它可以 接收第n层发给它的数据包,也可以发送数据包给第 n层。

  在面向连接的情况下,数据传输之前首先要建立连接。通信包括以下三个步骤: 1) 连接建立。 2) 数据传输(发送或接收数据)。 3) 连接释放。

  相应地,对于上面的每一步,都有两个活动:一是第 n层初始化该活动;二是第 n-1层通知 第n层它的对等层已经初始化好该活动了。

  对于连接建立,可以是第 n层请求与某个目的地址建立连接,或者是第 n-1层通知第 n层有某 个节点希望与它建立连接。

  数据结构,而不必担心比特 /字节顺序或者浮点数该如何表示之类的问题了。 ISO在 ASN.1(Abstract Syntax Notation 1)中制定了标准。尽管我不是很喜欢 ASN.1,因为它太复 杂而且效率太低(在空间和处理方面),但是很多IETE(Internet Engineering Task Force)的 标准都使用了它。 7) 应用层:桥接和路由之所以吸引人,实际是因为人们需要利用这些功能的相应应用。应用 包括文件传输、虚拟终端及Web浏览等。在一个节点上通常有多个应用程序同时运行。 本书是和数据链路层有关的,因为网桥在该层操作,且该层提供的服务与路由器相关。路 由器在网络层操作,因而本书和网络层也是相关的。另外,本书与运输层也有一定的关系,一 是因为它使用了网络层提供的服务,二是因为网络层做的一些决定(比如说是否允许数据在对 等的几条链路上同时传输等)会影响到运输层。在运输层上面的那些层就跟网桥以及路由器基 本无关了。 通常,第 n层从第n1层得到一大块包含有一些必要的附加信息(如目的地址等)的数据后, 第n层把这些数据传输给目的节点的第 n层处理,目的节点的第 n层再把这些数据送给该节点的第 n1层。第n层经常需要在数据包上附加一些信息,比如说,目的节点地址(它将被其他的第 n层 实体解释)。为了得到目的节点的信息,第 n层将传递一个数据块给第 n-1层,里面包括从第 n1 层上来的数据以及第 n层上附加的一些控制信息。另外,第 n层还可能在这个数据块中加入一些 其他的信息,比如说第 n层与第n-1层之间的接口信息。 让我们来看看分层工作的例子。假设物理层允许比特流从一台机器传送到另一台机器。数 据链路层在该串比特流上做上标记,用以表明数据包的开始和结束位置。此外,它还附加上校 验和信息,使得接收的机器可以检测线路上是否有噪声而导致数据错误。 目前人们已经使用了好几种有意义的技术来确保那些表明数据包开始和结束的标志的比特 串不会出现在数据包中。一种是比特填充技术,标志为六个连续的 1。为了确保 6个连续的 1不会 出现在数据包中,传输方在每 5个连续的 1后面插入一个附加的 0。接收方在接收比特流时,如果 发现连续的5个1后面是0,则这个 0必须被删除或忽略;如果在 5个连续的 1后面还是 1,这就标志 着数据包的开始或者结束。 网络层通过与其他相连机器的网络层之间的合作,可以计算出一条路由,从而使得信息能 经过多个跳到达目的节点。 当网络层从运输层接到一个待传输的数据包时,它给这个数据包加上一个“信封”,一般是 在原数据包的前面(称为报头)(有可能同时在后面(称为报尾))附加上信息。这个“信封” 包括一些诸如源地址、目的地址等的信息。网络层将选定一条比较好的路径来发送数据包,然 后把连同网络层信封在内的数据包传递给数据链路层,后者将负责把数据发送出去。 当数据包到达中间节点时,由数据链路层进行处理。首先把数据链路层的附加信息除去 (把“信封”去掉),然后把它传递给网络层,这时的数据包看起来就跟前一个网络层传递给数 据链路层时的一样,即包括运输层下传的所有信息加上网络层信封。接收端的网络层查看这个 数据包的网络层附加信息(“网络层信封”),确定这个数据包的去向,必要的时候,修改这些附

  加信息(比如增加跳数,以表明数据包已经过的节点数),然后再把修改过的数据包交给负责发 送链路的数据链路层处理(见图 1-2)。

  在前面的叙述中,像数据包这样的词比较容易使人混淆。 ISO发明的术语让一切都变得简单 明确。每一层通过协议数据单元( PDU)和它的对等层进行通信。为了更准确地表示出当前讨 论的是哪一层,通常在该层的 PDU前面增加一 个单字母的前缀,如数据链路层通过传送 LPDU 和对等的数据链路层进行通信。网络层则通过 NPDU和其他网络层进行通信。类似地,运输层通 过TPDU和其他运输层进行通信。

  对于连接释放,第 n层请求释放某个连接,或者第 n-1层通知第 n层有某个节点希望释放它们 之间的连接。

  不同的接口设计可能还会提供其他功能,但前面所述的是最基本的。 不同服务的可靠程度也不同。纯数据报服务(也称为 best-effort)接收数据,但不对发送做 任何保证。数据可能丢失,也可能重复,乱序,还可能被损坏。而可靠服务将保证(或宣称它 将保证)数据按正确顺序发送,不会被破坏(比特流不被破坏),也不会出现重复数据包或者数 据包被丢失的情况。建立可靠的面向连接的网络 (比如X.25)和数据报 (比如ATM)是可能的。无 连接的网络层只提供数据报服务,因为根据定义它无法知道发送的是什么。 IP、IPX、DECnet、 CLNP和Apple talk都是无连接网络层的例子。图 1-4列举了几种不同类型的网络层。

  不把一个大的任务划分成几个小的子任务而想试图去理解、设计和建立一个网络,将是一 件很困难的事情,一般需要把网络分层以便更好地理解它。层的思想是:每一层都将利用它的 下一层的服务来向它的上一层提供服务。

  每一层都通过协议和其他节点的同一层进行通信。这种通信通过与下一层之间的直接通信 来完成。第 n层与第n-1层之间的通信称为接口。

  OSI(开放系统互联 )的分层模型定义了 7层,如图1-1所示。至于为什么分 7层以及各层的功能 如何划分其实并不神秘。这个模型在相应协议出现以前就已经设计好了,然后为此成立了一个 专门的委员会来设计每一层。实际应用中,很多层经常再被分成若干个子层。至于各层的功能 有时并不容易区分,比如网桥和路由器就是这样一个很典型的例子,人们通常搞不清哪一个是 哪一层的。但是关于层划分的语义上的争吵并没有什么实际价值,分层的概念应该被视为一种 有用的讨论框架而非圣经。