nni

vxlan evpn的实现

我的未来我决定 提交于 2020-11-22 18:59:54
1.vxlan的数据平面实现 vxlan数据平面主要就是封装vxlan header以及ethernet、ip、udp头。具体重要的信息就是vni、sip、dip vxlan入口PE的处理流程主要为上行,可以设计为: 1)pvv查端口表,得到:vpn id 2)vpnid+vlan+mac查转发表,得到私网信息表的索引(还会有frr、vpn等等信息) 3)查私网表得到 vni ,以及公网表的索引 4)查公网表得到隧道表的索引 5)查隧道表得到 sip、dip 进行封装 6)查路由表转发 vxlan出口PE的处理流程主要为上行可以设计为: 1)本地路由且为vxlan的封装格式,进行隧道解封装表的查找( sip+dip ),看是否为终结 2)终结时,用vni查表得到vpnid 3)用vpnid+vlan+mac查转发表,进行转发 在不同的组网下有些转发细节需要关注 1、非ESI,远端PE不会形成私网下一跳的负荷分担或者FRR 2、源入源出的检查,包括AC和NNI两种情况用不同的方式检查。 3、水平分割,针对广播,防止广播风暴。通过对groupid进行检查实现。例如从nni过来的广播报文不会忘nni侧转发。 4、除了水平分割,还要采取一些措施防止环路1)nni侧过来的报文,不往nondf AC转发,ac侧过来的报文没有这个处理(交换带标记表明是ac上来的报文);2

计算机网络--知识点(上篇)

穿精又带淫゛_ 提交于 2020-10-04 22:56:45
一、概述 1. “ 网络转发数据包”根据虚电路数字网络被称为 虚电路 。 2. 数据链路层协议所交换的单位被称为 帧 。 3. FDM(频分多路复用) 和 TDM(时分复用) 属于" 电路交换网络 "。 4. 存储转发传输 意味着交换必须接收整个包,才可以开始发送接收到的包到出站链接。 5. 数据报网络 是 使用目的地址 , 虚电路网络 是 使用VC数字向目的地转发数据包 。 6. 移动互联网的网络层负责将"网络层数据包"被称为 数据报 ,从一个宿主传播到另一个。 7. 各层的协议被称为 协议栈 。 8. "分组交换网络"的两种类型: 数据报 和 虚电路网络 ; 9. 互联网允许 P2P应用程序 运行在端系统互相交换数据。 10. 互联网提供两种服务的“分布式应用程序”: 面向无连接不可靠服务 和 面向连接的可靠服务 。 11. 协议 :定义了在两个或两个以上的通信实体之间交换信息的格式和顺序,以传输或接收消息或其它事件上的行动。 12. 面向服务的连接 :应用程序可以依赖于连接以正确的顺序提供无错误的传送所有的数据。 13. 流量控制 :确保连接了的任何一方都不能发送数据包太快太大。 14. 拥塞控制 :有助于阻止互联网进入僵局状态,当一个包交换变得拥挤,它的缓冲区会产生溢出和包丢失。 15. TCP(传输控制协议) :互联网面向连接的、可靠的、基于字节流的“传输层

在Bash中循环浏览文件内容

冷暖自知 提交于 2020-08-09 08:58:08
问题: How do I iterate through each line of a text file with Bash ? 如何使用 Bash 遍历文本文件的每一行? With this script: 使用此脚本: echo "Start!" for p in (peptides.txt) do echo "${p}" done I get this output on the screen: 我在屏幕上得到以下输出: Start! ./runPep.sh: line 3: syntax error near unexpected token `(' ./runPep.sh: line 3: `for p in (peptides.txt)' (Later I want to do something more complicated with $p than just output to the screen.) (后来我想用 $p 来做一些比只输出到屏幕更复杂的事情。) The environment variable SHELL is (from env): 环境变量 SHELL 是(来自env): SHELL=/bin/bash /bin/bash --version output: /bin/bash --version 输出: GNU bash,