ip数据报传输过程梳理
1.一个路由器内部局域网的ip数据报的发送过程

我们假定这样两个发送流程
1.单播ip和单播mac
我们假定h1到h5发送一个ip数据报
1.我们看图,当这个ip数据报发送的时候,首先发送到和1相连的交换机,然后交换机根据mac地址进行一个转发,选择了某个接口转发。
2.当到达第二个交换机的时候,该交换机又会进行转发到右边的集线器
3.集线器会无条件转发给H4和H5,此时H4发现和自己的mac地址对不上就会在数据链路层丢弃,而H5则会接受该报文,并通过网络层交给传输层判断端口号是否正确,如果正确则接受,否则丢弃

2.单播ip广播mac
依旧以上图为例子,H1发送一个这样的报文给H5,和局域网的图片为例子,交换机对于一个mac帧会全部转发,然后所有的主机都受到了H1发送的mac地址全一的广播mac帧
接下来我们了解不同主机的处理
1.当所有主机收到mac之后就会将其发送给网络层,而网络层在进行判断是否和自己的ip地址对的上,对不上就丢弃,所以表现为如图所示。
2.但注意路由器有所不同如上图所写,读图即可,这是重点
3.广播ip单播帧 以及广播ip单播帧
读图就可以清晰了解

点对点链路消耗ip地址的数量
如下图所示,每一个路由器的一个端口号其实就会消耗一个ip地址
两个点对点路由器有两个端口,所以需要消耗两个主机号
但是它需要两个bit也就是四种形态构建主机号
并且一定是一个是01一个是10
因为全0全1的主机号不分配

DHCP的建立过程
我们假设有如下所示局域网
默认网关的路由器ip地址是6666
我们假定有一个A5主机首次接入该局域网,那么他就需要进行DHCP的建立和该局域网串联起来。

DHCP的建立
我们比喻成大学生求职记忆
1.初次建立局域网
当A5刚进入局域网时,他还没有ip地址也就是说他的ip地址全零(还没有工作岗位),那么此时他会在该局域网内进行一次广播
此时数据报的格式如下图海投简历阶段所示,这里面除了源mac地址是他自己的其他的都是不明确的特殊地址。
此时这是一个广播ip数据包和广播帧,该局域网上所有的主机都会接受,但除了DHCP以外的主机会在传输层丢弃该报文
注意源mac地址是该主机的mac地址,相当于身份证号,你求职肯定要告诉别人你身份证信息的

2offer报文.
此时DHCP服务器可以理解为一个HR管理,管理着公司的各个工位(即可分配的ip地址)服务器自己也要占一个职位,此时他会检查还有没有可分配的合适的职位(即可分配的ip地址),然后发送一个offer报文给H5主机,该报文记载了很多信息,他会告诉该主机,我们给你发了offer,你的职位是xxx,然后还会告诉该主机,默认网关是66666,子网掩码,即我们公司的地区是什么,在哪里。
此时该offer报文的格式如上HR(DHCP服务器)告知求职者源ip地址,即我的职位是什么。
但是目的ip地址是广播地址,这里可以这样记忆,因为求职者还没有岗位所以我还是只能说广播ip地址
但是呢他的mac地址我知道了,所以HR(DHCP服务器)的目的MAC地址会是H5的MAC地址

3.offer响应报文
此时求职者收到了offer他会选择一个自己想要的职位。
此时就会发送一个报文,他很高兴,他要广而告之所有人,但此时他还没有工位,即没有正式入职
所以他的源ip地址还是0000
目的ip地址还是广播ip
目的mac依旧也是广播mac,其他公司(即其他DHCP服务器)也要知道他不来了
所以ip和mac都是广播

4.确认报文
入职报文,这时候就告诉求职者你被录取了,但是此时他还是没有工位,所以ip地址依旧是广播,但是目的mac是主机的,源mac是hr的,源ip也是hr的

ARP协议工作过程
我们假定A5要给A1发送数据报但是不知道A1的mac地址但是知道ip地址(一些手动配置的条件知道的ip地址)

流程如上图所示
当在ARP表中没有找到的时候,ARP就会进行广播,发送的是mac广播帧,但是别的主机会因为ip地址不同而在网络层丢弃
A1收到了A5发送的请求
他就会进行发送一个单播mac帧,即ARP响应报文,因为ARP请求的时候已经告诉了A1 A5的ip地址mac地址是多少。
然后此时A5就会收到报文然后更新自己的ARP表进行ip-MAC的映射
注意即使是默认网关也是需要ARP响应的,和其他主机的ARP相应流程一致。
