无网不利

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

            现在网络上广泛应用的网站栈就是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将命令分为内部命令和外部命令,这是由于一些命令是常用的,需要常驻内存以减少检索时间,所以集成在shell之…

    2017-07-15
  • 运维学习笔记-Puppet之Hiera初探

    为什么使用Hiera? Puppet中的manifest同时包含静态的代码(判断/循环逻辑,依赖关系,类定义,资源类型定义等等)和动态的数据(类声明时的参数值和资源声明时的属性值)。说代码是静态的是因为如果在设计阶段考虑比较全面,代码写成之后是很少变化的。但是数据要根据具体情况赋予不同的值。如果manifest设计的不是很灵活,比如某些数据被固化(hardc…

    Linux干货 2016-07-07
  • btrfs初步应用

    前言 一种技术要知其然,还要知其所以然。 Btrfs文件系统 Btrfs(B-tree文件系统,通常念成Butter FS,Better FS或B-tree FS),一种支持写入时复制(COW)的文件系统,运行在Linux操作系统,采用GPL授权。Oracle于2007年对外宣布这项计划,并发布源代码,在2014年8月发布稳定版目标是替换Linux目前的ex…

    Linux干货 2016-05-22
  • 初入Linux世界 —马哥教育网络班N22_第三周课程练习

    一、列出当前系统上所有已经登录的用户的用户名,注意:同一个用户登录多次,则只显示一次即可。           [root@Alien ~]# who |cut -d ' ' -f1|sort -u       root 二、取出最后登录到当前系统的用户的相关…

    Linux干货 2016-09-19
  • 第九周作业

    第九周作业

    Linux干货 2017-11-13
  • 软件包管理工具—rpm命令总结

    描述:    RPM是RedHatPackageManager的缩写,是由RedHat公司开发的软件包安装和管理程序,同Windows平台上的Uninstaller比较类似。使用RPM,用户可以自行安装和管理Linux上的应用程序和系统工具。RPM可以让用户直接以binary方式安装软件包,并且可替用户查询是否已经安装了有关的库文件;在用…

    Linux干货 2016-08-29