使用ARP协议能够查出擅自更改IP地址主机的MAC地址。在学习ARP协议前须要了解广播和广播域的相关概念。缓存
在超市找人时,若是不知道对方的位置就须要到服务台经过广播进行找人,当知道对方的位置时就能够直接到对方所在位置。在网络中也存在这种状况。若是不知道对方的地址就须要进行广播。即发送广播帧;而知道对方的地址就发送单播到对方处。因此,广播通讯是“一对全部”的通讯形式。而单播通讯是“一对一”的通讯形式。全部听到找人广播的范围就是广播域。广播和广播域的具体定义以下:网络
MAC地址的广播地址:FF-FF-FF-FF-FF-FF
MAC地址的广播域是全部相链接的交换机或集线器的集合。若是一台主机发送一个MAC地址广播。则这个广播将转发到全部相连的交换机或集线器的全部端口。收到广播帧的主机会比较数据帧包中的目的IP地址是否为自身IP地址。若是是,则继续处理数据包中的承载数据;若是不是,则丢弃数据。
交换机转发MAC地址广播,而路由器会阻挡MAC地址广播。学习
iP网段的最后一个地址为广播地址,即主机部分所有为1.在数据帧中,目的MAC地址是FF-FF-FF-FF-FF-FF,目的IP地址是IP网段的广播地址。云计算
(1)查找ARP缓存表3d
(2)发送ARP广播blog
(3)ARP应答接口
(4)添加ARP缓存记录ip
路由器工做在OSI参考模型的网络层,它的重要做用是为数据包选择最佳路径,最终送达目的地。那么路由器是怎样选择路径的呢?路由
[x] 在只有一个网段的网络中,数据包能够很容易地从源主机到达目的主机。可是若是一台计算机要和非本网段的计算机进行通讯,数据包可能就要通过不少路由器。主机A和主机B所在的网段被许多路由器隔开,这时主机A和主机B的通讯就要通过这些中间路由器,这就要面临一个很重要的问题--如何选择到达目的地的路径。原理
[x] 数据包从A到达B有不少条路径可供选择,可是很显然,这些路径中在某一时刻总会有一条路径是最好(最快)的。所以,为了尽量地提升网络访问速度,就须要有一种方法来判断从源主机到达目标主机所通过的最佳路径,从而进行数据转发,这就是路由技术。
###2.2 静态路由
###2.3 默认路由
###2.4 路由器转发数据包的封装过程
咱们知道两主机要通讯传送数据时,就要把应用数据封装成IP包(由于咱们的网络大多都是TCP/IP的以太网),而后再交给下一层数据链路层继续·封装成帧;以后根据MAC地址才能把数据从一台主机,准确无误的传送到另外一台主机。
当NO要和N1通讯时,
1)假如NO知道N1的IP但殊不知道它的MAC地址,那NO就会发送一个ARP的广播请求(里面源IP是NO目标IP是N1源MAC是N0目标MAC是12个F)给同一广播域中的全部成员。
2)当交换机SW0从本身的1接口上收到这个广播包,而后它会读取这个帧的源MAC地址和目标MAC地址,因为交换机SW0刚启动加电时,它的MAC表为空的。因此它会把NO的MAC地址与之相对应的接口1放到一张表里,这张表就是MAC地址表。
3)而后SW0再从别的接口广播这个数据帧,当别的主机收到这个广播时,查看目标IP不是本身的,就会丢弃此包。若是N1接收到这个数据帧,它检查目标IP和这个的IP是同样的,就会回应这个ARP请求,把本身的IP和MAC封装成源IP和源MAC,N0的IP和N0的MAC地址为目标IP与目标MAC,并记录N0的MAC与IP,放进本身的ARP缓存表中。
4)此时,这个应答包通过交换机SWO时,它又会检查源MAC,目标MAC,把N1的MAC和本身接口2放进MAC地址表中,再查看本身的MAC地址表,发现存在目标MAC与本身的1接口对应(因为刚开始有记录过N0的MAC),那它就会直接把这个应答包从接口1送出去了。
5)主机N0收到这个包后发现目标MAC是本身,就会处理这个包。并把N1的MAC与IP放进本身的ARP缓存表中。这时主机N0就知道N1的MAC地址了,
6)后续的发送数据任务,就会直接把N1的IP与MAC封装进帧中进行点对点的发送了。
当N0要和N2通讯时
1)N0会先检查N2的IP地址和本身是否处于同一网段,因为N2和本身处在不一样网段,所以,N0会把数据包给它的网管,也就是R0上的F0/0接口了。
2)当这个数据包到达R0时,路由器R0会查看目标IP是不是本身的,因为目标不是本身,因此会查看本身的路由表,找出到达N2网段的路由;(若是找不到就会丢弃数据包)
3)当R0查看路由表发现到达N2网段的出接口是F0/1.因而,把数据包转到F0/1接口上,再由接口F0/1传给R1.这个过程,数据包的源IP是N0源MAC是F0/1目标IP是N2目标MAC是R1的F0/1接口IP
4)当R1收到这个数据包后,一样也要检查包的目标IP是否本身,它会主动查找本身的路由表,发现目标IP跟本身F0/0接口处在同一网段,因而就把包传到F0/0接口上去发给N2。)