分享
 
 
 

RFC3569 - An Overview of Source-Specific Multicast (SSM)

王朝other·作者佚名  2008-05-31
窄屏简体版  字體: |||超大  

Network Working Group S. Bhattacharyya, Ed.

Request for Comments: 3569 Sprint

Category: Informational July 2003

An Overview of Source-Specific Multicast (SSM)

Status of this Memo

This memo provides information for the Internet community. It does

not specify an Internet standard of any kind. Distribution of this

memo is unlimited.

Copyright Notice

Copyright (C) The Internet Society (2003). All Rights Reserved.

Abstract

The purpose of this document is to provide an overview of

Source-Specific Multicast (SSM) and issues related to its deployment.

It discusses how the SSM service model addresses the challenges faced

in inter-domain multicast deployment, changes needed to routing

protocols and applications to deploy SSM and interoperability issues

with current multicast service models.

1. IntrodUCtion

This document provides an overview of the Source-Specific Multicast

(SSM) service and its deployment using the PIM-SM and IGMP/MLD

protocols. The network layer service provided by SSM is a "channel",

identified by an SSM destination IP address (G) and a source IP

address S. An IPv4 address range has been reserved by IANA for use

by the SSM service. An SSM destination address range already exists

for IPv6. A source S transmits IP datagrams to an SSM destination

address G. A receiver can receive these datagrams by subscribing to

the channel (Source, Group) or (S,G). Channel subscription is

supported by version 3 of the IGMP protocol for IPv4 and version2 of

the MLD protocol for IPv6. The interdomain tree for forwarding IP

multicast datagrams is rooted at the source S, and is constructed

using the PIM Sparse Mode [9] protocol.

This document is not intended to be a standard for Source-Specific

Multicast (SSM). Instead, its goal is to serve as an introduction to

SSM and its benefits for anyone interested in deploying SSM services.

It provides an overview of SSM and how it solves a number of problems

faced in the deployment of inter-domain multicast. It outlines

changes to protocols and applications both at end-hosts and routers

for supporting SSM, with pointers to more detailed documents where

appropriate. Issues of interoperability with the multicast service

model defined by RFC1112 are also discussed.

This memo is a product of the Source-Specific Multicast (SSM) Working

Group of the Internet Engineering Task Force.

The keyWords "MUST"", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT",

"SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY", and "OPTIONAL" in this

document are to be interpreted as defined in BCP 14, RFC2119 [28].

2. Terminology

This section defines some terms that are used in the rest of this

document:

Any-Source Multicast (ASM): This is the IP multicast service model

defined in RFC1112 [25]. An IP datagram is transmitted to a

"host group", a set of zero or more end-hosts (or routers)

identified by a single IP destination address (224.0.0.0 through

239.255.255.255 for IPv4). End-hosts may join and leave the group

any time, and there is no restriction on their location or number.

Moreover, this model supports multicast groups with arbitrarily

many senders - any end-host (or router) may transmit to a host

group, even if it is not a member of that group.

Source-Specific Multicast (SSM): This is the multicast service

model defined in [5]. An IP datagram is transmitted by a source S

to an SSM destination address G, and receivers can receive this

datagram by subscribing to channel (S,G). SSM provides host

applications with a "channel" abstraction, in which each channel

has exactly one source and any number of receivers. SSM is

derived from earlier work in EXPRESS [1]. The address range 232/8

has been assigned by IANA for SSM service in IPv4. For IPv6, the

range FF3x::/96 is defined for SSM services [21].

Source-Filtered Multicast (SFM): This is a variant of the ASM

service model, and uses the same address range as ASM

(224.0.0.0-239.255.255.255). It extends the ASM service model as

follows. Each "upper layer protocol module" can now request data

sent to a host group G by only a specific set of sources, or can

request data sent to host group G from all BUT a specific set of

sources. Support for source filtering is provided by version 3 of

the Internet Group Management Protocol (or IGMPv3) [3] for IPv4,

and version 2 of the Multicast Listener Discovery (or MLDv2) [22]

protocol for IPv6. We shall henceforth refer to these two

protocols as "SFM-capable". Earlier versions of these

