首页 > 编程知识 正文

移动ip工作原理,ipconfig工作原理

时间:2023-05-05 10:34:17 阅读:173402 作者:4

IP多播在多用户定向传输的网络APP应用中非常普遍,如远程多媒体会议、远程教育、视频点播、定向电子商务和ISP的互联网电视(IPTV )。 掌握IP多播的基础知识和配置与管理方法是网络管理员非常必要的。

IP多播是一个相对独立的领域,如IP单播,在知识方面非常广泛。 还包括非常多的协议,例如,IGMP、MLD、PIM、MSDP、MBGP和igmp SMM映射,等等。 首先分别介绍IP组播的相关基础知识、组播路由和转发原理、各种IP组播协议的主要功能和工作原理以及各种组播协议的主要应用。

IP组播基础

随着互联网的发展,在网络上交流的各种数据、音频、视频信息越来越多的同时,新兴的电子商务、网络会议、网络拍卖、视频点播、远程教育等服务,也越来越多

作为IP传输3中的一种方式,IP多播通信将从一个源发送IP消息并将其转发给特定的接收者组。 与传统的单播和广播相比,IP多播能够有效地节省网络带宽,减少网络负载。

一、IP网络的3种数据传输方式

IPv4协议定义了单播、广播、多播这3种IP数据包的传输方式。 通过介绍三种分组传播方式的比较公式,可以看出组播方式的优越性。

1、单播式数据传输流程

单播用于将数据包发送到单个目的地,每次发送单播消息时,都使用单播IP地址作为目的地地址。 是点对点传输方式。 在单播模式下,系统会为需要数据的每个用户建立单独的数据传输路径,并将单独的副本数据发送给该用户。

下图:

假设用户c(Hostc )需要从数据源中检索数据,则数据源必须与用户c的设备建立单独的传输通道。 由于网络传输的数据量与要求接收数据的用户量成比例,因此如果需要相同数据的用户数量巨大,数据源主机必须将相同内容的数据发送给多个用户。 这样,网络带宽成为数据传输中的瓶颈,不利于数据的规模化发送。

2、广播方式的数据传输过程

广播是一种将包发送到同一广播域或子网中所有设备的数据传输方法,是一种点到多点传输方法。 使用广播方法时,系统会将数据的副本发送给网络中的所有用户,无论是否需要,所有用户都会接收广播的数据。

如上图所示,假设用户a、c需要从数据源中检索数据,则数据源会通过路由器广播该数据,但在这种情况下,网络中原本不需要接收该数据的用户b也同样会检索该数据这种传输方式不利于与特定对象的数据交换,浪费大量带宽。

3、采用组播方式传播数据

单播方式适合用户较少的网络,广播方式适合用户需求普遍相同的网络。 但是,在需要网络数据的用户数不确定的情况下,单播和广播方式效率低,而且广播方式安全性差,无法控制数据的发送。

IP组播技术的出现及时解决了这些问题,也是一种点到多点传输方式。 当网络内的一些用户需要特定数据时,作为多播数据发送者的多播源仅一次发送数据,使用多播路由协议来建立多播分组的多播分发树,所分发的数据由

如上图所示,假设用户a、c需要从数据源中检索数据。 为了顺利地将数据传输给真正需要的用户,将用户a、c组成一个接收者组,也就是组播组,网络中各路由器根据该组内各接收者的分布情况进行数据传输和复制,最后执行

综上所述,与单播传输方式相比,组播传输方式所传递的信息在尽可能远离信息源的网络节点上被复制传递,用户的增加不会导致信息源的负载增大和网络资源消耗的显著增加。 与广播传输方式相比,组播传输方式由于传输的信息只发送给需要该信息的接收者,因此不会造成网络资源的浪费,能够提高信息传输的安全性。

二、组播基本概念

组播传输的特点是单点发送、多点接收。 如上图所示,网络中存在信息发送源的Source,感兴趣的用户的HostA和HostC提出信息需求,Source发送的数据只有HostA和HostC接收。

在组播通信中,需要理解以下重要的基本概念。

