计算机网络体系结构
常用的网络体系结构
OSI体系结构
为了使不同体系结构的计算机网络都能互连,国际标准化组织于1977年成立了专门机构研究该问题,不就他们就提出了一个试图使各种计算机在世界范围内互连成网的标准框架,也就是著名的开放系统互连参考模型,简称OSI,该模型是一个七层协议的体系结构
TCP/IP体系结构
到了20世纪90年代初期,虽然整套的OSI国际标准都已经制定出来了,但这时因特网已抢先在全世界覆盖相当大的范围。因特网从1983年开始使用TCP/IP协议族,并逐步演变为TCP/IP参考模型,该模型是一个四层协议的体系结构
在过去,由于制定标准的组织中往往以专家、学者为主,但现在,许多公司都纷纷挤进各种各样的标准化组织,使得技术有着浓厚的商业气息。一个新标准的出现,有时不一定反映出其技术水平是最先进的,而是往往有着一定的市场背景。从某种意义上来讲,能够占领市场的就是标准。
OSI标准失败的原因
- OSI专家缺乏实际经验,他们在完成OSI标准时没有商业驱动力
- OSI协议实现起来过分复杂,而且运行效率很低
- OSI标准的制定周期太长,使得按OSI标准生产的设备无法及时进入市场
- OSI的层次划分也不太合理,有些功能在多个层次中重复出现
TCP/IP体系结构相当于讲OSI体系结构的物理层和数据链路层合并为了网络接口层,去掉了会话层和表示层,由于TCP/IP在网络层使用的协议是IP协议,IP协议的中文意思是网际协议,因此,TCP/IP体系结构的网络层常称为网际层
TCP/IP体系结构的网络接口层并没有规定什么具体内容,这样做的目的是可以互连全世界各种不同的网络接口,例如有线的以太网接口,无线局域网的WIFI接口,而不具体限定,因此,本质上TCP/IP体系结构只有上面三层
这些使用TCP/IP模型通信的设备中都存在TCP/IP协议族,主机中为四层模型,路由设备中为两层
-
IP协议可以将不同的网络接口进行互连,并向其上的TCP协议和UDP协议提供网络互连服务
-
TCP协议在享受IP协议提供的网络互联服务的基础上,可向应用层的相应协议提供可靠传输的服务
-
UDP协议在享受IP协议提供的网络互连服务的基础上,可向应用层的相应协议提供不可靠传输的服务
TCP/IP协议中拥有非常大量的协议,由于IP协议与TCP协议的重要性,用TCP和IP这两个协议来表示整个协议大家族,在嵌入式领域TCP/IP协议族常称为TCP/IP协议栈(与数据机构中的栈,在图形画法上是类似的)
原理体系结构
由于TCP/IP体系结构中网络接口层并没有什么明确的规定,为了方便学习,所以将网络接口层又进行了拆分,变为了五层结构-原理体系结构
分层的必要性
-
计算机网络是个非常复杂的系统。早在最初的ARPANET设计时就提出了分层的设计理念
-
分层可将庞大而复杂的问题,转换为若干较小的局部问题,而这些较小的局部问题就比较容易研究和处理
计算机网络面临的主要问题
物理层
- 采用的传输介质
- 采用的信号
- 采用的物理接口
数据链路层
- 如何标识网络中的各主机
- 如何从信号所表示的一串比特流中区分出地址和数据
- 如何协调各主机争用总线
网络层
- 如何标识各网络以及网络中的各主机
- 路由器如何转发分组,如何进行路由选择
传输层
- 进程和进程之间如何进行网络通信
- 传输错误时如何处理(误码、丢包…)
应用层
- 按照应用层协议标准编写应用程序
问题总结
应用进程间基于网络的通信
-
浏览器发起请求后向应用层交付HTTP报文
-
在HTTP协议基础上添加TCP头部形成 (主要用于确定目标主机端口号)
- 在TCP协议前添加头部形成IP报文(主要用于确定目标主机地址)
-
为IP报文添加首部和尾部形成数据帧
-
帧首部目的是使帧能够在一段链路上传输,能够被相应的主机接受,帧尾部是使目的主机检查接收到的帧是否存在误码
- 物理层将帧看为比特流,在帧首部添加前导码,作用是让目标主机做好接收帧的准备
- 物理层将比特流发送到链路上
-
路由器接收到比特流后开始对比特流进行解析
-
去除前导码形成数据帧
-
数据帧去掉首部和尾部后形成IP报文
-
路由器提取源IP信息,进行查表重新封装IP信息,确定转发端口
-
IP协议依次向下封装性能数据帧
-
形成比特流
-
目标主机接收到比特流
-
物理层向上交付数据帧
-
对数据帧去掉首部尾部后形成IP协议
- 去除IP协议的首部信息后形成TCP协议
- 去除TCP协议的首部后应用层收到完整的HTTP报文信息
注:文章内容均来自互联网,如有侵权,请联系作者删除