Web 页面请求过程(DHCP,ARP,DNS,TCP,HTTP)

路由器web管理页面.zip 路由器web管理界面,直接解压文件到任意位置,login.html拖入浏览器即可点击试用所有页面。 基于网络上其他资源制作、修改了相对路径等问题。 立即下载

转载自https://github.com/CyC2018/CS-Notes

Web 页面请求过程(DHCP,ARP,DNS,TCP,HTTP)

1. DHCP 配置主机信息

  • 假设主机最开始没有 IP 地址以及其它信息,那么就需要先使用 DHCP 来获取。

  • 主机生成一个 DHCP 请求报文,并将这个报文放入具有目的端口 67 和源端口 68 的 UDP 报文段中。

  • 该报文段则被放入在一个具有广播 IP 目的地址(255.255.255.255) 和源 IP 地址(0.0.0.0)的 IP 数据报中。

  • 该数据报则被放置在 MAC 帧中,该帧具有目的地址 FF:FF:FF:FF:FF:FF,将广播到与交换机连接的所有设备。

  • 连接在交换机的 DHCP 服务器收到广播帧之后,不断地向上分解得到 IP 数据报、UDP 报文段、DHCP 请求报文,之后生成 DHCP ACK 报文,该报文包含以下信息:IP 地址、DNS 服务器的 IP 地址、默认网关路由器的 IP 地址和子网掩码。该报文被放入 UDP 报文段中,UDP 报文段有被放入 IP 数据报中,最后放入 MAC 帧中。

  • 该帧的目的地址是请求主机的 MAC 地址,因为交换机具有自学习能力,之前主机发送了广播帧之后就记录了 MAC 地址到其转发接口的交换表项,因此现在交换机就可以直接知道应该向哪个接口发送该帧。

  • 主机收到该帧后,不断分解得到 DHCP 报文。之后就配置它的 IP 地址、子网掩码和 DNS 服务器的 IP 地址,并在其 IP 转发表中安装默认网关。

2. ARP 解析 MAC 地址

  • 主机通过浏览器生成一个 TCP 套接字,套接字向 HTTP 服务器发送 HTTP 请求。为了生成该套接字,主机需要知道网站的域名对应的 IP 地址。

  • 主机生成一个 DNS 查询报文,该报文具有 53 号端口,因为 DNS 服务器的端口号是 53。

  • 该 DNS 查询报文被放入目的地址为 DNS 服务器 IP 地址的 IP 数据报中。

  • 该 IP 数据报被放入一个以太网帧中,该帧将发送到网关路由器。

  • DHCP 过程只知道网关路由器的 IP 地址,为了获取网关路由器的 MAC 地址,需要使用 ARP 协议。

  • 主机生成一个包含目的地址为网关路由器 IP 地址的 ARP 查询报文,将该 ARP 查询报文放入一个具有广播目的地址(FF:FF:FF:FF:FF:FF)的以太网帧中,并向交换机发送该以太网帧,交换机将该帧转发给所有的连接设备,包括网关路由器。

  • 网关路由器接收到该帧后,不断向上分解得到 ARP 报文,发现其中的 IP 地址与其接口的 IP 地址匹配,因此就发送一个 ARP 回答报文,包含了它的 MAC 地址,发回给主机。

3. DNS 解析域名

  • 知道了网关路由器的 MAC 地址之后,就可以继续 DNS 的解析过程了。

  • 网关路由器接收到包含 DNS 查询报文的以太网帧后,抽取出 IP 数据报,并根据转发表决定该 IP 数据报应该转发的路由器。

  • 因为路由器具有内部网关协议(RIP、OSPF)和外部网关协议(BGP)这两种路由选择协议,因此路由表中已经配置了网关路由器到达 DNS 服务器的路由表项。

  • 到达 DNS 服务器之后,DNS 服务器抽取出 DNS 查询报文,并在 DNS 数据库中查找待解析的域名。

  • 找到 DNS 记录之后,发送 DNS 回答报文,将该回答报文放入 UDP 报文段中,然后放入 IP 数据报中,通过路由器反向转发回网关路由器,并经过以太网交换机到达主机。