1、组播组:由组播IP地址所识别的一个组,一个组播成员的组,每个组播成员共享一个组播组IP地址。 与iStack堆栈和CS群集上的每台成员交换机共享和使用相同的管理IP地址相同。 但是,组播成员自己在IP协议中配置的IP地址不是组播IP地址,仍是单播IP地址任意用户主机(或其他接收装置)在加入组播组后就成为该组的成员,可以识别并接收对该组播组的组播数据

2、组播源:以组播组的IP地址为目的

地址(组播源配置的也是单播IP地址),发送IP报文的信源称为组播源。但组播源通常不需要加入组播组,否则自己接收自己发送出去的数据了。上图中的Source就是一个组播源。一个组播源可以同时向多个组播组发送数据,多个组播源也可以同时向一个组播组发送报文。

3、组播组成员:所有加入某组播组的主机便成为该组播组的成员。如上图中的HostA和HostC。组播组中的成员是动态的,主机可以在任何时刻加入或离开组播组。组播组成员可以广泛地分布在网络中的任何地方。

4、组播路由器:支持三层组播功能的路由器或三层交换机(它们不是组播组成员),如上图中的各个Router。组播路由器不仅能够提供组播路由功能,也能够在与用户连接的末梢网段上提供组播组成员的管理功能

三、典型IP组播模型

根据对组播源处理方式的不同,IP组播模型有下列3种:ASM(Any-SourceMulticast,xjg组播)、SFM(Source-Filtered Multicast,过滤源组播)和SSM(Source-SpecificMulticast,指定源组播)。

1、ASM模型

简单说,ASM(xjg组播)模型就是xjg都可以成为组播源。由此可知,ASM模型中的组播源是不限定的,任意一个发送者都可以成为组播源,然后jadjzg组播组地址发送数据,显然安全性较差。接收者通过加入对应的组播组就可以获得发往改组播组的任意组播数据,而且接收者无法预先知道组播源的位置,但可以在任意时间加入或离开该组播组。

为提高安全性,可以在路由器上配置针对组播源的过滤策略,允许或禁止来自某些组播源的报文通过。最终从接收者角度看,数据是经过筛选的。

ASM模型中组播组可以使用的组播IP地址为224.0.1.0~231.255.255.255、233.0.0.0~238.255.255.255。但要求组播组地址必须整个组播网络中唯一。“唯一”指的是同一时刻一个ASM组播组地址只能被一种组播应用使用。如果有两种不同的应用程序使用了同一个ASM组播组地址发送数据,它们的接收者会同时收到来自两个源的数据。这样一方面会导致网络流量拥塞,另一方面也会给接收者主机造成困扰。

2、SFM模型

SFM(过滤源组播)模型继承了ASM模型,从发送者角度来看两者的组播组成员关系完全相同,也可以是任意组播源。但是,在SFM模型中组播上层应用软件可以根据收到的组播包的源IP地址进行过滤,允许或禁止来自某些组播源的包通过。这样一来,接收者就可以只接收允许通过的组播源发送来的组播数据。即SFM在ASM的基础上添加了组播源过滤策略。

3、SSM模型

现实生活中,用户可能只对某些组播源发送的组播数据感兴趣,而不愿接收其他源发送的数据。SSM(指定源组播)模型就是一种为用户提供能够在客户端指定组播源的传输服务。

SSM模型与ASM模型的根本区别在于:SSM模型中的接收者已经通过其他手段预先知道了所需接收组播数据的组播源的具体位置,限定了可接收的组播源。然后,SSM模型使用与ASM/SFM模型不同的组播组地址范围(为232.0.0.0~232.255.255.255)直接在接收者和其指定的组播源之间建立专用的组播转发树。

四、IP组播地址

由于组播数据的接收者是一个组播组内的多个主机,因此,需要面对数据源该将数据发往何处、目的地址如何选取的问题,就是组播寻址。与单播中的IP寻址或者MAC寻址一样,为了让组播源和组播成员进行通信,需要提供网络层组播地址,即IP组播地址。同时必须存在一种技术将IP组播地址映射为链路层MAC组播地址

注意:不要认为在IP组播中所有组播设备上的IP地址都是使用组播地址。实际上只有组播组IP地址是组播IP地址,而像组播源、接收者主机的IP地址仍是单播IP地址

1、三层组播IP地址

