HCIE面试题:OSPF、ISIS、BGP支持IPv6的改进

2023-05-16

**

OSPF

**
与OSPFv2相比, OSPFv3在工作机制上与OSPFv2基本相同;但为了支持IPv6地址格式, OSPFv3对OSPFv2做了一些改动。
OSPFv3基于OSPFv2基本原理并增强,是一个独立的路由协议。

1、基于链路的运行——OSPFv2基于子网运行,OSPFv3 使用链路本地地址,与接口前缀无关
2、链路支持多实例复用——以通过配置不同实例和进程映射实现,可以将同一接口宣告进多个进程
3、通过 Router ID 唯一标识邻居——(Router ID来唯一标识邻居 v2 p2p route-id 广播 dr邻居接口ip。
)OSPFv3移除了IPv4地址,采用IPv4表示方法来标识Router-id、LS-ID
4、LSA 的类型和内容不同——通过LSA类型限定LSA传递范围,实现拓扑和前缀分离
5、8类Link-LSA和9类Intra-area-LSA引入,实现拓扑和前缀分离
(重点)8类LSA(0x0008 Link-LSA)——每个路由器都会为每个链路产生一个Link-LSA,描述链路的link-local地址、IPv6前缀,仅在此链路内传播
(重点)9类LSA intra area prefix LSA 用于描述IPV6的前缀。1、2类不再携带路由信息。

使用链路本地地址。link-local。 并使用这些链路本地地址作为下一跳来转发报文。
认证方式 取消了认证,v2 报文头 v3 ipv6拓展报文

ISIS

为了支持IPv6路由的处理和计算,IS-IS新增了两个TLV(Type-Length-Value)和一个新的NLPID(Network Layer Protocol Identifier)。
新增的两个TLV分别是:
236号TLV(IPv6 Reachability):通过定义路由信息前缀、度量值等信息来说明网络的可达性。
232号TLV(IPv6 Interface Address):它相当于IPv4中的“IP Interface Address”TLV,只不过把原来的32比特的IPv4地址改为128比特的IPv6地址。
NLPID是标识网络层协议报文的一个8比特字段,IPv6的NLPID值为142(0x8E)。ipv4 0xcc 如果IS-IS支持IPv6,那么向外发布IPv6路由时必须携带NLPID值

(可选)为了实现拓扑分离。新增四个TLV
TLV 229 – Multi-Topology Identifier
TLV 222 – Multi-Topologies Intermediate System
TLV 235 – Multi-Topologies Reachable IPv4 Prefixes
TLV 237 – Multi-Topologies Reachable IPv6 Prefixes

BGP

MP_REACH_NLRI:Multiprotocol Reachable NLRI,多协议可达NLRI。用于发布可达路由及下一跳信息。
MP_UNREACH_NLRI:Multiprotocol Unreachable NLRI,多协议不可达NLRI。用于撤销不可达路由。
为实现对多种网络层协议的支持,BGP需要将网络层协议的信息反映到NLRI及Next_Hop。因此MP-BGP引入了两个新的可选非传递路径属性:
另外在OPEN报文中协商AFI地址簇标识,比如是否支持IPv6单播--------IPv6 AFI为2,Sub-AFI 单播为1,组播为2。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

