Network Protocol
OSI(Open System Interconnection) Model: 7 Layers. Host layers: Applicatin, Presentation, Session, Transport, Media layers: Network, Data Link, Physical. 应用层、表示层、会话层、传输层、网络层、数据链路层、物理层。
TCP/IP Model: 4 layers: Application, Transport, Network, Link. 应用层、传输层、网络层、链路层。
可以使用 tcpdump 抓包,用 Wireshark 分析网络问题。
Layer | Protocol data unit | Function |
---|---|---|
Application | Data | High-level APIs, including resource sharing, remote file access |
Presentation | Data | Translation of data between a networking service and an application; including character encoding, data compression and encryption/decryption |
Session | Data | Managing communication sessions, i.e., continuous exchange of information in the form of multiple back-and-forth transmissions between two nodes |
Transport | Segment, Datagram | Reliable transmission of data segments between points on a network, including segmentation, acknowledgement and multiplexing |
Network | Packet | Structuring and managing a multi-node network, including addressing, routing and traffic control |
Data link | Frame | Transmission of data frames between two nodes connected by a physical layer |
Physical | Bit, Symbol | Transmission and reception of raw bit streams over a physical medium |
Protocol
- Layer 7 - Application HTTP, FTP, Telnet, SSH, SMTP
- Layer 6 - Presentation MIME, XDR
- Layer 5 - Session SSL/TLS
- Layer 4 - Transport TCP, UDP, SCTP
- Layer 3 - Network IP, IPsec, ICMP, IGMP, OSPF, RIP
- Layer 2 - Data link PPP, Vlan, PPPoE
- Layer 1 - Physical cable/fiber
协议的三要素:
- 语法:即数据与控制信息的结构或格式;
- 语义:即需要发出何种控制信息,完成何种动作以及做出何种响应;
- 同步:即事件实现顺序的详细说明。
协:两个以上的参与者 议:行为约定和规范
一些可能不常见但用到的协议
dict
dict 协议是一个在线网络字典协议,这个协议是用来架设一个字典服务的。由 TCP 承载的 应用层 协议。
通过 dict 获取 redis 配置信息:
curl -v 'dict://127.0.0.1:6379/info'
gopher
gopher 协议有点像 HTTP 协议的前身,可以发送 GET 和 POST 请求。由 TCP 承载的 应用层 协议。
lapp
ldap 轻量级目录访问协议。
Underlay/Overlay
原文:https://blog.csdn.net/qq_35029061/article/details/125682812
搭建大规模的云计算环境需要数据中心突破多种技术难题,其中虚拟化是云计算最为显著的特征。要满足虚拟机在数据中心任意网络位置之间都可以无感知迁移,就需要引入一些新的网络技术,Overlay 技术就是在这样的背景下产生的。
Overlay 网络是通过网络虚拟化技术,在同一张 Underlay 网络上构建出的一张或者多张虚拟的逻辑网络。不同的 Overlay 网络虽然共享 Underlay 网络中的设备和线路,但是 Overlay 网络中的业务与 Underlay 网络中的物理组网和互联技术相互解耦。 Overlay 网络的多实例化,既可以服务于同一租户的不同业务(如多个部门),也可以服务于不同租户,是 SD-WAN 以及数据中心等解决方案使用的核心组网技术。
P network: Provider network 运营商核心网络 C network: Customer network 客户网络 P device : 运营商网络核心设备 PE device: 运营商网络边缘设备,用于连接 P network 和 C network CE device: 客户网络边缘设备,用于连接 P network 和 C network
Underlay 网络
由多种类型的设备互联而成的物理网络,负责网络之间的数据包传输。 典型的 Underlay 网络中,互联的设备可以是各类型交换机、路由器、负载均衡设备、防火墙等,但网络的各个设备间必须通过路由协议来保证 IP 的连通性。 Underlay 可以是二层也可以是三层网络,二层网络通常应用于以太网,通过 VALN 进行划分。三层网络的典型应用就是互联网,其在同一个自治域使用 OSPF, IS-IS 等协议进行路由控制,在各个自治域之间采用 BGP 等协议进行路由传递与互联。也有 MPLS 这种介于二三层的 WAN 技术搭建的 Underlay 网络。 Underlay 网络存在的问题:
- 由于硬件根据目的 IP 地址进行数据包的转发,所以传输的路径依赖十分严重
- 新增或变更业务需要对现有底层网络进行修改,重新配置耗时严重
- 互联网不能保证私密通信的安全要求
- 网络切片和网络分段实现复杂,无法做到网络资源的按需分配
- 多路径转发繁琐,无法融合和多个底层网络来实现负载均衡
Overlay 网络
采用网络虚拟化技术在 Underlay 网络之上创建虚拟的 Overlay 网络。 在 Overlay 网络中,设备之间可以通过逻辑链路,按照需求完成互联形成 Overlay 网络,相互连接的 Overlay 设备之间建立隧道,数据包准备传输出去时,设备为数据包添加新的 IP 头部和隧道头部,并且屏蔽掉内层的 IP 头部,数据包根据新的 IP 头部进行转发。当数据包传到另一个设备后,外部的 IP 头部和隧道头部将被丢弃,得到原始的数据包,整个过程 Overlay 网络并不感知 Underlay 网络。 Overlay 网络有多种规范: VXLAN, NVGRE, SST, GRE, NVO3, EVPN 等。 利用 SDN(Software Defined Network) 引入了控制器后,Overlay 网络的优点:
- 流量传输不依赖于特定路线。Overlay 网络使用隧道技术,可以灵活选择不同的底层链路,使用多种方式保证流量的稳定传输
- Overlay 网络可以按照需求建立不同的虚拟拓扑组网,无需对底层网络作出修改
- 通过加密手段可以保护流量在互联网上的通信
- 支持网络切片和网络分段,将不同的业务分割开来,可以实现网络的自由分配
- 支持多路径转发,在 Overlay 网络中,流量可以从源传输到目的地可以通过多条路径,从而实现负载均衡,最大化利用线路的带宽
item | Underay | overlay |
---|---|---|
数据传输 | 通过网络设备如路由器、交换机传输 | 沿着节点间的虚拟链路进行传输 |
包封装和开销 | 发生在网络的二层和三层 | 需要跨越源和目的封装数据包,产生额外的开销 |
报文控制 | 面向硬件 | 面向软件 |
部署时间 | 上线新服务设置大量配置,耗时多 | 只需要改虚拟网络中的拓扑结构,可快速部署 |
多路径转发 | 因为可扩展性低,会产生更多的开销和网络复杂度 | 支持虚拟网络内的多路径转发 |
扩展性 | 底层网络一旦搭建好,新增设备较为困难,可扩展性差 | 扩展性强,VLAN 支持 4096 个标识符,VXLAN 支持 1600 万 |
协议 | 以太网协议、 VLAN 、路由协议 | VXLAN, NVGRE, SST, GRE, NVO3, EVPN |
多租户管理 | 需要使用基于 NAT 或 VRF 的隔离,在大型网络中是个挑战 | 能够管理多个租户之间的重叠 IP 地址 |
Overlay 技术简单理解就是把⼀个逻辑网络建立在⼀个实体网络之上。其大体框架是对基础网络不进行大规模修改的条件下,实现应用在网络上的承载,并能与其它网络业务分离,并且以基于 IP 的基础网络技术为主。
Overlay 可以理解是一种隧道封装技术,这样大家都不会陌生,像 IPv4inIPv4, GRE, MPLS 等都是典型的隧道技术,相当于直接在源网络和目标网络之间直接拉了一根“光纤”。不过,现有的这些隧道技术都是点到点的隧道协议,只能点对点建立隧道。
Overlay 技术是通过点到多点的隧道封装协议,完全忽略中间网络的结构和细节,把整个中间网络虚拟成一台“巨大无比的二层交换机”, 实现虚拟机在数据中心网络里随时随地迁移。同时, Overlay 技术中采用扩展的隔离标识位数,能够突破 VLAN 的 4094 个数量限制,支持高达 16M 用户,并在必要时可将广播流量转化为组播流量,避免广播数据泛滥。
Overlay 网络可以分为网络 Overlay ,主机 Overlay 和混合式 Overlay 三大技术。
网络 Overlay
主要针对物理服务器,物理交换机作为边缘设备(物理交换机为 VTEP 节点)。
网络 Overlay 指的是隧道封装在物理交换机上完成,通过控制协议对边缘的网络设备完成网络构建和扩展。网络 Overlay 是基于目前数据中心网络面临的问题而出现的,传统的网络普遍采用 STP 环网技术,后来出现了虚拟化,如今虚拟化技术已经飞入寻常数据中心中,但可以进行虚拟化的网络设备数量毕竟有限,对于大型的数据中心接入网络设备都会有数千台,为解决大规模环网问题出现了 EVI, TRILL, VPLS, LISP, VXLAN 等等新技术,其中 Trill 的升级版就是网络 Overlay ,网络 Overlay 依仗的主要技术就是 VXLAN 。
在网络 Overlay 中,要求所有的物理接入交换机都能支持 VXLAN ,物理服务器支持 SR-IOV 功能,使虚拟机通过 SR-IOV 技术直接与物理交换机相连,虚拟机的流量在接入交换机上进行 VXLAN 报文的封装和卸载,对于非虚拟化服务器,直接连接支持 VXLAN 接入交换机,服务器流量在接入交换机上进行 VXLAN 报文封装和卸载。
在 VXLAN 网络和 VLAN 网络之间要部署 VXLAN GW 交换机,实现 VXLAN 网络主机与 VLAN 网络主机之间的通信。
目前,网络设备的主流芯片已经实现了 VXLAN 技术,对于在数据中心里部署网络 Overlay 提供了可能。网络 Overlay 的优势在于物理网络设备性能转发性能比较高,可以支持非虚拟化的物理服务器之间的组网互通。
主机 Overlay
针对虚拟化, vSwitch 作为网络边缘设备(vSwitch 为 VTEP 节点)。
主机 Overlay 指的是隧道封装在服务器的 vSwitch 上完成,不用增加新的网络设备即可完成 Overlay 部署,可以支持虚拟化的服务器之间组网互通。主机 Overlay 使用服务器上的 vSwitch 软件实现 VXLAN 网络功能, VXLAN 技术中的 VTEP, VXLAN GW, VXLAN IP GW 均通过安装在服务器上的 vSwitch 软件实现,只需要物理网络设备支持 IP 转发即可,所有 IP 可达的主机即可构建一个大范围二层网络。
这种主机 Overlay 技术实现,屏蔽了物理网络的模型与拓扑差异,将物理网络的技术实现与计算虚拟化的关键要求分离开来,几乎可以支持以太网在任意网络上的透传,使得云的计算资源调度范围空前扩大。为了使得 VXLAN Overlay 网络更加简化运行管理,便于云的服务提供,各厂家使用集中控制的模型,将分散在多个物理服务器上的 vSwitch 构成一个大型的、虚拟化的分布式 Overlay vSwitch ,只要在分布式 vSwitch 范围内,虚拟机在不同物理服务器上的迁移,便被视为在一个虚拟的设备上迁移,如此大大降低了云中资源的调度难度和复杂度。
首先是 MAC 和 ARP 地址容量的问题,网络 Overlay 通过基于会话的 MAC 学习来扩充 MAC 地址容量,主机 Overlay 则是通过 L2oIP 数据封装来扩充 MAC 地址容量;其次 VLAN 容量问题,网络 Overlay 和主机 Overlay 都通过 VXLAN 技术实现,可提供 16M 的 VLAN 标识,可以满足多业务隔离的需求;再次虚拟机迁移问题,网络 Overlay 采用大二层设计,主推 Fabric Path 和 Trill 应用,主机 Overlay 更加强调隧道封装,不关心网络是二层和三层,通过主机 Overlay 可以很好地实现异地数据中心之间虚拟机迁移。
Overlay 网络构成
- 边缘设备:与虚拟机直接相连的设备
- 控制平面:主要负责虚拟隧道的建立维护以及主机可达性信息的通告
- 转发平面:承载 Overlay 报文的物理网络
Network Layer
ICMP
类型 type :
- 8 - 回送请求(查询)
- 0 - 回送应答
- 3 - 目标不可达(差错)
- 4 - 原点抑制
- 5 - 重定向
- 11 - 超时
Transport Layer
网络工具
ss
netstat
socat
NAT
Network Address Translation: 网络地址转换。
NAT 网关闲谈
NAT 网关: VM –—> NAT Gateway –—> Internet
Reference
- 《计算机网络(第7版)》谢希仁 著