计算机网络1——概述3计算机网络体系结构

一、协议

  • 为进行网络中的数据交换而建立的规则、标准或约定称为网络协议(network protocol)
  • 网络协议主要由以下三个要素组成:
    • 语法,即数据与控制信息的结构或格式;
    • 语义,即需要发出何种控制信息,完成何种动作以及做出何种响应;
    • 同步,即事件实现顺序的详细说明。

计算机网络的各层及其协议的集合就是网络的体系结构(architecture)
换种说法,计算机网络的体系结构就是这个计算机网络及其构件所应完成的功能的精确定义

二、三种体系结构对比

  • OSI的七层协议体系结构(如图(a)所示)的概念清楚,理论也较完整,但它既复杂又不实用。
  • TCP/IP体系结构则不同,它现在得到了非常广泛的应用。
    • TCP/IP是一个四层的体系结构(如图(b)所示),它包含应用层、运输层、网际层和链路层(网络接口层)。
    • 用网际层这个名字是强调本层解决不同网络的互连问题。
    • 在互联网的标准文档[RFC 1122.STD3]中,体系结构中的底层叫作链路层但接着又说明了链路层就是媒体接入层。但也有把链路层称为网络接口层的[COME06]或子网层的[PETE12]。
    • 从实质上讲,TCP/IP 只有最上面的三层,因为最下面的链路层并没有属于 TCP/IP 体系的具体协议。链路层所使用的各种局域网标准,并非由IETF而是由IEEE的802 委员会下属的各工作组负责制定的。
  • 在讲授计算机网络原理时往往采取另外的办法,即综合 OSI和 TCP/IP 的优点,采用如图©所示的五层协议的体系结构,这对阐述计算机网络的原理是十分方便的。
    在这里插入图片描述

三、五层协议的体系结构

1、应用层

  • 应用层是体系结构中的最高层。
  • 应用层的任务是通过应用进程间的交互来完成特定网络应用。
  • 应用层协议定义的是应用进程间通信和交互的规则。
  • 这里的进程就是指主机中正在运行的程序。
  • 对于不同的网络应用需要有不同的应用层协议。
  • 互联网中的应用层协议很多,如域名系统 DNS、支持万维网应用的 HTTP 协议、支持电子邮件的 SMTP 协议,等等。
  • 我们把应用层交互的数据单元称为报文(message)。

2、运输层

  • 运输层的任务就是负责向两台主机中进程之间的通信提供通用的数据传输服务。
  • 应用进程利用该服务传送应用层报文。
  • 所谓“通用的”,是指并不针对某个特定网络应用,而是多种应用可以使用同一个运输层服务。
  • 由于一台主机可同时运行多个进程,因此运输层有复用和分用的功能。复用就是多个应用层进程可同时使用下面运输层的服务,分用和复用相反,是运输层把收到的信息分别交付上面应用层中的相应进程。
  • 运输层主要使用以下两种协议:
    • 传输控制协议 TCP(Transmission Control Protocol)——提供面向连接的、可靠的数据传输服务,其数据传输的单位是报文段(segment)。
    • 用户数据报协议 UDP(User Datagram Protocol)——提供无连接的尽最大努力(besteffort)的数据传输服务(不保证数据传输的可靠性),其数据传输的单位是用户数据报。

顺便指出,有人愿意把运输层称为传输层,理由是这一层使用的TCP协议就叫作传输控制协议。从意思上看,传输和运输差别也不大。但OSI定义的第4层使用的是 Transport而不是 Transmission。这两个词的含义还是有些差别的。因此,使用运输层这个译名较为准确。

3、网络层

  • 网络层负责为分组交换网上的不同主机提供通信服务。
  • 在发送数据时,网络层把运输层产生的报文段或用户数据报封装成分组或包进行传送。
  • 在TCP/IP体系中,由于网络层使用 IP 协议,因此分组也叫作IP数据报,或简称为数据报。
  • 本书把“分组”和“数据报”作为同义词使用。
  • 请注意:不要将运输层的“用户数据报协议UDP”和网络层的“IP 数据报”弄混。此外,无论在哪一层传送的数据单元,都可笼统地用“分组”来表示。
  • 网络层的具体任务有两个。第一个任务是通过一定的算法,在互联网中的每一个路由器上生成一个用来转发分组的转发表。第二个任务较为简单,就是每一个路由器在接收到一个分组时,依据转发表中指明的路径把分组转发到下一个路由器。这样就可以使源主机运输层所传下来的分组,能够通过合适的路由最终到达目的主机。
  • 这里要强调指出,网络层中的“网络”二字,已不是我们通常谈到的具体网络,而是在计算机网络体系结构模型中的第3层的名称。
  • 互联网是由大量的异构(heterogeneous)网络通过路由器(router)相互连接起来的。互联网使用的网络层协议是无连接的网际协议IP(Interet Protocol)和许多种路由选择协议,因此互联网的网络层也叫作网际层或IP 层。在本书中,网络层、网际层和 IP 层都是同义语。

