计算机网络
文章平均质量分 95
编程黑洞zz
这个作者很懒,什么都没留下…
展开
-
kubernetes service如何通过iptables转发
本文主要是介绍kubernetes的service是如何利用iptables来进行流量的转发达到流量的负载均衡的,并会通过实践操作来更好的理解与验证其原理。原创 2024-01-19 08:00:00 · 871 阅读 · 0 评论 -
tcp缓存引起的日志丢失
logstash从数据源拉取日志,然后通过tcp插件发送到proxy进程中。在业务侧发现日志量明显少了,所以有了这一次的问题排查。原创 2023-12-26 18:30:31 · 963 阅读 · 0 评论 -
理解calico容器网络通信方案原理
Calico是k8s中常用的容器解决方案的插件,本文主要介绍BGP模式和IPIP模式是如何解决的,并详细了解其原理,并通过实验加深理解。Calico是属于纯3层的网络模型,每个容器都通过IP直接通信,中间通过路由转发找到对方。容器所在的节点类似于传统的路由器,提供了路由查找的功能。每个容器所在的主机节点扮演了虚拟路由器 (vRouter)的功能,vRouter必须有某种方法,能够知道整个集群的路由信息。之前提到的FlannelHost Gateway模式。原创 2023-06-04 17:48:30 · 655 阅读 · 0 评论 -
理解flannel的三种容器网络方案原理
本文主要介绍flannel在k8s网络中作为网络插件通过UDP、VXLAN、HOST-GATEWAY三种模式来解决容器跨主机网络通信的,并通过手动实现这三种模式深入理解其原理。在Flannel的UDP模式中,每个节点都会启动一个UDP服务器,用于监听来自其他节点的数据包。当一个容器向另一个容器发送数据包时,它会将数据包发送到目标容器的IP地址和端口号。Flannel会将该数据包封装在一个UDP数据包中,并将其发送到目标节点的UDP服务器。目标节点的UDP服务器会解析该数据包,并将其传递给目标容器。原创 2023-06-05 08:00:00 · 1286 阅读 · 0 评论 -
理解VXLAN网络
在三层可达的网络中部署VXLAN,在每个VXLAN网络端点中都有一个VTEP设备,负责将VXLAN协议的数据包进行UDP数据包的封包和解包,可以将其理解为隧道,将VXLAN数据包从逻辑网络转发到物理网络VXLAN使用24位的VXLAN网络标识符(VNI)来标识不同的虚拟网络。原创 2023-05-26 13:09:56 · 738 阅读 · 0 评论 -
理解Linux TunTap设备
通信流程是,在Node1中的NS1进行ping Node2中NS2的veth0网卡的IP,ICMP的IP包会通过veth0到达veth1中,并进入到宿主机的网络协议栈,通过路由配置达到tun设备,这时app服务从tun设备中读取到IP包数据,然后将其封装在UDP包中,并通过eth0网卡发送到Node2的eth0网卡上,通过网络协议栈解包达到app程序中,拿到里面的IP包,将其写入到tun设备中,进入到网络协议栈中,通过路由达到veth1中,然后到达net ns1的veth0网卡。原创 2023-05-26 11:10:19 · 1049 阅读 · 0 评论 -
快速了解iptables
它包含 PREROUTING、INPUT、FORWARD、OUTPUT 和 POSTROUTING 五个链,分别用于处理进入本机前的数据包、进入本机的数据包、转发的数据包、从本机发出的数据包和本机生成的数据包。iptables的规则就是挂载netfilter钩子上的函数,用来修改数据包的内容或者过滤数据包等操作,iptables的表就是所有规则的5个逻辑集合。不同的表挂不同的链,这是为了分类管理iptables规则(rule)的,系统所有的iptables规则都被划分到不同的表集合中。原创 2023-05-26 10:11:21 · 326 阅读 · 0 评论