常见的计算机网络体系结构
OSI体系结构和TCP/IP
国际标准化组织提出的,他的名称为开放系统互连参考模型,但是因为该模型提出的时候,因为一些商业的问题,最终这个只是法律的国际标准,而事实上的国际标准为TCP/IP体系结构
-
OSI体系结构
-
TCP/IP体系结构
也就是把OSI中的
表示层和会话层去除,把数据链路层和物理层合并为网络接口层因为
TCP/IP体系结构在网络层使用的协议为IP协议,IP协议的中文名称为网际协议,所以把网络层又叫做网际层
如果用户想要接入因特网或者不需要,电脑也必须要使用TCP/IP协议,在用户的主机中,通常都带有符合TCP/IP体系结构标准的TCP/IP协议族,而用于网络互连的路由器中,也带有TCP/IP协议族,只不过路由器只包含网络接口层和网际层
网络接口层并没有规定要接入什么内容,目的是可以互连全世界各种不同的网络接口,比如无线局域网的WIFI接口,有线的以太网接口
TCP/IP各层次简单说明
IP协议是网际层的核心协议,可以将不同的网络接口进行互连,并向其上的TCP协议和UDP协议提供互连服务,而TCP协议在享受Ip协议提供的网络互连服务的基础上,可向应用层的相应协议提供可靠的传输的服务,UDP向应用层的相应协议提供不可靠传输的服务
TCP协议和UDP协议是运输层的核心协议
IP协议一方面负责互连不同的网络接口,也就是
IP over everything,另一方面为各种网络应用提供服务,也就是Everything over IP
TCP/IP协议中包含各种协议,但是TCP协议和IP协议是两个最重要的协议,因此使用TCP/IP这两个协议表示整个协议大家族
原理体系结构
因为网络接口层并没有规定传输什么内容,为了方便学习,综合OSI体系结构,又将网络接口层分成物理层和数据链路层
计算机网络体系结构分层的必要性
物理层
在物理层中,我们要解决的问题时
- 采用怎样的传输媒体
- 采用怎样的信号表示比特0和1
- 采用怎样的物理端口
- 等
需要注意的是,严格的来说,传输媒体并不属于物理层,并不包含在体系结构中,还有就是计算机中传输的信号,并不是举例的方波信号,只是学习的需要
数据链路层
最终他们都会解决所面对的问题
计算机网络体系结构分层思想举例
比如对于上面的这个网络,各层次之间的交互过程如下
-
应用层按
HTTP协议的规定,构建一个HTTP请求报文,应用层将HTTP报文交付给运输层进行处理 -
运输层给HTTP请求报文添加一个TCP首部,使之成为TCP报文段
添加首部的作用是
主要是为了区分应用进程,以及实现可靠传输
-
运输层然后将TCP报文段交付给网络层进行处理,网络层给TCP报文段添加一个IP首部,使之成为IP数据报
该首部的作用主要是为了使IP数据报可以在互联网上传输,也就是被路由器转发
-
网络层将IP数据报交付给数据链路层进行处理,数据链路层给IP数据报添加一个首部和一个尾部,使之成为帧
首部的作用:
让帧能够在一段链路上或一个网络上传输,能够被相应的目的主机接收
帧尾部的作用:
让目的主机检查,所接收到的帧是否有误码
-
然后数据链路层将帧交给物理层,物理层将帧看作是比特流
因为N1是以太网,所以物理层还会给该比特流前面添加前导码
前导码作用:
让目的主机做好接收帧的准备
然后物理层将添加前导码的比特流变换成相应的信号发送到传输媒体,信号通过传输媒体,到达路由器
路由器的处理过程
-
路由器将比特流去掉前导码后,将其交付给数据链路层,实际上交付的是帧
-
数据链路层将帧的首部和尾部去掉后,将其交付给网络层,实际上交付的是IP数据报
-
网络层解析IP数据报的首部,从中提取出目的网络地址,然后查找自身的路由表,确定转发端口,以便进行转发
-
网络层将IP数据报发送给数据链路层,数据链路层对IP数据报添加一个首部和一个尾部,使之成为帧,然后数据链路层将帧交付给物理层,物理层将帧看做比特流,由于N2也是以太网,物理层还会在比特流前面加上前导码,物理层将添加前导码的比特流变换成相应的信号,发送给传输媒体
-
信号通过传输媒体到达Web服务器
Web服务器的处理过程
- 物理层将信号变换成为比特流,然后去掉前导码,将其交付给数据链路层,实际上交付的是帧
- 数据链路层将帧的首部和尾部去掉后,将其交付给网络层,实际上交付的是IP数据报
- 网络层将IP数据报的首部去掉后,交付给运输层,实际上交付的TCP数据段
- 运输层将TCP报文段的首部去掉后,将其交付给应用层,实际上交付的是HTTP请求报文,应用层对HTTP请求报文进行解析,然后给主机发回HTTP响应
计算机体系结构中的专用术语
下面讲的主要来源于OSI的七层体系结构,但也同样适用于TCP/IP四层体系结构和五层原理体系结构
其中最具代表性的是
实体
实体:任何可发送或接收信息的硬件或软件进程
对等实体:收发双方相同层次中的实体
左边和右边的abcde方框表示的是实体,左边方框a和右边方框b表示的是对等实体
比如左边应用层的浏览器和右边应用层的浏览器也是对等实体,左边物理层的网卡和右边物理层的网卡也是对等实体
协议
协议:控制两个对等实体进行逻辑通信的规则的集合
上图的描述应该是
应用层的对等实体在应用层协议的控制下进行通信
运输层的对等实体在运输层的控制下进行通信
一次类推
这种通信并不存在,只是我们假设出来的通信,方便单独研究体系结构某一层,而不同考虑其他层
协议存在三个要素,分别是语法,语义,同步
- 语法:定义所交换信息的格式
- 语义:定义收发双方所要完成的操作
- 同步:定义收发双方的时序关系
服务
-
在协议的控制下,两个对等实体间的逻辑通信使得本层能够向上一层提供服务,比如上图,物理层对等实体在物理层协议的控制下,向数据链路层提供服务,数据,
-
要实现本层协议,还需要使用下面一层所提供的服务,比如上图,数据链路层享受物理层提供的服务,实现链路协议并进行通信
-
协议是水平的,服务是垂直的
-
实体看得见相邻下层所提供的服旁,井不知道实现该服务的只体协成。也就是说,下面的协议对上面的实体是"透明“的。
-
服务访问点,在同一个系统中,相邻两层的实体交换信息的逻辑接口,用于区分不同的服务类型
- 数据链路层的服务访问点为帧的“类型”字段
- 网络层的服务访问点为IP数据报首部中的“协议字段”
- 运输层的服务访问点为“端口号”