计算机网络概述【概述】(6)

计算机网络的体系结构

计算机网络的体系结构

计算机中的绘图板软件的使用并不会产生网络流量,那么绘图板软件只属于应用程序,但是不属于应用层。

QQ软件 存放的文件或者消息需要在网络上发送来产生网络流量。所以QQ属于应用层。

IE浏览器也能够产生网络流量,所以也属于应用层。

能为用户进行网络通信来提供服务的软件都属于应用层。
在应用层工作的软件,相对应的软件之间进行通信就要遵循应用层协议。

浏览器访问网站就是用到了应用层HTTP协议。
发邮件的时候使用到应用层SMTP协议。
传邮件的时候使用到应用层FTP协议。

域名解析使用到了应用层DNS协议

传输层两个重要的协议:TCP协议、UDP协议。
例如:
QQ发送消息,对方有没有收到我们自己是不知道的。
QQ发送文件,对方有没有收到我们自己是知道的,如果对方收到了,就会有一个反馈:对方已经成功接收文件。如果没有收到,就会显示文件发送失败。

那么这种情况就涉及到了两个应用进程之间的通信,使用到的就是传输层协议。

UDP协议的数据传输是不可靠的传输,TCP协议的数据传输时可靠传输。

对于QQ软件来说,消息的发送使用的是不可靠传输,文件的发送使用的就是可靠传输。

所以QQ应用层调用传输层UDP协议进行消息的发送,调用传输层TCP协议进行文件的发送。

应用层的HTTP协议调用的就是传输层的TCP协议。

网络层:提供不同主机之间的标识和通信。

IP地址是主机的标识。

网络层最核心的就是IP协议,与IP协议相配合的还有ICMP协议、IGMP协议。
ping命令调用的就是ICMP协议。

IGMP协议是对于组播的支持。

ARP协议 进行地址解析,将IP地址转换为下层所需要的硬件地址
RARP协议 进行地址解析,将硬件地址转换为上层所需要的IP地址

数据链路层:相邻结点之间传送数据。
CSMA/CD协议在现在应用越来越少,但是在发展过程中有着重要意义。
GBN:回退帧协议。

封层模型的意义

分层之后各层独立
那么就可以让每一层只负责一部分功能,那么每一层负责的功能就不会很复杂,并且更加的有针对性,也容易让我们能够集中所有的技术和能力让这一部分功能完成的最好。

分层之后灵活性很好
相邻层次之间通过接口进行服务的提供和服务的请求。
对于各层的内部进行技术提升或者一些修改让本层实现的更好,只要层次之间的接口不变,就不会影响到其他层。

分层之后结构上可以分割
让各层更加容易找到合适的技术,不会影响到其他层次的实现。各层之间的结构不变让各层之间能够实现交互。

分层使得各层更易于实现和维护。

分层之后能够促进标准化的工作。

分层在计算机领域很多地方都体现,对于网络的分层是实现最好的,也是有代表意义的。

从网络排错角度来看分层带来的帮助:从层次的角度来考虑和排查,每一层的功能是比较确定的,每一层可能会出现什么问题,我们也可以确定大概范围。方便我们按照一定的思路来排查。

那么如果问题比较严重,我们就需要从底层向上层彻底的逐层排查:
物理层:
连接不正常。

数据链路层:
MAC欺骗,ADSL拨号,也就是ADSL猫。MAC地址的保护。

网络层:
IP地址无法通过DHCP获得,就无法上网,这个时候我们就需要手动的去配置。路由器中的路由表出现问题,没有正常选路的功能,数据无法传输也是网络层出现的问题。

传输层:
端口冲突,每一个应用进程都对应一个端口,如果端口被禁用了,那么某一进程就无法进行上网。防火墙可能会禁用某些端口。

应用层:
IE浏览器插件,代理等等。
一般情况下应用层出现问题,重装软件就可以解决。

从网络安全方便考虑,分层之后,每一层安全了,整体安全系数都会提高很多。

五层数据封装

五层数据对应的数据单元

五层数据对应的数据单元
物理层上传输比特信息,所以称为比特流。

数据链路层的数据帧在进行封装的时候需要有帧头和帧尾。

网络层的IP数据报在进行封装的时候需要加上首部。

运输层对应运输层报文。
根据协议的不同分为UDP:用户数据报协议。TCP:传输控制协议。

运输层对应的数据单元:
UDP:用户数据报。
TCP:传输控制协议单元,也可叫做TCP报文段。

应用层的协议数据单元有很多种封装格式,因为应用层协议是种类最多的。
例如:HTTP协议的数据封装、DNS协议的数据封装、FTP协议的数据封装、SMTP协议的数据封装等。

主机1向主机2发送数据

主机1向主机2发送数据

主机2接收主机1发送数据

主机2接收主机1发送数据

发送的过程中需要封装,接收的过程中需要解封装。

客户进程和服务器进程通信

客户进程和服务器进程通信

一台计算机同时运行多个服务器进程

一台计算机同时运行多个服务器进程