目录
OSI 七层模型
1.物理层
2.数据链路层
3.网络层
4.传输层
5.会话层
6.表示层
7.应用层
TCP/IP模型
1.应用层
2.传输层
3.网络层
4.网络接口层
从输入URL到页面展示到底发生了什么?
OSI 七层模型
OSI(Open System Interconnection)七层模型:物理层、数据链路层、网络层、传输层、会话层、表示层、应用层。
参考文章:OSI参考模型基本介绍、各层功能及数据传输过程
OSI 是国际标准化组织(ISO)提出的概念模型,是用于计算机或通信系统间互联的标准体系。按找该模型的要求,不同企业生产的计算机等网络设备可以互相连接。
OSI模型将计算机网络通信划分为七个不同的层级,每个层级都负责特定的功能。每个层级都构建在其下方的层级之上,并为上方的层级提供服务。七层从下到上分别为:物理层、数据链路层、网络层、传输层、会话层、表示层和应用层。
资源子网,对应OSI模型中的高三层(会话层、表示层和应用层),由本地计算机操作系统及其协议实现其功能。通信子网,对应OSI模型中的低三层(物理层、数据链路层和网络层),由网络设备及其协议实现其功能。第四层传输层驻留在本地计算机,负责数据传输。
总结来说,第一层到第三层属于OSI参考模型的低三层,负责创建网络通信连接的链路。第五层到第七层为OSI参考模型的高三层,具体负责端到端的数据通信。第四层负责高底层的连接。每一层完成一定的功能,每层都直接为其上层提供服务。
对等层协议之间交换的信息单元统称为:协议数据单元PDU
- 传输层——数据段(报文段)(Segment)
- 网络层——分组(数据包)(Packet)
- 数据链路层——数据帧(Frame)
- 物理层——比特(Bit)
1.物理层
物理层是OSI分层结构体系中最重要、最基础的一层,它建立在传输媒介基础上,起建立、维护、取消物理连接作用,实现设备之间的物理接口。物理层接受和发送一串(bit)流,不考虑信息的意义和信息结构。(负责把逐个的bit从一跳(节点)移动到另一跳(节点)。物理层协议包括:对连接到网络上的设备描述其各种机械的、电气的、功能的规定。
- 机械特性规定了网络连接时所需要的接插件的规格尺寸、引脚数量和排列情况等。
- 电气特性规定了在物理连接上传输bit流时线路上信号电平的大小、阻抗匹配、传输速率距离限制等
- 功能特性是指对各个信号先分配确切的信号含义,即定义了DTE(数据终端设备)和DCE(数据通信设备)之间各个线路的功能;
- 过程特性定义了利用信号线进行bit流传输的一组操作规程,是指在物理连接的建立、维护、交换信息时,DTE和DCE双方在各电路上的动作系列。
物理层的数据单位:比特(Bit)
物理层的典型设备:光纤、同轴电缆、双绞线、中继器和集线器。
2.数据链路层
在物理层提供比特流服务的基础上,将比特信息封装成数据帧Frame,起到在物理层上建立、撤销、标识逻辑链接和链路复用以及差错校验等功能。通过使用接收系统的MAC地址(物理地址或硬件地址)来进行寻址。建立相邻节点之间的数据链路,通过差错控制提供数据帧(Frame)在信道上无差错的传输,同时为其上面的网络层提供有效的服务。
数据链路层在不可靠的物理介质上提供可靠的传输。该层的作用包括:物理地址寻址、数据的成帧、流量控制、数据的检错,重发等。
数据链路层的数据单位:帧(frame)
数据链路层的典型设备:交换机、网桥、网卡
3.网络层
网络层也称通信子网层,是高层协议之间的界面层,用于控制通信子网的操作,是通信子网与资源子网的接口。在计算机网络中进行通信的两个计算机之间可能会经过有很多个数据链路,也可能还要经过很多通信子网。网络层的任务就是选择合适的网间路由和交换节点,确保数据及时传送。网络层将解封装数据链路层收到的帧,提取数据包,包中封装有网络层包头,其中含有逻辑地址信息源站点和目的站点地址的网络地址。
网络层的数据单位:数据包(packet)
网络层典型设备:路由器
4.传输层
传输层建立在网络层和会话层之间,实质上它是网络体系结构中高低层之间衔接的一个接口层。用一个寻址机制来标识一个特定的应用程序(端口号)。传输层不仅是一个单独的结构层,它还是整个分层体系协议的核心,没有传输层整个分层协议就没有意义。
传输层的数据单元是由数据组织成的数据段(segment)这个层负责获取全部信息,因此,它必须跟踪数据单元碎片、乱序到达的数据包、其他在传输过程中可能发生的危险。
5.会话层
这一层也可以称为会晤层或对话层,在会话层及以上的高层次中,数据传送的单位不再另外命名,统称为报文。会话层不参与具体的传输,它提供包括访问验证和会话管理在内的简历和维护应用之间通信的机制。如服务器验证用户登陆便是由会话层完成的。
会话层提供的服务可使应用建立和维持会话,并能使会话获得同步。会话层使用校验点可使通信会话在通信失效时从校验点继续恢复通信。这种能力对于传送大的文件极为重要。
6.表示层
表示层向上对应用层服务,向下接受来自会话层的服务。表示层是为在应用过程之间传送的信息提供表示方法的服务,它关心的只是发出信息的语法与语义。表示层要完成某些特定的功能,主要有不同数据编码格式真的转换,提供数据压缩、解压缩服务,对数据进行加密、解密。例如图像格式的显示,就是由位于表示层的协议来支持。
表示层为应用层提供服务包括语法选择、语法转换等。语法选择是提供一种初始语法和以后修改这种选择的手段。语法转换涉及代码转换和字符集的转换、数据格式的修改以及对数据结构操作的适配。
7.应用层
网络应用层是通信用户之间的窗口,为用户提供网络管理、文件传输、事件处理等服务。其中包含了若干个独立的、用户通用的服务协议模块。网络应用层是OSI的最高层,为网络用户之间的通信提供专用的程序。
TCP/IP模型
虽然OSI模型在理论上更全面,但在实际网络通信中,TCP/IP模型更为实用。TCP/IP模型分为四个层级,每个层级负责特定的网络功能。
1.应用层
该层与OSI模型的应用层和表示层以及会话层类似,提供直接与用户应用程序交互的接口。它为网络上各种应用程序提供服务,如电子邮件(SMTP)、网页浏览(HTTP)、文件传输(FTP)等。
2.传输层
该层对应OSI模型的传输层。它负责端到端的数据传输,提供可靠的、无连接的数据传输服务。主要的传输层协议有TCP和UDP。TCP提供可靠的数据传输,确保数据的正确性和完整性;而UDP则是无连接的,适用于不要求可靠性的传输,如实时音频和视频流。
3.网络层
该层对应OSI模型的网络层。主要协议是IP,它负责数据包的路由和转发,选择最佳路径将数据从源主机传输到目标主机。IP协议使用IP地址来标识主机和网络,并进行逻辑地址寻址。
4.网络接口层
该层对应OSI模型的数据链路层和物理层。它负责物理传输设备的传输,例如以太网、Wi-Fi等,并提供错误检测和纠正的功能。此外,网络接口层还包含硬件地址(MAC地址)的管理。
从输入URL到页面展示到底发生了什么?
URL:Internet上的每一个网页都具有一个唯一的名称标识,通常称之为URL(Uniform Resource Locator,统一资源定位器)。它是www的统一资源定位
1.输入网址,解析URL信息,准备发送HTTP请求
2.检查浏览器缓存里是否有缓存该资源,如果有直接返回;如果没有进入下一步网络请求。
3.DNS域名解析:网络请求前,进行DNS解析,以获取请求域名的IP地址。如果请求协议是HTTPS,那么还需要建立TLS连接。DNS解析时会按本地浏览器缓存->本地Host文件->路由器缓存->DNS服务器->根DNS服务器的顺序查询域名对应IP,直到找到为止。
4.TCP三次握手建立连接:浏览器与服务器IP建立TCP连接。
5.客户端发送HTTP请求:连接建立后,浏览器端会构建请求行、请求头等信息,并把和该域名相关的Cookie等数据附加到请求头中,向服务器构建请求信息,如果是HTTPS的话,还涉及道HTTPS的加解密流程。
6.服务器处理请求并返回HTTP资源:服务器收到请求信息,根据请求生成响应数据。
7.TCP四次挥手断开连接:浏览器与服务器IP断开TCP连接。
8.浏览器解析响应并渲染页面:
- 浏览器解析响应头。若响应头状态码为301、302,会重定向到新地址;若响应数据类型是字节流类型,一般会将请求提交给下载管理器;若是HTML类型,会a进入下一部渲染流程。
- 浏览器解析HTML文件,创建DOM树,解析CSS进行样式计算,然后将CSS和DOM合并,构建渲染树;最后布局和绘制渲染树,完成页面展示。