1.6-计算机网络体系结构(1)—常见的计算机网络体系结构.pdf

常见的计算机网络体系结构

image.png
1、如今用的最多的是TCP/IP体系结构,现今规模最大的、覆盖全球的、基于TCP/IP的互联网并未使用OSI标准。TCP/IP体系结构相当于将OSI体系结构的物理层和数据链路层合并为了网络接口层,并去掉了会话层和表示层。
2、TCP/IP在网络层使用的协议是IP协议,IP协议的意思是网际协议,因此TCP/IP体系结构的网络层称为网际层
image.png
1、在用户主机的操作系统中,通常都带有符合TCP/IP体系结构标准的TCP/IP协议族。而用于网络互连的路由器中,也带有符合TCP/IP体系结构标准的TCP/IP协议族。只不过路由器一般只包含网络接口层和网际层。
2、
网络接口层:并没有规定具体内容,这样做的目的是可以互连全世界各种不同的网络接口,例如:有线的以太网接口,无线局域网的WIFI接口等。因此本质上TCP/IP协议体系结构只有上面的三层。
网际层:核心协议是IP协议。
运输层:TCP和UDP是这层的两个重要协议。
应用层: 包含了大量的应用层协议,如 HTTP , DNS 等。
3、IP协议可以将不同的网络接口(网络接口层)进行互连,并向其上的TCP协议和UDP协议提供网络互连服务。

  • 而TCP协议在享受IP协议提供的网络互连服务的基础上,可向应用层的相应协议提供可靠的传输服务。
  • UDP协议在享受IP协议提供的网络互连服务的基础上,可向应用层的相应协议提供不可靠的传输服务。

4、TCP/IP体系结构中最重要的是IP协议TCP协议,因此用TCP和IP来表示整个协议大家族。
image.png
由于TCP/IP体系结构为了将不同的网络接口进行互连,因此它的网络接口层并没有规定什么具体的内容。然而,这对于我们学习计算机网络的完整体系而言就会缺少一部分内容,因此学习计算机体系结构时往往采取折中的办法。也就是综合OSI和TCP/IP的优点,采用一种5层体系的原理结构。
1.6-计算机网络体系结构(2)—分层的必要性.pdf

分层的必要性

image.png

物理层问题

image.png
严格来说,传输媒体并不属于物理层。计算机传输的信号,并不是图示的方波信号,这样举例只是让初学者容易理解

数据链路层问题

image.png
1、如图所示,主机A要给主机C发送数据。
2、但是表示数据的信号会通过总线传播到总线上的每一个主机
3、那么问题来了,主机C是如何知道该数据是发送给自己的,自己要接受?而主机B,D,E又如何知道该数据不删发送给自己的,自己应该拒绝呢?
4、这就很自然的引出了下面几个问题

Q:如何标识网络中的各主机(也就是主机编址问题,例如MAC地址)?
A:主机在发送数据时,应该给数据附加上目的地址,当其他主机收到后,根据目的地址和自身地址来决定是否接受数据。

Q:目的主机如何从信号所表示的一连串比特流中区分出地址和数据?
A:也就是需要解决分组的封装格式问题

Q:另外对于总线型的网络,还会出现下面这种典型的问题
image.png
某个时刻,总线是空闲的。 片刻之后,主机B和D同时向总线发送数据,这必然造成信号碰撞。不过这种总线型的网络早已淘汰,现在常用的是使用以太网交换机将多台主机互连形成的交换式以太网。那么,以太网交换机又是如何实现的呢?
image.png

网络层问题

到这里可能会发现,只要解决了物理层和数据链路层各自所面临的问题,我们就可以实现分组在一个网络上传输了。但是,我们每天都会使用的因特网是由非常多的网络和路由器互连起来的,仅解决物理层和数据链路层的问题还是不能正常工作。

image.png

运输层问题

1、假设这台主机中运行着两个与网络通信有关的应用进程(QQ和谷歌浏览器),这台服务器中运行着与网络通信相关的服务器进程。某个时刻,主机收到了来自服务器的分组,那么这些分组应该交给浏览器进程处理呢,还是应该交给QQ进程处理?

  • 引出了我们如何标识与网络通信相关的引用进程,进而解决进程之间基于网络通信的问题。