根据冷艳的摩托(InternetAssigned Numbers Authority,因特网编号授权委员会)规定,IP地址分为五类:即A类、B类、C类、D类和E类。单播包按照网络规模大小分别使用A、B、C三类IP地址。组播包的目的地址使用D类IP地址,D类地址不能出现在IP包的源IP地址字段(也就是不能作为组播源地址,换言之,组播源的IP地址仍是单播地址)。E类地址保留以后使用。

在单播数据传输过程中,一个数据包传输的路径是从源地址路由到目的地址,利用“逐跳(hop-by-hop)”的原理在IP网络中传输。然而在IP组播环境中,数据包的目的地不是一个,而是一组,形成组地址(可理解为所有接收者的单播地址与一个组播组地址形成了映射关系)。所有的数据接收者都加入一个组内,并且一旦加入之后,流向该组地址的数据立即向接收者传输,组中的所有成员都能接收到数据包,这个组就是“组播组”。

组播组具有以下几个特点

(1)组播组中的成员是动态的,主机可以在任何时刻加入或离开组播组。

(2)组播组可以是永久的也可以是临时的。

(3)由冷艳的摩托分配组播组地址的组播组称为永久组播组(又称保留组播组)。

对于永久组播组,要注意以下几点:

(1)永久组播组的IP地址保持不变,但组中的成员构成可以发生变化。

(2)永久组播组中成员的数量可以是任意的,甚至可以是零。

(3)那些没有保留下来供永久组播组使用的IP组播地址,可以被临时组播组使用。

D类组播地址范围是224.0.0.0~239.255.255.255,其中包括了很多地址,但不同地址段有不同用途,如下表,记住这个表中各个组播段的使用范围相当重要,这样就不会在配置组播网络中错误的使用了不该在特定环境下使用的组播地址。


根据冷艳的摩托的约定,224.0.0.0~224.0.0.255网段地址被预留给本地网络中的路由协议使用,如下表说明:


与冷艳的摩托为IP单播预留私有地址网段10.0.0.0/8等类似,冷艳的摩托也为IP组播预留了私有网址网段239.0.0.0/8(也就是这个地址段中的组播地址可以在局域网内使用)。这些地址属于管理范围地址,可以灵活地定义组播域范围,实现不同组播域之间的地址隔离,有助于相同组播地址在不同组播域内的重复使用而不会冲突。

2、二层以太网组播MAC地址

以太网传输单播IP包的时候,目的MAC地址使用的是接收者的MAC地址。但是在传输组播包时,传输目标不再是一个具体的接收者,而是一个成员不确定的组,所以对应也就需要使用组播MAC地址作为目的地址。

冷艳的摩托规定,组播MAC地址的高25位固定为0000 00010000 0000 0101 1110 0,形成MAC地址25位前缀,MAC地址的低23位为组播IPv4地址的低23位。它们之间的映射关系如下图(组播IPv4地址中的低23位映射到组播MAC地址的低23位)


由于IPv4组播地址的高4位是1110,代表组播标识,而低28位中只有23位被映射到MAC地址,这样IP地址中就会有5位数据丢失,直接的结果是出现了32(2的5次方)个IP组播地址映射到同一组播MAC地址上。

IPv6组播MAC地址的高16位为0x3333,低32位是从IPv6组播地址的低32位映射过来的。如下图IPv6组播地址FF1E::F30E:101的MAC地址映射:


五、IP组播协议

要实现一套完整的组播服务,需要在网络各个位置部署多种组播协议相互配合,共同运作。不同结构的组播网络所需使用的组播协议不完全一样。

下图是一个典型的单PIM域组播网络示意图,整个组播网络是由路由器或三层交换机+二层交换机组成的。


从图中可以看出在这些组播设备上运行的组播协议包括PIM(协议无关组播,同时由IPv4和IPv6版本)、IPv4网络的IGMP(因特网组管理协议),IPv6网络中的MLD(组播监听器发现)、IPv4网络的IGMP Snooping(因特网组管理协议嗅探),IPv6网络中的MLD Snooping(组播监听器发现嗅探)。

下图12-7是一个跨PIM-SM域的组播网络示意图,与上图所示的单PIM域组播网络相比,在运行的组播协议上仅需在PIM域边界组播路由器上多了一个实现跨PIM域连接的MSDP(组播源发现协议)。而12-8是一个跨AS域组播网络示意图,与12-7所示的跨PIM域组播网络相比,在运行的组播协议又仅需在AS边界组播路由器上多了一个用于不同AS组播连接的MBGP(组播边界管理协议)。


