mpls 多协议标签交换
传统的IP转发:最长匹配 而且是每一跳路由器查找
后来出现了一个技术叫ATM ATM他是基于VPI/VCI(类似帧中的DLCI 精确查找)
速度比较快 一度以为ATM取代IP地位 因为硬件发展起来了 而且本身ATM机制复杂 当主要厂家都还没弄明白ATM 还没来得生产ATM的设备时
三种报文转发(进程转发:路由器查找进来的每一个报文 执行最长匹配查找
快速转发 第一个报文过来,查找路由表 保存在缓存里 后面的报文直接查缓存(缓存里面保留是/32的条目 所以数量有限) CEF(CISCO 快速转发 当网络路由协议收敛时 三层的控制平面(路由协议 路由表)会生成数据平面 FIB 邻接关系表)
MPLS把ATM优点继承了 把一些不好的东西丢弃 MPLS把ATM里面的VPI/VCI重新命名成 标签(多协议 不仅仅支持IP 还可以支持其它协议) 属于2/5层
标签的格式:MPLS的报头总共32比特 其中有20比特的标签(0--1048575 默认情况下是16-100000)还有三比特EXP位(作用类似于IP报头里面的TOS字段中IP优先级 或者说ISL/802.1Q COS字段) 还有一个比特的S(栈底标识)以及8个比特的TTL值
标签的三种动作(压入标签 PUSH 交换标签SWAP 弹出标签 POP)
标签的分发协议有两个(CISCO专有 TDP 还有公有LDP) 就帧模式的MPLS来说(ATM环境中的MPLS叫CELL模式)只要开启了CEF 而且只要有一个接口加进了MPLS里面 那么就会为IGP条目(包含静态路由)分发标签(本地标签 LOCAL)
标签的分发:会向所有的LDP/TDP邻居 分发标签 而且会把收到所有标签保留
MPLS的控制平面: LDP/TDP 数据平面 标签转发表 是由标签绑定表和FIB结合起来得到的(前往一个目标 选择哪个标签? 选择FIB里面下一跳所分发的标签.)
PHP技术 倒数第二跳弹出 为了避免最后一跳路由执行两次查找 (由最后一跳路由器给我分配一个隐式空标签) 只要是我自己直连的路由条目,我就是最后一跳.
MPLS是不会为从BGP学的条目分配标签 当前往些这些学到的BGP条目 直接使用所学到条目下一跳的标签
MPLS的使用:
MPLS BGP :
MPLS ×××
TDP/LDP 邻居建立的条件(协议要一样) TDP采用端口号711 LDP采用端口646端口号 (LDP 通过UDP的646端口号发送HELLO报文用来 发现邻居 组播发送 组播地址224.0.0.2(代表所有路由器) 接着通过TCP 646端口来建立邻居 )
双方的ROUTE-ID可达
标签分发机制(独立 没有建立邻居可以分发本地标签 自主 自己决定把所分的本地给所有邻居 自由 会保存所有邻居分发过来的标签 帧模式)
控制
MPLS MTU(最大传输单元) 以太口的MTU可以修改? 不可以修改 但是IP MTU可以修改 只能改小(1500)
TTL值(TRACERT)
能不能为自己路由表里面不同的条目分配同一个标签? 不行的
有没有可能从邻居收到相同/不同 条目的同一个标签 有可能
自己分发的标签是给邻居使用 而且是给上游邻居使用
FEC(转发等价类) MPLS设计的初衷是想)基于很多因素分配标签(比如说入接口IP优先级 IGP目标前缀 BGP条目的下一跳) 真正使用的是IGP目标前缀 以及BGP条目的下一跳
POP和UNTAGGED 弹出标签 (POP指的是弹出顶层标签 继续执行标签转发 UNTAGGED 弹出所有标签 直接转成IP转发)
MPLS ×××
××× IPSEC ××× GRE 三层 帧中继(ATM PPP) 专线 都是OVERLAY ××× ISP不参与客户的路由 有的是要付费 有的不用 但是都存在一些问题 就是当节点很多时 要构造全互联的×××环境 需要几条×××隧道 N(N-1)/2 静态配置 (无法适应网络拓扑的变成 在MPLS ×××出现之前这个技术还是普及的 他可以解决一些问题 地址重叠的问题
还有一种××× PEER-TO-PEER的××× ISP参与路由 ISP的PE和客户端的CE运行路由协议 客户端把路由条目通告给ISP(PE) 路由条目在ISP网络中传 传到对端 这就可以通信了. 存在很多的问题 共享的PE要解决 路由条目重叠 以及不同×××之间通信的隔离的问题
通过引进VRF(虚拟路由转发)技术来解决一系列的问题
通过VRF来把一台路由器逻辑地分隔成几台路由器 每台路由器维护一张独立的路由表 一个VRF就是一台路由器 关联一张路由表 以及几个接口.通过在VRF里面引进RD的参数来解决地址重叠的问题 同一台路由器 不同的VRF RD一定不同 RD是64比特 学到的相应路由前缀就变成了64比特的RD+32比特前缀 但是在传递96比特路由前缀 这个可以通过多协议BGP(MPBGP)来达成(不是普通的BGP) VRF里面还引进了个参数:RT 用来决定在BGP的IPV4地址簇和×××V4地址簇之间的导进导出. BGP里面IPV4的地址簇的ACTIVE是默认自动开启 其它的地址簇要手动开启ACTIVE
MPLS课堂笔记
原创chenjianfa123 ©著作权
©著作权归作者所有:来自51CTO博客作者chenjianfa123的原创作品,请联系作者获取转载授权,否则将追究法律责任
上一篇:BGP课堂笔记
下一篇:CCIE基础知识之RIP
提问和评论都可以,用心的回复会被更多人看到
评论
发布评论
相关文章
-
Python 课堂笔记
VScode里搭建Python环境
python Python -
反射课堂笔记
反射笔记加载类的过程就,加载类支持反射的两种语言,c#,java
java 反射 构造方法 调用方法 对象类型 -
QT 课堂笔记
打开Vim 编辑-preferences-FakeVim 目录名里不要有中文
preferences -
MPLS笔记
MPLS笔记
MPLS OSPF -
JavaScript课堂笔记
程序一词来自生活,通常指完成某些事务的一种既定方式和过程在日常生活中,可以将程序看成对一系列动作的执行过程的描述
javascript 前端 开发语言 js vue