116 routing ip multicast anycast
我从未有幸在需要复杂路由的环境中工作,或者如果确实需要,它会在我的上游处理。我一直使用非常简单的静态路由配置,从不需要进行任何多路径路由——因此我对这个主题普遍感到困惑。我想更好地了解多播和任播。
sys*_*138 178
简单的说:
------------------------------------------------------------
| TYPE | ASSOCIATIONS | SCOPE | EXAMPLE |
------------------------------------------------------------
| Unicast | 1 to 1 | Whole network | HTTP |
------------------------------------------------------------
| Broadcast | 1 to Many | Subnet | ARP |
------------------------------------------------------------
| Multicast | One/Many to Many | Defined horizon | SLP |
------------------------------------------------------------
| Anycast | Many to Few | Whole network | 6to4 |
------------------------------------------------------------
Run Code Online (Sandbox Code Playgroud)
当两个网络节点需要相互通信时使用单播。这很直接,所以我不会花太多时间在上面。TCP 根据定义是单播协议,除非涉及任播(更多内容见下文)。
当您需要让两个以上的节点查看流量时,您有多种选择。
如果所有节点都在同一个子网上,那么广播就成为一个可行的解决方案。子网上的所有节点都会看到所有流量。没有维护类似 TCP 的连接状态。广播是以太网协议中的第 2 层功能,也是 IPv4 中的第 3 层功能。
多播就像一个可以跨子网的广播,但不像广播那样不涉及所有节点。节点必须订阅多播组才能接收信息。多播协议通常是 UDP 协议,因为根据定义,无法维护连接状态。向多播组传输数据的节点不知道哪些节点正在接收。默认情况下,Internet 路由器不传递多播流量。但是,对于内部使用,它是完全允许的;因此,上图中的“定义范围”。多播是 IPv4 和 IPv6 的第 3 层功能。
要使用任播,您可以在 Internet 的多个位置宣传同一个网络,并依靠最短路径计算将客户端汇集到您的多个位置。就网络节点本身而言,它们使用单播连接与您的任播节点通信。有关任播的更多信息,请尝试:什么是“任播”以及它有何帮助?. 任播也是第 3 层功能,但它是路由合并发生方式的函数。
非单播方法如何在真实 Internet 中使用的一些示例。
广播
ARP 是一种广播协议,TCP/IP 堆栈使用它来确定如何将流量发送到网络上的其他节点。如果目标位于同一子网上,则使用 ARP 来确定到达指定 IP 地址的 MAC 地址。这是 2 级(以太网)广播,发送到保留的 FF:FF:FF:FF:FF:FF MAC 地址。
此外,微软的机器浏览协议是著名的基于广播的协议。创建了像 WINS 这样的变通方法以允许跨子网浏览。这涉及级别 3 (IP) 广播,它是一个 IP 数据包,其目标地址被列为子网的广播地址(在 192.168.101.0/24 中,广播地址将为 192.168.101.255)。
NTP 协议允许使用广播方法来宣布时间源。
多播
在企业网络中,多播可以将实时视频传送到多个节点,而无需在传送视频源的服务器部分拥有大量带宽。通过这种方式,您可以让视频服务器在仅 100Mb 的连接上提供 720p 流,并且仍然为 3000 个客户端提供该提要。
当 Novell 从 IPX 转向 IP 时,他们不得不选择一种服务广告协议来替代 IPX 中的 SAP 协议。在 IPX 中,服务广告协议每次宣布服务可用时都会在网络范围内发布公告。由于 TCP/IP 缺乏这样的全局通知协议,Novell 选择使用基于多播的协议:服务定位协议。新服务器在 SLP 多播组上宣布它们的服务。寻找特定类型服务的客户端向多播组宣布他们的需求并监听单播回复。
默认情况下,HP 打印机会在多播组中宣布它们的存在。使用正确的工具,可以非常轻松地了解网络上可用的打印机。
NTP 协议还允许使用多播方法 (IP 224.0.1.1) 向一个子网以外的区域通告时间源。
Anycast
Anycast 有点特殊,因为 Unicast 在它之上。Anycast 宣布在网络的不同部分使用相同的网络,以减少到达该网络所需的网络跳数。
6to4 IPv6 过渡协议使用任播。6to4 网关在特定 IP 192.88.99.1 上宣布它们的存在。希望使用 6to4 网关的客户端将流量发送到 192.88.99.1 并信任网络将连接请求传送到 6to4 路由器。
特别流行的 NTP 主机的 NTP 服务很可能是任播的,但我没有证据证明这一点。协议中没有任何内容可以阻止它。
其他服务使用任播来改善最终用户的数据本地性。谷歌在某些地方使用它的搜索页面(在其他地方使用地理 IP)进行任播。出于类似的原因,根 DNS 服务器使用任播。ServerFault 本身可能会去那里,他们在纽约和俄勒冈州确实有数据中心,但还没有去那里。
过多的广播流量可以抢夺该子网带宽中的所有节点。如今,对于全双工 GigE 端口而言,这不是什么问题,但在半双工 10Mb 时代,广播风暴可能会真正使网络停止。那些跨所有节点具有一个大冲突域的半双工网络特别容易受到广播风暴的影响,这就是为什么网络书籍,尤其是较旧的书籍,说要密切关注广播流量。交换/全双工网络在广播风暴中更难停止,但它仍然可能发生。IP 网络的正确运行需要广播。
多播也有同样的滥用可能性。如果多播组上的一个节点开始向该组发送大量流量,则所有订阅的节点都将看到所有这些流量。与广播一样,过多的 Mcast 流量会增加此类连接上出现问题的冲突的可能性。
多播是IPv4的可选功能,但IPv6 是必需的。IPv4 广播被 IPv6 中的多播取代(另请参阅:为什么 IPv6 不能发送广播?)。它在 IPv4 网络上经常被关闭。并非巧合的是,使组播是众多原因,网络工程师移动到IPv6之前,他们的猜疑一个有做到这一点。
计算多少流量是多少流量取决于一些事情
最后,Bcast 和 Mcast 流量抢夺了带宽端口。当您开始担心时,高度依赖于您的个人网络和对可变性能的容忍度。一般来说,网络节点数量的增长速度没有网络速度那么快,因此总体广播流量百分比一直在下降。
一些网络出于特定原因不允许多播,而另一些网络则从未花时间进行设置。有一些多播协议可以向任何监听正确事物的人揭示有趣的信息(SLP 就是其中之一)。就我个人而言,我不介意轻微的多播流量,因为我在进行一些网络分析时看到的最大的烦恼是网络捕获被污染;为此,有过滤器。
joe*_*rty 11
以下是一些基本信息:
单播:单播流量是针对单个主机的流量。所有其他主机将忽略不适合自己的单播流量。在交换环境中,单播流量通常不会被除流量所针对的主机之外的任何主机“听到”。在使用集线器(颤抖)的环境中,所有主机都会“听到”针对其他所有主机的单播流量,但它们会忽略所有不适合自己的流量。
广播:广播流量是为了让特定网段上的所有主机“听到”而发送的流量。广播流量的示例是 ARP 请求,它是物理层的广播(MAC 地址 FF-FF-FF-FF-FF-FF)或 NetBIOS 名称查询,它是网络层的广播(无论发生什么是该特定网络的广播地址,例如网络 64.28.42.0/26 的 64.28.42.63)。
多播:多播流量是为了让网段上的特定主机组“听到”而发送的流量。一些多播流量可以被认为是广播流量,例如到多播地址 224.0.0.1 的流量,这是针对同一网段上所有主机的多播流量。多播流量的另一个示例是发送到多播地址 224.0.0.9 的流量,RIP 路由器使用该地址向同一网段上的其他 RIP 路由器发送路由信息。
我会把 Anycast 留给其他人,因为我真的不太了解它。
小智 7
任播不是 IPv4 中广泛接受的通信类型,但它存在于 IPv6 中。
IPv4 中的三种通信类型是 1) 单播,2) 多播 3) 广播。
1) IPv4 单播一对一类型的通信。一个网络设备与另一个网络设备进行通信。用于单播的第 3 层地址是 IPv4 A 类、B 类、C 类地址。二层地址是单播MAC地址。
示例:浏览网站、使用 FTP 下载文件、使用 SSH(安全外壳)连接到另一台设备等。
2) IPv4 多播一对多类型的通信。网络设备发送 IPv4 数据包,然后将其传送给对该流量感兴趣的设备。IPv4 多播使用的第 3 层地址是 D 类 IPv4 地址(从 224 到 239) IPv4 多播的第 2 层地址以“01:00:5e”开头。
示例:IPTV、OSPF Hello 消息、EIGRP Hello 消息、RIPv2 路由更新。
3) IPv4 广播一对多类型的通信。网络设备发送一个 IPv4 数据包,它将被传送到该 LAN 网段中的所有设备。广播流量的问题是,广播会干扰 LAN 中的所有设备并导致带宽浪费。
示例:DHCPv4 发现消息
在 IPv6 中,我们有单播、多播和任播。单播和组播的概念在 IPv4 和 IPv6 中是相同的,只是用于广播和组播的 IPv6 第 3 层地址和用于组播的第 2 层地址发生了变化。用于 IPv6 多播流量的第 2 层地址从“33:33:”开始(在 IPv4 中,它是“01:00:5e”)。
IPv6 Anycast IPv6 Anycast 类型的通信用于从一组接口中识别出一个接口,这些接口提供相同的服务,但在路由距离上靠近客户端(我们可以将路由距离与地理距离进行比较)。只有在路由协议的帮助下才能实现任播。
查看以下链接以获取有关 IPv6 任播的更清晰说明。
例如,我的家位于印度,我想将 FQDN“ www.serverfault.com ”解析为IP 地址。考虑我有三台 DNS 服务器,一台位于美国,另一台位于加拿大,另一台位于印度,都提供相同的服务。更好的选择是来自印度的 DNS 服务器,因为它位于我家附近。如果我在我家附近使用该服务,我会得到更快的回复并减少网络流量。Anycast 可以找到我家附近的服务器并从该服务器获取服务。
归档时间: |
|
查看次数: |
218095 次 |
最近记录: |