Bob带着便携机从插网线到建立Google Web的连接(上)

简介: Bob带着便携机从插网线到建立Google Web的连接(上)

好了现在一名学生Bob将他的便携机与学校的以太网交换机相连,下载一个Web页面比如说www. google, com主页

过程图片如下df62a37cdc1b46c9ab642f1d5a3846b3.png

步骤


1 Bob便携机上的操作系统先生成一个DHCP请求报文,将报文放入目的端口67(DHCP服务器)


和源端口 68 (DHCP客户)的UDP报文段。这个UDP报文放在一个有广播IP与原IP地址的IP数据报中。现在便携机还没有分配IP地址


难点名词解释:


DHCP(Dynamic Host Configuration Protocol,动态主机配置协议)是一种用于自动分配IP地址和其他网络配置参数的网络协议。


端口号是啥:端口号是在传输控制协议(TCP)和用户数据报协议(UDP)中定义的。


在一个计算机系统中,每个应用程序或服务可以通过指定特定的端口号来进行通信。这些端口号是一个16位的数字。  端口号67是DHCP服务器的监听端口,而端口号68是DHCP客户端的源端口。这两个端口号用于在局域网中进行DHCP交互,以实现IP地址和其他网络配置信息的分配。重点:端口号本身不是电脑的物理位置,而是在网络通信中用于标识和定位网络上的不同应用程序或服务的逻辑概念。



2  


包含DHCP请求报文的IP数据报则被放置在以太网帧中,该以太网帧具有目的MAC地址FF: FF: FF: FF: FF: FF,使该帧将广播到与交换机连接的所有设备 ;该帧的源MAC地址是Boh便携机的MAC地址 00: 16: D3:23:68:8AO


这是一个用于发送DHCP请求报文的以太网帧。以下是对该帧内容的简要解释:


目的MAC地址(Destination MAC Address):FF:FF:FF:FF:FF:FF。这是广播地址,表示将该帧广播到与交换机连接的所有设备,包括DHCP服务器。广播地址通常用于向局域网中的所有设备发送消息。


源MAC地址(Source MAC Address):00:16:D3:23:68:8A。这是Boh便携机的MAC地址,表示该帧的发送者是Boh便携机。


通过使用广播目的MAC地址,DHCP请求帧可以被传递到网络上的所有设备,包括DHCP服务器。这样,任何可以接收到该帧的设备都有机会响应DHCP请求并提供IP地址分配等配置信息给Boh便携机。


3


包含 DHCP 请求的广播以太网帧是第一个由 Bob 便携机发送到以太网交换机的帧 。

该交换机在所有的出端口广播入帧 , 包括连接到路由器的端口

Bob便携机发送给以太网交换机的第一帧,用于发送DHCP请求。该交换机会将该帧广播到所有的出端口,包括连接到路由器的端口。


当Bob便携机发送DHCP请求的广播帧时,交换机会接收到该帧并根据广播地址(FF:FF:FF:FF:FF:FF)将其复制并转发到所有其他端口上,包括连接到路由器的端口。这样,路由器上的DHCP服务器也能够接收到该广播帧,并有机会响应Bob便携机的DHCP请求。


需要注意的是,交换机的广播行为可能受到网络配置的影响,例如VLAN和访问控制列表(ACL)。此外,在实际网络中,还可能存在其他设备和网络设备之间的通信流量限制和安全策略。


总结而言,Bob便携机发送的DHCP请求广播帧将通过交换机广播到所有出端口,包括连接到路由器的端口,以便路由器上的DHCP服务器能够接收并响应该请求。

目录
相关文章
|
8月前
|
前端开发 JavaScript 区块链
连接区块链节点的 JavaScript 库 web3.js
连接区块链节点的 JavaScript 库 web3.js
79 2
|
数据库
如何在web.config文件中配置连接Access数据库?
如何在web.config文件中配置连接Access数据库?
97 0
|
8月前
|
前端开发 JavaScript 区块链
连接区块链节点的 JavaScript 库 web3.js
连接区块链节点的 JavaScript 库 web3.js
|
5月前
|
机器学习/深度学习 人工智能 运维
2023 Google I/O Connect Shanghai 参会总结:云,AI 与 Web
2023 Google I/O Connect Shanghai 参会总结:云,AI 与 Web
2023 Google I/O Connect Shanghai 参会总结:云,AI 与 Web
|
8月前
|
前端开发 数据库 Python
使用 Python 的 Web 框架(如 Django 或 Flask)来建立后端接口,用于处理用户的请求,从数据库中查找答案并返回给前端界面
【1月更文挑战第13天】使用 Python 的 Web 框架(如 Django 或 Flask)来建立后端接口,用于处理用户的请求,从数据库中查找答案并返回给前端界面
262 7
|
5月前
|
JavaScript 前端开发 应用服务中间件
【qkl】JavaScript连接web3钱包,实现测试网络中的 Sepolia ETH余额查询、转账功能
【区块链】JavaScript连接web3钱包,实现测试网络中的 Sepolia ETH余额查询、转账功能
146 0
|
8月前
|
存储 网络协议 Linux
《网络是怎么样连接的》读书笔记 - WEB服务端请求和响应(五)
《网络是怎么样连接的》读书笔记 - WEB服务端请求和响应(五)
75 0
|
8月前
|
JavaScript 前端开发 Java
MooTools、Backbone、Sammy、Cappuccino、Knockout、JavaScript MVC、Google Web Toolkit、Google Closure、Ember、Batman 以及 Ext JS。
MooTools、Backbone、Sammy、Cappuccino、Knockout、JavaScript MVC、Google Web Toolkit、Google Closure、Ember、Batman 和 Ext JS 都是 JavaScript 框架,用于开发 Web 应用程序。它们分别提供了不同的功能和特性,以帮助开发者更高效地构建和维护 Web 应用程序。
59 2
|
8月前
|
存储 网络协议 Linux
《网络是怎么样连接的》读书笔记 - WEB服务端请求和响应(五)
《网络是怎么样连接的》读书笔记 - WEB服务端请求和响应(五)
53 0
《网络是怎么样连接的》读书笔记 - WEB服务端请求和响应(五)
C#建立最简单的web服务,无需IIS
C#建立最简单的web服务,无需IIS