当前位置:网站首页>容器网络硬核技术内幕 (26) 知微知彰,知柔知刚 (下)
容器网络硬核技术内幕 (26) 知微知彰,知柔知刚 (下)
2022-07-29 20:35:00 【用户8289326】
先回答上一期的遗留问题:
交换机的TCAM资源是有限的, 一般在500K以内。我们刚才提到,实现微分段需要在TCAM内查找,这会不会大量消耗交换机的TCAM资源,影响其他业务呢?
那么,我们需要理解一下,在分布式任意播网关模式下,TCAM的使用方式:
让我们回顾这篇:《局域网SDN硬核技术内幕 20 亢龙有悔——规格与限制(上)》。这篇专题中有一个重要的结论是:
TOR交换机在做分布式任意播网关的情况下,需要学习该交换机配置的租户内,所有的虚拟机的FIB表项。
由于在虚拟化/容器化环境中,VM或容器的位置是分散的,因此,实际上大部分FIB表项的key,并不是CIDR,而是具有完整的目的IP的主机路由。(IPv4下为32位主机路由)。我们只需要为其增加微分段的Group ID值,就可以在不消耗额外的TCAM资源的前提下,实现从IP地址查找其Group ID的功能。
好了,在前几期专题中,我们提到了,微分段能让SDN网络“知微,知彰”,但我们也发现,基于微分段的访问控制,是刚性的访问控制,是无状态的。
而我们期望的访问控制却是能跟踪传输层连接状态的柔性控制——
如图,frontend向db发起TCP SYN,三次握手后,连接能够正常建立,双向数据包都可以放通。
反之,db向frontend发起TCP SYN,这种行为将被访问控制阻断:
显然,交换机的ACL是难以实现这一功能的,即使通过可编程的转发平面实现所谓的“自反ACL”,交换机也无法跟踪TCP的状态机,与基于状态的防火墙安全性相差甚远。
因此,我们需要将状态防火墙与微分段结合,才能让容器网络除了“知微,知彰”之外,还可以“知柔,知刚”。
让我们回顾一下上期提到的基于group的访问矩阵:
以传统的web-app-db三层架构为例,我们期望的互访关系如下表:
但如果以TCP的发起/响应关系论,实际上,我们期望的是下表:
如图,红字部分体现了从App向Web的发起访问,从db向app的发起访问均将被拒绝。
显然,我们要区分从App向Web返回的回程流量,和App向Web发起访问的请求,就必须将Web和App之间的流量重新定向到防火墙——
我们的访问矩阵应该改成这样:
这样一来,交换机可以将匹配微分段的数据包重新定向到状态检测防火墙上。状态检测防火墙跟踪Web-App,App-DB之间的TCP状态机,判定是否放行数据包。以Web与App为例,当连接没有建立的时候,任何数据包都会被丢弃,除了web向app发起的TCP SYN以外。
当防火墙完成对三次握手的跟踪,会话进入session established状态,回程数据包才被放通。
显然,对于容器网络,这种柔性控制,才是我们最需要的符合NetworkPolicy定义的实现。
我们小结一下:
在硬件交换机作为容器网络的Overlay网关时,通过微分段实现不同标签的pod隔离,通过微分段重定向到防火墙进行pod之间有状态的访问控制,就能够让容器SDN网络 “知微,知彰,知柔,知刚”。
边栏推荐
猜你喜欢

Panorama Tutorial丨How to shoot sunrise and sunset scenes in VR panoramic shooting?

336. Palindromic Pairs

Setinel 原理简介

First thoughts on the first attempt to avoid killing without a file (Part 1)

GalNAc-siRNA甘露糖/半乳糖修饰脱氧核糖核酸|siRNA-S-S-DSPE(RNA修饰技术介绍)

MSNs-SS-siRNA二氧化硅-二硫键-核酸RNA|HA-SS-siRNA,hyaluronic acid透明质酸修饰RNA(RNA修饰剂)

R language for airbnb data nlp text mining, geography, word cloud visualization, regression GAM model, cross-validation analysis

微信小程序 30 自定义模板和获取用户登录凭证

Cobaltstrike和BurpSuite桌面快捷配置

五个供应商销售谈判策略的识别以及应对它们的方法
随机推荐
7 行代码搞崩溃 B 站,原因令人唏嘘!
conda virtual environment | install and list problems
全景教程丨VR全景拍摄如何拍摄日出和日落的场景?
940. Different subsequences II
JUC Concurrent Programming Basics AQS
Unity determines whether a string can be converted to float type
博世集团启动量子数字孪生计划
怎么实现您的个人知识库?
RNA修饰质谱检测|dextran-siRNA 葡聚糖化学偶联DNA/RNA|siRNA-PLGA聚乳酸-羟基乙酸共聚物修饰核糖核酸
MySQL - 设计游戏用户信息表
Hyaluronic acid-siRNA透明质酸修饰核糖核酸|peptide–siRNA 多肽偶连RNA/DNA核酸(齐岳PNA修饰物)
OAuth,JWT ,OIDC你们搞得我好乱啊
微博账号奇葩逻辑产品设计
Cooler Navigation helps you shop easily in shopping malls without confusion
378. The Kth Smallest Element in an Ordered Matrix
Setinel 原理简介
太卷了,企业级的智慧物业系统,也完全开源....
Permutations of a small feat: cantor
最小jvm源码分析
荧光量子点修饰siRNA-QDs|纳米金修饰siRNA-Au(RNA修饰方式方法)