admin管理员组文章数量:1531958
2024年2月6日发(作者:)
IP(IPv4)路由详解
来源:
前面在局域网详解中 讲到,在局域网中,一台主机与另一台主机通信是通过MAC地址寻址来找到另外一台主机。那么在广域网中,一个网络和另一个网络之间要通信,又如何来寻址。 现在我们就来了解,在广域网中的寻址方法——路由。路由的原理很简单,就是通过查询一张路由表来确定数据包下一跳应该发向哪个地方。我们来详细了解如何通 过路由表来判断数据包下一跳应该发给谁。
首先我们来看一下我们平时windows主机所用的路由表。
这张图是一张单网卡windows主机的路由表,也是一张非常简单的路由表,通过这张路由表,我们可以了解最简单基本的通过路由表进行路由寻址的方法。
windows路由表的查表顺序是由下到上,优先级依次降低,数据包来了之后由下到上依次查表决定数据表发往哪里。
我们来一条一条的了解这些数据代表的意思。
首先来看横轴的标题
Network Destination:目标网络,也就是我们的IP数据包的目的IP地址。
Netmask:子网掩码,用来计算目标IP地址是否属于当前路由的网段。
Gateway:网关,IP数据包下一个需要经过的目的地址。
Interface:接口,用来发送该IP包的物理网卡。
Metric:跃点数,通常用于衡量数据包从源地址到目的地址所需要经过的路径长度。
在路由表中如何表示匹配上一条路由呢?
首先我们假设目标IP为X,如果满足以下公式表示X匹配上一条路由规则:
X & netmask = Network Destination
&:二进制与运算
下面我们就来一条一条的解释每条路由所代表的意义,以及如何去匹配这条路由。
第一条:
255.255.255.255 255.255.255.255 192.168.1.105 192.168.1.105 1
X & 255.255.255.255 = 255.255.255.255
255.255.255.255翻译成二进制为11111111 11111111 11111111 11111111,在计算机里面十六进制表示为FF FF FF FF(也就是2的32次方,所以在32位计算系统,刚好一个无符号整形数可以表示一个IP地址)
由上面的计算公式得到X只有等于255.255.255.255时才能满足上面的等式。翻译一下就是当发往目标IP地址为 255.255.255.255的IP数据,通过本机IP地址为192.168.1.105网卡发送出去,发送到IP地址为192.168.1.105的 设备上。由于192.168.1.105就是本机IP地址,也就表示这个数据包可以不用经过中间路由,直接达到目的主机。这个目标IP地址为广播地址。
第二条:
224.0.0.0 240.0.0.0 192.168.1.105 192.168.1.105 20
X & 240.0.0.0 = 224.0.0.0
240.0.0.0 翻译成二进制 11110000 0 0 0
224.0.0.0 翻译成二进制 11100000 0 0 0
X就是从11100000~11101111开始任意IP地址(因为后面的都全为0,0与任何数据相与都等于 0,所以和任何数据都能匹配上)。发向目标IP地址为~的IP数据包由IP地址为192.168.1.105的网卡 发出,不经过中路由,直接到达目标主机。
第三条:
192.168.1.255 255.255.255.255 192.168.1.105 192.168.1.105 20
X & 255.255.255.255 = 192.168.1.255
X也只有等于192.168.1.255的时候才满足这个等式,这条路由也一样是说发向目的IP地址为192.168.1.255的IP包由IP地址为192.168.1.105 的物理网卡发出,这个目的IP也是本网段的广播地址。
第四条:
192.168.1.105 255.255.255.255 127.0.0.1 127.0.0.1 20
X & 255.255.255.255 = 192.168.1.105
X为192.168.1.105,这条路由表示发给本机的IP包不用向外发送,直接本地环回。
第五条:
192.168.1.0 255.255.255.0 192.168.1.105 192.168.1.105 20
X & 255.255.255.0 = 192.168.1.0
X为192.168.1.1~192.168.1.255的所有IP,发给这些目的IP的数据包由192.168.1.105 发出并直接到达目的地址。这里X实际表示与本机同局域网内的所有主机地址。如何直接送到目的主机,前面局域网详解已 经有介绍,首先通过ARP请求获得对方MAC地址,然后通过MAC寻址就可以找到目的主机。(有人可能会疑问,我们局域网的主机都是连接在同一个路由器上 面的,怎么会不经过路由直接达到对方主机,实际上局域网的数据只是经过了路由器的上的网桥设备,并未进行路由寻址,我们这里讲的路由,是协议上IP层的一 个概念)
第六条:
127.0.0.0 255.0.0.0 127.0.0.1 127.0.0.1 1
本地环回路由,这里不多讲,可以试一下ping 127.127.127.127看看效果。
第七条:
0.0.0.0 0.0.0.0 192.168.1.1 192.168.1.105 20
目的网络与子网掩码都为0的一条路由我们称之为默认路由。
前面六条路由都是需要特定网段IP地址的数据才能匹配上的,所以当前面六条路由都匹配不上的时候会找到这条默认路由,因为任意IP地址与0相与都等于0,也就是任意IP地址都能匹配上这条路由。
这条路由描述是说发给这些目的IP的数据包由192.168.1.105的网卡发出,发向IP地址为192.168.1.1的设备,192.168.1.1就是我们的网关地址了,当数据到达网关之后,网关再做一些处理就达到广域网,广域网再进行路由寻址就达到目的网络。
通过以上简单介绍,大家应该明白路由寻址是怎么完成的了吧~~
本站原创文章,转载请注明出处:
版权声明:本文标题:IP(IPv4)路由详解 内容由热心网友自发贡献,该文观点仅代表作者本人, 转载请联系作者并注明出处:https://m.elefans.com/dongtai/1707154484a188361.html, 本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容,一经查实,本站将立刻删除。
发表评论