protocols - IGMPv1/IGMPv2 and MLDv1 - do not provide support for

source-filtering, and are referred to as "non-SFM-capable". Note

that while SFM is a different model than ASM from a receiver

standpoint, there is no distinction between the two for a sender.

For the purpose of this document, we treat the scoped multicast model

of [12] to be a variant of ASM since it does not explicitly restrict

the number of sources, but only requires that they be located within

the scope zone of the group.

3. The IGMP/PIM-SM/MSDP/MBGP Protocol Suite for ASM

As of this writing, all multicast-capable networks support the ASM

service model. One of the most common multicast protocol suites for

supporting ASM consists of IGMP version 2 [2], PIM-SM [8,9], MSDP

[13] and MBGP [26]. IGMPv2 is the most commonly used protocol for

hosts to specify membership in a multicast group, and nearly all

multicast routers support (at least) IGMPv2. In case of IPv6, MLDv1

[21] is the commonly used protocol.

Although a number of protocols such as PIM-DM [10], CBT [24,11],

DVMRP [6], etc. exist for building multicast tree among all receivers

and sources in the same administrative domain, PIM-SM [8,9] is the

most widely used protocol. PIM-SM builds a spanning multicast tree

rooted at a core rendezvous point or RP for all group members within

a single administrative domain. A 'first-hop' router adjacent to a

multicast source sends the source's traffic to the RP for its domain.

The RP forwards the data down the shared spanning tree to all

interested receivers within the domain. PIM-SM also allows receivers

to switch to a source-based shortest path tree.

As of this writing, multicast end-hosts with SFM capabilities are not

widely available. Hence a client can only specify interest in an

entire host group and receives data sent from any source to this

group.

Inter-domain multicast service (i.e., where sources and receivers are

located in different domains) requires additional protocols - MSDP

[13] and MBGP [26] are the most commonly used ones. An RP uses the

MSDP protocol to announce multicast sources to RPs in other domains.

When an RP discovers a source in a different domain transmitting data

to a multicast group for which there are interested receivers in its

own domain, it joins the shortest-path source based tree rooted at

that source. It then redistributes the data received to all

interested receivers via the intra-domain shared tree rooted at

itself.

MBGP defines extensions to the BGP protocol to support the

advertisement of reachability information for multicast routes. This

allows an autonomous system (AS) to support incongruent unicast and

multicast routing topologies, and thus implement separate routing

policies for each.

However, the last-hop routers of interested receivers may eventually

switch to a shortest-path tree rooted at the source that is

transmitting the data.

4. Problems with Current Architecture

There are several deployment problems associated with current

multicast architecture:

A) Address Allocation:

Address allocation is one of core deployment challenges posed

by the ASM service model. The current multicast architecture

does not provide a deployable solution to prevent address

collisions among multiple applications. The problem is much

less serious for IPv6 than for IPv4 since the size of the

multicast address space is much larger. A static address

allocation scheme, GLOP [17] has been proposed as an interim

solution for IPv4; however, GLOP addresses are allocated per

registered AS, which is inadequate in cases where the number of

sources exceeds the AS numbers available for mapping. RFC3138

expands on RFC2770 to allow routing registries to assign

multicast addresses from the GLOP space corresponding to the

RFC1930 private AS space [27]. This space is referred to as

the EGLOP (Extended GLOP) address space. Proposed longer-term

solutions such as the Multicast Address Allocation Architecture

[14] are generally perceived as being too complex (with respect

to the dynamic nature of multicast address allocation) for

widespread deployment.

B) Lack of Access control:

In the ASM service model, a receiver cannot specify which

specific sources it would like to receive when it joins a given

group. A receiver will be forwarded data sent to a host group

by any source. Moreover, even when a source is allocated a

multicast group address to transmit on, it has no way of

enforcing that no other source will use the same address. This

is true even in the case of IPv6, where address collisions are

less likely due to the much larger size of the address space.

C) Inefficient handling of well-known sources:

In cases where the address of the source is well known in

advance of the receiver joining the group, and when the

shortest forwarding path is the preferred forwarding mode, then

shared tree mechanisms are not necessary.

5. Source Specific Multicast (SSM): Benefits and Requirements

