无网不利

                网络是主机之间交互的必备条件。联网就是将主机互联来形成网络,使得网络中的主机得以交换信息。

            现在网络上广泛应用的网站栈就是TCP/IP协议栈,它给每个节点都分配了一个用作标识的唯一的IP地址。而这里面又被划分成了很多的层次,每个层次之间都有不同的作用。通过这些参数就可以实现主机之间的精确传输数据。

            TCP服务是一个高可靠的数据传输协议,它是工作在传输层面的全双工连接协议,它具有错误检查机制,具有确认机制,当数据传输失败后它可以使数据恢复、重传。当然这些都是面对网络链路的层面。如果是面对物理层面的硬件损坏,这些就起不了太大的作用了。

            所以在这里就来介绍一种单网址的多网卡绑定机制,他就叫做bonding。它就是将多块网卡绑定同一IP 地址对外提供服务,可以实现高可用或者负载均衡。当然,直接给两块网卡设置同一IP 地址是不可能的。通过bonding ,虚拟一块网卡对外提供连接,物理网卡的被修改为相同的MAC 地址。

            Bonding具有多种工作模式。我们把它分成了mode0-6,今天就来搭配一个mode0(round-robin轮转模式)。它是从头到尾顺序的在每一个slave接口上面发送数据包。本模式提供负载均衡和容错的能力。

        第一步:编写bond的配置文件,这个文件都放置在/etc/sysconfig/network-scripts/这个目录里。

                    直接用命令编写这个目录# vim  /etc/sysconfig/network-scripts/ifcfg-bond0

            无网不利

             这一步我们只是确定了bond的模式和配置了这个服务的IP地址

         第二步就需要我们来给bond配置网卡设备了,先确定好两块网卡设备的名称

             编写第一块网卡 # vim  /etc/sysconfig/network-scripts/ifcfg-eth0

            无网不利

            编写第二块网卡# vim  /etc/sysconfig/network-scripts/ifcfg-eth1

            无网不利

        第三步:如果是在图形界面系统里,一定记得要关闭图形化下的网络管理服务

                # service  NetworkManager  stop

            无网不利

        第四步:重启网络服务

                # service  network  restart

                到这里这个服务已经搭建完成 。

        下面就来看看这个服务的原理。它是将两个网卡的MAC地址虚拟成同一个地址,从而实现MAC地址欺骗来完成这个工作的。

            无网不利

        所以当这两个网卡之中的一个出现故障时,另一块网卡就会开始工作。重而来实现数据传输的高可靠性。

        我们来看看这两块网卡的工作情况是怎样的

            无网不利

        当然,这样的模式不容易给你看出差别。下面再来介绍另一种模式。mode3(broadcast)广播模式,它是将同样的数据通过两块网卡都转发进来,也就是同样的数据他会接收两次。

        来看看mode3的配置方式

        它与mode0的配置方法相同,只需要更改配置文件中的模式选项就可以了,其他步骤相同

           #  vim  /etc/sysconfig/network-scripts/ifcfg-bond0

            无网不利

           其他步骤同mode0

        配置完成后我们就来看看他的数据传输模式吧

            无网不利

        这种模式下每个数据包它都会接收两遍,所以在bond模式下大大提高了数据的传输高可靠性。通过物理和链路的两种模式的保证,网络数据的传输就得到了保证

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

(0)
gonggong
上一篇 2017-08-19
下一篇 2017-08-20

相关推荐

  • 个人思想的转变及对学习的态度

    了解linux已经一年多了,但实际上学习的次数并不多。我是在部队的时候通过网络了解到linux,刚开始接触的是乌班图系统,感觉这个系统美化比较漂亮,就安装在虚拟机里进行各种操作,但是对命令是一窍不通的,都是通过百度粘贴复制各种命令,在复制的是同时我也感觉到头大,这个系统的输入、输出怎么都是字母出现在屏幕上,顿时就感到兴趣失去了一大半,再加上自己英语也不好,就…

    Linux干货 2018-03-26
  • LAMP 通过使用脚本的方式安装并部署Discuz

    该脚本有很多辅助的部分,主要是为了让脚本在中途运行失败可以多次运行,所产生的结果是预期的,与第一运行并成功的结果是一样的。初次摄入bash脚本有很多不足,敬请指正。 所需要的软件 apr-1.5.2.tar.bz2 apr-util-1.5.4.tar.bz2 Discuz_X3.2_SC_UTF8.zip freetype-2.5.4.tar.gz htt…

    Linux干货 2016-04-05
  • Find工具实例

      1、显示当前系统上root、fadora或user1用户的默认shell。         [root@localhost ~]# grep -E "^(root|fadora|user1)\>"&n…

    Linux干货 2016-11-27
  • LINUX HASH命令

    LINUX:Hash命令 介绍:linux系统下会有一个hash表,刚开始这个hash表为空,每执行过一条命令hash表会缓存下这条命令。Shel优先会查看hash表。 hash缓存表可大大提高命令的调用速率 下面介绍几个hash常用选项 刚进入系统使用Hash命令 哈希表为空 使用过命令后使用Hash命令 使用过命令后,Hash可显示缓存的命令 Hash …

    Linux干货 2017-04-03
  • 文本处理

    1 、查出分区空间使用率的最大百分比值   2、查出用户UID最大值的用户名、UID及shell类型   3、查出/tmp的权限,以数字方式显示   4、统计当前连接本机的每个远程主机IP的连接数,并按从大到小排序 5、显示/proc/meminfo文件中以大小s开头的行;(要求:使用两种方式) 6、显示/etc/passwd文…

    Linux干货 2016-08-08
  • shell脚本编程之函数、case语句

    一、函数 调用函数前必须先定义,调用时仅使用函数名即可。 语法: function  函数名 {      函数体 } 也可表示为: 函数名 () { 函数体 } 示例:写一个脚本,判定网络内有哪些主机在线,在线的用绿色显示,不在线的用红示表示: c_net&…

    Linux干货 2015-08-24