常见的计算机网络体系结构
OSI体系结构: 物理层→数据链路层→网络层→运输层→会话层→表示层→应用层
TCP/IP体系结构: 网络接口层→网际层→运输层→应用层
一般用户的设备都有TCP/IP协议用于连接因特网,TCP/IP的网络接口层并没有规定使用哪种网络结构(WIFI,有线宽带等)。
IP层一方面负责互联不同的网络接口,另一方面,又向应用层提供服务。
原理体系结构: 应用层←运输层←网络层←数据链路层←物理层
计算机网络分成结构的必要性
计算机网络是一个非常复杂的系统。分层可将庞大的数学问题转化为若干较小的局部问题,易于处理和研究。
下面介绍计算机网络面对的主要问题:
1.物理层
采用怎么样的传输媒体,采用怎么样的物理接口,使用什么样的信号表示比特0和比特1.
2.数据链路层
如何标识网络中的各主机(主机编址问题)?
如何从信号所表示的一连串比特流中区分出地址和数据?
如何协调个主机正用总线?
数据链路层如何实现?
3.网络层
一个因特网由很多网络组成,那么如何表示因特网中的各网络和各主机?(网络和主机共同编织的问题,例如IP地址)
源主机和目的主机的链路往往不止一条,那么他如何选择路由呢?
4.运输层
如何表示一个主机上不同应用,比如主机上收到一条消息,那么消息是由QQ处理还是微信处理?
出现传输错误时,如何处理?
5.应用层
通过应用进程间的信息相互交换来实现网络应用
计算机网络体系结构分层思想举例
主机向Web服务器发送请求,Web服务器收到请求后在发给浏览器,浏览器在解析信息,出现网页。
其本质上是主机中的浏览器和Web的应用进行相互交互的过程。
那么,体系结构的各层起着怎样的作用?
从主机端按体系结构自顶向下的顺序来看,应用层按HTTP协议构建一个HTTP请求报文,然后应用层将HTTP报文交给运输层处理,运输层给HTTP报文添加一个TCP首部,使其称为TCP报文段(TCP首部区分应用进程并实现可靠传输);然后运输层将TCP报文段传给网络层处理,网络层给TCP报文段添加一个IP首部,使其称为IP数据报(实现其可以被路由器转发)。然后ETH首部和ETH尾部,使其成为帧(首部使得帧可以在一个网络上传播,尾部用于检查其是否有误码)。然后数据链路层将帧传给物理层,物理层将其添加前导码(前导码为了让接收器做好接收准备),然后将其转化为信号发给路由器。
路由器的处理过程为:物理层将前导码去掉,使其成为帧,数据帧链路将ETH首部和尾部去掉后(成为了IP数据报)将其交给网络层。网络层解析IP首部,提取目的地址,然后查找路由表确定转发端口。然后网络层在将其转给数据链路层,数据链路层添加ETH首部和ETH尾部使其成为帧,然后再给物理层,物理层在添加前导码,再将有添加比特码的数据流转为信号发给服务器。
服务器的处理过程是:物理层将信号转换为比特流,在去掉前导码后交给数据链路层,数据链路层去掉ETH首部和尾部,交给网络层,网络层去掉IP首部交给运输层,运输层去掉TCP交给应用层。然后应用层在处理HTTP报文段。
然后服务器在将处理后的数据用同样的方式发给主机。
计算机网络结构中的常用名词
实体:任何可发送或接收信息的硬件或软件进程。
对等实体:手法双方相同层次中的实体
协议:控制两个对等实体进行通信的逻辑的集合
上面的这些逻辑通信实际中并不存在,只是假想出来的方便我们工作。
协议三要素:语法,语义,同步
语法:定义所交互信息的格式
语义:收发双方所要完成的操作
同步:定义双方收发的时序关系
服务:两个对等实体间的逻辑通信使得本层能够向上一层提供服务
要实现本次协议,还需要使用下面一层所提供的服务。协议是水平的,服务是垂直的。
服务访问点:同一系统中相邻两层实体交换信息的逻辑接口,用去区分不同的服务
服务原语:上层使用下层所提供的服务必须通过与下层交换一些命令,这些命令称为服务原语。
协议数据单元PDU:对等层次之间传输的数据包称为改成的协议数据单元。
服务数据单元SDU:同一系统内,层与层之间交换的数据包称为服务单元数据。