As mentioned before, the Source Specific Multicast (SSM) service

model defines a "channel" identified by an (S,G) pair, where S is a

source address and G is an SSM destination address. Channel

subscriptions are described using an SFM-capable group management

protocol such as IGMPv3 or MLDv2. Only source-based forwarding trees

are needed to implement this model.

The SSM service model alleviates all of the deployment problems

described earlier:

A) Address Allocation: SSM defines channels on a per-source basis,

i.e., the channel (S1,G) is distinct from the channel (S2,G),

where S1 and S2 are source addresses, and G is an SSM

destination address. This averts the problem of global

allocation of SSM destination addresses, and makes each source

independently responsible for resolving address collisions for

the various channels that it creates.

B) Access Control: SSM lends itself to an elegant solution to the

access control problem. When a receiver subscribes to an (S,G)

channel, it receives data sent only by the source S. In

contrast, any host can transmit to an ASM host group. At the

same time, when a sender picks a channel (S,G) to transmit on,

it is automatically ensured that no other sender will be

transmitting on the same channel (except in the case of

malicious acts such as address spoofing). This makes it much

harder to "spam" an SSM channel than an ASM multicast group.

C) Handling of well-known sources: SSM requires only

source-based forwarding trees; this eliminates the need for a

shared tree infrastructure. This implies that neither the

RP-based shared tree infrastructure of PIM-SM nor the MSDP

protocol is required. Thus the complexity of the multicast

routing infrastructure for SSM is low, making it viable for

immediate deployment. Note that there is no difference in how

MBGP is used for ASM and SSM.

6. SSM Framework

Figure 1 illustrates the elements in an end-to-end implementation

framework for SSM:

--------------------------------------------------------------

IANA assigned 232/8 for IPv4 ADDRESS ALLOCATION

FF3x::/96 for IPv6

--------------------------------------------------------------

v

+--------------+ session Directory/web page

source,group SESSION DESCRIPTION

--------------------------------------------------------------

^

Query (S,G)

v

+-----------------+ host

SSM-aware app CHANNEL DISCOVERY

--------------------------------------------------------------

SSM-aware app SSM-AWARE APPLICATION

--------------------------------------------------------------

IGMPv3/MLDv2 IGMPv3/MLDv2 HOST REPORTING

+-----------------+

(source specific host report)

--------------------------------------------------------------

v

+-----------------+ Querier Router

IGMPv3/MLDv2 QUERIER

--------------------------------------------------------------

PIM-SSM PIM-SSM ROUTING

+------------+ Designated Router

(S,G) Join only

v

+-----------+ Backbone Router

PIM-SSM

+-----------+

(S,G) Join only

V

Figure 1: SSM Framework: elements in end-to-end model

We now discuss the framework elements in detail:

6.1. Address Allocation

For IPv4, the address range of 232/8 has been assigned by IANA for

SSM. To ensure global SSM functionality in 232/8, including in

networks where routers run non-SFM-capable protocols, operational

policies are being proposed [9] which recommend that routers should

not send SSM traffic to parts of the network that do not have channel

subscribers.

Note that IGMPv3/MLDv2 does not limit (S,G) joins to only the 232/8

range. However, SSM service, as defined in [5], is available only in

this address range for IPv4.

In case of IPv6, [23] has defined an extension to the addressing

architecture to allow for unicast prefix-based multicast addresses.

See RFC3306 for details.

6.2. Session Description and Channel Discovery

An SSM receiver application must know both the SSM destination

address G and the source address S before subscribing to a channel.

Channel discovery is the responsibility of applications. This

information can be made available in a number of ways, including via

web pages, sessions announcement applications, etc. This is similar

to what is used for ASM applications where a multicast session needs

to be announced so that potential subscribers can know of the

multicast group address, encoding schemes used, etc. In fact, the

only additional piece of information that needs to be announced is

the source address for the channel being advertised. However, the

exact mechanisms for doing this is outside the scope of this

framework document.

6.3. SSM-Aware Applications

There are two main issues in making multicast applications

"SSM-aware":

- An application that wants to receive an SSM session must first

discover the channel address in use.

- A receiving application must be able to specify both a source