4、数据链路层

  • 数据链路层常简称为链路层。
  • 我们知道,两台主机之间的数据传输,总是在一段一段的链路上传送的,这就需要使用专门的链路层的协议。
  • 在两个相邻节点之间传送数据时,数据链路层将网络层交下来的IP数据报组装成帧(framing),在两个相邻节点间的链路上传送帧(frame)。每一帧包括数据和必要的控制信息(如同步信息、地址信息、差错控制等)。
  • 在接收数据时,控制信息使接收端能够知道一个帧从哪个比特开始和到哪个比特结束。这样,数据链路层在收到一个帧后,就可从中提取出数据部分,上交给网络层。
  • 控制信息还使接收端能够检测到所收到的帧中有无差错。如发现有差错,数据链路层就简单地丢弃这个出了差错的帧,以免继续在网络中传送下去白白浪费网络资源。如果需要改正数据在数据链路层传输时出现的差错(这就是说,数据链路层不仅要检错,而且要纠错),那么就要采用可靠传输协议来纠正出现的差错。这种方法会使数据链路层的协议复杂此。

5、物理层

  • 在物理层上所传数据的单位是比特。发送方发送1(或0)时,接收方应当收到1(或而不是0(或1)。
  • 因此物理层要考虑用多大的电压代表“1”或“0”,以及接收方如何识别出发送方所发送的比特。
  • 物理层还要确定连接电缆的插头应当有多少根引脚以及各引脚应如何连接。
  • 当然,解释比特代表的意思,不是物理层的任务。请注意,传递信息所利用的一些物理传输媒体,如双绞线、同轴电缆、光览、无线信道等,并不在物理层协议之内,而是在物理层协议的下面。因此也有人把物理层下面的物理传输媒体当作第0层。
  • 在互联网所使用的各种协议中,最重要为和最著名的就是TCP和IP两个协议。现在人们经常提到的 TCP/IP 并不一定是单指 TCP和IP 这两个具体的协议,而往往是表示互联网所使用的整个TCP/IP 协议族(protocol suite)

四、数据传输流程

说明的是应用进程的数据在各层之间的传递过程中所经历的变化。这里为简单起见,假定两台主机通过一台路由器连接起来。

  • 假定主机1的应用进程 AP1向主机2的应用进程 AP2传送数据。
  • AP1先将其数据交给本主机的第5层(应用层)。第5层加上必要的控制信息 H5就变成了下一层的数据单元。
  • 第4层(运输层)收到这个数据单元后,加上本层的控制信息H4,再交给第3层(网络层),成为第3层的数据单元。
  • 依此类推。不过到了第2层(数据链路层)后,控制信息被分成两部分,分别加到本层数据单元的首部(H2)和尾部(T2)
  • 而第1层(物理层)由于是比特流的传送,所以不再加上控制信息。请注意,传送比特流时应从首部开始传送。
  • 当这一串的比特流离开主机1经网络的物理传输媒体传送到路由器时,就从路由器的第1层依次上升到第3层。每一层都根据控制信息进行必要的操作,然后将控制信息剥去。
  • 将该层剩下的数据单元上交给更高的一层。当分组上升到了第3层网络层时,就根据首部中的目的地址查找路由器中的转发表,找出转发分组的接口,然后往下传送到第2层,加上新的首部和尾部后,再到最下面的第1层,然后在物理传输媒体上把每一个比特发送出去。
  • 当这一串的比特流离开路由器到达目的站主机2时,就从主机2的第1层按照上面讲过的方式,依次上升到第5层。最后,把应用进程AP2,发送的数据交给目的站的应用进程AP2。
    在这里插入图片描述
  • 虽然应用进程数据要经过如图上图 所示的复杂过程才能送到终点的应用进程,但这些复杂过程对用户屏蔽掉了,以致应用进程 AP1觉得好像是直接把数据交给了应用进程 AP2。同理,任何两个同样的层次(例如在两个系统的第4层)之间,也好像如同图 中的水平虚线所示的那样,把数据(即数据单元加上控制信息)通过水平虚线直接传递给对方。这就是所谓的“对等层”(peer layers)之间的通信。我们以前经常提到的各层协议,实际上就是在各个对等层之间传递数据时的各项规定。
  • 在文献中也还可以见到术语“协议栈”(protocol stack)。这是因为几个层次画在一起很像一个栈(stack)的结构。

五、实体、协议、服务和服务访问点

1、实体

当研究开放系统中的信息交换时,往往使用实体(entity)这一较为抽象的名词表示任何可发送或接收信息的硬件或软件进程。在许多情况下,实体就是一个特定的软件模块。

2、协议

协议是控制两个对等实体(或多个实体)进行通信的规则的集合。协议的语法方面的规则定义了所交换的信息的格式,而协议的语义方面的规则就定义了发送者或接收者所要完成的操作,例如,在何种条件下,数据必须重传或丢弃。

在协议的控制下,两个对等实体间的通信使得本层能够向上一层提供服务。要实现本层协议,还需要使用下面一层所提供的服务。

3、服务

一定要弄清楚,协议和服务在概念上是很不一样的。

首先,协议的实现保证了能够向上一层提供服务。使用本层服务的实体只能看见服务而无法看见下面的协议。也就是说,下面的协议对上面的实体是透明的。

其次,协议是“水平的”,即协议是控制对等实体之问通信的规则。但服务是“垂直的”,即服务是由下层向上层通过层间接口提供的。另外,并非在一个层内完成的全部功能都称为服务。只有那些能够被高一层实体“看得见”的功能才能称之为“服务”。上层使用下层所提供的服务必须通过与下层交换一些命令,这些命令在OS中称为服务原语。

4、服务访问点

在同一系统中相邻两层的实体进行交互(即交换信息)的地方,通常称为服务访问点SAP(Service Access Point)。服务访问点SAP是一个抽象的概念,它实际上就是一个逻辑接口,有点像邮政信箱(可以把邮件放入信箱和从信箱中取走邮件),但这种层间接口和两个设备之间的硬件接口(并行的或串行的)并不一样。OSI把层与层之间交换的数据的单位称为服务数据单元 SDU (Service Data Unit),它可以与 PDU 不一样。例如,可以是多个 SDU合成为一个 PDU,也可以是一个 SDU 划分为几个 PDU。

5、总结

  • 这样,在任何相邻两层之间的关系均可概括为下图所示的那样。这里要注意的是第n层的两个“实体(n)”之间通过“协议(n)"进行通信
  • ,而第n+1层的两个“实体(n+1)’之间则通过另外的“协议(n +1)“进行通信(每一层都使用不同的协议)。
  • 第n层向上面的第n+1层所提供的服务实际上已包括了在它以下各层所提供的服务。
  • 第n层的实体对第n+1层的实体就相当于一个服务提供者。
  • 在服务提供者的上一层的实体又称为“服务用户”因为它使用下层服务提供者所提供的服务
    在这里插入图片描述

六、TCP/IP体系结构

1、介绍

前面已经说过,TCP/IP的体系结构比较简单,它只有四层。
在这里插入图片描述

2、缺点

应当指出,技术的发展并不遵循严格的OSI分层概念。实际上现在的互联网使用的TCP/IP 体系结构有时已经演变成为下图所示的那样,即某些应用程序可以直接使用IP层或直接使用最下面的链路层[PETE12]。虽然TCPP协议族得到了非常广泛的应用,但对TCP/IP体系结构的批评意见也有不少。例如,这个体系结构没有清晰地阐明区分开服务接口和协议之间的关系,而链路层并非真正的一个层次,而仅仅是强调了IP层需要这样个与网络的接口。这个体系结构没有把重要的物理层和链路层的内容包含进来。
在这里插入图片描述

3、其他表示法

  • 还有另一种方法用来表示TCPIP协议族(如图1-22所示),它的特点是上下两头大而中间小:应用层和网络接口层都有多种协议,而中间的IP层很小,上层的各种协议都向下汇聚到一个IP 协议中。
  • 这种很像沙漏计时器形状的 TCP/IP协议族表明: IP 层可以支持多种运输层协议(虽然这里只画出了最主要的两种),而不同的运输层协议上面又可以有多种应用层协议(所谓的everything over P),同时IP协议也可以在多种类型的网络上运行(所谓的 IP over everything)。正因为如此,互联网才会发展到今天的这种全球规模。
  • 从下图不难看出卫P协议在互联网中的核心作用。
    在这里插入图片描述
  • 实际上,图1-22还反映出互联网的一个十分重要的设计理念,这就是网络的核心部分越简单越好,把一切复杂的部分让网络的边缘部分去实现。
  • 67
    点赞
  • 20
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值