Linux之网络的风采——以后也能做网管了

理论基础

1、先说说这个IP:

    IP是一种协议,计算机与计算机通信协议,是一种底层通信协议,分为IPv4与IPv6,现在使用的还是IPv4

    IPv4由32位二进制组成,也就是由32位0或者1组成,通过排列组合也能算出来这个世界一共有多少个IP了,有2^32个IP约42.9亿个IP,但是据说现在地球人口已经80来亿了,可以想像一下,IP资源比较溃乏,还好IPv6快要出现了,这个ip几乎可以说是用之不净的IP有2^128个IP,据说可以给世界上的每一粒砂子配置一个IP,可以想像一下,IPv6的数量是恐怖的

2、说说这个IP的分类吧

   先按照这个IP前八位数字的型式分一下类,分为五类,分别是A,B,C,D,E

        A:1.0.0.0~127.255.255.255

        B:128.0.0.0~191.255.255.255

        C:192.0.0.0~223.255.255.255

        D:224.0.0.0~239.255.255.255(组播地址)

        E:240.0.0.0~255.255.255.255(供给研究使用的预留IP)

    再按这个使用用途分一下类,这个就是公有IP与私有IP啦,下面说说这些IP中的私有IP,每一个类别中有一段IP划分成私有IP

        A:10.0.0.0~10.255.255.255

        B:172.16.0.0~172.31.255.255

        C:192.168.0.0~192.168.255.255

      D和E没有私有IP是不是有点讨厌呢。。。

    注:公有IP和私有IP默认是不能通信的,大家明白,据一些老前辈说他们在年轻的时候办公电脑用的IP是公有IP,这种情况我是没有见过。。。。

3、说一下VLSM吧:(可变长子网掩码)

    这里要小说几个术语了:

        网段:就像A,B,C,D,E分类一样,只不过是不知名的分类,例如把A类地址又分为十份,这十份中的每一份都是一个网段

        网络位:评定两个IP是不是同一个网段的标准

        主机位:确定一个网段中可以容纳多少台设备,有的人一说这个设备就是计算机,我觉的现在不应该这么狭隘了,现在马桶都快变成智能化了,所以就没有必要在这么局限了

        与运算:是一种算法,就是对位做乘法,就是0与1做乘法,这个答案比较明了,不是1就是0,但是有很多人就是不会算,我想你是一个聪明人,应该会算的喽;记住是对位相乘,不要跑偏了

    我预计有很大一部分人是不会做进制转化的,咱专业点好不好,做为半个IT界人,居然不会进制转化,我有点不淡定了,其实进制蛮多的,比如我们生活中经常用到的十进制,一小时60分,一天24小时,这都能算是一种进制,我们即然会算时间,为什么不会算这些个二进制、八进制、十进制呢

    先说说十进制转化为二进制吧,使用短除法进行转化

        例:将1382转化为二进制

            1382/2=691 余0

            691/2=345  余1

            345/2=172 余1

            172/2=86 余0

            86/2=43 余0

            43/2=21 余1

            21/2=10 余1

            10/2=5 余0

            5/2=2 余1

            2/2=0 余0

            1

        倒着写下去,从下往上写就是10101100110,这一串数就是1382转化成二进制的结果

    上面说了十转二,下面来看看二转二

        例:将10001011111011001转化为十进制

            10001011111011001=1*2^0+0*2^1+0*2^2+1*2^3+1*2^4+0*2^5+1*2^6+1*2^7+1*2^8+1*2^9+1*2^10+0*2^11+1*2^12+0*^2^13+0*2^14+0*2^+15+1*2^16

                                       =1+0+0+8+16+0+64+128+256+512+1024+0+4096+0+0+0+65535

                                       =71641

            所以这个二进制转化为十进制的结果就是71641

            用二进制转化八进制与十六进制的简单方法,这种方法叫”八四二一码“,如下图

                Linux之网络的风采——以后也能做网管了

             这就是八四二一码的核心思想,分片,补0,其中要将二进制转化为八进制,将二进制分为三个一组(从未位到首位分割),如果首位不够三位可心借0,同样的,如果是转化为十六进制,那么就是将四个二进制分成一组,不够可心补0,还是容比较容易与方便的

        

        这个进制转化的中介是十进制,如果要将八进制或都十六进制转化为二进制,需要将八进制或都十六进制转化为十进制,然后再转化为二进制

            例:将八进制转化为十进制:将八进制数66转化为十进制

                66=6*8^0+6*8^1

                   =6+48

                   =54

            例:将十六进制转化为十进制:将十六进制数8E65转化为十进制

                8E65=5*16^0+6*16^1+14*16^2+8*16^3

                      =5+96+3584+32768

                      =36453

            例:将十进制转化为十六进制:将十进制数12306转化为十六进制

                12306/16=769 余2

                769/16=48 余1

                48/16=3 余0

                3

                所以结果十六进制为3012

    

    现在说说IP与子网掩码的与运算:

        与运算就是将IP与子网掩码转化成二进制后,对位相乘,如下图

               Linux之网络的风采——以后也能做网管了

            上图就是IP与子网掩码做与运算,并得出网络位为192.168.1.0

            而主机位就是二进制网络俺码中的0即为主机位,由排列组合可以看出一类子网掩码可以包含多少个主机,但是在主机中,有两个特别的存在,那就是主机位与网络位即这一个网络中最大的一个IP与最小的一个IP,这两个不可以给设备分配,同时192.168.1.0表示这个网段,192.168.1.255就是这个网段的广播地址。

    VLSM:可变长子网掩码

        向主机位借位,借位后的IP就是无类的IP,比如说192.168.1.0/24借两位就表示成192.168.1.0/26,当然,即然借了,广播地址就不为255,比如这个网段192.168.1.0/26的广播地址就是192.168.1.63

    下面说下相关公式吧:

        计算一个网段下的主机数:2^n-2(其中n为主机位0的个数)

        计算一个网段分的子网段数:2^m(其中m为借位的个数)

        子网的边界:256-N(N为借位后二进制数值转化为十进制的值,例192.168.1.0/26中借位两位由原来的八个0变为11000000,那么11000000转化为十制就是192,那么公式就是256-192,结果为64,那么,这个子网段就是以64分割的,第一个网段就是192.168.1.0~192.168.1.63、第二个就是192.168.1.64~192.168.1.127、……)