address and a destination address to the network layer protocol

module on the end-host.

Specific API requirements are identified in [16]. [16] describes

a recommended application programming interface for a host

operating system to support the SFM service model. Although it is

intended for SFM, a subset of this interface is sufficient for

supporting SSM.

6.4. IGMPv3/MLDv2 Host Reporting and Querier

In order to use SSM service, an end-host must be able to specify a

channel address, consisting of a source's unicast address and an SSM

destination address. IGMP version 2 [3] and MLD version 1 [19]

allows an end-host to specify only a destination multicast address.

The ability to specify an SSM channel address c is provided by IGMP

version 3 [3] and MLD version 2 [20]. These protocols support

"source filtering", i.e., the ability of an end-system to express

interest in receiving data packets sent only by SPECIFIC sources, or

from ALL BUT some specific sources. In fact, IGMPv3 provides a

superset of the capabilities required to realize the SSM service

model.

A detailed discussion of the use of IGMPv3 in the SSM destination

address range is provided in [4].

The Multicast Listener Discovery (MLD) protocol used by an IPv6

router to discover the presence of multicast listeners on its

directly attached links, and to discover the multicast addresses that

are of interest to those neighboring nodes. MLD version 1 is derived

from IGMPv2 and does not provide the source filtering capability

required for the SSM service model. MLD version 2 is derived from,

and provides the same support for source-filtering as, IGMPv3. Thus

IGMPv3 (or MLDv2 for IPv6) provides a host with the ability to

request the network for an SSM channel subscription.

6.5. PIM-SSM Routing

[9] provides guidelines for how a PIM-SM implementation should handle

source-specific host reports as required by SSM. Earlier versions of

the PIM protocol specifications did not describe how to do this.

The router requirements for operation in the SSM range are detailed

in [5]. These rules are primarily concerned with preventing

ASM-style behaviour in the SSM address range. In order to comply

with [5] several changes to the PIM-SM protocol are required, as

described in [9]. The most important changes in PIM-SM required for

compliance with [5] are:

- When a DR receives an (S,G) join request with the address G in the

SSM address range, it MUST initiate a (S,G) join, and NEVER a

(*,G) join.

- Backbone routers (i.e., routers that do not have directly attached

hosts) MUST NOT propagate (*,G) joins for group addresses in the

SSM address range.

- Rendezvous Points (RPs) MUST NOT accept PIM Register messages or

(*,G) Join messages in the SSM address range.

Note that only a small subset of the full PIM-SM protocol

functionality is needed to support the SSM service model. This

subset is explicitly documented in [9].

7. Interoperability with Existing Multicast Service Models

Interoperability with ASM is one of the most important issues in

moving to SSM deployment, since both models are expected to be used

at least in the foreseeable future. SSM is the ONLY service model

for the SSM address range - the correct protocol behaviour for this

range is specified in [5]. The ASM service model will be offered for

the non-SSM address range, where receivers can issue (*,G) join

requests to receive multicast data. A receiver is also allowed to

issue an (S,G) join request in the non-SSM address range; however, in

that case there is no guarantee that it will receive service

according to the SSM model.

Another interoperability issue concerns the MSDP protocol, which is

used between PIM-SM rendezvous points (RPs) to discover multicast

sources across multiple domains. MSDP is not needed for SSM, but is

needed if ASM is supported. [9] specifies operational

recommendations to help ensure that MSDP does not interfere with the

ability of a network to support the SSM service model. Specifically,

[9] states that RPs must not accept, originate or forward MSDP SA

messages for the SSM address range.

8. Security Considerations

SSM does not introduce new security considerations for IP multicast.

It can help in preventing denial-of-service attacks resulting from

unwanted sources transmitting data to a multicast channel (S, G).

However no guarantee is provided.

9. Acknowledgments

We would like to thank Gene Bowen, Ed Kress, Bryan Lyles, Timothy

Roscoe, Hugh Holbrook, Isidor Kouvelas, Tony Speakman and Nidhi

Bhaskar for participating in lengthy discussions and design work on

SSM, and providing feedback on this document. Thanks are also due to

Mujahid Khan, Ted Seely, Tom Pusateri, Bill Fenner, Kevin Almeroth,

