-
常见的计算机网络体系结构
- 介绍:为了使不同体系结构的计算机网络都能互连,国际标准化组织在1977年成立了专门机构研究该问题。不久他们就提出了一个试图使各种计算机在世界范围内互连成网的标准框架——“开放系统互连参考模型”,简称OSI。
-
OSI
- 该模型是一个七层协议的体系结构,从下往上依次是:物理层、数据链路层、网络层、运输层、会话层、表示层、应用层。
- 是法律上的国际标准。
- 到了20世纪90年代初期,虽然整套的OSI国际标准都已经制订出来了,但这时因特网已抢先在全世界覆盖了相当大的范围。
- 失败原因
- OSI的专家们缺乏实际经验,它们在完成OSI标准时没有商业驱动力。
- OSI的协议实现起来过分复杂,而且运行效率很低。
- OSI标准的制定周期太长,因而使得按OSI标准生产的设备无法及时进入市场。
- OSI的层次划分不太合理,有些功能在多个层次中重复出现。
-
TCP/IP体系结构
- 因特网从1983年开始使用TCP/IP协议族,并逐步演变成TCP/IP参考模型。
- 该模型是一个四层协议的体系结构,从下往上依次是:网络接口层、网际层、运输层、应用层。
- 将OSI协议的物理层和数据链路层合成网络接口层;去掉OSI中的会话层和表示层。将OSI中的网络层改为网际层。
- 是事实上的国际标准。
- TCP/IP协议在网络层使用的协议是IP协议(网际协议),因此TCP/IP体系结构的网络层常被成为网际层。
- 如上图:大多数用户每天都有接入因特网的需求,这就要求用户的主机必须使用TCP/IP协议。即使用户的网络不需要接入因特网,也可以使用TCP/IP协议。在用户主机的操作系统中,通常都带有符合TCP/IP体系结构标准的TCP/IP协议族。而用于网络互联的路由器中,也带有符合TCP/IP体系结构标准的TCP/IP协议族。只不过路由器只包含网络接口层和网际层。
- TCP/IP体系结构的网络接口层并没有规定什么具体的内容,这样做的目的是可以互连全世界各种不同的网络接口。栗子:有线的以太网接口,无线局域网的WIFI接口,而不限定仅使用一种或几种网络接口。因此,本质上TCP/IP体系结构只有三层(去掉网络接口层)。IP协议是TCP/IP体系结构网际层的核心协议。TCP和UDP是TCP/IP体系结构运输层的两个重要协议。TCP/IP协议的应用层包含了大量的应用层协议——HTTP、SMTP、DNS、RTP等。
- IP协议可以将不同的网络接口进行互连,并向其上的TCP协议和UDP协议提供网络互连服务。而TCP协议在享受IP协议提供的网络互连服务的基础上,可向应用层的相应协议提供可靠传输的服务。UDP协议在享受IP协议提供的网络互连服务的基础上,可向应用层的相应协议提供不可靠传输的服务。
- IP协议作为TCP/IP体系结构中核心协议,一方面负责互连不同的网络接口——IP over everything;另一方面,为各种网络应用提供服务——Everything over IP。
- 在TCP/IP协议体系中包含有大量的协议,IP协议和TCP协议是其中非常重要的两个协议,所以用TCP和IP这两个协议来表示整个协议大家族,常称为TCP/IP协议族。
- 注意:在嵌入式系统开发领域,TCP/IP协议族常称为TCP/IP协议栈,因为TCP/IP协议体系的分层结构,与数据结构中的栈,在图形画法上是类似的。?
-
原理体系结构
- 由于TCP/IP体系结构为了将不同的网络接口进行互连,因此它的网络接口层并没有规定什么具体的内容。然而这对于学习计算机网络的完整体系而言,就会缺少一部分内容。因此在学习计算机网络原理时往往采取折中办法。
- 综合OSI和TCP/IP的优点,采用一种五层协议的原理体系结构。从下到上依次是:物理层、数据链路层、网络层、运输层、应用层。
- 将TCP/IP体系结构的网络接口层又重新划分为物理层和数据链路层。
在过去,制订标准的组织中往往以专家、学者为主。但现在,许多公司都纷纷挤进各种各样的标准化组织当中,使得技术标准有着浓厚的商业气息。一个新标准的出现,有时不一定反映出其技术水平是最先进的,而是往往有着一定的市场背景。从这种意义上说,能够占领市场的就是标准。
-
计算机网络体系结构分层的必要性
- 计算机网络是个非常复杂的系统。早在最初的ARPANET设计时就提出了分层的设计理念。
- “分层”可将庞大而复杂的问题,转化为若干较小的局部问题,而这些较小的局部问题就比较容易研究和处理。
- 应用层:解决通过应用进程的交互来实现特定网络应用的问题
- 运输层:解决进程之间基于网络的通信问题
- 网络层:解决分组在多个网络上传输(路由)的问题
- 数据链路层:解决分组在一个网络(或一段链路)上传输的问题
- 物理层:解决使用何种信号来传输比特的问题
-
计算机网络体系结构中的专用术语
-
实体
- 实体:如下如,我们用标有字母的小方格来表示实体
- 对等实体:通信双方相同层次中的实体?
-
协议?
-
服务
- 在协议控制下,两个对等实体间的逻辑通信基本使得本层能够向上一层提供服务。
- 要实现本层协议,还需要使用下一层所提供的服务。比如应用层对等实体享受运输层提供的服务,并在应用层协议的控制下进行逻辑通信,给其上层(用户)提供服务。
- 协议是“水平的”,服务室“垂直的”、
- 实体看得见相邻下层所提供的服务,但并不知道实现该服务的具体协议。也就是说,下面的协议对上面的实体是“透明”的。
- 服务访问点:在同一系统中相邻两层的实体交换信息的逻辑接口,用于区分不同的服务类型。
- 数据链路层的服务访问点为帧的“类型”字段。
- 网络层的服务访问点为IP数据报首部中的“协议字段”。
- 运输层的服务访问点为“端口号”。
- 服务原语:上层使用下层所提供的服务必须通过与下层交换一些命令,这些命令称为服务原语。
- 在计算机网络体系结构中,对通信双方交互的数据包有专门的术语。
- 协议数据单元(PDU):对等层次之间传送的数据包。
- 物理层对等实体逻辑通信的数据包称为比特流;
- 数据链路层对等实体逻辑通信的数据包称为帧;
- 网络层对等实体逻辑通信的数据包称为分组,如果使用IP协议,也称为IP数据报;
- 运输层对等实体逻辑通信的数据包一般根据协议而定。例如使用TCP协议,则称为TCP报文段。使用UDP协议,则称为UDP用户数据报。
- 应用层对等实体逻辑通信的数据包一般称为应用报文。
- 上述各层数据包可以统称为协议数据单元PDU
- 服务数据单元(SDU):对同一系统内,是层与层之间交换的数据包。
- 多个SDU可以合成为一个PDU;一个SDU也可划分为几个PDU。
|