一、路由表

路由表是如何决策的:

[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 eth0
169.254.0.0 0.0.0.0 255.255.0.0 U eth0
192.168.1.0 0.0.0.0 255.255.255.0 U eth0

可以看到路由表中的条目:

当我们ping百度的时候:

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

首先会通过DNS服务器解析baidu的IP地址为:14.215.177.38

路由表是如何决策该怎么走:

1)将14.215.177.38和每一条路由表的mask做按位与操作,确定要到达哪个网络。

2)将与操作的结果与Destination匹配

3)匹配上的,就将数据包从该条路由对应的端口发出去,目的MAC地址为网关。

例如14.215.177.38只有与0.0.0.0按位与得到0.0.0.0,与Dest的0.0.0.0能匹配上。所以交给对应的Iface:eth0。

Destination为0.0.0.0的路由项也叫默认路由,默认网关。

二、ARP表(MAC表)

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

我们看192.168.1.1这条,这个IP地址是默认网关的地址。

当一个数据包查找路由表后,需要将该包发给默认网关,则需要查找默认网关的MAC地址。

在ARP中查找到第一条,默认网关的MAC地址是:e8:ab:f3:e2:f0:49,则该数据包二层信息中的目的MAC地址填写该MAC地址。

三、mtr工具

mtr工具用于跟踪某个ip的途径路由信息,类似traceroute:

yum install mtr -y
mtr 104.192.80.196
                                                                My traceroute  [v0.]
centos7-test (0.0.0.0) Thu Apr ::
Resolver: Received error response . (server failure)n. of fields quit
Packets Pings
Host Loss% Snt Last Avg Best Wrst StDev
. 192.168.4.1 0.0% 0.8 0.7 0.6 0.8 0.0
. 192.168.1.1 0.0% 0.9 0.9 0.8 1.1 0.0
. 100.64.0.1 0.0% 2.4 12.8 2.4 49.2 16.0
. 220.167.87.201 85.7% 3.9 3.9 3.9 3.9 0.0
. 171.208.203.93 0.0% 5.3 11.5 3.4 53.9 17.2
. 59.43.80.61 0.0% 6.1 8.8 3.5 30.4 8.8
. ???
. 59.43.130.202 62.5% 35.7 35.7 35.6 35.8 0.0
. 59.43.186.246 0.0% 50.5 53.8 49.7 65.9 6.2
. 59.43.182.141 28.6% 185.3 185.3 184.9 185.8 0.0
. 218.30.49.74 0.0% 185.0 185.4 184.9 186.2 0.0
. 10.255.255.116 0.0% 180.1 179.8 179.2 180.8 0.4
. 10.255.255.177 0.0% 179.7 180.2 179.7 180.8 0.0
. 10.255.254.9 0.0% 182.3 180.6 179.8 182.3 0.7
. 104.192.80.196 0.0% 176.1 176.2 175.7 176.9 0.0

这个结果会每隔一秒刷新一次,是一个持续不断的过程。而traceroute只会跟踪一次。

附带traceroute工具的安装和使用:

yum install traceroute -y
traceroute 104.192.80.196

===