4、CIDR(超网)
    超网是一种减少路由条目的技术,可以将多个网段合并为一个网段
    例如三个网段分别为192.168.128.0/24、192.168.192.0/24、192.168.224.0/24在写入路由条目的时候就可以合并为一条路由192.168.128.0/17

    

5、说说静态路由与动态路由吧:

    静态路由顾名思义就是固定的,一个缺点,当然也有优点了,缺点是需要一条一条的配置,面全球有十三万条路由,好不容易配置好了十三万条路由了,路由器崩溃了,这是必然的,能存十三万条路由的路由器一般单位还买不起,所以,这个静态路由适合小环境中使用,一般公司都公使用静态路由,因为还有一个技术叫NAT(有兴趣可以上网查下),而且又有几个公司有超过5台路由器的,况且五台路由器才配置几条路由啊,简单实惠,何乐而不为呢,所以说,动态路由对大部分地方就是一个复杂而无用的技术,当然,动态路由的优点是静态所不能比的,如果用静态路由写5000条路由,用动态也就那么几条,动态路由的路由主要是靠自动获取,性能也要比静态好的多(大型网络中)。所以在Linux中静态路由就是必不可少的了,当然,如果你要用Linux当个路由器,也是可以的,可以装个quagga软件包,这个包里有OSPF与RIP协议,用这个软件的,应该就是做软路由了,那你也可以创业了,做个联通的宽带代理商了,成本价也就几百块。。。。闲扯结束,继续写吧。。


实例1
    静态路由
        路由拓扑

            Linux之网络的风采——以后也能做网管了

            步骤:
                1、配置IP
                    (临时)ifconfig 网卡名 IP/PREFIX
                    (非临时)写入配置文件/etc/sysconfig/network-scripts/ifcfg-网卡名
                2、在路由器上配置
                    echo 1 > /proc/sys/net/ipv4/ip_forward
                3、配置路由与网关
                    (网关)route add default gw 网关
                    (路由)route add -net 要去的网段 gw 下一跳近端口IP
            配置过程
                S1:ifconfig eth0 192.168.35.2/24
                    route add default gw 192.168.35.1
                S2:ifconfig eth0 172.31.1.2/24
                    route add default gw 172.31.1.1
                R1:ifconfig eth0 192.168.35.1/24
                    ifconfig eth1 10.1.1.1/24
                    route add -net 172.31.1.0/24 gw 10.1.1.2
                    echo 1 > /proc/sys/net/ipv4/ip_forward
                R2:ifconfig eth0 172.31.1.1/24
                    ifconfig eth1 10.1.1.2/24
                    route add -net 192.168.35.0/24 gw 10.1.1.1
                    echo 1 > /proc/sys/net/ipv4/ip_forward
            配置结束
                注:各种网卡的协调性

