淄博网站优化服务,石家庄58同城,制作网站软件下载,科技袁人袁岚峰网络层#xff1a;控制平面
记录一些学习计算机网络:自顶向下的学习笔记和心得 Github地址#xff0c;欢迎star ⭐️⭐️⭐️⭐️⭐️ 控制平面作为一种网络范围的逻辑#xff0c;不仅控制沿着从源主机到目的主机的端到端路径间的路由器如何转发数据报#xff0c;而且控制…网络层控制平面
记录一些学习计算机网络:自顶向下的学习笔记和心得 Github地址欢迎star ⭐️⭐️⭐️⭐️⭐️ 控制平面作为一种网络范围的逻辑不仅控制沿着从源主机到目的主机的端到端路径间的路由器如何转发数据报而且控制网络层组件和服务如何配置和管理 概述
转发表基于目的地转发的场景和流表泛化转发的场景计算、维护和安装流表以及转发表 每路由器控制 每台路由器具有一个路由选择组件用于和其他路由器路由选择组件通信 逻辑集中式控制 逻辑集中式控制器计算并分发转发表以供每台路由器使用该控制器与每台路由器中的控制代理CA进行交互CA一般只具有与控制器通信并按照控制器命令行事这一种功能与每路由器控制中的CA不同这些CA之间不能直接相互交互也不能主动参与计算转发表
路由选择算法介绍以及划分 路由选择算法目的是从发送方到接收方的过程中确定一条通过路由器网络的好路径最低开销的路径 根据集中式和非集中式来划分 集中式路由选择算法 用完整的、全局的网络知识计算出从源到目的地之间的最低开销路径集中式算法具有关于连通性和链路开销方面的完整信息具有全局状态信息的算法常被称作链路状态LS算法该算法必须知道网络中每条链路的开销 分散式路由选择算法 路由器以迭代、分布式的方式计算最低开销路径没有节点拥有关于所有网络链路开销的完整信息每个节点仅有与其直接相连链路的开销知识然后通过迭代计算过程以及相邻节点的信息交换来确定最低开销路径距离向量DV算法分散式路由选择算法每个节点维护到网络中所有其他节点的开销(距离)的向量 根据静态和动态来划份 静态路由选择算法路由随时间变化非常缓慢通常是人工进行调整动态路由选择算法随着网络流量负载或拓扑发生变化而改变路由选择路径 易受到诸如路由选择循环、路由振荡之类问题的影响 根据负载敏感和负责迟钝来划分 负载敏感算法链路开销会动态地变化以反映出底层链路的当前拥塞水平负载迟钝算法某条链路的开销不明确反应当前或最近的拥塞水平主流
链路状态路由选择算法LS
通过链路状态广播算法向每个节点向网路中所有其他节点广播链路状态分组每个分组包含它所连接的链路的标识和开销每个节点都具有网络的统一、完整视图然后每个节点都能够运行LS算法并计算出相同的最低开销路径集合链路状态路由选择算法LSDijkstra算法 Djkstra算法计算出某节点到所有其他节点的最低开销路径 当同一链路两个方向负载不同时会出现振荡情况 该情况不仅出现在LS中它出现在任何使用拥塞或基于时延的链路测度算法中让所有路由器并非同时运行LS算法来解决这种问题为了避免自同步将通告时间随机化
距离向量算法DV
距离向量算法是一种迭代的、异步的和分布式算法 分布式每个节点都要从相邻节点获取信息、计算然后向邻居分发迭代此算法一直持续到没有信息交换为止异步不要求所有节点相互之间步伐一致 Bellman-Ford算法节点唯一具有的信息是它到直接相连邻居的链路开销和它从这些邻居接收到的信息每个节点具有初始路由选择表从邻居接受更新距离向量、重新计算路由选择表项和通知邻居到目的地的最低开销路径的开销循环往复直到没有更新该算法进入静止状态为了避免路由选择环路 如果z通过y路由到达x则z将通告yz到x的距离是无穷大的即Dz(x)为无穷只要z经y路由选择到xz就持续这样做
LS和DV路由选择算法比较
报文复杂度LS每次链路状态发生改变就要向所有节点发送新的链路开销DV算法仅当新的链路开销导致与该链路相连的最低开销路径发生变化时才传播新的开销收敛速度DV慢且在收敛时会遇到路由选择环路以及无穷计数问题健壮性 LS路由计算在某种程度上是分离的提供了一定的健壮性DV一个不正确值会扩散到整个网络
因特网自治系统内部路由选择OSPF 随着路由器数目变得巨大成本和规模将会高的不可实现 因特网时ISP的网络每个ISP都有自己的路由器网络 引入自治系统AS 每个AS由一组在相同管理控制下的路由器组成通常在一个ISP和互联他们的链路构成一个AS一个ISP可以拆分为多个AS每个AS都有唯一的ASN号标识一个自治系统AS内部的路由选择算法叫做自治系统内部路由选择协议 开放最短路优先OSPF OSPF是一种链路状态协议洪泛链路状态信息和Dijkstra最低开销路径算法使用OSPF一台路由器构建了一幅关于整个自治系统的完整拓扑图OSPF提供了一种机制来让网络管理员为给定的链路权值集合确定最低开销的路由选择管理员设置不同的权重来实现不同的功能最少跳等OSPF路由器向AS内所有路由器广播路由选择信息即使状态未发生改变它也周期性的广播链路状态增加了健壮性OSPF通告包含在IP报文中对OSPF其上层协议的值为89因此OSPF必须自己实现诸如可靠报文传输、链路状态广播等功能OSPF的优点 安全能够鉴别OSPF路由器之间的交换多条相同开销的路径存在多条相等开销路径时无需选择单一路径承载所有流量单播和多播路由选择的综合支持支持在单个AS中的层次结构一个OSPF自治系统能够层次化配置多个区域 每个区域一台或多台区域边界路由器负责为该区域以外的分组提供路由选择每个AS中只有一个OSPF区域被配置为主干区域主干区域为该AS中其余区域之间的流量提供路由选择该主干包含所有的区域边界路由器和部分非边界路由器AS中的路由选择要求分组先到达区域边界路由器然后通过主干区域到达目的区域的区域边界路由器进而到最终目的地
ISP之间的路由选择BGP 当分组跨越多个AS进行路由时需要一个自治系统间路由选择协议 在因特网中所有的AS运行相同的AS间路由选择协议称为边界网关协议 BGP将因特网中数以千计的ISP粘合起来因特网中协议唯一可能竞争者是IP协议 BGP是一种分布式和异步的协议
BGP作用 每个路由器具有一台转发表对于位于相同AS的目的地而言转发表表项由AS内部路由协议决定对于AS外部的目的地由AS间协议决定 BGP中分组路由到一个CIDR化的前缀其中每个前缀代表一个子网或一个子网的集合 x,i形式x代表前缀138.16.68/22i代表路由器的接口之一的接口号 BGP需要完成 从邻居AS获得前缀的可达性信息BGP允许每个子网向因特网其余所有部分通告它的存在BGP确保因特网中过的所有AS知道该子网确定到该前缀的最好的路由一台路由器可能直到多条通往同一前缀的不同路由路由器本地运行一个BGP路由选择过程使用从相邻路由器获得的的前缀可达信息该最好的路由基于策略以及可达性信息来确定 通告BGP路由信息 每个AS内部每台路由器要么是一台网关路由器要么是一台内部路由器 网关路由器位于AS边缘它链接到其他AS的一台或多台路由器内部路由器仅连接在他自己AS中的主机和路由器 在BGP中每台路由器使用179端口的半永久TCP链接交换路由选择信息每条直接连接以及所有通过该链接发送的BGP报文称为BGP链接跨越两个AS的BGP链接称为外部BGP链接eBGP相同AS内部的BGP链接称为内部BGP链接iBGPiBGP不总是与物理链路相对应 确定最好的路由 路由器通过BGP链接通告前缀时前缀包括一些BGP属性前缀及其属性称为路由两个重要的属性是AS-PATH和NEXT-HOP AS-PATH包含通告已经通过的AS的列表 BGP路由器还通过该属性检测和防止通告环路在通告中发现了它自己拒绝该通告 NEXT-HOP是AS-PATH起始的路由器接口的IP地址 热土豆路由选择 从所有可能的路由中选择到开始该路由的NEXT-HOP路由器具有最小开销的路由相同AS内部的两台路由器到达一个目的地可能具有不同AS路径转发表增加AS向外前缀时AS间路由选择协议和AS内部路由选择协议都要用到 路由器选择算法 实际的BGP路由选择算法更为复杂 进入BGP路由选择算法的输入是到某前缀的所有路由的集合该前缀是已被路由器学习和接受的仅有一条时选择该路由否则顺序调用以下规则 路由被指派一个本地偏好值作为其属性之一它取决于该AS的网络管理员最高本地偏好值路由被选择最短AS-PATH路由如果该规则是唯一规则BGP将使用距离向量算法决定路径其中距离测度使用的是AS跳的跳数而不是路由器跳数使用热土豆路由选择最靠近NEXT-HOP路由器的路由使用BGP标识符选择路由 IP任播 BGP还常被用作实现IP任播服务DNS常使用该服务 CDN为他的多台服务器指派相同的IP地址并使用BGP来通告这些服务器的IP地址而处于不同的客户访问该IP会被引导至不同的不同的服务器最近DNS中根服务器具有13个IP地址但是每一个IP地址具有多台服务器这些服务器分布在各地用户访问这些根服务器时将通过IP任播路由到最近的根服务器
SDN控制平面
控制分组在网络的SDN使能设备中转发网络范围逻辑SDN四个关键特征 基于流的转发能够基于运输层、网络层或链路层中任意数量的首部字段值进行SDN控制平面的工作是计算、管理和安装所有网络交换机中的流表项数据平面和控制平面分离 数据平面由网络交换机组成执行”匹配操作“的规则控制平面由服务器以及决定和管理交换机流表的软件组成 网络控制功能位于数据平面交换机外部控制平面本身有两个组成 一个SDN控制器网络操作系统 控制器维护准确的网络状态信息为网络控制应用程序提供这些信息提供方法来让应用程序能够监视、编程和控制下面的网络设备控制器是逻辑上集中通常由几台服务器实现 若干网络控制应用程序 可编程的网络 运行在控制平面上的网路控制应用程序使用了SDN控制器提供的API来定义和控制网络设备的数据平面 SDN促进了网络的分类让计算硬件、系统软件和应用程序的分类为计算机网络领域的创新提供了丰富、开放的生态系统
SDN控制器
通信层SDN控制器和受控网络设备之间的通信需要一个协议来传送控制器与这些设备之间的信息OpenFlow网络状态管理层由SDN控制平面所作出的最终控制决定具有各类最新状态信息对于网络控制应用程序的接口控制器通过他的”北向“接口和应用程序交互该API允许应用程序在状态管理层之间读/写网络状态和流表当状态改变事件出现时应用程序能够注册进行通告
OpenFlow协议
OpenFlow协议运行在SDN控制器和SDN控制的交换机或其他实现OpenFlow API的设备之间运行在TCP之上使用6653默认端口控制器流向受控交换机重要报文 配置该报文允许控制器查询并设置交换机的配置参数修改状态该报文由控制器使用以增加/删除或修改交换机流表中的表项并设置交换机端口特性读状态从交换机的流表和端口收集统计数据和计算器的值发送分组在受控交换机从特定的端口发送一个特定的报文 受控交换机流向控制器重要报文: 流删除通知控制器已删除一个流表项端口状态通知端口状态变化分组入:一个分组不与所有流表项匹配这个分组被发给控制器进行额外处理
ICMP因特网控制报文协议
ICMP被主机和路由器用来彼此沟通网络层的信息ICMP的最典型用途是差错报告ICMP作为有效载荷承载在IP报文段中指明上层协议为ICMP的IP数据报分解出该数据报内容给ICMPICMP报文由一个类型字段和一个编码字段并且包含引起该ICMP报文首次生成的IP数据报的首部和前8个字节以便发送方能确定引起该差错的数据报ICMPv6还增加了新兴IPv6功能所需的新类型和编码 分组太大未被认可的IPv6选项。。。