Brian Levine, Brad Cain, Hugh LaMaster and Pekka Savola for their

valuable insights and continuing support.

10. References

10.1. Informative References

[1] Holbrook, H. and D.R. Cheriton, "IP Multicast Channels: EXPRESS

Support for Large-scale Single-Source Applications", In

Proceedings of SIGCOMM 1999.

[2] Fenner, W., "Internet Group Management Protocol, Version 2", RFC

2236, November 1997.

[3] Cain, B., Deering, S., Kouvelas, I. and A. Thyagarajan,

"Internet Group Management Protocol, Version 3.", RFC3376,

October 2002.

[4] Holbrook, H. and B. Cain, "Using IGMPv3 and MLDv2 for

Source-Specific Multicast", Work In Progress.

[5] Holbrook, H. and B. Cain, "Source-Specific Multicast for IP",

Work in Progress.

[6] Deering, S. and D. Cheriton,"Multicast Routing in Datagram

Networks and Extended LANs", ACM Transactions on Computer

Systems, 8(2):85-110, May 1990.

[7] Deering, S. et al., "PIM Architecture for Wide-Area Multicast

Routing", IEEE/ACM Transaction on Networking, pages 153-162,

April 1996.

[8] Estrin, D., Farinacci, D., Helmy, A., Thaler, D., Deering, S.,

Handley, M., Jacobson, V., Liu, C., Sharma, P. and L. Wei,

"Protocol Independent Multicast - Sparse Mode (PIM-SM): Protocol

Specification", RFC2362, June 1998.

[9] Fenner, B., Handley, M., Holbrook, H. and I. Kouvelas, "Protocol

Independent Multicast - Sparse Mode (PIM-SM): Protocol

Specification (Revised)", Work In Progress.

[10] Adams, A., Nicholas, J. and W. Siadek, "Protocol Independent

Multicast - Dense Mode (PIM-DM): Protocol Specification

(Revised)", Work In Progress.

[11] Ballardie, A., "Core-Based Trees (CBT) Multicast Routing

Architecture", RFC2201, September 1997.

[12] Meyer, D., "Adminstratively Scoped IP Multicast", BCP 23, RFC

2365, July 1998.

[13] Farinacci, D. et al., "Multicast Source Discovery Protocol",

Work In Progress.

[14] Thaler, D., Handley, M. and D. Estrin, "The Internet Multicast

Address Allocation Architecture", RFC2908, September 2000.

[15] Diot, C., Levine, B., Lyles, B., Kassem, H. and D. Balensiefen,

"Deployment Issues for the IP Multicast Service and

Architecture", In IEEE Networks Magazine's Special Issue on

Multicast, January, 2000.

[16] Thaler, D., Fenner B. and B. Quinn, "Socket Interface Extensions

for Multicast Source Filters", Work in Progress.

[17] Meyer, D. and P. Lothberg, "GLOP Addressing in 233/8", BCP 53,

RFC3180, September 2001.

[18] Levine, B. et al., "Consideration of Receiver Interest for IP

Multicast Delivery", In Proceedings of IEEE Infocom, March 2000.

[19] Deering, S., Fenner, W. and B. Haberman, "Multicast Listener

Discovery for IPv6", RFC2710, October 1999.

[20] Vida, R. et. al., "Multicast Listener Discovery Version 2(MLDv2)

for IPv6", Work In Progress.

[21] Haberman, B. and D. Thaler, "Unicast-Prefix-Based IPv6 Multicast

Addresses", RFC3306, August 1992.

[22] Kent, S. and R. Atkinson, "Security Architecture for the

Internet Protocol", RFC2401, November 1998.

[23] Haberman, B., "Allocation Guidelines for IPv6 Multicast

Addresses", RFC3307, August 2002.

[24] Ballardie, A., "Core-Based Trees (CBT Version 2) Multicast

Routing -- Protocol Specification", RFC2189, September 2001.

[25] Deering, S., "Host Extensions for IP Multicasting", STD 5, RFC

1112, August 1989.

[26] Bates, T., Rekhter, Y., Chandra, R. and D. Katz, "Multiprotocol

