Bootstrap

计算机网络体系结构

1 计算机网络体系结构

ISO标准协议

        国际标准组织在1977年提出了著名的开放系统互联基本参考模型。OSI参考模型包含七层协议体系,分别包括物理层、数据链路层、网络层、运输层、会话层、表示层和应用层

TCP/IP参考模型

        用于因特网的广泛使用,所以因特网所使用的TCP/IP协议簇也被当做计算机网络中的实际参考模型进行分析。TCP/IP参考模型主要包括网络接口层、网际层、运输层和应用层。如下图所示,网络接口层可以是以太网接口,WIFI接口等。网际层使用的IP协议运输层使用的是TCP协议或者UDP协议应用层使用HTTP、SMTP、DNS、RTP等协议。在通信过程中,使用IP协议互联不同的网络接口数据,同时又使用TCP/UDP协议向应用层提供服务。所以称该种参考模型为TCP/IP协议簇。

原理参考模型:

        由于TCP/IP参考模型中的网络接口层没有规定具体内容,所以提出原理参考模型以便于理解和教学。原理参考模型中将TCP/IP参考模型中的网络接口层划分为物理层和数据链路层


2 计算机网络分层的必要性

        计算机网络是一个非常复杂的系统,对于这个复杂系统的分析,需要使用分层思想进行分析,即将庞大复杂的问题转化为若干个较小的局部问题进行分析。那么在计算机通信过程中都存在哪些问题呢,这些问题都划分归属到那一层了呢?

2.1 物理层

        首先是最简单的一个例子,两台计算机之间进行通信,需要考虑哪些问题?

        采用什么传输媒介,采用哪种物理接口 ,传输的信号应该怎么表示等问题。这些问题都归属于物理层范围

2.2 数据链路层

        假设我们解决了两台计算机之间的通信问题,那么对于多台计算互联的情况又应该考虑哪些问题呢?如下图说是的多台计算机互联说明

  • 计算机如何确保向指定的计算机发送数据呢?这便引出了MAC地址
  • 如何区分消息中的地址信息和数据信息?这便引出了数据包格式的定义
  • 如何解决网络总线上每个主机的发送和接收冲突问题呢?这便引出了载波侦听的方法
  • 如何解决数据传输中的错误问题呢?这便引出了错误检测方法

以上这些问题都对属于数据链路层范畴,针对这些问题,数据链路层中提出了一系列方法解决这些问题。

2.3 网络层

        假设我们解决了多台计算机互联通信的问题,那么对于不同网络下的计算机进行相互通信又该解决什么问题呢?如下简图所示:

  • 多个网络如何确定自身的所处的网络区域呢?这便引出了IP地址(网络和主机共同编号,如192.168.1.2表示网络编号为192.168.1中设备编号为2的主机);
  • 网络中的消息如何进行转发,这便引出了路由器的转发分组机制

以上这些问题都对属于网络层范畴,针对这些问题,网络层中提出了一系列方法解决这些问题。

2.4 传输层

        假设我们解决了不同网络下的计算机之间的通信,那么对于计算机之间的不同进程的通信又该如何解决呢?如下图中qq进程和浏览器进程的网络通信。

  • 计算机中不同进程如何明确?这便引出了进程标识,如端口号
  • 进程之间的传输出现错误怎么处理?这便引出了可靠传输和不可靠传输的概念;

以上这些问题都对属于传输层范畴,针对这些问题,传输层中提出了一系列方法解决这些问题。

2.5 应用层

        如果我们解决了上述问题,对于进程接收的数据如何解析和分析又应该怎么定义呢?

  • 如何对数据进行会话管理如何表示数据等都应在应用层进行说明。

        以上就是计算机网络通信过程中从底层到顶层所需要解决的问题,根据这些问题进行了网络模型的分层划分。简单总结如下图所示:


3 计算机网络体系结构分层思想举例

        如下举例一个浏览器访问的通信过程,详解说明计算机网络通信中各层的作用。

        首先应用层使用HTTP协议向服务器请求一个报文,报文到达传输层后,由传输层在其报文中添加TCP报文,以区分应用进程,实现可靠传输。然后数据包传递到网路层,网络层在数据包中添加IP信息后发送至数据链路层,数据链路层在数据包中添加以太网帧头和帧校验尾部。将封装之后的数据包发送至物理层,物理层识别其数据信息并使用编码信号在传输媒介中进行传输(对于以太网,物理层还会在发送添加前导码信息,用于接收方的时钟同步)。

        路由器接收到传输媒介中的信息后,去除前导码后向数据交付给数据链路层,数据链路层将以太网帧头和帧校验尾部去除后将数据交付给网络层,网络层根据IP的转发路由表确定转发的目的网络IP和转发端口等信息,将数据包交付至数据链路层,数据链路层添加以太网帧头和帧校验尾部后向下交付给物理层,物理层识别其数据信息并使用编码信号在传输媒介中进行传输。

        服务器接受到传输媒介中的信号后,从下向上依次经过数据链路层,网络层,传输层。每一层所有的工作就是接收数据去除对应的数据首部后将数据向上交付。服务器在应用层响应接收到的HTTP协议报文。响应的报文在服务器中层层封装后发送至计算。这个过程同上面的发送过程一致。

        以上便是计算机向服务器请求的计算机网络通信过程的传输说明。

祝大家国庆节快乐~~

;