IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 网络协议 -> 五、网络综合篇 -> 正文阅读

[网络协议]五、网络综合篇

五、网络综合篇

(1)搜索baidu,会用到计算机网络中的什么层?每层是干什么的?

1. 浏览器要将URL解析为IP地址,解析域名就要用到DNS协议,首先主机会查询DNS的缓存,如果没有就给本地DNS发送查询请求。
   DNS查询分为两种方式:一种是递归查询,一种是迭代查询
   如果是迭代查询:本地的DNS服务器,向根域名服务器发送查询请求,然后依次类推知道查询到该域名的IP地址。
   DNS服务器是基于UDP的,因此会用到UDP协议。
   
2. 得到IP地址后,浏览器就要与服务器建立一个http连接。因此要用到HTTP协议。
   HTTP生成一个get请求报文,将该报文传给TCP层处理,所以还会用到TCP协议。
   如果采用HTTPS还会使用HTTPS协议先对数据进行加密。
   
3. TCP层如果有需要先将HTTP数据包分片,分片依据路径MTU和MSS。
   TCP的数据包然后会发送给IP层,用到IP协议。

4. IP层通过路由选择,一跳一跳发送到目的地址。
   当然在一个网段内的寻址是通过以太网协议实现(也可以是其他物理层协议,如PPP、SLIP)
   以太网协议需要知道目的IP的物理地址,有需要ARP协议。

(2)键入网址到网页显示,期间发生了什么?

在这里插入图片描述

1. 解析URL获取目的IP地址,查找DNS缓存
	(1)先查找【浏览器的DNS缓存】,看是否存放目标网络的IP地址
	(2)如果找不到,则浏览器将对操作系统发起系统调用,查询【操作系统本地缓存】
	(3)如果找不到,则浏览器会查询与之相连的【路由器缓存】
	(4)如果找不到,则浏览器会检查ISP【本地通信服务商】缓存
	上面都没找到,则发起DNS查询:
   浏览器要将URL解析为IP地址,解析域名就要用到DNS协议,首先主机会查询DNS的缓存,如果没有就给本地DNS发送查询请求。
   DNS查询分为两种方式:一种是递归查询,一种是迭代查询
   如果是迭代查询:本地的DNS服务器,向跟域名服务器发送查询请求,然后依次类推知道查询到该域名的IP地址。
   DNS服务器是基于UDP的,因此会用到UDP协议

2. 生成HTTP请求消息
3. 委托操作系统将HTTP请求消息发给Web服务器
	在发送之前,需要查询服务器域名对应的IP地址,因为委托操作系统发送消息时,必须提供通信对象的IP地址
4. DNS服务器查询到IP地址 
5. 通过DNS获取到IP后,就可以把HTTP的传出工作交给操作系统中的协议栈
6. TCP传输
7. IP远程定位
8. MAC两点传输
9. 出口:网卡
	将数字信息转换成电信号
	控制网卡需要网卡驱动程序,网卡驱动从IP模块获取到包之后,会将其复制到网卡内的缓存区中,接着会在其开头加上报头和起始帧分解符,在末尾加上用于检查错误的帧校验序列。
	
10. 交换机
	首先,电信号达到网线接口,交换机里面的模块进行接收,接下来交换机里的模块将电信号转换成数字信号
	交换机根据MAC地址表查询MAC地址,然后将信号发送到相应的端口
	
11. 路由器
1. DNS解析:浏览器查询DNS,获取域名对应的IP地址:具体过程包括浏览器搜索自身的 DNS缓存、搜索操作系统的 DNS缓存、读取本地的Host文件和向本地DNS服务器进行查询等。对于向本地DNS服务器进行查询,如果要查询的域名包含在本地配置区域资源中,则返回解析结果给客户机,完成域名解析(此解析具有权威性);如果要查询的域名不由本地 DNS 服务器区域解析,但该服务器已缓存了此网址映射关系,则调用这个 IP 地址映射,完成域名解析(此解析不具有权威性)。如果本地域名服务器并未缓存该网址映射关系,那么将根据其设置发起递归查询或者迭代查询;

2. TCP 连接:浏览器获得域名对应的 IP 地址以后,浏览器向服务器请求建立链接,发起三次握手;

3. 发送HTTP请求:TCP连接建立起来后,浏览器向服务器发送HTTP请求;

4. 服务器处理请求并返回HTTP报文:服务器接收到这个请求,并根据路径参数映射到特定的请求处理器进行处理,并将处理结果及相应的视图返回给浏览器;

5. 浏览器解析渲染页面:浏览器解析并渲染视图,若遇到对 js 文件、css 文件及图片等静态资源的引用,则重复上述步骤并向服务器请求这些资源;浏览器根据其请求到的资源、数据渲染页面,最终向用户呈现一个完整的页面

6. 连接结束

在浏览器地址键入RUL,按下回车之后会经历以下流程:

1、浏览器要将URL解析为IP地址,解析域名就要用到DNS协议,首先主机会查询DNS的缓存,如果没有就给本地DNS发送查询请求。
	查询缓存步骤:
	(1)先查找【浏览器的DNS缓存】,看是否存放目标网络的IP地址
	(2)如果找不到,则浏览器将对操作系统发起系统调用,查询【操作系统本地缓存】
	(3)如果找不到,则浏览器会查询与之相连的【路由器缓存】
	(4)如果找不到,则浏览器会检查ISP【本地通信服务商】缓存
	上面都没找到,则发起DNS查询:
	   DNS查询分为两种方式:一种是递归查询,一种是迭代查询
  	   如果是迭代查询:本地的DNS服务器,向根域名服务器发送查询请求,然后依次类推知道查询到该域名的IP地址。

2、解析出IP地址后,根据该IP地址和默认端口80,和服务器建立TCP连接

3、浏览器发出读取文件(URL中域名后面部分对应的文件)的HTTP请求,该请求报文作为TCP三次挥手的第三个报文的数据发送给服务器。

4、服务器对浏览器请求作出响应,并把对应的HTML文本发给浏览器

5、释放TCP连接

6、浏览器显示HTML文本内容
  网络协议 最新文章
使用Easyswoole 搭建简单的Websoket服务
常见的数据通信方式有哪些?
Openssl 1024bit RSA算法---公私钥获取和处
HTTPS协议的密钥交换流程
《小白WEB安全入门》03. 漏洞篇
HttpRunner4.x 安装与使用
2021-07-04
手写RPC学习笔记
K8S高可用版本部署
mySQL计算IP地址范围
上一篇文章      下一篇文章      查看所有文章
加:2022-04-30 09:03:26  更:2022-04-30 09:04:01 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/26 3:36:03-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码