Extensions for BGP-4", RFC2858, June 2000.

[27] Meyer, D., "Extended Assignments in 233/8", RFC3138, June 2001.

10.2. Normative References

[28] Bradner, S., "Key words for use in RFCs to Indicate Requirement

Levels", BCP 14, RFC2119, March 1997.

11. Contributors

Christophe Diot

Intel

EMail: christophe.diot@intel.com

Leonard Giuliano

Juniper Networks

EMail: lenny@juniper.net

Greg Shepherd

Procket Networks

EMail: shep@procket.com

Robert Rockell

Sprint

EMail: rrockell@sprint.net

David Meyer

Sprint

EMail: dmm@1-4-5.net

John Meylor

Cisco Systems

EMail: jmeylor@cisco.com

Brian Haberman

CASPian Networks

EMail: bkhabs@nc.rr.com

12. Editor's Address

Supratik Bhattacharyya

Sprint

EMail: supratik@sprintlabs.com

13. Full Copyright Statement

Copyright (C) The Internet Society (2003). All Rights Reserved.

This document and translations of it may be copied and furnished to

others, and derivative works that comment on or otherwise explain it

or assist in its implementation may be prepared, copied, published

and distributed, in whole or in part, without restriction of any

kind, provided that the above copyright notice and this paragraph are

included on all such copies and derivative works. However, this

document itself may not be modified in any way, such as by removing

the copyright notice or references to the Internet Society or other

Internet organizations, except as needed for the purpose of

developing Internet standards in which case the procedures for

copyrights defined in the Internet Standards process must be

followed, or as required to translate it into languages other than

English.

The limited permissions granted above are perpetual and will not be

revoked by the Internet Society or its successors or assignees.

This document and the information contained herein is provided on an

"AS IS" basis and THE INTERNET SOCIETY AND THE INTERNET ENGINEERING

TASK FORCE DISCLAIMS ALL WARRANTIES, EXPRESS OR IMPLIED, INCLUDING

BUT NOT LIMITED TO ANY WARRANTY THAT THE USE OF THE INFORMATION

HEREIN WILL NOT INFRINGE ANY RIGHTS OR ANY IMPLIED WARRANTIES OF

MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE.

Acknowledgement

Funding for the RFCEditor function is currently provided by the

Internet Society.

 
 
 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
2023年上半年GDP全球前十五强
 百态   2023-10-24
美众议院议长启动对拜登的弹劾调查
 百态   2023-09-13
上海、济南、武汉等多地出现不明坠落物
 探索   2023-09-06
印度或要将国名改为“巴拉特”
 百态   2023-09-06
男子为女友送行,买票不登机被捕
 百态   2023-08-20
手机地震预警功能怎么开?
 干货   2023-08-06
女子4年卖2套房花700多万做美容:不但没变美脸,面部还出现变形
 百态   2023-08-04
住户一楼被水淹 还冲来8头猪
 百态   2023-07-31
女子体内爬出大量瓜子状活虫
 百态   2023-07-25
地球连续35年收到神秘规律性信号,网友:不要回答!
 探索   2023-07-21
全球镓价格本周大涨27%
 探索   2023-07-09
钱都流向了那些不缺钱的人,苦都留给了能吃苦的人
 探索   2023-07-02
倩女手游刀客魅者强控制(强混乱强眩晕强睡眠)和对应控制抗性的关系
 百态   2020-08-20
美国5月9日最新疫情:美国确诊人数突破131万
 百态   2020-05-09
荷兰政府宣布将集体辞职
 干货   2020-04-30
倩女幽魂手游师徒任务情义春秋猜成语答案逍遥观:鹏程万里
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案神机营:射石饮羽
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案昆仑山:拔刀相助
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案天工阁:鬼斧神工
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案丝路古道:单枪匹马
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:与虎谋皮
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:李代桃僵
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:指鹿为马
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案金陵:小鸟依人
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案金陵:千金买邻
 干货   2019-11-12
 
推荐阅读
 
 
 
>>返回首頁<<
 
靜靜地坐在廢墟上,四周的荒凉一望無際,忽然覺得,淒涼也很美
© 2005- 王朝網路 版權所有