当你浏览一个网页时,协议栈中发生了什么?

说在前面的话

下面的例子是来自与计算机网络自顶向下方法,根据书上的描述、我的理解以及一些相应的修改,进行回顾总结。

场景:用户Bob有一个笔记本电脑,他用网线连接到学校实验室的网络,然后准备访问谷歌(www.google.com),假设学校的网络是接在了一个ISP上,该ISP又和google的网络是相连的,同时,DNS服务由该ISP提供,DHCP服务(后面会提到)由学校路由器提供,Bob的笔记本通过交换机和学习的路由器互联,场景图示如下:
在这里插入图片描述

详细流程

假设最开始Bob的计算机对网络的信息什么都不知道(即从来没做过任何关于网络信息的缓存),那么Bob访问google主页会经历以下步骤:

第一关——主要通过DHCP来得到一个本机IP地址
  • (1)Bob的笔记本一开始是没有IP地址的,没有IP地址,也就没办法上Internet。于是,将利用DHCP(Dynamic Host Configuration Protocol)动态主机配置协议请求从DHCP服务器那边分到一个IP地址。笔记本上的操作系统将生成一个DHCP报文,并将这个报文放入一个UDP报文中(DHCP协议是建立在UDP协议上的哈),该UDP报文的目的端口是67(DHCP服务器的端口),源端口是68(Bob笔记本的端口)。由于此时这台笔记本还没有被分到一个具体的IP,而UDP报文肯定又要封装到IP数据报中,于是这时的IP数据包的源IP地址是0.0.0.0(表示本网络),目的IP地址是255.255.255.255(广播)
  • (2)包含DHCP请求报文的IP数据报又被封装在以太网帧(假设链路层用的是以太网)中,该以太网帧具有的源MAC地址是00:16:D3:23:68:8A(Bob笔记本网卡的MAC地址),目的MAC地址是FF:FF:FF:FF:FF:FF(广播),为什么这里需要广播呢?因为客户端(Bob的笔记本)也不知道自己所处的局域网中到底由哪台机器来提供DHCP服务,所以自然就把DHCP请求向各个机器都发一遍,相当于一个一个问,诶,兄弟,你能给我分个IP地址吗࿱
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值