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 小米 华为 单反 装机 图拉丁
 
   -> 网络协议 -> 计算机网络自顶向下方法 第六章 链路层和局域网 6.7 回顾:Web页面请求的历程 -> 正文阅读

[网络协议]计算机网络自顶向下方法 第六章 链路层和局域网 6.7 回顾:Web页面请求的历程

计算机网络自顶向下方法总结6.7 回顾:Web页面请求的历程

6.7 回顾:Web页面请求的历程

????????假定一个学生使用便携机用一根以太网电缆连接到学校的以太网交换机上,交换机与学校的路由器相连,学校的路由器与一个ISP连接,DNS服务器在ISP网络中不在学校网络中。详细见书中图片6.32。

????????6.7.1 准备:DHCP,UDP,IP和以太网

????????当刚连接到交换机上时,便携机没有IP地址,此时不能做任何事情,所以便携机采取的一个网络相关动作是运行DHCP协议,从本地DHCP服务器获得一个IP地址及其他信息。

  1. 便携机操作系统生成一个DHCP请求报文,放入目的端口67(DHCP服务器)和源端口68(DHCP客户)的UDP报文段,UDP报文段放置在一个具有广播IP目的地址和源IP地址0.0.0.0的IP数据报中。
  2. IP数据报被放置在以太网帧中,目的MAC地址为FF:FF:FF:FF。
  3. DHCP收到之后生成包含IP地址以及DNS服务器IP地址,默认网关路由器的IP地址和子网掩码的一个DHCP ACK报文。
  4. 便携机收到DHCP ACK之后记录下IP地址和它DNS服务器的IP地址,在IP转发表中安装默认网关的地址。

????????6.7.2 仍在准备:DNS和ARP

? ? ? ? 访问网站时,需要知道此网站的IP地址。

  1. 操作系统生成一个DNS查询报文,放入要浏览的域名,DNS报文放置在一个具有53号(DNS服务器)目的端口的UDP报文段中,目的IP地址为DNS服务器的IP地址。
  2. 虽然便携机知道了学校网关路由器的IP地址(默认网关路由器IP地址),但是不知道学校网关路由器的MAC地址,此时需要使用ARP协议。
  3. 生成一个具有目的IP地址(默认网关)的ARP查询报文,放在具有广播地址的以太网帧中,并交给交换机。
  4. 网关路由器收到之后要发送一个ARP回答报文,告诉便携机它的MAC地址。
  5. 现在便携机可以使包含DNS查询的以太网帧寻址到网关路由器的MAC地址。在帧中,目的IP地址为DNS服务器的地址,MAC地址为网关路由器的MAC地址。

????????6.7.3 仍在准备:域内路由选择到DNS服务器

? ? ? ? 在路由器中要根据转发表决定该数据报应该发送给哪个下一跳路由器,域内的路由器转发表根据ISP的域内路由选择协议(RIP,OSPF或IS-IS)以及因特网的域间协议BGP所填写。

? ? ? ? DNS服务器接收到该数据报之后,找到DNS源记录(来自该域名的权威DNS服务器),形成一个主机名到IP地址映射的DNS回答报文。发送给便携机。

????????6.7.4 Web客户-服务器交互:TCP和HTTP

? ? ? ? 便携机的web浏览器生成TCP套接字,用于发送HTTP报文。生成TCP套接字时,要与目的IP地址中的套接字进行三次握手,生成一个目的端口为80的TCP SYN报文段。

? ? ? ? 如果ISP网络要向其他网络转发该包含TCP SYN的数据报时要使用BGP协议决定的利用转发表。

? ? ? ? 之后服务器的80端口欢迎套接字接收到该报文段,并在HTTP服务器和便携机之间的TCP连接上生成一个连接套接字,并返回一个TCP SYNACK报文段。

? ? ? ? 浏览器生成包含要获得的URL的HTTP GET报文,写入套接字,并发送给服务器端的连接套接字,HTTP服务器从TCP套接字中取出HTTP GET报文,生成一个HTTP响应报文。之后便携机的浏览器应用程序从套接字中读取该HTTP响应报文,最终在浏览器上显示出web网页。到此整个过程就完成了。

? ? ? ? 在此过程中忽略了一些附加协议,例如:NAT,无线接入,安全协议,网络管理协议,以及web缓存,DNS等级体系等等。

  网络协议 最新文章
使用Easyswoole 搭建简单的Websoket服务
常见的数据通信方式有哪些?
Openssl 1024bit RSA算法---公私钥获取和处
HTTPS协议的密钥交换流程
《小白WEB安全入门》03. 漏洞篇
HttpRunner4.x 安装与使用
2021-07-04
手写RPC学习笔记
K8S高可用版本部署
mySQL计算IP地址范围
上一篇文章      下一篇文章      查看所有文章
加:2022-05-18 17:59:21  更:2022-05-18 17:59:38 
 
开发: 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年5日历 -2024/5/19 7:31:25-

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