Gateway 网关地址,”*” 表示目标是本主机所属的网络,不需要路由
Genmask 网络掩码
Flags 标记。一些可能的标记如下:
U — 路由是活动的
H — 目标是一个主机
G — 路由指向网关
R — 恢复动态路由产生的表项
D — 由路由的后台程序动态地安装
M — 由路由的后台程序修改
! — 拒绝路由
Metric 路由距离,到达指定网络所需的中转数(linux 内核中没有使用)
Ref 路由项引用次数(linux 内核中没有使用)
Use 此路由项被路由软件查找的次数
Iface 该路由表项对应的输出接口
路由表中第一条凡是去往192.168.7.0网段的信息都有走设备eth7,依次类推到192。168.8.0的路由。
169.254.0.0原来是由windows自带的寻址范围,目的是为了当DHCP无法获取IP的时候,有系统自动分配IP地址给本地局域网的所有主机,这样不需要服务器而仅仅只需要通过网线就可以达到联网的效果。而Linux也包含这条路由地址,大概是为了能和windows兼容吧。
路由器的路由表详解对于路由器的路由表,大部分网管朋友都很熟悉,但是对于windows的路由表,可能了解的人就相对少一些。今天我们就一起来看看windows路由表。
一、 windows路由表条目解释
1. 使用ipconfig /all查看网卡信息
2. 使用route print命令查看路由表信息
3. 路由表信息解释
1)名词解释:
Active Routes:活动的路由
Network destination :目的网段
Netmask:子网掩码
Gateway:网关,又称下一跳路由器。在发送IP数据包时,网关定义了针对特定的网络目的地址,数据包发送到的下一跳服务器。如果是本地计算机直接连接到的网络,网关通常是本地计算机对应的网络接口,但是此时接口必须和网关一致;如果是远程网络或默认路由,网关通常是本地计算机所连接到的网络上的某个服务器或路由器。
Interface:接口,接口定义了针对特定的网络目的地址,本地计算机用于发送数据包的网络接口。网关必须位于和接口相同的子网(默认网关除外),否则造成在使用此路由项时需调用其他路由项,从而可能会导致路由死锁。
Metric:跳数,跳数用于指出路由的成本,通常情况下代表到达目标地址所需要经过的跳跃数量,一个跳数代表经过一个路由器。跳数越低,代表路由成本越低,优先级越高。
Persistent Routes:手动配置的静态固化路由
2)第一条路由信息:缺省路由
当系统接收到一个目的地址不在路由表中的数据包时,系统会将该数据包通过192.168.99.8这个接口发送到缺省网关192.168.99.1。
3)第二条路由信息:本地环路
当系统接收到一个发往目标网段127.0.0.0的数据包时,系统将接收发送给该网段的所有数据包。
4)第三条路由信息:直连网段的路由记录
当系统接收到一个发往目的网段192.168.99.0/24的数据包时,系统会将该数据包通过192.168.99.8这个接口发送出去。
5)第四条路由信息:本地主机路由
当系统接收到一个目标ip地址为本地网卡ip地址的数据包时,系统会将该数据包收下。
6)第五条路由信息:本地广播路由
当系统接收到一个发给直连网段的本地广播数据包时,系统会将该数据包从192.168.99.8这个接口以广播的形式发送出去。
7)第六条路由信息:组播路由
当系统接收到一个组播数据包时,系统会将该数据包从192.168.99.8这个接口以组播的形式发送出去。
8)第七条路由信息:广播路由
在系统接收到一个绝对广播数据包时,系统会将该数据包通过192.168.99.8这个接口发送出去。
9)Default Gateway(缺省网关)
二、windows路由表操作
windows路由表的设置主要通过route命令,ROUTE命令格式如下:
ROUTE [-f] [-p] [command [destination] [MASK netmask] [gateway] [METRIC metric] [IF interface]
其中 –f 参数用于清除路由表,-p参数用于永久保留某条路由(即在系统重启时不会丢失路由)。
Command主要有PRINT(打印)、ADD(添加)、DELETE(删除)、CHANGE(修改)共4个命令。
Destination代表所要达到的目标IP地址。
MASK是子网掩码的关键字。Netmask代表具体的子网掩码,如果不加说明,默认是255.255.255.255(单机IP地址)。如果代表全部出口子网掩码可用0.0.0.0。
Gateway代表出口网关。
其他interface和metric分别代表特殊路由的接口数目和到达目标地址的跳数,一般默认。
本文我们以两个案例为例,深度来讲解一下网络中我们经常要用到的mac地址表、ARP表、路由表,掌握了这3张表,基本上就能够掌握了网络中数据通信的原理,成为网络中的武林高手!
数据网络的本质就是为了传递数据,前面我们就讲到过数据通信的基础就是TCP/IP参考模型。 15图利用TCP/IP参考模型详解PC访问WEB服务器的数据通信过程
MAC地址表
MAC地址表 :简单的说,MAC地址表是交换机等网络设备记录MAC地址和端口的映射关系(见下图),代表了交换机从哪个端口学习到了某个MAC地址,交换机把这个信息记录下来,后续交换机需要转发数据的时候就可以根据报文的目的MAC地址去根据MAC地址表转发数据。
在华为网络设备上可以通过 dis mac-address 查看本地mac的地址表的信息,通过下图的显示我们可以知道mac地址 5489-98b1-79f4 是从G0/0/2端口学习到的;
ARP表
ARP表 :简单的说,ARP表就是路由器等网络设备记录 IP地址和MAC地址对应关系的表项 (如下图)。
当我们需要转发数据的时候除了 需要对方的目的IP地址,还需要知道对方的MAC地址 ,那么正常情况下我们优先会在本地ARP表中查看是否有目的IP对应的MAC地址。
在华为网络设备上可以通过 dis arp 查看本地arp表的信息,通过下图的显示我们可以知道mac地址 5489-98b1-79f4 是对应的IP地址是192.168.1.2 ;
路由表
路由表 :简单点说路由表就是路由器用于指导数据包如何转发的表项,记录了去往目的IP的下一跳去哪里(如下图)。
路由表的作用类似于我们生活中的地图,指引我们去往一个目的地该如何走?
在华为网络设备上可以通过 display ip routing-table 查看本地路由表的信息,通过下图的显示我们可以知道去往目的192.168.2.0/24 的下一跳是10.1.1.2 ;
案例一:PC1和PC2二层互访通信过程详解
如上图的网络拓扑,PC1和PC2通过交换机SW1互联,PC1 的IP地址为192.168.1.1/24 ,PC2的IP地址为192.168.1.2/24 ,那么PC1和PC2的通信就是简单的二层通信(二层通信不涉及路由表),下面我们从ARP表和MAC地址表的角度详细解析下这个通信过程。
下面我们来详细分析下:
1. PC1要想访问PC2,除了需要知道目的IP 192.168.1.2 以外,还需要知道PC2 的mac地址,因为所有的数据通信都是基于TCP/IP参考模型的,需要对进行数据封装。
首先PC1会查找自己的ARP表项看是否有目的IP 192.168.1.2 对应的MAC地址,查看发现是空的;
2、我们知道如果不知道对方的mac地址,PC1会发送ARP广播报文,询问谁知道目的IP 192.168.1.2 对应的MAC地址(如下图所示)。PC2收到ARP广播报文会进行回应,告诉PC1他的MAC地址;
附:
在PC1发送ARP 广播报文的时候,交换机SW1收到该报文,会在MAC地址表中根据报文的源mac地址记录下PC1 的mac地址和GE0/0/1的映射关系;PC2发送回应报文的时候 交换机SW1也会记录下PC2 的mac地址和GE0/0/2的映射关系(如下图);
3、可以看到PC1的本地ARP表项中学习到了PC2的mac地址;
4、这样PC1就可以根据PC2的MAC地址封装数据发送给交换机SW1,交换机SW1会查找自己的MAC地址表,发现去往PC2的MAC地址的出接口为GE0/0/2,从而PC2就可以收到报文,并进行解封装;
案例二:PC3和PC4三层互访通信过程详解
如上图的网络拓扑,PC3和PC4通过路由器R1、R2互联,PC3 的IP地址为192.168.1.2/24 网关192.168.1.1 ,PC4 的IP地址为192.168.2.2/24 网关192.168.2.1,那么PC1和PC2的通信就是跨网段三层通信,下面我们从ARP表、MAC地址表、路由表的角度详细解析下这个通信过程。
下面我们来详细分析下:
1. PC3要想访问PC4,由于是跨网段通信,PC3需要首先把数据包发送给PC3的网关。PC3会查找自己的ARP表项看是否有网关IP192.168.1.1对应的MAC地址,查看发现是空的;
2、我们知道如果不知道对方的mac地址,PC3会发送ARP广播报文,询问谁知道目的IP 192.168.1.1 对应的MAC地址(如下图所示)。R1收到ARP广播报文会进行回应,告诉PC3 他的网关的MAC地址;
3、可以看到PC3的本地ARP表项中学习到了网关的mac地址;
4、这样PC3就可以根据网关MAC地址封装数据发送给R1,R1收到数据包会进行解封装,解封装发现目的IP是PC4,不是发给自己的,从而会查找自己的路由表,发现去往PC4的下一跳是10.1.1.2;
5、R1需要把数据进行封装发送给R2的10.1.1.2 ,因此需要请求10.1.1.2 对应的MAC地址用于封装(我们可以看到R1的ARP表中已经有10.1.1.2 对应的MAC地址,因此可以直接封装);
6、R2收到R1的数据包,需要进行解封装,解封装发现目的IP是PC4,通过查找自己的路由表,发现去往PC4是自己的直连端口;
7、R2需要把数据进行封装发送给PC4 ,因此需要请求PC4 192.168.2.2 对应的MAC地址用于封装(我们可以看到R2的ARP表中已经有192.168.2.2对应的MAC地址,因此可以直接封装);
8、最后PC4收到报文进行解封装发现就是发送给自己的,通信结束;
---END---
欢迎分享,转载请注明来源:夏雨云
评论列表(0条)