HCIE面试题:OSPF、ISIS、BGP支持IPv6的改进 的相关文章

  • IPv6 组播示例

    我搜索了如何实现简单 ipv6 多播示例的示例 但是我只找到了使用 ipv4 的示例 谁能提供一个简单的 ipv6 多播 helloworld 示例 这是一个简单的客户端服务器示例 顺便说一句 在网络上的多台计算机上运行它将使所有计算机相互
  • 为什么我的 Xamarin iOS 中的 WebRequest 在 ipv6 环境中失败?

    我设置了本地ipv6环境如下https developer apple com library content documentation NetworkingInternetWeb Conceptual NetworkingOvervie
  • 如何让 Phoenix 监听 IPv6?

    我正在努力寻找有关让 Phoenix 以及 Cowboy 和 Ranch 同时监听 IPv4 和 IPv6 的信息 我在 Ubuntu 16 04 的 VPS 上运行 它同时具有 IPv4 和 IPv6 地址 跑步时netstat tulp
  • Docker 身份验证:无法获取匿名令牌

    我的 gitlab 运行程序中出现以下错误 错误 授权失败 无法获取匿名令牌 获取 https auth ipv6 docker com token scope repository 3Alibrary 2Fnode 3Apull serv
  • 一个插座双堆栈

    我正在开发双栈客户端 服务器通信 我很好奇 我是否必须打开两个套接字 一个用于 IPv4 一个用于 IPv6 还是可以选择打开一个用于 IPv6 的套接字 并且它能够同时使用 IPv4 和 IPv6 连接 例如 如果我打开这样的套接字 SO
  • Apple 应用商店 IPV6 要求

    我打算在 Apple Store 上发布一个应用程序 然后我知道了 IPV6 拒绝问题 我的应用程序仅支持 IPV4 并且在此link我发现该应用程序应该支持 IPV6 所以我的问题是 应用程序是否必须同时支持 IPV4 和 IPV6 抱歉
  • 用于接受有效主机名、IPv4 或 IPv6 地址的 Java 正则表达式

    有人有一个好的 最好是经过测试的 正则表达式来仅接受有效的 DNS 主机名 IPv4 或 IPv6 地址吗 我明白你可能是forced使用正则表达式 但是 如果可能的话 最好避免使用正则表达式来执行此任务 而使用 Java 库类来进行验证
  • IPv6 下网络字节顺序毫无意义吗?

    如果我们使用32位整数来存储IPv4地址 那么必须考虑该整数的字节顺序 但是 由于几乎所有平台下都没有内置的128位整数类型 因此IPv6地址必须存储到字节数组中 因此 我认为字节顺序不再是问题 我对么 或者IPv6有对应的函数htonlX
  • 如何将 IPv4 映射的 IPv6 地址转换为 IPv4(字符串格式)?

    我有一个struct sockaddr包含 IPv4 映射 IPv6 地址的结构 例如 ffff 10 0 0 1 我只想获取字符串中的 IPv4 版本 在本例中 10 0 0 1 用C语言编程 我该如何实现它 由于您的结构包含 IPV6
  • 什么决定了 System.Net.IPAddress.ToString() 的 IPv6 地址格式?

    内置 Net 方法 System Net IPAddress ToString 对于 IPv6 地址的行为不一致 给定字节数组0xAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA 在某些环境下 aaaa aaaa aaaa
  • 申请因缺乏 IPv6 支持而被拒绝 [已关闭]

    Closed 这个问题是基于意见的 help closed questions 目前不接受答案 My last release of application which is 12 8 is rejected by apple saying
  • G-LAB|2024年1月份开班课程

    1 最新的开班计划 可试听
  • Swift 中 IPv6 网络上的网络连接检查崩溃

    我最近有一个应用程序因不兼容 IPv6 而被拒绝 当调用以下代码时 应用程序导致崩溃 我怀疑崩溃是因为它利用了SCNetworkReachabilityCreateWithAddress当苹果建议不要再使用它时 谁能帮我一下 让下面的代码与
  • 强制 InetAddress.getHostAddress() 返回 IPv4 地址

    我正在使用一个使用的库java net InetAddress getLocalHost getHostAddress 获取我的本地IP地址 然而 这总是在我的计算机上返回 IPv6 地址 Gentoo Linux JDK 1 6 0 37
  • 重定向 ip6tables 中的端口

    如何使用 ip6tables 将一个端口重定向到另一个本地端口 例如像这样的东西 ip6tables t nat A 预路由 j 重定向 p tcp dport 443 to ports 8443 嗯 这是一个老问题 但因为我需要做同样的事
  • iOS 与 IPv6 和 Azure 的问题

    我们的 Xamarin iOS 应用程序之一被拒绝 因为 Service URI 似乎无法从 IPv6 网络获得 从 2016 年 6 月 1 日开始 Apple 希望所有 iOS 应用程序在纯 IPv6 网络中完全兼容 Microsoft
  • 如何在特定接口上打开套接字并接收 IPv4 和 IPv6 流量

    使用 IPv4 我可以将 绑定到特定地址来选择将用于接收数据包的接口 在某些情况下 也用于发送数据包 但这不是重点 在双栈 IPv6 IPV4 机器上 我遇到这个问题 我可以创建一个 6 套接字并使用它接收 4 个流量 但如果我想绑定到特定
  • 从 Dns.GetHostEntry() 获取 IPv4 地址

    我这里有一些代码在 IPv4 机器上运行得很好 但在我们的构建服务器 IPv6 上却失败了 简而言之 IPHostEntry ipHostEntry Dns GetHostEntry string Empty GetHostEntry 的文
  • 使用 boost asio 枚举我的卡的 ipv4 和 ipv6 地址

    我正在尝试枚举我的电脑的所有网卡 我有 2 张卡 的 ipv4 和 ipv6 地址 我正在使用以下代码来执行此操作 using boost asio ip tcp boost asio io service io service tcp r
  • IPV6 Curl POST 请求

    在 IPV6 中 如何使用 IPV6 地址和端口号构建 CURL POST http 请求 任何类型的线程都将受到赞赏 尝试构建如下请求 gt curl interface http 2001 0 db8 1111 0 0 0 11 809

随机推荐