网络协议的七层和五层划分

网络协议的7层和5层

Ⅰ.OSI七层模型

应用层 文件传输、电子邮件、文件服务、虚拟终端 TFTP、 HTTP,SNMP,FTP,SMTP,DNS,Telnet

表示层 数据化格式,代码转换,数据加密 没有协议

会话层 解除或建立与别的点的联系,没有协议

传输层 提供端对端的接口 TCP,UDP

网络层 为数据包选择路由 IP,ICMP,RIP,OSPF,BGP,IGMP

数据链路层 传输有地址的帧以及错误检测功能SLIP,CSLIP,PPP,ARP,RARP,MTU

物理层 以二进制数据形式在物理媒体上传输数据 ISO2110,IEEE802,IEEE802.2

Ⅱ.5层模型

应用层

物理层:中继器、集线器、还有我们通常说的双绞线也在物理层。

数据链路层:网桥(现已很少使用)、以太网交换机(二层交换机)、网卡(其实网卡是一半工作在物理层,一半工作在数据链路层)

网络层:路由器、三层交换机

传输层:四层交换机、也有工作在四层的路由器

网络协议的七层和五层划分
我们通俗说的七层模型,其实就是国际标准组织ISO为网络传输协议指定的标准,也就是OSI七层网络模型,但是这层协议,已经被TCP/lP四层协议模型而淘汰,并没有大规模使用,而大家更认可的就是TCP/IP四层概念模型,这个网络模型也是由多种协议组成的,其中最重要的协议是网络层的IP协议和传输层的TCP协议,于是整个网络模型的命名就使用这两个协议来命名,用来突出这两个协议的重要性。

一个url访问的完整流程

用户输入url之后大致发生了以下几件事:

浏览器查找域名的IP地址。这一步包括DNS具体的查找过程,包括:浏览器缓存–> 系统缓存–>路由器缓存…

浏览器向web服务器发送一个http请求:三次握手、传送数据、四次挥手

服务器的永久重定向响应301:返回真正访问的地址;

浏览器跟踪重定向地址:另发一个http请求;

服务器处理请求;

服务器返回一个http响应;

浏览器西安市html页面:解析html以构建DOM树—> 构建渲染树 —>布局渲染树 -->绘制渲染树;

浏览器发送请求,获取嵌入在html中的资源(如图片、音频、视频、CSS、JS等等);

浏览器发送异步请求。

DNS解析过程

下面来详细解释DNS域名解析的过程:

1.打开浏览器,输入一个域名。比如输入www.163.com,这时,你使用的电脑会发出一个DNS请求到本地DNS服务器。本地服务器一般都是你的网络接入服务器服务商提供,比如中国电信,中国移动。

2.查询www.163.com的DNS请求到达本地DNS服务器之后,本地DNS服务器会首先查询它的缓存记录,如果缓存中有此条记录,就可以直接返回结果。如果没有,本地DNS服务器还要向DNS根服务器进行查询。

3.根DNS服务其没有记录具体的域名和IP地址的对应关系,而是告诉本地DNS服务器,你可以到与服务器上去继续查询,并给出域服务器的地址。

4.本地DNS服务器继续向域服务器发出请求,在这个例子中,请求的对象是.com域服务器。.com域服务器收到请求之后,也不会直接返回域名和IP地址的相对关系,而是告诉本地DNS服务器,你的域名解析服务器的地址。

5.最后,本地DNS服务器向域名的解析服务器发出请求,这时就能收到一个域名和IP地址对应关系,本地DNS服务器不仅要把IP地址返回给用户电脑,还要把这个对应关系保存在缓存中,以备下次别的用户查询时,可以直接返回果,加快网络访问。

关于DNS解析的TTL参数:

我们在配置DNS解析的时候,有一个参数常常容易忽略,就是DNS解析的TTL参数,Time To Live 。 TTL这个参数告诉本地DNS服务器,域名缓存的最长时间。用阿里云解析来举例,阿里云解析默认的TTL是10分钟,10分钟的含义时,本地DNS服务器对于域名的缓存时间是10分钟,10分钟之后,本地DNS服务器就会删除这条记录,删除之后,如果有用户访问这个域名,就要重复一遍上述复杂的流程。

其实,如果网站已经进入稳定发展的状态,不会轻易更换IP地址,我们完全可以将TTL设置到协议最大值,即24小时。带来的好处是,让域名解析记录能够更长时间的存放在本地DNS服务器中,以加快所有用户的访问。