一,获取IP地址 --- 1,手工获取;2,通过DHCP自动获取
DHCP --- 动态主机配置协议
1,DHCP客户端 ---
广播包
--- DHCP-Discover
传输层 --- UDP --- SPORT:68 DPORT:67
网络层 --- IP --- SIP:0.0.0.0 DIP:255.255.255.255
数据链路层 --- 以太网 --- SMAC:自己的MAC地址 DMAC:全F
交换机的转发原理 --- 交换机收到数据帧之后,首先先记录源MAC地址和进入接
口的对应关系到
MAC地址表
中。之后看数据帧中的目标MAC地址,因为目标MAC
地址是全F,则将进行泛洪 --- 除了数据进入的接口外,所有接口都将转发数据。
交换机泛洪的情况 --- 1,广播帧;2,组播帧;3,未知单播帧
路由器收到广播包之后 --- 路由器收到数据帧之后先看二层封装,因为其目标
MAC地址为广播地址,则路由器讲解二层封装。则将根据数据帧中的类型字段将
解封装后的数据包交给对应的IP模块进行处理。因为三层头部中目标IP地址为受限
广播地址,则路由器将解三层封装。因为三层协议头部中协议字段为17,则路由
器将把解封装后的数据段交给UDP模块进行处理。UDP根据目标端口号为67,则
将解封装后的DHCP-DISCOVER报文交给对应的DHCP服务进行处理。
2,DHCP服务器 --- DHCP客户端 ---- DHCP-OFFER(里面将携带一个可用的IP地
址) ---- 单播/广播
传输层 --- UDP --- SPORT:67 DPORT:68
网络层 --- IP --- SIP:自己的IP DIP:255.255.255.255
数据链路层 --- 以太网 --- SMAC:自己的MAC地址 DMAC:全F ---- 注意,
华为设备以单播的形式来发送DHCP-offer包
交换机的转发原理 --- 交换机收到数据帧之后,首先先记录源MAC地址和进入接
口的对应关系到
MAC地址表
中。之后看数据帧中的目标MAC地址,则根据目标
MAC地址查看MAC地址表,如果MAC地址表中有记录,则将直接按照记录发送;
如果没有记录,则泛洪。
3,DHCP客户端 --- DHCP服务器 --- DHCP - request(如果存在多个DHCP-OFFER
包,则设备将选择第一个到达的OFFER包) --- 广播 ---- 1,告诉请求IP地址的服务器,
需要请求他的IP地址;2,告诉没有选择的IP地 址的服务器,自己已经有IP地址了,可
以将他们的IP地址释放。
4,DHCP服务器 --- DHCP客户端 --- DHCP - ACK --- 单播/广播
设备在通过DHCP协议获取一个IP地址的同时,还会获取到
网关信息(68.85.2.1)
以及
DNS服务器的信息
(68.87.71.226)
2,打开浏览器,在浏览器中的地址栏上输入需要访问的服务器的URL(资源定位符)
DNS --- 域名解析协议
DNS协议存在两种查询方式 ---- 1,递归查询;2,迭代查询
设备将从输入的URL中提取到域名信息,根据域名信息通过DNS协议获取web服务器的IP
地址
设备将发送DNS请求报文(本地设备会发送递归查询请求到本地DNS服务器)
传输层 --- UDP --- SPORT:随机值 DPORT:53
网络层 --- IP --- SIP:68.85.2.101 DIP:68.87.71.226
数据链路层 --- 以太网 --- SMAC:自己的MAC DMAC:???
ARP --- 地址解析协议 --- 工作过程 --- 首先,主机以广播的形式发送ARP请求报
文。基于已知的IP地址获取MAC地址。所有收到广播帧的设备都会先将数据包中
的源IP地址和源MAC地址的对应关系记录在本地的
ARP缓存表
中。之后,再看请
求的IP地址。如果请求的IP地址是本地的IP地址,则将回复ARP应答报文。如果请
求的IP地址不是本地的IP地址,则将直接丢弃该数据包。之后,再次发送信息时,
将优先查看本地的ARP缓存表,如果存在记录,则将按照记录转发;如果没有记
录,则再发送ARP请求。
传输层 --- UDP --- SPORT:随机值 DPORT:53
网络层 --- IP --- SIP:68.85.2.101 DIP:68.87.71.226
数据链路层 --- 以太网 --- SMAC:自己的MAC DMAC:网关的MAC地址
3,网关路由器收到DNS请求报文之后,将先查看数据帧的二层封装,确认该数据帧是给自己
的,则将解二层封装看三层,根据目标IP地址查看本地的路由表。
直连路由 --- 直连路由是默认生成的,生成条件1,接口双UP;2,接口需要配置IP地址
静态路由 --- 网络管理员手工添加的路由条目
动态路由 --- 所有路由器运行相同的路由协议,之后,路由器之间沟通,交流最终计算
出到达未知网段的路由条目。
4,本地的DNS服务器收到DNS请求信息,则将先查看本地缓存是否有记录,有则直接返回
DNS应答;如果没有,则向DNS根服务器发送迭代查询(TCP 53)。最终将结果返回给设
备。
5,本地设备将基于web服务器的IP地址,发起TCP三次握手,建立TCP会话。(主要因为
HTTP协议传输层使用的是TCP协议)--- 建立本地到服务器之间双向的会话
6,本地设备将基于TCP会话通道发送HTTP请求报文 --- GET
传输层 --- TCP --- SPORT:随机值 DPORT:80
网络层 --- IP --- SIP:自己的IP DIP:baidu的IP
数据链路层 --- 以太网 --- SMAC:自己的MAC DMAC:网关的MAC
7,baidu服务器收到HTTP请求报文,则服务器将解封装,最终回复HTTP应答报文。200 OK