• Kubernetes中Pod之间使用虚拟二层网络连接


    Kubernetes中Pod之间使用虚拟二层网络连接引起的调研

    传统的三层网络

    • 在传统的大型数据中心,网络通常是三层结构。这个模型包含了以下三层:

      • Access Layer(接入层):有时也称为Edge Layer。接入交换机通常位于机架顶部,所以它们也被称为ToR(Top of Rack)交换机,它们物理连接服务器。
      • Aggregation Layer(汇聚层):有时候也称为Distribution Layer。汇聚交换机连接Access交换机,同时提供其他的服务,例如防火墙,SSL offload,入侵检测,网络分析等。
      • Core Layer(核心层):核心交换机为进出数据中心的包提供高速的转发,为多个汇聚层提供连接性,核心交换机为通常为整个网络提供一个弹性的L3路由网络。
    • 三层网络框架示意图如下:
      三层网络框架

    其中:汇聚交换机以上的为L2网络,以上是L3网络。每组汇聚交换机管理一个POD(Point Of Delivery),每个POD内都是独立的VLAN网络。服务器在POD内迁移不必修改IP地址和默认网关,因为一个POD对应一个L2广播域。

    比如:同一机柜的连接的交换机叫接入交换机,连接多个接入交换机的叫汇聚交换机,它们处于同一个vlan网络。(在计算机网络中,一个二层网络可以被划分为多个不同的广播域,一个广播域对应了一个特定的用户组,默认情况下这些不同的广播域是相互隔离的。不同的广播域之间想要通信,需要通过一个或多个路由器。这样的一个广播域就称为VLAN,报文中使用12位来表示VLAN,因此VLAN只能分配4096个)

    核心交换机是解决不同数据中心之间的联通

    南北流向和东西流向
    • 南北向流量:数据中心之外的客户端到数据中心服务器之间的流量,或者数据中心服务器访问互联网的流量。
    • 东西向流量:数据中心内的服务器之间的流量。
    • 东西向流量分为L2和L3流量:
    • L2流量:
    (1)东西向的L2流量,如果源和目的主机都在同一个接入层交换机下,那么可以达到全速,因为接入交换机就能完成转发。
    (2)如果需要跨机架,但仍然是在一个汇聚层POD内,则需要通过汇聚层交换机进行转发,带宽取决于汇聚层交换机的转发速率,端口带宽和同时有多少个接入层交换机共享汇聚层交换机。汇聚层和接入层之间一般使用STP(后面会提到),这使得一个汇聚层POD只能有一个汇聚层交换机在工作。为了满足跨机架的L2转发,汇聚层交换机的性能,例如带宽,转发速率必然要大于接入层交换机。
    (3)如果L2流量需要跨汇聚层POD(大二层架构),那必须经过核心交换机。同样的问题仍然存在,对核心交换机的要求会更高。
    
    • L3流量:
    东西向的L3流量,不论是不是在一个接入层交换机下,都需要走到具有L3功能的核心交换机才能完成转发。如下图所示:
    

    STP

    为什么要用STP

    广播风暴:

    前提:node1找node3,但node3网络有问题

    过程:

    • node1->Access Lay1;
    • Access Lay1->Aggregation Lay1; Access Lay1->Aggregation Lay2;
    • Aggregation Lay1->Access Lay2(node3网络有问题,Access Lay2会将node3对应的mac删除);Aggregation Lay2->Access Lay2 ;
    • Access Lay2 ->Aggregation Lay1;
    • Aggregation Lay1->Access Lay1;
    • 掉转到第二步

    STP:
    汇聚交换机和接入交换机之间通常使用STP(Spanning Tree Protocol)。STP使得对于一个VLAN网络只有一个汇聚层交换机可用,其他的汇聚层交换机在出现故障时才被使用(三层框架中的虚线)。也就是说汇聚层是一个active-passive的HA模式。这样在汇聚层,做不到水平扩展,因为就算加入多个汇聚层交换机,仍然只有一个在工作。

    大二层网络

    随着云计算的发展,计算资源被池化,为了使得计算资源可以任意分配,需要一个大二层的网络架构。即整个数据中心网络都是一个L2广播域,这样,服务器可以在任意地点创建,迁移,而不需要对IP地址或者默认网关做修改。大二层网络架构,L2/L3分界在核心交换机,核心交换机以下,也就是整个数据中心,是L2网络(当然,可以包含多个VLAN,VLAN之间通过核心交换机做路由进行连通)。大二层的网络架构如下图所示:

    不存在STP问题的原因:
    服务器->接入层->汇聚层->核心层->汇聚层->接入层

  • 相关阅读:
    java 数据结构(六):数组与集合
    java 数据结构(七):Collection接口
    java 数据结构(八):Iterator接口与foreach循环
    java 数据结构(九):Collection子接口:List接口
    java 数据结构(十):Collection子接口:Set接口
    java 数据结构(十一):Map接口
    java 数据结构(十二):Collections工具类的使用
    java 面向对象(三十二):泛型一 泛型的理解
    java 面向对象(三十三):泛型二 泛型在集合中的使用
    iOS下JS与OC互相调用(四)--JavaScriptCore
  • 原文地址:https://www.cnblogs.com/zhangjxblog/p/12167752.html
Copyright © 2020-2023  润新知