[Linux系统] (5)系统网络的更多相关文章

  1. 虚拟机Linux系统下配置网络

    虚拟机上安装Redhat9.0后是没有网络的,而本来的Windows系统是可以上网的,此时想在Redhat上网就需要在Linux系统上配置网络,以下是笔者自己配置的一点心得. 1.电脑本机系统打开网络 ...

  2. Monitorix:一款面向Linux的轻型系统和网络监测工具

    Monitorix是一款功能非常强大的免费开源轻型工具,目的在于监测Linux中的系统和网络资源.它可以定期收集系统和网络数据,并使用自己的Web界面,通过图形显示相关信息.Monitorix让用户可 ...

  3. 由安装两块网卡的linux系统中引起网络不通想到的

    由安装两块网卡的linux系统中引起网络不通想到的 一天,小王突然急匆匆的来找我,他说:"我在机子上刚装的redhat怎么老也ping不通服务器,我网卡的驱动都安装了,ping 自己的两块网 ...

  4. vm克隆linux系统 后连接网络

    第一步 vi /etc/udev/rules.d/70-persistent-net.rules     将之前的eth0注释掉,    将eth1改为eth0 并复制mac地址 第二部 vi /et ...

  5. 浅析 Linux 初始化 init 系统,第 1 部分: sysvinit 第 2 部分: UpStart 第 3 部分: Systemd

    浅析 Linux 初始化 init 系统,第 1 部分: sysvinit  第 2 部分: UpStart 第 3 部分: Systemd http://www.ibm.com/developerw ...

  6. 手把手VirtualBox虚拟机下安装rhel6.4 linux 64位系统详细文档

    下面演示安装的是在VirtualBox里安装rhel 6.4 linux 64位系统. 一.VirtualBOX 版本. 二.虚拟机的配置. 1.现在开始演示安装,一起从零开始.点击“新建”,创建新的 ...

  7. ubuntu设置系统时间与网络时间同步

    ubuntu设置系统时间与网络时间同步   Linux的时间分为System Clock(系统时间)和Real Time Clock (硬件时间,简称RTC).   系统时间:指当前Linux Ker ...

  8. ubuntu设置系统时间与网络时间同步和时区

    Linux的时间分为System Clock(系统时间)和Real Time Clock (硬件时间,简称RTC). 系统时间:指当前Linux Kernel中的时间. 硬件时间:主板上有电池供电的时 ...

  9. Linux学习之系统时间同步

    一.系统时间的设置 在Linux中设置系统时间,可以用date命令: //查看时间 [root@localhost ~]# date 2008年 12月 12日 星期五 :: CST //修改时间 [ ...

  10. Linux:Gentoo系统的安装笔记(三)

    这期笔记将是gentoo安装的最后一期了,虽然已经配置内核了,但是也要完成剩下的安装步骤,这离安装完成已经不远了,继续加油!!! 如果中断了安装,请看第二期的笔记进行恢复安装,但请重新编译一次内核,否 ...

随机推荐

  1. deepin系统换软件下载源&商店卡死刷新空白问题解决

    deepin换源方法 1. deepin默认的软件下载源网速很慢,所以我们可以自己手动换软件下载源,方法如下: 1.1. 任意地方,右键选择在此打开终端,(快捷键:Ctrl+Alt+T),输入sudo ...

  2. luoguP1352没有上司的舞会(树形DP)

    题目链接:https://www.luogu.org/problemnew/show/P1352 题意:给定n个结点,每个结点有一个权值,给n-1条边,n个结点构成一棵树.并且规定一个结点的父结点如果 ...

  3. Java 中的动态代理

    一.概述 1. 什么是代理 我们大家都知道微商代理,简单地说就是代替厂家卖商品,厂家“委托”代理为其销售商品.关于微商代理,首先我们从他们那里买东西时通常不知道背后的厂家究竟是谁,也就是说,“委托者” ...

  4. 使用Python基于OpenCV的图像油画特效

    算法步骤: 1.获取图像的灰度图片 2.设计一个小方框(4x4/8x8 /10x10等),统计每个小方框的像素值 3.将0-255的灰度值划分成几个等级,并把第二步处理的结果映射到所设置的各个等级中, ...

  5. leetcode中等题

    # Title Solution Acceptance Difficulty Frequency     1 Two Sum       44.5% Easy     2 Add Two Number ...

  6. java中代码块和构造方法以及普通方法的代码执行顺序总结

    说实话,这块真的不好理解啊~都怪jvm  执行顺序搞这么复杂,哼╭(╯^╰)╮ 但是  我们能怎么办,只能研究呗!!! !:首先,毫无置疑的,静态代码块在加载时就执行了,所以肯定是最先执行的.... ...

  7. 剑指offer-和为S的两个数字-知识迁移能力-python

    题目描述 输入一个递增排序的数组和一个数字S,在数组中查找两个数,使得他们的和正好是S,如果有多对数字的和等于S,输出两个数的乘积最小的. 输出描述: 对应每个测试案例,输出两个数,小的先输出. 思路 ...

  8. IDEA等全家桶设置Ctrl+滚轮调整字体大小

    File→Settings→General,勾选Change font size... 保存.

  9. dede_arctype|栏目表

    dede_arctype|栏目表: 字段 类型 整理 属性 Null 默认 额外 id smallint(5) UNSIGNED 是 NULL 栏目ID reid smallint(5) UNSIGN ...

  10. apacheTop

    1.监控 httpd 请求数据,请求统计 apachetop -f /var/www/access_log 2. apachetop -H hits (Will display stats on th ...