1、IGMP和MLD

在IP组播传输模型中,发送者不关心接收者所处的位置,只要将数据发送到约定的目的地址,剩下的工作就交给网络去完成。网络中的路由器设备必须收集接收者的信息,并按照正确的路径实现组播报文的转发和复制。

接收者信息的收集和管理的工作通过IGMP(InternetGroup Management Protocol,因特网组管理协议)或MLD(Multicast Listener Discovery,组播监听器发现)协议来完成的。其中,IGMP用于IPv4网络,MLD用于IPv6网络。用于为主机侧提供组播组成员动态加入与离开服务,为路由器侧提供组成员关系的维护与管理服务,同时与上层组播路由协议进行信息交互。

IGMP包含3个版本,分别是IGMPv1、IGMPv2和IGMPv3。新版本完全兼容旧版本。目前应用最广泛的是IGMPv2。在组播模型方面,3个版本都支持ASM模型;IGMPv3可以直接支持SSM模型,而IGMPv1和IGMPv2需要结合SSMMapping技术才能支持SSM模型。

在IPv6组播中使用MLD协议来替代IGMP协议,也是一种三层组播协议。MLD包含两个版本,分别是MLDv1和MLDv2。MLDv1的功能与IGMPv2相似;MLDv2的功能与IGMPv3相似。两个MLD版本都支持ASM模型;MLDv2可以直接支持SSM模型,而MLDv1需要结合SSM-Mapping技术才能支持SSM模型。

2、IGMPSnooping和MLD Snooping

IGMP Snooping和MLD Snooping协议是运行在组播路由器和用户主机之间的二层交换机上的二层组播协议,配置在VLAN内。其中,IGMP Snooping用于IPv4网络,MLD Snooping用于IPv6网络,用来侦听路由器和主机之间发送的IGMP、MLD报文建立组播数据的二层转发表,从而管理和控制组播数据在二层网络中的转发。

3、PIM和MSDP

组播报文转发路径的建立,有多种组播路由协议可以完成。目前应用广泛的是PIM(Protocol Independent Multicast,协议无关组播)协议。PIM是一种域内组播路由协议,当跨PIM域传递组播源信息时,需要MSDP(Multicast Source Discovery Protocol,组播源发现协议)支持;当跨AS域建立组播路由时则同时需要MSDP和MBGP(MultiProtocolBorder Gateway Protocol,组播边界网关协议)支持。

PIM是用于IPv4或IPv6组播网络中域内组播路由器之间的组播路由与转发,用来在自治系统AS内发现组播源并构建组播分发树,将信息传递到接收者。在一个小型网络中,所有的组播路由器都在一个PIM组播域内。他可以动态响应网络拓扑变化,维护组播路由表,并按照路由表项执行转发。PIM有两套独立的模式:

(1)DM(Dense Mode):适用于小规模、接收者分布较为密集的情况,支持ASM模型。

(2)SM(Sparse Mode):适用于大规模、接收者分布较为稀疏的情况,同时支持ASM模型和SSM模型。

如图12-6,为了便于控制和管理组播资源(组播组、组播源和组播组成员),需要将组播资源在域间进行隔离,从而形成一个个隔离的PIM-SM域。图12-7所示为跨PIM-SM域的组播网络。由于PIM协议依赖于单播路由表,所以组播转发路径与单播转发路径是一致的。当组播源与接收者分布在不同的AS中时,需要跨AS建立组播转发树,如图12-8.此时可以部署MBGP协议,生成一张独立于单播路由的组播路由表,使组播数据通过组播路由表进行传输。

MSDP目前仅用于IPv4组播网络中域间组播路由器之间的域间组播源信息共享,但只对ASM服务模型有意义。它可以实现源所在域内的路由器将本地源信息传播给其他域内的路由器,以及不同域的路由器之间传递源信息。为了使不同的PIM-SM域之间组播数据能够互通,需要在域间部署MSDP协议。MSDP通过在各个PIM-SM域之间建立MSDP对等体关系,对等体之间交互SA(Source Active,源激活)消息来传递组播信息,从而实现接收者主机可以接收其他PIM-SM域的组播源数据。


版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。