路由器工作在OSI参考模型的网络层,它的重要作用就是为数据包选择最佳路径,最终送达目的地。
路由:从源主机到目标主机的转发过程。
路由技术:为了尽可能的提高网络访问速度,就需要有一个方法来判断从源主机到达目标主机所经过的最佳路径,从而进行数据转发。
路由器可以理解为互联网的中转站,网络中的数据包就是通过一个一个的路由器转发到目的网络的。
路由器转发数据包通过查看路由表,选择到达目的网络的最佳路径,这个最佳路径是指路由器的某个接口或下一跳路由器的地址。即查看路由表目标网段,选择对应接口出去。
在转发数据包过程中显示“目标地址不可达”:转发数据包过程中,如果在路由表中没有找到数据包的目的地址,则根据路由器的配置转发到默认接口或者给用户返回“目标地址不可达”的信息。
路由表实在路由器中维护的路由条目的集合,路由器根据路由表做路径选择。
我们通过直连网段和非直连网段来理解。
直连网段:当我们在路由器上配置了接口的IP地址,并且接口状态为“UP”时,路由表中出现直连路由项。
在GNS3软件中,我们可以实践一下。R3--R1的网段为192.168.10.0网段,R1--R2网段为192.168.20.0网段。
非直连网段:看下图!不是直接连在路由器上的网段都是非直连网段。非直连网段写入路由表中,我们需要通过静态路由或动态路由来实现。
静态路由是管理员手工配置的,是单向的(如果希望实现双向通信,必须在通信双方配置静态路由),缺乏灵活性。
默认路由是一种特殊的静态路由,当路由器在路由表中找不到目标网络的路由条目时,路由器吧请求发到默认路由接口。如果没有默认路由,那么目的地址在路由表中没有匹配路由条目的数据包将被丢弃。
当路由表中同时存在静态路由和默认路由的时候,静态路由优先级最高,匹配上了立刻进行转发,如果没有匹配上静态路由,则交由默认路由转发。
存在不同网段中的两台初始化主机(只知道自己的IP和MAC地址和其他人的IP地址,但是不知道其他人的MAC地址),两台初始化的路由器(只知道自己的IP和MAC地址和其他人的IP地址,但是不知道其他人的MAC地址)。
路由器转发原则:IP不变,MAC始终在变。
第一过程:想要实现主机A和主机B的互联互通,因为两台主机不在同一网段,所以主机A发送数据包给主机B必然经过路由器,所以需要经过路由器A转发。但是因为都是初始化机器,所以主机A并不知道路由器A的E0接口的MAC地址,所以主机A需用通过ARP广播请求来获得路由器A 的E0接口的MAC地址。那么此时,主机A发送给主机B的数据包中,源IP为192.168.1.2,源MAC是00-11-12-21-11-11,目标IP是192.168.2.2,目标MAC<u>为00-11-12-21-22-22</u>,此时目标MAC变成主机A的E0接口的MAC了。
第二过程:路由器A的E0接口接收到数据帧后,将数据帧的MAC头部解封,查看目标ip地址发现是192.168.2.2,所以路由器A会查找自己的路由表,然后将数据包转发到E1接口,到此,发现不知道路由器B的E1接口的MAC,找不到目标,所以此时这个数据包被丢弃。
第三过程:现在需要知道路由器B的E1接口的MAC,需要路由器A发送ARP广播请求。得到路由器B的E1接口的MAC后,主机A再次发送数据包。
第四过程:数据包到达路由器B的E1接口,先进行解封,检查目标IP和自己的路由表对应,将数据从自己的E0接口发出。此时,发现不知道主机B的MAC,所以这个数据包再次被丢弃。
第五过程:路由器B通过ARP广播,获得主机B的MAC,那么此时主机A再次发送数据包就可以直接到达主机B了。
一个问题:主机A发出的ARP请求为什么只能得到路由器A的E0接口的MAC呢?
答:ARP是一个广播,路由器上每个接口是一个广播域,路由器是隔离广播的,所以ARP无法穿过路由器。
network:目的网络地址
mask:子网掩码
address:到达目的网络经过的下一跳路由器的接口地址
interface:到达目的网络的本地接口地址
“0.0.0.0 0.0.0.0”:代表任何网络,也就是说发往任何网络的数据包都转发到命令指定的下一个路由器接口地址。
address:到达目的网段经过的下一跳路由器的接口地址。
与之互联设备的接收口地址。
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。