我有两个问题::
- 我已经阅读了一些关于软件定义网络的论文。每次我看到他们使用开关。我想知道我们不能用路由器实现SDN吗?
- 路由算法的度量标准是什么。(我想为基于 SDN 的网络开发一个)
谢谢
我有两个问题::
谢谢
软件定义网络没有明确命名为路由器的设备。网络通常由交换机和控制器组成。但是,sdn网络可以实现路由功能吗?确实!
Sdn 使用控制器。在非常广泛的意义上,控制器的工作原理是匹配标准和相应的动作。控制器使用匹配标准来指示交换机它应该对数据包做什么。因此,sdn 中的交换机有时被称为哑交换机。
匹配标准可以是目标 mac - 所以它表现为一个交换机 - L2。
它可以是目标 IP。所以它充当路由器。它可以是源 MAC 或源 IP。这是基于策略的路由的一部分。
或者它可以是来自 l2-l5 的任何头字段。
它甚至可以通过使用应用层数据来确定动作
因此,sdn 中的控制器可以是路由器,但它的功能远不止于此。
但是你不会发现路由器这个词在 sdn 的上下文中使用得很多
希望能帮助到你
回答第二个问题。Sdn 使您可以控制数据包转发。因此,使用控制器 API,您几乎可以实现任何算法,这些算法可能是我们现在使用的确切路由算法,例如 ospf 、对它们的修改或适合您网络的新概念。
只是为了补充约翰的答案。
路由器实现分散式路由算法,也就是说,它们相互通信并随着时间的推移向最佳路由路径收敛。如果路由器出现故障或被添加到网络中,网络会自我修复,并随着时间的推移再次收敛到最佳路由路径。
SDN 实现了集中式路由,也就是说,它假设一个中央控制器知道所有交换机和终端主机的位置,并且可以映射网络中的最短路径。然后它将在所涉及的交换机上安装规则,允许流穿越该路径而无需与控制器进一步联系(控制器通常会看到第一个数据包)。
一个小小的警告,在 SDN 网络的边界上,您仍然需要一个路由器来与您的相邻网络进行通信。您的 SDN 控制器不会了解他们的网络,也不会对其交换机进行写入权限。
SDN 架构将控制和数据分开,可以通过 GRE 覆盖将所有数据包通过隧道传输回控制器或使用远程控制协议(例如OpenFlow®)来实现。
“SDN 兼容”网络设备在技术上并不真正存在。换句话说,在无线网络世界中,我们有WiFi 兼容接入点 - 互操作性测试产生的特殊标记/标志。在 SDN 世界中没有这样的事情。SDN 全是市场技术。每个网络制造商都销售自己风格的 SDN,例如Cisco ACI、Cisco Meraki、Juniper OpenContrail和VMware NSX。
关于路由算法的指标,如果您计划开发自定义路由算法,您将创建它。不确定我是否理解第二个问题...