青岛网站设计价格,电子商务网站建设需求表,wordpress外链音乐,网页制作培训教学0. 基础知识
1#xff09;网络7层基础知识
在网络7层协议基础里#xff0c;
第一层物理链路#xff1b;第二层是数据链路层#xff0c;在第一层的基础上引入MAC地址做数据转发。MAC地址在局域网内具有唯一性#xff0c;主机A发送数据时#xff0c;会向局域网内进行广播…0. 基础知识
1网络7层基础知识
在网络7层协议基础里
第一层物理链路第二层是数据链路层在第一层的基础上引入MAC地址做数据转发。MAC地址在局域网内具有唯一性主机A发送数据时会向局域网内进行广播每个主机根据mac地址自动匹配。网桥、交换机都是工作在数据链路层。由MAC地址构建的网络可以叫以太网。在网络中接入设备数据剧增后要维护一张MAC地址表变得非常巨大无法得以实施引出了网络层。第三层是网络层IP地址模型。消息传递的时候先通过IP确定两台主机是不是在同一个子网如果在同一个子网就直接交给交换机通过MAC地址通信如果不是同一个子网则将报文发送网关地址。发送给网关前会通过ARP协议获取网关的MAC地址主机根据MAC封装以太帧发送。IP数据包经过路由器后一般是不会修改IP的除非NAT转换但是MAC地址会发生变化。 每经过一个路由器MAC发生一次变化。
2多台主机公用一个公网IP是怎么定位的
一台主机发送信息时网关有一套路由规则将目标IP解析到一个端口中当源IP要出局域网时要通过NAT协议转换为公网IP到达目的网关时目的网关通过NAT将目标IP变成当前局域网IP。
3LANVLAN和VXLAN
LAN 表示 Local Area Network本地局域网。一个 LAN 中的所有成员都会收到任意一个成员发出的广播包。LAN变大后同步广播信息会造成链路冲突堵塞所以交换机将大的LAN切分成多个小的逻辑LAN。VLANVirtual Local Area Network即虚拟局域网是将一个物理的LAN在逻辑上划分成多个广播域的通信技术。每个VLAN是一个广播域VLAN内的主机间可以直接通信而VLAN间则不能直接互通。交换机用于实现VLAN每个交换机端口都分配有一个VLAN。VXLANVirtual eXtensible Local Area Network虚拟扩展局域网本质上是一种隧道技术在源网络设备与目的网络设备之间的IP网络上建立一条逻辑隧道将用户侧报文经过特定的封装后通过这条隧道转发。为什么要VXLAN 突破VLAN ID数量限制。 突破TOR交换机MAC地址表限制之前TORTop Of Rack交换机的一个端口连接一个物理主机对应一个MAC地址但现在交换机的一个端口虽然还是连接一个物理主机但是可能进而连接几十个甚至上百个虚拟机和相应数量的MAC地址。 突破单条网络链路。VxLAN通过UDP封装在三层网络上传输可以利用一些基于三层的协议来实现多条线路共同工作active-active以实现负载均衡例如ECMPLACP。
4网桥
网桥也叫桥接器是连接两个局域网的一种存储/转发设备它能将一个大的LAN分割为多个网段或将两个以上的LAN互联为一个逻辑LAN使LAN上的所有用户都可访问服务器。
当使用网桥连接两段LAN时网桥对来自网段1的MAC 帧首先要检查其终点地址。如果该帧是发往网段1 上某一站的网桥则不将帧转发到网段2 而将其滤除如果该帧是发往网段2 上某一站的网桥则将它转发到网段2。
网桥的缺点
网桥对接收的帧要先存储和查找站表然后转发这就增加了时延。网络上负荷很重时可能因网桥缓冲区的存储空间不够而发生溢出以致产生帧丢失的现象。具有不同MAC子层的网段桥接在一起时网桥在转发一个帧之前必须修改帧的某些字段的内容以适合另一个MAC子层的要求增加时延网桥只适合于用户数不太多不超过几百个和信息量不太大的局域网否则有时会产生较大的广播风暴。
1.Underlay网络
underlay网络是底层物理网络负责网络之间的数据包传递。 在underlay网络中各个设备之间必须通过路由协议来保证IP之间的连接性。underlay网络可以是2层也可以是三层网络。2层网络通常应用于以太网通过VLAN进行划分。三层网络在同一个自治域使用OSPF、IS-IS等协议进行路由控制各个域之间采用BGP等协议做路由传递和互联。
underlay在一个较好的可用环境网络场景下适用也有一些问题
由于硬件根据目的IP进行转发传输路径依赖是非严重新增或变更网络重新配置十分耗时网络切片和分段实现负载无法做到网络资源按需分配多路径转发依赖路由无法融合多个底层网络来实现负载
2.Overlay网络
为了摆脱underlay网络的限制采用网络虚拟化技术在underlay网络上构建虚拟的overlay网络。 互相连接的overlay网络设备之间建立隧道数据包传输出去时设备为数据包添加新的IP头好隧道头部并且屏蔽掉内层IP头部数据包根据新的IP头部进行转发。当数据包到达目的设备后外部的IP都和隧道头被丢弃恢复出原始的数据包。
overlay网络协议标准包括VXLANNVGRESSTNVO3EVPN等。 对比项 Underlay网络 Overlay网络 数据传输 通过网络设备例如路由器、交换机进行传输 沿着节点间的虚拟链路进行传输 包封装和开销 发生在网络的二层和三层 需要跨源和目的封装数据包产生额外的开销 报文控制 面向硬件 面向软件 部署时间 上线新服务涉及大量配置耗时多 只需更改虚拟网络中的拓扑结构可快速部署 多路径转发 因为可扩展性低所以需要使用多路径转发而这会产生更多的开销和网络复杂度 支持虚拟网络内的多路径转发 扩展性 底层网络一旦搭建好新增设备较为困难可扩展性差 扩展性强例如VLAN最多可支持4096个标识符而VXLAN则提供多达1600万个标识符 协议 以太网交换、VLAN、路由协议OSPF、IS-IS、BGP等 VXLAN、NVGRE、SST、GRE、NVO3、EVPN 多租户管理 需要使用基于NAT或者VRF的隔离这在大型网络中是个巨大的挑战 能够管理多个租户之间的重叠IP地址
overlay网络的缺点
性能问题Overlay网络使用VXLAN协议实现跨主机通信会增加数据包的传输延迟对网络性能有一定影响。配置复杂Overlay网络的配置比较复杂需要进行多个配置步骤。容易出错由于Overlay网络的配置比较复杂。
3. docker 构建overlay网络 TCP 端口 2377用来集群管理相关的通信TCP 和 UDP 端口 7946用来进行节点之间的通信UDP 端口 4789用来进行进行 overlay 网络上的数据传输。 -- 在主节点初始化docker swarm docker swarm init -- 在从节点加入swarm集群 docker swarm join --token SWMTKN-1-3e3cne19my7mcmtv8u3v74j0pvyqbyk0yt2rzp48rozftoobh3-0h0pbf3bxxkqeqk9axfqetfux 172.30.171.123:2377 -- 在任意节点查看swarm docker info -- 在主节点创建一个overlay网络 docker network create overlaynet1 --driver overlay --subnet 172.45.0.0/16 --gateway 172.45.0.1 -- 查看swarm群节点 docker node ls 如果创建swarm集群服务没有指定网络将会默认连接到ingress网络。建议可以为每个系统的工作应用单独创建overlay网络。 -- 创建docker容器服务测试 docker service create -t --replicas 2 --network overlaynet1 --name alpine-overlay2 alpine:latest -- 在主节点可以查看 -- 在从节点可以看到有容器启动起来 -- 删除服务和删除网络 docker service rm my-nginx docker network rm nginx-net 4. K8s的网络通信模式
1overlay 网络underlay 网络
overlay网络 flannel vxlan calico bgp, calico vxlan将pod地址信息封装在宿主机地址信息内可以实现跨node子网通信。underlay网络 calico 为pod启动单独的虚拟机网络透传给宿主机的物理网络。
2K8s网络组件
flannel 组件 flannel的基本原理是借助etcd维护网络IP地址分配为每一个pod分配一个不同的IP容器之间网络通过隧道进行通信。Cni0网桥设备每创建一个pod都会创建一对veth pair其中一端是pod的eth0另一端是网桥中的网卡端口。 Calico Calico 是一个用于容器、虚拟机和主机的纯三层开源网络组建使用BGP协议。 IPIP模式是一种隧道协议也是一种overlay网络BGP模式是一种路由协议通过在每个节点运行BGP代理来实现容器间的通信。 5. K8s的网络抓包 深入理解lan、vlan、vxlan《OpenStack 网络》-阿里云开发者社区
百度百科-验证
什么是Overlay网络? Overlay网络 vs Underlay网络 - 华为
k8s 小记 - 网络_莫测之境的技术博客_51CTO博客