主机上网HTTP详细过程(包含对数据包的分析)

首先主机要想与互联网相通,必须要有一个属于自己的IP地址对吧。所以这个时候我们就需要用到DHCP(动态主机配置协议)来给我们的主机动态分配地址。

一、DHCP

主机生成一个DHCP discover报文用来向DHCP服务器请求地址的分配

数据包内容
数据链路层网络层传输层应用层
主机MAC----FFFF0.0.0.0--255.255.255.255(广播)

UDP

68-67

DHCP Discover

数据包从主机到达二层交换机之前,首先打上对应的vlan标记

802.1Q数据帧
目的MAC

源MAC

TAGLEN/typeDATAFCS
TAG
TPIDpriorityCFIVLAN ID (12 bit)

进入交换机以后拆vlan标记,拆去二层头部,发现目的地址为FF:FF:FF:FF:FF:FF,说明是一个广播报文,查MAC地址表,发现没有该MAC地址,则进行MAC地址学习。然后打上二层标记,然后在vlan 10的广播域内进行(我这里设 主机为处在vlan 10网段)转发。

到达网管之后,先拆标记,然后拆二层头部,发现是广播包。然后拆三层头部,发现目的地址全1,也是广播包,最后发现它是一个DHCP Discover报文。刚好三层交换机为DHCP中继器,则将数据包进行中继处理,将数据包从广播变为单播,并且将UDP对应端口改为67-67.加上DHCP 中继IP地址;

中继到DHCP服务器的单播DHCP discover报文
数据链路层网络层传输层应用层
vlan 50 出接口MAC-DHCP服务器MAC中继IP-DHCP服务器IP

UDP

67-67

DHCP discover

如果DHCP服务器的MAC地址未知(则触发ARP广播)

DHCP服务器收到DHCP discover后,会回应一个DHCP Offer 单播报文

DHCP服务器的DHCP Offer单播回应包
服务器MAC---中继MAC服务器IP-中继IP(vrrp虚拟网关IP)

UDP

67-67

DHCP Offer

到达中继之前打上vlan 50的标记,到达中继之后,拆vlan标记,做中继处理:中继将单播转换为广播,在vlan 10的广播域内进行广播。

DHCP Offer广播
中继MAC(虚拟网关MAC)---FF:FF:FF:FF:FF:FF中继IP--255.255.255.255

UDP

67-68

DHCP Offer

 

二层交换机工作原理,主机最终获得IP地址

耶!✌第一关通关成功

那么有了主机地址是不是就能与外网连接呢?能

能不能跟www.baidu.com连接呢? emmmmm,现在还不能

这就要提到我们的下一关,DNS---域名解析

 

二、DNS-域名解析

为什么需要域名解析呢,因为网络各种的设备都会有一个对应的IP地址。不同的设备之间进行通信,都通过IP地址来互相识别。类似于我们的手机号码。但是有些人为了方便别人记住自己的号码,会去营业厅申请短号

那么DNS服务器就是营业厅,域名相当于短号,IP地址相当于自己的10位的电话号码

首先主机向网关发送DNS数据包

主机MAC----虚拟网关MAC主机IP---网关IP

UDP

53

DNSdata

同样进入二层交换机打标记,拆标记,学习,转发,过滤过程

到达三层交换机以后,拆标记,拆二层头部,拆三层头部。根据目标IP查路由表-重新封装,发送到路由器。源MAC为出接口MAC,目的MAC为下一跳MAC。

到达边界路由器后,拆二层,查看源目MAC是否符合NAT种ACL表项,如果符合,直接进行NAT转换,将源IP转换为公网IP,生成NAT转换表(方便回包后直接查NAT转换表),根据目标IP查路由表,走之前进行重新封装,源MAC为出接口MAC,目的MAC为下一跳MAC,经过internet种的设备后到达DNS服务器,得到域名所对应的IP地址

返回到边界路由器后,拆二层,根据源目IP查NAT转换表,如果有记录。再根据目的IP查表转发。

三层交换机和二层交换机的工作原理

然后我们就可以通过第二关了,获取到了www.baidu.com的IP地址啦!

那我现在能连接到百度了么? emmmm 还得再等一会

为什么,路还没修好嘞

我们只知道人家的IP地址,还不知道怎么去呢。

三、TCP三次握手

 哈哈哈,终于建立成功了

可以连上百度啦

四、HTTP数据传输

 

HTTP数据传输
主机MAC-虚拟网关MAC主机IP-百度的IP

TCP

80

HTTPdata

其中有几次用到ARP请求

1中继找服务器

2.跨网段通信找网关

3.DNS拿到IP地址,需要解析出MAC地址来封装二层头部

  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值