实例2
    BONDING:

        BONDING的模式:
            mode 0 为balance-rr(轮询模式)
            mode 1 为active-backup(主备模式)
            mode 3 为broadcast(广播策略)

        步骤:
            1、清除原有配置网卡配置文件
            2、新建bonding配置文件
            3、配置bonding虚拟设备文件
                DEVICE= //设备名
                BOOTPROTO= //获取IP方式
                ONBOOT= //是否开机自动启动
                BONDING_OPTS=”mode={0|1|3};miimon=100″ //BONDING模式
                IPADDR= //静态IP地址
                NETWORK= //掩码
                GATEWAY= //网关
                DNS1= //dns
            4、配置实体网卡的配置文件
                DEVICE= //设备名
                SLAVE= //是否为slave{yes|no}
                MASTER= //是否为master{bonding的设备名}

        配置过程:
            ifconfig eth0 down
            ifconfig eth1 down
            rm -rf ifcfg-eth0
            rm -rf ifcfg-eth1
            touch ifcfg-bond0
            touch ifcfg-eth0
            touch ifcfg-eth1
        编辑配置文件:ifcfg-bond0
            DEVICE=bond0
            BOOTPROTO=none
            ONBOOT=yes
            BONDING_OPTS=”mode=1 miimon=100″
            IPADDR=172.16.1.1
            PREFIX=16
            GATEWAY=172.16.0.1
            DNS1=172.16.0.1
        编辑配置文件:ifcfg-eth0
            DEVICE=eth0
            SLAVE=yes
            MASTER=bond0
       编辑配置文件:ifcfg-eth1
            同ifcfg-eth1
       

        可以查看/proc/net/bonding/bond0

    配置完成

实例3

    在CentOS7中的网络组
        Teaming的工作模式:
            broadcast(广播模式)
            roundrobin(轮询)
            activebackup(主备)
            loadbalance(负载均衡)
            lacp(链路聚合控制协议)

        配置步骤:
            1、删除原有网卡相关的配置文件
            2、生成team
            3、将实体网卡加入到team中
            4、启动

        配置过程:
            nmcli con add type team con-name team0 ifname team0 config ‘{“runner”:{“name”:”activebackup”}}’
            nmcli con add type team-slave con-name team0-eth0 ifname eth0 master team0
            nmcli con add type team-slave con-name team0-eth1 ifname eth1 master team0
            nmcli con down team0
            nmcli con up team0
            nmcli con up team0-eth0
            nmcli con up team0-eth1
    配置完成

原创文章,作者:gaomei,如若转载,请注明出处:http://www.178linux.com/71516

(0)
gaomeigaomei
上一篇 2017-03-26
下一篇 2017-03-26

相关推荐

  • FHS文件系统各目录及Linux文件类型和颜色标识整理

    一.FHS (Filesystem Hierarchy Standard文件系统层级标准)   使用文件系统层级标准可以使软件和用户可以预测已安装文件和文件夹位置 文件系统各目录:   /boot     系统引导启动时要加载的静态文件,内核和ramdisk及grub等    (系统启动时…

    Linux干货 2016-10-17
  • nginx状态监控

    通过查看Nginx的并发连接,我们可以更清除的知道网站的负载情况。Nginx并发查看有两种方法(之所以这么说,是因为笔者只知道两种),一种是通过web界面,一种是通过命令,web查看要比命令查看显示的结果精确一些。下面介绍这两种查看方法 No1、通过浏览器查看 通过web界面查看时Nginx需要开启status模块,也就是安装Nginx时加上 &n…

    Linux干货 2016-10-19
  • VPS服务器的购买使用

           Virtual Host Server(虚拟主机)是一个云计算服务,相比于传统的购买服务器硬件方式搭建服务器,有着价格便宜,个性化定制配置,使用灵活等特点。按需求购买计算资源,只需要几分钟时间就可以在公网配置一个属于自己的服务器。         最著名的云计算服务提供商国外有Amazon,Google,vultr等等,国内有阿里云,腾讯云等等…

    2018-03-26
  • 关于Linux系统无法启动的问题(1)

                                  &nbsp…

    2017-09-04
  • 计算机基础知识

    计算机系统 计算机系统组成的两大部分 硬件系统     主机         中央处理器CPU{运算器,控制器}         内存储器{ROM,RAM} &…

    Linux干货 2016-08-04
  • OpenSSL用法详解

    OpenSSL用法详解 OpenSSL:        组件:libcrypto,libssl                 openssl &nb…

    Linux干货 2016-09-23