Linux——(5)系統網絡

1、路由表centos

路由表是如何決策的:服務器

[root@centos-clone1 ~]# route -n
Kernel IP routing table
Destination     Gateway         Genmask         Flags Metric Ref    Use Iface
0.0.0.0         192.168.1.1     0.0.0.0         UG    0      0        0 eth0
169.254.0.0     0.0.0.0         255.255.0.0     U     1002   0        0 eth0
192.168.1.0     0.0.0.0         255.255.255.0   U     0      0        0 eth0

能夠看到路由表中的條目:網絡

當咱們ping百度的時候:spa

[root@centos-clone1 ~]# ping www.baidu.com
PING www.a.shifen.com (14.215.177.38) 56(84) bytes of data.
64 bytes from 14.215.177.38 (14.215.177.38): icmp_seq=1 ttl=55 time=35.0 ms
64 bytes from 14.215.177.38 (14.215.177.38): icmp_seq=2 ttl=55 time=33.4 ms
64 bytes from 14.215.177.38 (14.215.177.38): icmp_seq=3 ttl=55 time=33.7 ms

首先會經過DNS服務器解析baidu的IP地址爲:14.215.177.38code

路由表是如何決策該怎麼走:blog

1)將14.215.177.38和每一條路由表的mask作按位與操做,肯定要到達哪一個網絡。路由

2)將與操做的結果與Destination匹配io

3)匹配上的,就將數據包從該條路由對應的端口發出去,目的MAC地址爲網關。table

例如14.215.177.38只有與0.0.0.0按位與獲得0.0.0.0,與Dest的0.0.0.0能匹配上。因此交給對應的Iface:eth0。class

Destination爲0.0.0.0的路由項也叫默認路由,默認網關。

 

2、ARP表(MAC表)

[root@centos-clone1 ~]# arp -a
? (192.168.1.1) at e8:ab:f3:e2:f0:49 [ether] on eth0
? (192.168.1.8) at bc:ae:c5:1a:dd:96 [ether] on eth0

咱們看192.168.1.1這條,這個IP地址是默認網關的地址。

當一個數據包查找路由表後,須要將該包發給默認網關,則須要查找默認網關的MAC地址。

在ARP中查找到第一條,默認網關的MAC地址是:e8:ab:f3:e2:f0:49,則該數據包二層信息中的目的MAC地址填寫該MAC地址。

相關文章
相關標籤/搜索