网络号、网关和路由

网络号

IP地址分类:

1.0.0.0126.255.255.255为A类  主要分配给具有大量主机而局域网络数量较少的大型网络 
128.0.0.0191.255.255.255为B类  一般用于国际性大公司和政府机构 
192.0.0.0223.255.255.255C类  用于一般小公司 校园网 研究机构等 
224.0.0.0239.255.255.255D类  用于特殊用途. 又称做广播地址 
240.0.0.0247.255.255.255E类. 暂时保留 

IP地址是辨明网络中一台主机身份的编码,是网卡MAC地址对应在IP层用于寻找路由的地址:

root@ubuntu:~# ifconfig eth0
eth0      Link encap:Ethernet  HWaddr 00:0c:29:8f:26:37  
          inet addr:192.168.154.128  Bcast:192.168.154.255  Mask:255.255.255.0
          inet6 addr: fe80::20c:29ff:fe8f:2637/64 Scope:Link
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:859 errors:0 dropped:0 overruns:0 frame:0
          TX packets:286 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000 
          RX bytes:78285 (78.2 KB)  TX bytes:36531 (36.5 KB)
          Interrupt:19 Base address:0x2000 

子网掩码是在网内进一步划分子网或者划分主机而使用的一种码,习惯上是由二进制的一串1加上一串0组成,所以我们经常看见的子网掩码都是255.255..等等。这个可以根据需要自己划分。

子网掩码不能单独存在,它必须结合IP地址一起使用。子网掩码只有一个作用,就是将某个IP地址划分成网络地址和主机地址两部分。这对于采用TCP/IP协议的网络来说非常重要,只有通过子网掩码,才能表明一台主机所在的子网与其他子网的关系,使网络正常工作。

子网掩码有数百种,这里只介绍最常用的两种子网掩码:

  1. 子网掩码是“255.255.255.0”的网络:最后面一个数字可以在0~255范围内任意变化,因此可以提供256个IP地址。但是实际可用的IP地址数量是256-2,即254个,因为主机号不能全是“0”或全是“1”。
  2. 子网掩码是“255.255.0.0”的网络:后面两个数字可以在0~255范围内任意变化,可以提供2552个IP地址。但是实际可用的IP地址数量是2552-2,即65023个。

网关

网关是你所在的子网的一个路由器,就如同一个看门的,把属于该子网的消息包接收过来,不属于的就过滤掉。

网关地址就是分配给路由器对应接口的IP地址。对于网关来说,只要是除了网络地址,广播地址以外的可用主机地址都可以分配给它。比方说,在192.168.1.0/24 的网络里面,网络地址是192.168.1.0 广播地址是192.168.1.255,那么除了以上两个地址以外的192.168.1.1-192.168.1.254 都是可以分配给网关的

举例说明:IP是192.168.154.128 ,子网掩码是24位的,那么网络号就是192.168.154.0,我在给他指定一个网关是192.168.154.2 。

这个时候,我的这台电脑想要和同网的192.168.154.129通信,那么他就不用网关了,直接发到局域网上就可以了。但是如果我想要发给远程的主机,比方说IP是192.168.2.1 同样24位的,它的网络号就是192.168.2.0 这时网关就起作用了,我的电脑就会把数据发给网关,由网关再转发一直到达目的地也就是IP 是192.168.2.1的主机上。

路由

名词含义:数据包从源地址到目的地址的所有路径,由一系列路由节点组成。
动词含义:某个路由节点为数据报选择投递方向的选路过程。

路由条目:路由表中的一行,主要由目的网络地址,子网掩码,下一条地址,发送接口 四部分组成。如果数据报的目的网络地址匹配到哪一行,就按规定的接口发送到下一跳地址。

路由表:由很多路由条目组成,每个条目指明去往某个网络的数据包应该从哪个接口发送。当都不匹配时,按缺省路由条目(default 0.0.0.0)发送

假设某主机路由表如下:

root@ubuntu:~# route 
Kernel IP routing table
Destination     Gateway         Genmask         Flags Metric Ref    Use Iface
default         192.168.10.1   0.0.0.0         UG    0      0        0 eth0
192.168.122.0   *              255.255.255.0   U     0      0        0 virbr0
192.168.10.0    *              255.255.255.0   U     1      0        0 eth0
192.168.56.0    *              255.255.255.0   U     1      0        0 eth1
127.0.0.0       *              255.0.0.0       U     1      0        0 lo
10.0.0.10       10.139.128.1   255.255.255.255 UGH   0      0        0 eth0
参数含义
Destination目标网络或目标主机。为 default(0.0.0.0)时,表示这个是默认网关,所有数据都发到这个网关
Gateway网关地址,*(0.0.0.0)表示当前记录对应的 Destination 跟本机在同一个网段,通信时不需要经过网关
Genmask网络掩码,Destination 是主机时需要设置为 255.255.255.255,是默认路由时会设置为 0.0.0.0
Flags标记,含义参考表格后面的解释
Metric路由距离,到达指定网络所需的中转数,是大型局域网和广域网设置所必需的 (不在Linux内核中使用)
Ref路由项引用次数 (不在Linux内核中使用。)
Use此路由项被路由软件查找的次数
Iface发送网卡名字

Flags 含义:

  • U 路由是活动的
  • H 目标是个主机
  • G 需要经过网关
  • R 恢复动态路由产生的表项
  • D 由路由的后台程序动态地安装
  • M 由路由的后台程序修改

假设该主机的网络接口配置如下:

root@ubuntu:~# ifconfig eth0
eth0      Link encap:Ethernet  HWaddr 00:0c:29:8f:26:37  
          inet addr:192.168.10.223  Bcast:192.168.10.255  Mask:255.255.255.0
          inet6 addr: fe80::20c:29ff:fe8f:2637/64 Scope:Link
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:859 errors:0 dropped:0 overruns:0 frame:0
          TX packets:286 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000 
          RX bytes:78285 (78.2 KB)  TX bytes:36531 (36.5 KB)
          Interrupt:19 Base address:0x2000 
eth1      Link encap:Ethernet  HWaddr 00:0c:29:8f:26:37  
          inet addr:192.168.56.136  Bcast:192.168.56.255  Mask:255.255.255.0
          inet6 addr: fe80::20c:29ff:fe8f:2638/64 Scope:Link
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:859 errors:0 dropped:0 overruns:0 frame:0
          TX packets:286 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000 
          RX bytes:78285 (78.2 KB)  TX bytes:36531 (36.5 KB)
          Interrupt:19 Base address:0x2000 

假设要发送的数据包目的地址是192.168.56.3,与子码掩码做运算得192.168.56.0,正是第4行的目的网络地址因此从eth1口发送出去。由于192.169.56.0/24是与eth1直连的网络,因此可以直接发到主机,不要经过路由器转发。

假设要发送的数据包目的地址是202.10.12.3,那么就按默认路由,从eth0口发送出去。首先发送到192.168.10.1的路由器,再让路由器根据它的路由表决定下一跳地址。

相关操作:

添加网关
route add default gw 192.168.10.1

添加路由
route add -net 192.168.20.0 netmask 255.255.255.0 gw 192.168.10.1

查看路由状态
route -n
ip route show

删除路由
route del -net 192.168.20.0 netmask 255.255.255.0
  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值