image.png

应用层问题

image.png

总结

image.png

分层思想举例

假设网络拓扑如下所示
image.png

解析:

主机和Web服务器之间基于网络的通信,实际上是主机中的浏览器应用进程与Web服务器中的Web服务器应用进程之间基于网络的通信
image.png

各层在整个过程中起到怎样的作用?

1、应用层

  • 应用层按照HTTP协议的规定构建一个HTTP请求报文
  • 应用层将HTTP请求报文交付给运输层处理

image.png
2、运输层

  • 运输层给HTTP请求报文添加一个TCP首部,使之成为TCP报文段
  • TCP报文段的首部格式作用是区分应用进程以及实现可靠传输
  • 运输层将TCP报文段交付给网络层处理

image.png
3、网络层

  • 网络层给TCP报文段添加一个IP首部,使之成为IP数据报
  • IP数据报的首部格式作用是使IP数据报可以在互联网传输,也就是被路由器转发
  • 网络层将IP数据报交付给数据链路层处理

image.png
4、数据链路层

  • 数据链路层给IP数据报添加一个首部和一个尾部,使之成为帧 (图示右边为首部,左边为尾部)
  • 该首部的作用主要是为了让帧能够在一段链路上或一个网络上传输,能够被相应的目的主机接收
  • 该尾部的作用是让目的主机检查所接收到的帧是否有误码
  • 数据链路层将帧交付给物理层

image.png
5、物理层

  • 物理层先将帧看做是比特流,这里的网络N1假设是以太网,所以物理层还会给该比特流前面添加前导码
  • 前导码的作用是为了让目的主机做好接收帧的准备
  • 物理层将装有前导码的比特流变换成相应的信号发送给传输媒体

image.png
6、路由器

  • 信号通过传输媒体到达路由器

image.png
7、路由器转发
在路由器中

  • 物理层将信号变为比特流,然后去掉前导码后,将其交付给数据链路层
  • 数据链路层将帧的首部和尾部去掉后,将其交付给网络层,这实际交付的是IP数据报
  • 网络层解析IP数据报的首部,从中提取目的网络地址
  • 提取目的网络地址后查找自身路由表。确定转发端口, 以便进行转发
  • 网络层将IP数据报交付给数据链路层
  • 数据链路层给IP数据报添加一个首部和一个尾部,使之成为帧
  • 数据链路层将帧交付给物理层
  • 物理层先将帧看成比特流,这里的网络N2假设是以太网,所以物理层还会给该比特流前面添加前导码
  • 物理层将装有前导码的比特流变换成相应的信号发送给传输媒体,信号通过传输媒体到达Web服务器

image.png
image.png
image.png
8、接收方接收
在Web 服务器上

  • 物理层将信号变换为比特流,然后去掉前导码后成为帧,交付给数据链路层
  • 数据链路层将帧的首部和尾部去掉后成为IP数据报,将其交付给网络层
  • 网络层将IP数据报的首部去掉后成为TCP报文段,将其交付给运输层
  • 运输层将TCP报文段的首部去掉后成为HTTP请求报文,将其交付给应用层
  • 应用层对HTTP请求报文进行解析,然后给主机发回响应报文

image.png
image.png
image.png

发回响应报文的步骤和之前过程类似

image.png

专用术语

以下介绍的专用术语来源于OSI的七层协议体系结构,但也适用于TCP/IP的四层体系结构和五层协议体系结构

实体

image.png

协议

image.png
1、协议:控制两个对等实体进行逻辑通信的规则的集合
2、之所以称为逻辑通信,是因为这种通信其实并不存在,它只是我们假设出来的一种通信,目的在于方便我们单独研究体系结构某一层时而不用考虑其它层
3、协议三要素:

  • 语法:定义所交换信息的格式

image.png

  • 语义:定义收发双方所要完成的操作

image.png
image.png

  • 同步:定义收发双发的时序关系

image.png

服务

image.png
image.png
image.png