4. HTTP 请求页面

  • 有了 HTTP 服务器的 IP 地址之后,主机就能够生成 TCP 套接字,该套接字将用于向 Web 服务器发送 HTTP GET 报文。

  • 在生成 TCP 套接字之前,必须先与 HTTP 服务器进行三次握手来建立连接。生成一个具有目的端口 80 的 TCP SYN 报文段,并向 HTTP 服务器发送该报文段。

  • HTTP 服务器收到该报文段之后,生成 TCP SYN ACK 报文段,发回给主机。

  • 连接建立之后,浏览器生成 HTTP GET 报文,并交付给 HTTP 服务器。

  • HTTP 服务器从 TCP 套接字读取 HTTP GET 报文,生成一个 HTTP 响应报文,将 Web 页面内容放入报文主体中,发回给主机。

  • 浏览器收到 HTTP 响应报文后,抽取出 Web 页面内容,之后进行渲染,显示 Web 页面。

从“破解”到应用:三菱数控系统M80协议逆向分析与工业数据采集网关搭建指南 本文深入解析三菱数控系统M80协议的逆向分析方法与工业数据采集网关搭建技术。通过TCP协议实现跨平台通信,详细介绍了M80协议的数据包结构、多语言实现方案(C#、Java、C/C++)以及Linux数据采集网关的架构设计与容器化部署。为工业自动化领域的开发者提供从协议分析到企业级数据采集落地的完整解决方案。 阅读详情

相关推荐

stata:stata软件教程(人大十八讲)(1) 第一章 stata入门

第一章 stata入门1.1 安装1.2 启用和退出1.3 打开和查看数据1.4 寻求帮助与网络资源1.5 命令示例1.6 几个环境设置1.7 复习与练习1.8 附录 注:教材为:Stata 统计分析教程 stata软件教程(人大十八讲) 中国人民大学出版社 陈传波 1.1 安装 1.2 启用和退出 1.3 打开和查看数据 1.4 寻求帮助与网络资源 1.5 命令示例 1.6 几个环境设置 1.7 复习与练习 1.8 附录 ...

qq_47805483的博客 1万+

Web页面请求过程

DHCP 配置主机信息 假设主机最开始没有 IP 地址以及其它信息,那么就需要先使用 DHCP 来获取。 主机生成一个 DHCP 请求报文,并将这个报文放入具有目的端口 67 和源端口 68 的 UDP 报文段中。 该报文段则被放入在一个具有广播 IP 目的地址(255.255.255.255) 和源 IP 地址(0.0.0.0)的 IP 数据报中。 该数据...

迈向前端攻城狮的路上 1648

解决 python2.7中 ImportError: No module named Crypto.Signature

我的解决办法,先查看有没有安装 pip,直接执行pip 回车 没有出现null什么的就安装了,如果没有安装去其他博客哪里看一下,正常情况是默认就有的,然后使用。发现我自己也不会啊,就百度看看,想着网上的解决方法一大片,但是都是废话,能用的没有几个,而且能安装的没有几个。这个里面的python2、3就是系统里面的python版本,直接跟我这样就可以了除非版本不一样,也就是没有这个版本。就可以使用了,第一个应该是卸载之前的,然后重新安装,我的就是这样解决的。就比如我的,我现在使用的 python2.7。

记录一下 1610

【网络】几种常见的协议

几种常见的协议DNS(Domain Name System):域名解析协议,端口号:53;通过域名解析获得域名所对应的IPFTP(File Transfer Protocol):文件传输协议,端口号:21;用户可通过客户机程序向远程主机上传文件;或从远程主机上下载文件。HTTP(HyperText Transfer Protocol):超文本传输协议,端口号:80;最初设计HTTP是为了提供一种发...

wyz0516071128的博客 1538

keil工程After Build/Rebuild添加带参.exe实现全流程(2):带参调用.exe的几种方法

keil工程After Build/Rebuild添加带参.exe实现全流程(2):带参调用.exe的几种方法。

kevin1499的博客 1617

Node-RED系列(二九):使用slider与chart节点来实现双折线时间序列图

今天教使用dashboard的chart组件和slider组件来是实现一个双线的折线图。效果如下 拖动顶部的电量和水量,低下的图表会实时显示时间和值之所以做这个模拟案例,是将教 大家使用chart节点和slider节点先说一下slider节点,该节点是一个滑块节点,可以接受上一节点的 msg.payload,作为滑块的值, slider必须设置最大值和最小值。且不能动态设置。 此外当用户拖动slider滑块,改变值时,该节点会向下传递当前值 以属性payload装载。在说一下chart节点,该节点可以用于

知无涯 4968

web页面的请求过程

前言:整体过程 **一句话过程:打开浏览器,输入URL,连接服务器,渲染服务器返回的结果。 *本地主机与服务器间的通信是两个进程间相互发送报文,而进程是通过socket套接字发送和接收报文的,想要收发socket,首先主机与服务器需要通过TCP三次握手建立TCP连接,连接建立之后,把请求报文放入套接字,然后经过传输层、网络层、数据链路层,层层封装,最终经过以太网路由转发给目的服务器; 服务器收到请求后,返回响应报文,本地主机接收到响应报文之后,经由浏览器渲染展示。 那在这个过程中首先我们需要建立连接,也就是

一天不学习,就浑身难受 990

C#串口通信从入门到精通(1)——硬件接线

RS-232接口一般都是9针的,有公母头(针头和孔头),为了便有理解以下都称为针头和孔头,针头就是露出来的针,孔头就是9个孔,总共使用3条线进行通信,一条用于发送,一条用于接收,另外一根是GND地线,由于线路的功能是永久性的,设置连接时,必须确保一个节点的发送线与另一个节点的接收线相连,反之亦然,RxD(PC的接收线)连接到TxD(传感器电子设备的发送线),TxD(PC的发送线)连接到RxD(传感器电子设备的发送线)。两条线路的电平都是相对于GND的。因此,GND也必须连接,但不能将GND与屏蔽连接。

qq_34059233的博客 1万+

Web页面的请求过程

前言: 到这里的话,我想计网,应该告一段落了,还剩一点密码安全之类的,有空再补补咯,这里借着书上的最后一波总结。 请求过程:

awake_lqh的博客 565

RK3588开发笔记-PCIE接口2.5G网卡RTL8125调试记录

在RK3588平台上调试2.5G网卡(Realtek RTL8125)时,我们会用到PCIE接口,这篇文章记录了从硬件连接、内核驱动到最终实现网络通信的整个调试过程,包括可能遇到的问题和解决方案。Realtek RTL8125是为高带宽需求设计的一款高性价比2.5G以太网控制器。它不仅提供了高达2.5Gbps的网络传输速率,还具备良好的节能特性、硬件卸载引擎和广泛的操作系统支持。无论是在家庭网络、企业NAS,还是游戏和云计算等场景中,RTL8125都能为用户提供更快速、更稳定的网络连接。

flypig has a dream! 3680

硬件工程师提前批真题及答案解析2

我们需要考虑题目可能的简化假设,即输入电阻 Ri​ 可能是 rbe​ 和 βre​ 的组合,但题目可能简化为: Ri​≈rbe​+βre​。由于锗管的正向导通电压较小(0.2 V~0.3 V),而硅管的正向导通电压较大(0.6 V~0.7 V),因此-4.7 V的电压差不符合硅管的特性,而更接近锗管的特性。在三极管电路中,静态电位是指在无信号输入时,三极管各电极的直流电压。re​ 是动态发射极电阻,通常可以近似为 re​=IE​VT​​,但在题目中已经给出了 re​=300Ω,因此可以直接使用这个值。

XU157303764的博客 779

DHCP服务和http服务

(一)、DHCP服务DHCP:Dynamic Host Configuration Protocol,动态主机配置协议 <-- bootpTCP/IP IPADDR NETMASK GATEWAY DNS广播租用: Client--> DHCPDISCOVER DHCPOFFER <--Server Client-->...

weixin_34064653的博客 622

【图像去噪】论文复现:超分思想助力荧光显微图像自监督去噪!N2SR的Pytorch源码复现,图文详细教程跑通源码,框架结构原理示意图与代码对应,注释详细,补充三个实用功能代码!

论文题目:Noise2SR: Learning to Denoise from Super-Resolved Single Noisy Fluorescence Image —— Noise2SR:从超分辨率单噪声荧光图像中学习去噪【图像去噪】论文精读:Noise2SR: Learning to Denoise from Super-Resolved Single Noisy Fluorescence Image(N2SR)N2SR框架结构和原理都比较简单,创新点是加入超分,有很多类似的自监督框架;

主要更新底层视觉(去噪、超分等)相关的科研内容,形式为【论文精读】+【论文复现】 632

Web页面完整请求及渲染过程

前端技术人员离不开计算机网络通信知识的了解,基础的网络架构模型与TCP、HTTP等相关知识掌握之后,不免会考虑:我们在互联网使用过程中,输入一个网址后,获取网址对应的Web页面信息并成功渲染到浏览器窗口这一整套流程是如何实现的呢?本文就针对这一日常而又复杂的请求渲染流程进行一次较为全面的梳理介绍。 一、Web页面请求过程 1.DHCP配置主机信息 在上网之前,我必须要让网络知道我是谁,只有网络知道我的身份,才会允许我们对它进行访问。因此,我们首先需要一个自己电脑对应的IP地址。 假设我们最开始没有I

Jiang216的博客 967

数学建模模型总结

这是本人在两年内准备参加数学建模竞赛搜集到的模型资料,已经经过了本人的筛选和整理,希望能够对准备参加数学建模竞赛的学弟学妹们提供一些帮助!

Data-Structures-and-Algorithm-Analysis-in-Java.pdf

作者: Weiss, Mark A. 出版社: Addison Wesley Data Structures and Algorithm Analysis in Java is an “advanced algorithms” book that fits between traditional CS2 and Algorithms Analysis courses. In the old ACM Curriculum Guidelines, this course was known as CS7. This text is for readers who want to learn good programming and algorithm analysis skills simultaneously so that they can develop such programs with the maximum amo...

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

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

Eternal嘉的博客 799

文档:亲测可用解决vnc灰屏,黑屏,鼠标大黑叉情况

主要解决vnc-viewer灰屏,黑屏,鼠标大黑叉等现象,详细见文档。

Web页面请求全流程

Web页面请求的全过程 场景: 小李刚入职行政人员为他分配了工作电脑,小李用一根网线将电脑连接至工位的交换机上,交换机又与公司的路由器相连,如下图所示。公司的路由器与ISP网络连通,CMNET为中国移动的ISP网络,CMNET为公司提供了DNS服务,DNS服务器驻留在CMNET网络中。 假设:DHCP服务器运行在公司路由器上 请求过程: IP分配 电脑启动后,操作系统封装DHCP应用报文,传输层使用UDP协议的68号客户端端口进行发送,目的地为DHCP服务器的67号端口,传输层将源端口和目标端口放

Faze_Li的博客 444

SIMATIC S7-1200, S7-1500 PID 控制[手册]

SIMATIC S7-1200, S7-1500 PID 控制[手册]

udp需要arp请求吗_Web页面请求的历程

Web页面请求历程场景与网络环境一名学生Bob启动他的计算机,然后将其用一根以太网电缆连接到学校的以太网交换机,交换机又与学校的路由器相连,然后通过浏览器访问Google主页。学校的路由器与一个ISP连接,本例中ISP为comcast.net本例中comcast.net为学校提供了DNS服务,所以DNS服务器驻留在Comcast网络中而不是学校网络中。接下来我们分析一下Bob的计算机如何...

weixin_39572316的博客 543

输入一条URL再回车,会发送什么?完整版 包含DHCP DNS ARP TCP各种协议

故事的开始是一台笔记本,连上网线的一瞬间 准备阶段:获取IP地址 1.笔记本必须先获得IP地址,所以用DHCP协议向路由器中的DHCP服务器请求IP地址 2.DHCP发送回来的报文,不止包括分配给笔记本的IP地址,还包括本地DNS服务器的IP地址,默认网关路由器IP地址 输入了URL回车后 3.笔记本生成一个DNS查询报文,这个报文先要到网关路由器去,因为网关路由器连向因特网,但是它只知道网关路由器IP地址,不知道它的MAC地址,所以要用ARP协议,获取网关路由器的MAC地址,然后通过交换机寻址到网关路由器

weixin_45754452的博客 260

Web页面请求过程所用到的协议

Web页面请求过程可能会用到的协议:DHCP(UDP)、DNS(UDP)、HTTP(TCP);ARP、OSPF、RIP、BGP 工作流程: 首先若主机无IP信息,则需要DHCP配置主机信息(IP、子网掩码、默认网关IP、DNS服务器IP),全是广播报文(FF:FF:FF:FF:FF:FF),并且四次信息交换后才确定好本机IP等信息。它利用UDP报文在客户端68和服务器端67之间传递报文。 然后通过DNS来解析网站域名对应的IP地址(HTTP服务器),通过网关路由器来与DNS服务器交换信息通过...

qq_40679398的博客 3294

计算机网络--应用层详解

域名系统 DNS 是一个分布式数据库,提供了主机名和 IP 地址之间相互转换的服务。这里的分布式数据库是指,每个站点只保留它自己的那部分数据。 域名具有层次结构,从上到下依次为:根域名、顶级域名、二级域名。 DNS 可以使用 UDP 或者 TCP 进行传输,使用的端口号都为 53。大多数情况下 DNS 使用 UDP 进行传输,这就要求域名解析器和域名服务器都必须自己处理超时和重传从而保证可靠...

积极向上的老王诩 228

计算机网络应用层协议全解析:DNS、FTP、DHCP、电子邮件与 Web 页面请求过程(CS-Notes)

本篇技术指南以 CS-Notes 网络系列中的应用层笔记为核心,系统梳理五大应用层协议(DNS、FTP、DHCP、TELNET 与电子邮件协议簇)的原理、工作机制与常用端口,并用一条完整的“从零联网到浏览器渲染出页面”的主线把各协议串成整体流程。读完本文,你不仅能掌握每个协议为什么这样设计、底层如何封装,还能对照本仓库网络层与传输层笔记,打通自下而上的完整协议栈认知,为面试与排障打下扎实基础。

gitblog_00556的博客 357

计算机网络自顶向下 —— 链路层(二)

前言   继续说链路层   web的请求 的三次我握手我写过一篇猝不及防的爱情   详细的说了三次握手   我是前端开发者   其实web的请求每一天都有在用   浏览器主动发起请求 请求成功后 服务器返回数据,拿到数据后,页面展示。   这就是实际应用的一条龙服务   然后再深入的了解一下web请求,我发现一位球友写的特别的详细,但是我找不到他的博客了,如果哪一天...

a12b345c6789的博客 113

高频知识汇总 |【计算机网络】面试题汇总(万字长文通俗易懂)

这篇【计算机网络】是我在学习时自己整理的,大部分都是按我个人的理解来写的答案。废话不多说直接铺干货。

C++,Java,Python,C#编程选手,偶尔刷刷leetcode 1665

计算机网络自顶向下方法第6章-链路层和局域网.2

6.5 链路虚拟化:网络作为链路层   多协议标签交换 MPLS   通过来自虚电路网络的一个关键概念—固定长度标签,可以改善 lP 路由器的转发速度。 其目标是使用转发 lP 数据报的路由设备,但却是基于固定长度标签和虚电路的技术,让路 由器根据固定长度的标签转发数据报(而不是目的地 IP 地址),从而加快转发速度(标签长 度固定、较小的标签空间这两个特点加快了查表速度)。 ...

weixin_30426065的博客 300

链路层和交换网_计算机网络

计算机网络:自顶向下方法——链路层

刘大帅 1382

计算机网络面试基础知识总结

目录 1. 计算机网络体系结构* 1. 五层协议 2. OSI(七层协议 多了表示层和会话层) 3. TCP/IP 4. 数据在各层之间的传递过程 2. 传输层* 对于开发人员来说,重点掌握上层的协议就差不多了,传输层是核心 ...

weixin_30347335的博客 282
上一篇: http请求方式和状态码的含义
下一篇: cvte电话面试题目
princesfang
博客等级 码龄10年 7粉丝 38原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值