分享
 
 
 

RFC2959 - Real-Time Transport Protocol Management Information Base

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

Network Working Group M. Baugher

Request for Comments: 2959 B. Strahm

Category: Standards Track Intel Corp.

I. SUConick

VideoServer Corp.

October 2000

Real-Time Transport Protocol

Management Information Base

Status of this Memo

This document specifies an Internet standards track protocol for the

Internet community, and requests discussion and suggestions for

improvements. Please refer to the current edition of the "Internet

Official Protocol Standards" (STD 1) for the standardization state

and status of this protocol. Distribution of this memo is unlimited.

Copyright Notice

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

Abstract

This memo defines a portion of the Management Information Base (MIB)

for use with network management protocols in the Internet community.

In particular, it defines objects for managing Real-Time Transport

Protocol (RTP) systems (RFC1889).

Table of Contents

1. The Network Management Framework ............................. 2

2. Overview ..................................................... 3

2.1 Components .................................................. 3

2.2 Applicability of the MIB to RTP System Implementations ...... 4

2.3 The Structure of the RTP MIB ................................ 4

3 Definitions ................................................... 5

4. Security Considerations ...................................... 26

5. Acknowledgements ............................................. 27

6. Intellectual Property ........................................ 27

7. References ................................................... 28

8. Authors' Addresses ........................................... 30

9. Full Copyright Statement ..................................... 31

1. The SNMP Management Framework

The SNMP Management Framework presently consists of five major

components:

o An overall architecture, described in RFC2571 [RFC2571].

o Mechanisms for describing and naming objects and events for the

purpose of management. The first version of this Structure of

Management Information (SMI) is called SMIv1 and described in

STD 16, RFC1155 [RFC1155], STD 16, RFC1212 [RFC1212] and RFC

1215 [RFC1215]. The second version, called SMIv2, is described

in STD 58, RFC2578 [RFC2578], RFC2579 [RFC2579] and RFC2580

[RFC2580].

o Message protocols for transferring management information. The

first version of the SNMP message protocol is called SNMPv1 and

described in STD 15, RFC1157 [RFC1157]. A second version of

the SNMP message protocol, which is not an Internet standards

track protocol, is called SNMPv2c and described in RFC1901

[RFC1901] and RFC1906 [RFC1906]. The third version of the

message protocol is called SNMPv3 and described in RFC1906

[RFC1906], RFC2572 [RFC2572] and RFC2574 [RFC2574].

o Protocol operations for Accessing management information. The

first set of protocol operations and associated PDU formats is

described in STD 15, RFC1157 [RFC1157]. A second set of

protocol operations and associated PDU formats is described in

RFC1905 [RFC1905].

o A set of fundamental applications described in RFC2573

[RFC2573] and the view-based access control mechanism described

in RFC2575 [RFC2575].

A more detailed introduction to the current SNMP Management Framework

can be found in RFC2570 [RFC2570].

Managed objects are accessed via a virtual information store, termed

the Management Information Base or MIB. Objects in the MIB are

defined using the mechanisms defined in the SMI.

This memo specifies a MIB module that is compliant to the SMIv2. A

MIB conforming to the SMIv1 can be produced through the appropriate

translations. The resulting translated MIB must be semantically

equivalent, except where objects or events are omitted because no

translation is possible (use of Counter64). Some machine readable

information in SMIv2 will be converted into textual descriptions in

SMIv1 during the translation process. However, this loss of machine

readable information is not considered to change the semantics of the

MIB.

2. Overview

An "RTP System" may be a host end-system that runs an application

program that sends or receives RTP data packets, or it may be an

intermediate-system that forwards RTP packets. RTP Control Protocol

(RTCP) packets are sent by senders and receivers to convey

information about RTP packet transmission and reception [RFC1889].

RTP monitors may collect RTCP information on senders and receivers to

and from an RTP host or intermediate-system.

The key Words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT",

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

document are to be interpreted as described in RFC2119.

2.1 Components

The RTP MIB is structured around "Session," "Receiver" and "Sender"

conceptual abstractions.

2.1.1 An "RTP Session" is the "...association of participants

communicating with RTP. For each participant, the session is defined

by a particular pair of destination transport addresses (one network

address plus a port pair for RTP and RTCP). The destination

transport addresses may be common for all participants, as in the

case of IP multicast, or may be different for each, as in the case of

individual unicast addresses plus a common port pair," as defined in

section 3 of [RFC1889].

2.1.2 A "Sender" is identified within an RTP session by a 32-bit

numeric "Synchronization Source," or "SSRC", value and is "...the

source of a stream of RTP packets" as defined in section 3 of

[RFC1889]. The sender is also a source of RTCP Sender Report packets

as specified in section 6 of [RFC1889].

2.1.3 A "Receiver" of a "stream of RTP packets" can be a unicast or

multicast Receiver as described in 2.1.1, above. An RTP Receiver has

an SSRC value that is unique to the session. An RTP Receiver is a

source of RTCP Receiver Reports as specified in section 6 of

[RFC1889].

2.2 Applicability of the MIB to RTP System Implementations

The RTP MIB may be used in two types of RTP implementations, RTP Host

Systems (end systems) and RTP Monitors, see section 3 of [RFC1889].

Use of the RTP MIB for RTP Translators and Mixers, as defined in

section 7 of [RFC1889], is for further study.

2.2.1 RTP host Systems are end-systems that may use the RTP MIB to

collect RTP session and stream data that the host is sending or

receiving; these data may be used by a network manager to detect and

diagnose faults that occur over the lifetime of an RTP session as in

a "help-desk" scenario.

2.2.2 RTP Monitors of multicast RTP sessions may be third-party or

may be located in the RTP host. RTP Monitors may use the RTP MIB to

collect RTP session and stream statistical data; these data may be

used by a network manager for capacity planning and other network-

management purposes. An RTP Monitor may use the RTP MIB to collect

data to permit a network manager to detect and diagnose faults in RTP

sessions or to permit a network manger to configure its operation.

2.2.3 Many host systems will want to keep track of streams beyond

what they are sending and receiving. In a host monitor system, a

host agent would use RTP data from the host to maintain data about

streams it is sending and receiving, and RTCP data to collect data

about other hosts in the session. For example, an agent for an RTP

host that is sending a stream would use data from its RTP system to

maintain the rtpSenderTable, but it may want to maintain a

rtpRcvrTable for endpoints that are receiving its stream. To do this

the RTP agent will collect RTCP data from the receivers of its stream

to build the rtpRcvrTable. A host monitor system MUST set the

rtpSessionMonitor object to 'true(1)', but it does not have to accept

management operations that create and destroy rows in its

rtpSessionTable.

2.3 The Structure of the RTP MIB

There are six tables in the RTP MIB. The rtpSessionTable contains

objects that describe active sessions at the host, or monitor. The

rtpSenderTable contains information about senders to the RTP session.

The rtpRcvrTable contains information about receivers of RTP session

data. The rtpSessionInverseTable, rtpSenderInverseTable, and

rtpRcvrInverseTable contain information to efficiently find indexes

into the rtpSessionTable, rtpSenderTable, and rtpRcvrTable,

respectively.

The reverse lookup tables (rtpSessionInverseTable,

rtpSenderInverseTable, and rtpRcvrInverseTable) are optional tables

to help management applications efficiently access conceptual rows in

other tables. Implementors of this MIB SHOULD implement these tables

for multicast RTP sessions when table indexes (rtpSessionIndex of

rtpSessionTable, rtpSenderSSRC of rtpSenderTable, and the SSRC pair

in the rtpRcvrTable) are not available from other MIBs. Otherwise,

the management application may be forced to perform eXPensive tree

walks through large numbers of sessions, senders, or receivers.

For any particular RTP session, the rtpSessionMonitor object

indicates whether remote senders or receivers to the RTP session are

to be monitored. If rtpSessionMonitor is true(1) then senders and

receivers to the session MUST be monitored with entries in the

rtpSenderTable and rtpRcvrTable. RTP sessions are monitored by the

RTP agent that updates rtpSenderTable and rtpRcvrTable objects with

information from RTCP reports from remote senders or remote receivers

respectively.

rtpSessionNewIndex is a global object that permits a network-

management application to oBTain a unique index for conceptual row

creation in the rtpSessionTable. In this way the SNMP Set operation

MAY be used to configure a monitor.

3. Definitions

RTP-MIB DEFINITIONS ::= BEGIN

IMPORTS

Counter32, Counter64, Gauge32, mib-2, Integer32,

MODULE-IDENTITY,

OBJECT-TYPE, Unsigned32 FROM SNMPv2-SMI

RowStatus, TAddress,

TDomain, TestAndIncr,

TimeStamp, TruthValue FROM SNMPv2-TC

OBJECT-GROUP, MODULE-COMPLIANCE FROM SNMPv2-CONF

Utf8String FROM SYSAPPL-MIB

InterfaceIndex FROM IF-MIB;

rtpMIB MODULE-IDENTITY

LAST-UPDATED "200010020000Z" -- 2 October 2000

ORGANIZATION

"IETF AVT Working Group

Email: rem-conf@es.net"

CONTACT-INFO

"Mark Baugher

Postal: Intel Corporation

2111 NE 25th Avenue

Hillsboro, OR 97124

United States

Tel: +1 503 466 8406

Email: mbaugher@passedge.com

Bill Strahm

Postal: Intel Corporation

2111 NE 25th Avenue

Hillsboro, OR 97124

United States

Tel: +1 503 264 4632

Email: bill.strahm@intel.com

Irina Suconick

Postal: Ennovate Networks

60 Codman Hill Rd.,

Boxboro, Ma 01719

Tel: +1 781-505-2155

Email: irina@ennovatenetworks.com"

DESCRIPTION

"The managed objects of RTP systems. The MIB is

structured around three types of information.

1. General information about RTP sessions such

as the session address.

2. Information about RTP streams being sent to

an RTP session by a particular sender.

3. Information about RTP streams received on an

RTP session by a particular receiver from a

particular sender.

There are two types of RTP Systems, RTP hosts and

RTP monitors. As described below, certain objects

are unique to a particular type of RTP System. An

RTP host may also function as an RTP monitor.

Refer to RFC1889, 'RTP: A Transport Protocol for

Real-Time Applications,' section 3.0, for definitions."

REVISION "200010020000Z" -- 2 October 2000

DESCRIPTION "Initial version of this MIB.

Published as RFC2959."

::= { mib-2 87 }

--

-- OBJECTS

--

rtpMIBObjects OBJECT IDENTIFIER ::= { rtpMIB 1 }

rtpConformance OBJECT IDENTIFIER ::= { rtpMIB 2 }

--

-- SESSION NEW INDEX

--

rtpSessionNewIndex OBJECT-TYPE

SYNTAX TestAndIncr

MAX-ACCESS read-write

STATUS current

DESCRIPTION

"This object is used to assign values to rtpSessionIndex

as described in 'Textual Conventions for SMIv2'. For an RTP

system that supports the creation of rows, the network manager

would read the object, and then write the value back in

the Set that creates a new instance of rtpSessionEntry. If

the Set fails with the code 'inconsistentValue,' then the

process must be repeated; If the Set succeeds, then the object

is incremented, and the new instance is created according to

the manager's directions. However, if the RTP agent is not

acting as a monitor, only the RTP agent may create conceptual

rows in the RTP session table."

::= { rtpMIBObjects 1 }

--

-- SESSION INVERSE TABLE

--

rtpSessionInverseTable OBJECT-TYPE

SYNTAX SEQUENCE OF RtpSessionInverseEntry

MAX-ACCESS not-accessible

STATUS current

DESCRIPTION

"Maps rtpSessionDomain, rtpSessionRemAddr, and rtpSessionLocAddr

TAddress pairs to one or more rtpSessionIndex values, each

describing a row in the rtpSessionTable. This makes it possible

to retrieve the row(s) in the rtpSessionTable corresponding to a

given session without having to walk the entire (potentially

large) table."

::= { rtpMIBObjects 2 }

rtpSessionInverseEntry OBJECT-TYPE

SYNTAX RtpSessionInverseEntry

MAX-ACCESS not-accessible

STATUS current

DESCRIPTION

"Each entry corresponds to exactly one entry in the

rtpSessionTable - the entry containing the tuple,

rtpSessionDomain, rtpSessionRemAddr, rtpSessionLocAddr

and rtpSessionIndex."

INDEX { rtpSessionDomain, rtpSessionRemAddr, rtpSessionLocAddr,

rtpSessionIndex }

::= { rtpSessionInverseTable 1 }

RtpSessionInverseEntry ::= SEQUENCE {

rtpSessionInverseStartTime TimeStamp

}

rtpSessionInverseStartTime OBJECT-TYPE

SYNTAX TimeStamp

MAX-ACCESS read-only

STATUS current

DESCRIPTION

"The value of SysUpTime at the time that this row was

created."

::= { rtpSessionInverseEntry 1 }

--

-- SESSION TABLE

--

rtpSessionTable OBJECT-TYPE

SYNTAX SEQUENCE OF RtpSessionEntry

MAX-ACCESS not-accessible

STATUS current

DESCRIPTION

"There's one entry in rtpSessionTable for each RTP session

on which packets are being sent, received, and/or

monitored."

::= { rtpMIBObjects 3 }

rtpSessionEntry OBJECT-TYPE

SYNTAX RtpSessionEntry

MAX-ACCESS not-accessible

STATUS current

DESCRIPTION

"Data in rtpSessionTable uniquely identify an RTP session. A

host RTP agent MUST create a read-only row for each session to

which packets are being sent or received. Rows MUST be created

by the RTP Agent at the start of a session when one or more

senders or receivers are observed. Rows created by an RTP agent

MUST be deleted when the session is over and there are no

rtpRcvrEntry and no rtpSenderEntry for this session. An RTP

session SHOULD be monitored to create management information on

all RTP streams being sent or received when the

rtpSessionMonitor has the TruthValue of 'true(1)'. An RTP

monitor SHOULD permit row creation with the side effect of

causing the RTP System to join the multicast session for the

purposes of gathering management information (additional

conceptual rows are created in the rtpRcvrTable and

rtpSenderTable). Thus, rtpSessionTable rows SHOULD be created

for RTP session monitoring purposes. Rows created by a

management application SHOULD be deleted via SNMP operations by

management applications. Rows created by management operations

are deleted by management operations by setting

rtpSessionRowStatus to 'destroy(6)'."

INDEX { rtpSessionIndex }

::= { rtpSessionTable 1 }

RtpSessionEntry ::= SEQUENCE {

rtpSessionIndex Integer32,

rtpSessionDomain TDomain,

rtpSessionRemAddr TAddress,

rtpSessionLocAddr TAddress,

rtpSessionIfIndex InterfaceIndex,

rtpSessionSenderJoins Counter32,

rtpSessionReceiverJoins Counter32,

rtpSessionByes Counter32,

rtpSessionStartTime TimeStamp,

rtpSessionMonitor TruthValue,

rtpSessionRowStatus RowStatus

}

rtpSessionIndex OBJECT-TYPE

SYNTAX Integer32 (1..2147483647)

MAX-ACCESS not-accessible

STATUS current

DESCRIPTION

"The index of the conceptual row which is for SNMP purposes

only and has no relation to any protocol value. There is

no requirement that these rows are created or maintained

sequentially."

::= { rtpSessionEntry 1 }

rtpSessionDomain OBJECT-TYPE

SYNTAX TDomain

MAX-ACCESS read-create

STATUS current

DESCRIPTION

"The transport-layer protocol used for sending or receiving

the stream of RTP data packets on this session.

Cannot be changed if rtpSessionRowStatus is 'active'."

::= { rtpSessionEntry 2 }

rtpSessionRemAddr OBJECT-TYPE

SYNTAX TAddress

MAX-ACCESS read-create

STATUS current

DESCRIPTION

"The address to which RTP packets are sent by the RTP system.

In an IP multicast RTP session, this is the single address used

by all senders and receivers of RTP session data. In a unicast

RTP session this is the unicast address of the remote RTP system.

'The destination address pair may be common for all participants,

as in the case of IP multicast, or may be different for each, as

in the case of individual unicast network address pairs.' See

RFC1889, 'RTP: A Transport Protocol for Real-Time Applications,'

sec. 3. The transport service is identified by rtpSessionDomain.

For snmpUDPDomain, this is an IP address and even-numbered UDP

Port with the RTCP being sent on the next higher odd-numbered

port, see RFC1889, sec. 5."

::= { rtpSessionEntry 3 }

rtpSessionLocAddr OBJECT-TYPE

SYNTAX TAddress

MAX-ACCESS read-only

STATUS current

DESCRIPTION

"The local address used by the RTP system. In an IP multicast

RTP session, rtpSessionRemAddr will be the same IP multicast

address as rtpSessionLocAddr. In a unicast RTP session,

rtpSessionRemAddr and rtpSessionLocAddr will have different

unicast addresses. See RFC1889, 'RTP: A Transport Protocol for

Real-Time Applications,' sec. 3. The transport service is

identified by rtpSessionDomain. For snmpUDPDomain, this is an IP

address and even-numbered UDP Port with the RTCP being sent on

the next higher odd-numbered port, see RFC1889, sec. 5."

::= { rtpSessionEntry 4 }

rtpSessionIfIndex OBJECT-TYPE

SYNTAX InterfaceIndex

MAX-ACCESS read-create

STATUS current

DESCRIPTION

"The ifIndex value is set to the corresponding value

from IF-MIB (See RFC2233, 'The Interfaces Group MIB using

SMIv2'). This is the interface that the RTP stream is being sent

to or received from, or in the case of an RTP Monitor the

interface that RTCP packets will be received on. Cannot be

changed if rtpSessionRowStatus is 'active'."

::= { rtpSessionEntry 5 }

rtpSessionSenderJoins OBJECT-TYPE

SYNTAX Counter32

MAX-ACCESS read-only

STATUS current

DESCRIPTION

"The number of senders that have been observed to have

joined the session since this conceptual row was created

(rtpSessionStartTime). A sender 'joins' an RTP

session by sending to it. Senders that leave and then

re-join following an RTCP BYE (see RFC1889, 'RTP: A

Transport Protocol for Real-Time Applications,' sec. 6.6)

or session timeout may be counted twice. Every time a new

RTP sender is detected either using RTP or RTCP, this counter

is incremented."

::= { rtpSessionEntry 6 }

rtpSessionReceiverJoins OBJECT-TYPE

SYNTAX Counter32

MAX-ACCESS read-only

STATUS current

DESCRIPTION

"The number of receivers that have been been observed to

have joined this session since this conceptual row was

created (rtpSessionStartTime). A receiver 'joins' an RTP

session by sending RTCP Receiver Reports to the session.

Receivers that leave and then re-join following an RTCP BYE

(see RFC1889, 'RTP: A Transport Protocol for Real-Time

Applications,' sec. 6.6) or session timeout may be counted

twice."

::= { rtpSessionEntry 7 }

rtpSessionByes OBJECT-TYPE

SYNTAX Counter32

MAX-ACCESS read-only

STATUS current

DESCRIPTION

"A count of RTCP BYE (see RFC1889, 'RTP: A Transport

Protocol for Real-Time Applications,' sec. 6.6) messages

received by this entity."

::= { rtpSessionEntry 8 }

rtpSessionStartTime OBJECT-TYPE

SYNTAX TimeStamp

MAX-ACCESS read-only

STATUS current

DESCRIPTION

"The value of SysUpTime at the time that this row was

created."

::= { rtpSessionEntry 9 }

rtpSessionMonitor OBJECT-TYPE

SYNTAX TruthValue

MAX-ACCESS read-only

STATUS current

DESCRIPTION

"Boolean, Set to 'true(1)' if remote senders or receivers in

addition to the local RTP System are to be monitored using RTCP.

RTP Monitors MUST initialize to 'true(1)' and RTP Hosts SHOULD

initialize this 'false(2)'. Note that because 'host monitor'

systems are receiving RTCP from their remote participants they

MUST set this value to 'true(1)'."

::= { rtpSessionEntry 10 }

rtpSessionRowStatus OBJECT-TYPE

SYNTAX RowStatus

MAX-ACCESS read-create

STATUS current

DESCRIPTION

"Value of 'active' when RTP or RTCP messages are being

sent or received by an RTP System. A newly-created

conceptual row must have the all read-create objects

initialized before becoming 'active'.

A conceptual row that is in the 'notReady' or 'notInService'

state MAY be removed after 5 minutes."

::= { rtpSessionEntry 11 }

--

-- SENDER INVERSE TABLE

--

rtpSenderInverseTable OBJECT-TYPE

SYNTAX SEQUENCE OF RtpSenderInverseEntry

MAX-ACCESS not-accessible

STATUS current

DESCRIPTION

"Maps rtpSenderAddr, rtpSessionIndex, to the rtpSenderSSRC

index of the rtpSenderTable. This table allows management

applications to find entries sorted by rtpSenderAddr rather than

sorted by rtpSessionIndex. Given the rtpSessionDomain and

rtpSenderAddr, a set of rtpSessionIndex and rtpSenderSSRC values

can be returned from a tree walk. When rtpSessionIndex is

specified in the SNMP Get-Next operations, one or more

rtpSenderSSRC values may be returned."

::= { rtpMIBObjects 4 }

rtpSenderInverseEntry OBJECT-TYPE

SYNTAX RtpSenderInverseEntry

MAX-ACCESS not-accessible

STATUS current

DESCRIPTION

"Each entry corresponds to exactly one entry in the

rtpSenderTable - the entry containing the index pair,

rtpSessionIndex, rtpSenderSSRC."

INDEX { rtpSessionDomain, rtpSenderAddr, rtpSessionIndex,

rtpSenderSSRC }

::= { rtpSenderInverseTable 1 }

RtpSenderInverseEntry ::= SEQUENCE {

rtpSenderInverseStartTime TimeStamp

}

rtpSenderInverseStartTime OBJECT-TYPE

SYNTAX TimeStamp

MAX-ACCESS read-only

STATUS current

DESCRIPTION

"The value of SysUpTime at the time that this row was

created."

::= { rtpSenderInverseEntry 1 }

--

-- SENDERS TABLE

--

rtpSenderTable OBJECT-TYPE

SYNTAX SEQUENCE OF RtpSenderEntry

MAX-ACCESS not-accessible

STATUS current

DESCRIPTION

"Table of information about a sender or senders to an RTP

Session. RTP sending hosts MUST have an entry in this table

for each stream being sent. RTP receiving hosts MAY have an

entry in this table for each sending stream being received by

this host. RTP monitors MUST create an entry for each observed

sender to a multicast RTP Session as a side-effect when a

conceptual row in the rtpSessionTable is made 'active' by a

manager."

::= { rtpMIBObjects 5 }

rtpSenderEntry OBJECT-TYPE

SYNTAX RtpSenderEntry

MAX-ACCESS not-accessible

STATUS current

DESCRIPTION

"Each entry contains information from a single RTP Sender

Synchronization Source (SSRC, see RFC1889 'RTP: A Transport

Protocol for Real-Time Applications' sec.6). The session is

identified to the the SNMP entity by rtpSessionIndex.

Rows are removed by the RTP agent when a BYE is received

from the sender or when the sender times out (see RFC

1889, Sec. 6.2.1) or when the rtpSessionEntry is deleted."

INDEX { rtpSessionIndex, rtpSenderSSRC }

::= { rtpSenderTable 1 }

RtpSenderEntry ::= SEQUENCE {

rtpSenderSSRC Unsigned32,

rtpSenderCNAME Utf8String,

rtpSenderAddr TAddress,

rtpSenderPackets Counter64,

rtpSenderOctets Counter64,

rtpSenderTool Utf8String,

rtpSenderSRs Counter32,

rtpSenderSRTime TimeStamp,

rtpSenderPT INTEGER,

rtpSenderStartTime TimeStamp

}

rtpSenderSSRC OBJECT-TYPE

SYNTAX Unsigned32

MAX-ACCESS not-accessible

STATUS current

DESCRIPTION

"The RTP SSRC, or synchronization source identifier of the

sender. The RTP session address plus an SSRC uniquely

identify a sender to an RTP session (see RFC1889, 'RTP: A

Transport Protocol for Real-Time Applications' sec.3)."

::= { rtpSenderEntry 1 }

rtpSenderCNAME OBJECT-TYPE

SYNTAX Utf8String

MAX-ACCESS read-only

STATUS current

DESCRIPTION

"The RTP canonical name of the sender."

::= { rtpSenderEntry 2 }

rtpSenderAddr OBJECT-TYPE

SYNTAX TAddress

MAX-ACCESS read-only

STATUS current

DESCRIPTION

"The unicast transport source address of the sender. In the

case of an RTP Monitor this address is the address that the

sender is using to send its RTCP Sender Reports."

::= { rtpSenderEntry 3 }

rtpSenderPackets OBJECT-TYPE

SYNTAX Counter64

MAX-ACCESS read-only

STATUS current

DESCRIPTION

"Count of RTP packets sent by this sender, or observed by

an RTP monitor, since rtpSenderStartTime."

::= { rtpSenderEntry 4 }

rtpSenderOctets OBJECT-TYPE

SYNTAX Counter64

MAX-ACCESS read-only

STATUS current

DESCRIPTION

"Count of non-header RTP octets sent by this sender, or observed

by an RTP monitor, since rtpSenderStartTime."

::= { rtpSenderEntry 5 }

rtpSenderTool OBJECT-TYPE

SYNTAX Utf8String (SIZE(0..127))

MAX-ACCESS read-only

STATUS current

DESCRIPTION

"Name of the application program source of the stream."

::= { rtpSenderEntry 6 }

rtpSenderSRs OBJECT-TYPE

SYNTAX Counter32

MAX-ACCESS read-only

STATUS current

DESCRIPTION

"A count of the number of RTCP Sender Reports that have

been sent from this sender, or observed if the RTP entity

is a monitor, since rtpSenderStartTime."

::= { rtpSenderEntry 7 }

rtpSenderSRTime OBJECT-TYPE

SYNTAX TimeStamp

MAX-ACCESS read-only

STATUS current

DESCRIPTION

"rtpSenderSRTime is the value of SysUpTime at the time that

the last SR was received from this sender, in the case of a

monitor or receiving host. Or sent by this sender, in the

case of a sending host."

::= { rtpSenderEntry 8 }

rtpSenderPT OBJECT-TYPE

SYNTAX INTEGER (0..127)

MAX-ACCESS read-only

STATUS current

DESCRIPTION

"Payload type from the RTP header of the most recently received

RTP Packet (see RFC1889, 'RTP: A Transport Protocol for

Real-Time Applications' sec. 5)."

::= { rtpSenderEntry 9 }

rtpSenderStartTime OBJECT-TYPE

SYNTAX TimeStamp

MAX-ACCESS read-only

STATUS current

DESCRIPTION

"The value of SysUpTime at the time that this row was

created."

::= { rtpSenderEntry 10 }

--

-- RECEIVER INVERSE TABLE

--

rtpRcvrInverseTable OBJECT-TYPE

SYNTAX SEQUENCE OF RtpRcvrInverseEntry

MAX-ACCESS not-accessible

STATUS current

DESCRIPTION

"Maps rtpRcvrAddr and rtpSessionIndex to the rtpRcvrSRCssRC and

rtpRcvrSSRC indexes of the rtpRcvrTable. This table allows

management applications to find entries sorted by rtpRcvrAddr

rather than by rtpSessionIndex. Given rtpSessionDomain and

rtpRcvrAddr, a set of rtpSessionIndex, rtpRcvrSRCSSRC, and

rtpRcvrSSRC values can be returned from a tree walk. When

rtpSessionIndex is specified in SNMP Get-Next operations, one or

more rtpRcvrSRCSSRC and rtpRcvrSSRC pairs may be returned."

::= { rtpMIBObjects 6 }

rtpRcvrInverseEntry OBJECT-TYPE

SYNTAX RtpRcvrInverseEntry

MAX-ACCESS not-accessible

STATUS current

DESCRIPTION

"Each entry corresponds to exactly one entry in the

rtpRcvrTable - the entry containing the index pair,

rtpSessionIndex, rtpRcvrSSRC."

INDEX { rtpSessionDomain, rtpRcvrAddr, rtpSessionIndex,

rtpRcvrSRCSSRC, rtpRcvrSSRC }

::= { rtpRcvrInverseTable 1 }

RtpRcvrInverseEntry ::= SEQUENCE {

rtpRcvrInverseStartTime TimeStamp

}

rtpRcvrInverseStartTime OBJECT-TYPE

SYNTAX TimeStamp

MAX-ACCESS read-only

STATUS current

DESCRIPTION

"The value of SysUpTime at the time that this row was

created."

::= { rtpRcvrInverseEntry 1 }

--

-- RECEIVERS TABLE

--

rtpRcvrTable OBJECT-TYPE

SYNTAX SEQUENCE OF RtpRcvrEntry

MAX-ACCESS not-accessible

STATUS current

DESCRIPTION

"Table of information about a receiver or receivers of RTP

session data. RTP hosts that receive RTP session packets

MUST create an entry in this table for that receiver/sender

pair. RTP hosts that send RTP session packets MAY create

an entry in this table for each receiver to their stream

using RTCP feedback from the RTP group. RTP monitors

create an entry for each observed RTP session receiver as

a side effect when a conceptual row in the rtpSessionTable

is made 'active' by a manager."

::= { rtpMIBObjects 7 }

rtpRcvrEntry OBJECT-TYPE

SYNTAX RtpRcvrEntry

MAX-ACCESS not-accessible

STATUS current

DESCRIPTION

"Each entry contains information from a single RTP

Synchronization Source that is receiving packets from the

sender identified by rtpRcvrSRCSSRC (SSRC, see RFC1889,

'RTP: A Transport Protocol for Real-Time Applications'

sec.6). The session is identified to the the RTP Agent entity

by rtpSessionIndex. Rows are removed by the RTP agent when

a BYE is received from the sender or when the sender times

out (see RFC1889, Sec. 6.2.1) or when the rtpSessionEntry is

deleted."

INDEX { rtpSessionIndex, rtpRcvrSRCSSRC, rtpRcvrSSRC }

::= { rtpRcvrTable 1 }

RtpRcvrEntry ::= SEQUENCE {

rtpRcvrSRCSSRC Unsigned32,

rtpRcvrSSRC Unsigned32,

rtpRcvrCNAME Utf8String,

rtpRcvrAddr TAddress,

rtpRcvrRTT Gauge32,

rtpRcvrLostPackets Counter64,

rtpRcvrJitter Gauge32,

rtpRcvrTool Utf8String,

rtpRcvrRRs Counter32,

rtpRcvrRRTime TimeStamp,

rtpRcvrPT INTEGER,

rtpRcvrPackets Counter64,

rtpRcvrOctets Counter64,

rtpRcvrStartTime TimeStamp

}

rtpRcvrSRCSSRC OBJECT-TYPE

SYNTAX Unsigned32

MAX-ACCESS not-accessible

STATUS current

DESCRIPTION

"The RTP SSRC, or synchronization source identifier of the

sender. The RTP session address plus an SSRC uniquely

identify a sender or receiver of an RTP stream (see RFC

1889, 'RTP: A Transport Protocol for Real-Time

Applications' sec.3)."

::= { rtpRcvrEntry 1 }

rtpRcvrSSRC OBJECT-TYPE

SYNTAX Unsigned32

MAX-ACCESS not-accessible

STATUS current

DESCRIPTION

"The RTP SSRC, or synchronization source identifier of the

receiver. The RTP session address plus an SSRC uniquely

identify a receiver of an RTP stream (see RFC1889, 'RTP:

A Transport Protocol for Real-Time Applications' sec.3)."

::= { rtpRcvrEntry 2 }

rtpRcvrCNAME OBJECT-TYPE

SYNTAX Utf8String

MAX-ACCESS read-only

STATUS current

DESCRIPTION

"The RTP canonical name of the receiver."

::= { rtpRcvrEntry 3 }

rtpRcvrAddr OBJECT-TYPE

SYNTAX TAddress

MAX-ACCESS read-only

STATUS current

DESCRIPTION

"The unicast transport address on which the receiver is

receiving RTP packets and/or RTCP Receiver Reports."

::= { rtpRcvrEntry 4 }

rtpRcvrRTT OBJECT-TYPE

SYNTAX Gauge32

MAX-ACCESS read-only

STATUS current

DESCRIPTION

"The round trip time measurement taken by the source of the

RTP stream based on the algorithm described on sec. 6 of

RFC1889, 'RTP: A Transport Protocol for Real-Time

Applications.' This algorithm can produce meaningful

results when the RTP agent has the same clock as the stream

sender (when the RTP monitor is also the sending host for the

particular receiver). Otherwise, the entity should return

'noSuchInstance' in response to queries against rtpRcvrRTT."

::= { rtpRcvrEntry 5 }

rtpRcvrLostPackets OBJECT-TYPE

SYNTAX Counter64

MAX-ACCESS read-only

STATUS current

DESCRIPTION

"A count of RTP packets lost as observed by this receiver

since rtpRcvrStartTime."

::= { rtpRcvrEntry 6 }

rtpRcvrJitter OBJECT-TYPE

SYNTAX Gauge32

MAX-ACCESS read-only

STATUS current

DESCRIPTION

"An estimate of delay variation as observed by this

receiver. (see RFC1889, 'RTP: A Transport Protocol

for Real-Time Applications' sec.6.3.1 and A.8)."

::= { rtpRcvrEntry 7 }

rtpRcvrTool OBJECT-TYPE

SYNTAX Utf8String (SIZE(0..127))

MAX-ACCESS read-only

STATUS current

DESCRIPTION

"Name of the application program source of the stream."

::= { rtpRcvrEntry 8 }

rtpRcvrRRs OBJECT-TYPE

SYNTAX Counter32

MAX-ACCESS read-only

STATUS current

DESCRIPTION

"A count of the number of RTCP Receiver Reports that have

been sent from this receiver, or observed if the RTP entity

is a monitor, since rtpRcvrStartTime."

::= { rtpRcvrEntry 9 }

rtpRcvrRRTime OBJECT-TYPE

SYNTAX TimeStamp

MAX-ACCESS read-only

STATUS current

DESCRIPTION

"rtpRcvrRRTime is the value of SysUpTime at the time that the

last RTCP Receiver Report was received from this receiver, in

the case of a monitor or RR receiver (the RTP Sender). It is

the value of SysUpTime at the time that the last RR was sent by

this receiver in the case of an RTP receiver sending the RR."

::= { rtpRcvrEntry 10 }

rtpRcvrPT OBJECT-TYPE

SYNTAX INTEGER (0..127)

MAX-ACCESS read-only

STATUS current

DESCRIPTION

"Static or dynamic payload type from the RTP header (see

RFC1889, 'RTP: A Transport Protocol for Real-Time

Applications' sec. 5)."

::= { rtpRcvrEntry 11 }

rtpRcvrPackets OBJECT-TYPE

SYNTAX Counter64

MAX-ACCESS read-only

STATUS current

DESCRIPTION

"Count of RTP packets received by this RTP host receiver

since rtpRcvrStartTime."

::= { rtpRcvrEntry 12 }

rtpRcvrOctets OBJECT-TYPE

SYNTAX Counter64

MAX-ACCESS read-only

STATUS current

DESCRIPTION

"Count of non-header RTP octets received by this receiving RTP

host since rtpRcvrStartTime."

::= { rtpRcvrEntry 13 }

rtpRcvrStartTime OBJECT-TYPE

SYNTAX TimeStamp

MAX-ACCESS read-only

STATUS current

DESCRIPTION

"The value of SysUpTime at the time that this row was

created."

::= { rtpRcvrEntry 14 }

--

-- MODULE GROUPS

--

--

-- There are two types of RTP Systems, RTP hosts and RTP Monitors.

-- Thus there are three kinds of objects: 1) Objects common to both

-- kinds of systems, 2) Objects unique to RTP Hosts and 3) Objects

-- unique to RTP Monitors. There is a fourth group, 4) Objects that

-- SHOULD be implemented by Multicast hosts and RTP Monitors

rtpGroups OBJECT IDENTIFIER ::= { rtpConformance 1 }

rtpSystemGroup OBJECT-GROUP

OBJECTS {

rtpSessionDomain,

rtpSessionRemAddr,

rtpSessionIfIndex,

rtpSessionSenderJoins,

rtpSessionReceiverJoins,

rtpSessionStartTime,

rtpSessionByes,

rtpSessionMonitor,

rtpSenderCNAME,

rtpSenderAddr,

rtpSenderPackets,

rtpSenderOctets,

rtpSenderTool,

rtpSenderSRs,

rtpSenderSRTime,

rtpSenderStartTime,

rtpRcvrCNAME,

rtpRcvrAddr,

rtpRcvrLostPackets,

rtpRcvrJitter,

rtpRcvrTool,

rtpRcvrRRs,

rtpRcvrRRTime,

rtpRcvrStartTime

}

STATUS current

DESCRIPTION

"Objects available to all RTP Systems."

::= { rtpGroups 1 }

rtpHostGroup OBJECT-GROUP

OBJECTS {

rtpSessionLocAddr,

rtpSenderPT,

rtpRcvrPT,

rtpRcvrRTT,

rtpRcvrOctets,

rtpRcvrPackets

}

STATUS current

DESCRIPTION

"Objects that are available to RTP Host systems, but may not

be available to RTP Monitor systems."

::= { rtpGroups 2 }

rtpMonitorGroup OBJECT-GROUP

OBJECTS {

rtpSessionNewIndex,

rtpSessionRowStatus

}

STATUS current

DESCRIPTION

"Objects used to create rows in the RTP Session Table. These

objects are not needed if the system does not create rows."

::= { rtpGroups 3 }

rtpInverseGroup OBJECT-GROUP

OBJECTS {

rtpSessionInverseStartTime,

rtpSenderInverseStartTime,

rtpRcvrInverseStartTime

}

STATUS current

DESCRIPTION

"Objects used in the Inverse Lookup Tables."

::= { rtpGroups 4 }

--

-- Compliance

--

rtpCompliances OBJECT IDENTIFIER ::= { rtpConformance 2 }

rtpHostCompliance MODULE-COMPLIANCE

STATUS current

DESCRIPTION

"Host implementations MUST comply."

MODULE RTP-MIB

MANDATORY-GROUPS {

rtpSystemGroup,

rtpHostGroup

}

GROUP rtpMonitorGroup

DESCRIPTION

"Host systems my optionally support row creation and deletion.

This would allow an RTP Host system to act as an RTP Monitor."

GROUP rtpInverseGroup

DESCRIPTION

"Multicast RTP Systems SHOULD implement the optional

tables."

OBJECT rtpSessionNewIndex

MIN-ACCESS not-accessible

DESCRIPTION

"RTP system implementations support of

row creation and deletion is OPTIONAL so

implementation of this object is OPTIONAL."

OBJECT rtpSessionDomain

MIN-ACCESS read-only

DESCRIPTION

"RTP system implementation support of

row creation and deletion is OPTIONAL. When

it is not supported so write access is

OPTIONAL."

OBJECT rtpSessionRemAddr

MIN-ACCESS read-only

DESCRIPTION

"Row creation and deletion is OPTIONAL so

read-create access to this object is OPTIONAL."

OBJECT rtpSessionIfIndex

MIN-ACCESS read-only

DESCRIPTION

"Row creation and deletion is OPTIONAL so

read-create access to this object is OPTIONAL."

OBJECT rtpSessionRowStatus

MIN-ACCESS not-accessible

DESCRIPTION

"Row creation and deletion is OPTIONAL so

read-create access to this object is OPTIONAL."

OBJECT rtpSessionInverseStartTime

MIN-ACCESS not-accessible

DESCRIPTION

"Multicast RTP Systems SHOULD implement the optional

tables."

OBJECT rtpSenderInverseStartTime

MIN-ACCESS not-accessible

DESCRIPTION

"Multicast RTP Systems SHOULD implement the optional

tables."

OBJECT rtpRcvrInverseStartTime

MIN-ACCESS not-accessible

DESCRIPTION

"Multicast RTP Systems SHOULD implement the optional

tables."

::= { rtpCompliances 1 }

rtpMonitorCompliance MODULE-COMPLIANCE

STATUS current

DESCRIPTION

"Monitor implementations must comply. RTP Monitors are not

required to support creation or deletion."

MODULE RTP-MIB

MANDATORY-GROUPS {

rtpSystemGroup,

rtpMonitorGroup

}

GROUP rtpHostGroup

DESCRIPTION

"Monitor implementations may not have access to values in the

rtpHostGroup."

GROUP rtpInverseGroup

DESCRIPTION

"Multicast RTP Systems SHOULD implement the optional

tables."

OBJECT rtpSessionLocAddr

MIN-ACCESS not-accessible

DESCRIPTION

"RTP monitor sourcing of RTP or RTCP data packets

is OPTIONAL and implementation of this object is

OPTIONAL."

OBJECT rtpRcvrPT

MIN-ACCESS not-accessible

DESCRIPTION

"RTP monitor systems may not support

retrieval of the RTP Payload Type from the RTP

header (and may receive RTCP messages only). When

queried for the payload type information"

OBJECT rtpSenderPT

MIN-ACCESS not-accessible

DESCRIPTION

"RTP monitor systems may not support

retrieval of the RTP Payload Type from the RTP

header (and may receive RTCP messages only). When

queried for the payload type information."

OBJECT rtpRcvrOctets

MIN-ACCESS not-accessible

DESCRIPTION

"RTP monitor systems may receive only the RTCP messages

and not the RTP messages that contain the octet count

of the RTP message. Thus implementation of this

object is OPTIONAL"

OBJECT rtpRcvrPackets

MIN-ACCESS not-accessible

DESCRIPTION

"RTP monitor systems may receive only the RTCP messages

and not the RTP messages that contain the octet count

of the RTP message. Thus implementation of this

object is OPTIONAL."

OBJECT rtpSessionIfIndex

MIN-ACCESS read-only

DESCRIPTION

"Row creation and deletion is OPTIONAL so

read-create access to this object is OPTIONAL."

OBJECT rtpSessionInverseStartTime

MIN-ACCESS not-accessible

DESCRIPTION

"Multicast RTP Systems SHOULD implement the optional

tables."

OBJECT rtpSenderInverseStartTime

MIN-ACCESS not-accessible

DESCRIPTION

"Multicast RTP Systems SHOULD implement the optional

tables."

OBJECT rtpRcvrInverseStartTime

MIN-ACCESS not-accessible

DESCRIPTION

"Multicast RTP Systems SHOULD implement the optional

tables."

::= { rtpCompliances 2 }

END

4. Security Considerations

In most cases, MIBs are not themselves security risks; if SNMP

security is operating as intended, the use of a MIB to view

information about a system, or to change some parameter at the

system, is a tool, not a threat. However, there are a number of

management objects defined in this MIB that have a MAX-ACCESS clause

of read-write and/or read-create. Such objects may be considered

sensitive or vulnerable in some network environments. The support

for SET operations in a non-secure environment without proper

protection can have a negative effect on network operations.

None of the read-only objects in this MIB reports a password, though

some SDES [RFC1889] items such as the CNAME [RFC1889], the canonical

name, may be deemed sensitive depending on the security policies of a

particular enterprise. If access to these objects is not limited by

an appropriate access control policy, these objects can provide an

attacker with information about a system's configuration and the

services that that system is providing. Some enterprises view their

network and system configurations, as well as information about usage

and performance, as corporate assets; such enterprises may wish to

restrict SNMP access to most of the objects in the MIB. This MIB

supports read-write operations against rtpSessionNewIndex which has

the side effect of creating an entry in the rtpSessionTable when it

is written to. Five objects in rtpSessionEntry have read-create

access: rtpSessionDomain, rtpSessionRemAddr, rtpSessionIfIndex,

rtpSessionRowStatus, and rtpSessionIfAddr identify an RTP session to

be monitored on a particular interface. The values of these objects

are not to be changed once created, and initialization of these

objects affects only the monitoring of an RTP session and not the

operation of an RTP session on any host end-system. Since write

operations to rtpSessionNewIndex and the five objects in

rtpSessionEntry affect the operation of the monitor, write access to

these objects should be subject to the appropriate access control

policy.

Confidentiality of RTP and RTCP data packets is defined in section 9

of the RTP specification [RFC1889]. Encryption may be performed on

RTP packets, RTCP packets, or both. Encryption of RTCP packets may

pose a problem for third-party monitors though "For RTCP, it is

allowed to split a compound RTCP packet into two lower-layer packets,

one to be encrypted and one to be sent in the clear. For example,

SDES information might be encrypted while reception reports were sent

in the clear to accommodate third-party monitors [RFC1889]."

SNMPv1 by itself is not a secure environment. Even if the network

itself is secure (for example by using IPSec), there is no control as

to who on the secure network is allowed to access and GET/SET

(read/change/create/delete) the objects in this MIB. It is

recommended that the implementers consider the security features as

provided by the SNMPv3 framework. Specifically, the use of the

User-based Security Model RFC2574 [RFC2574] and the View-based

Access Control Model RFC2575 [RFC2575] is recommended. It is then a

customer/user responsibility to ensure that the SNMP entity giving

access to an instance of this MIB, is properly configured to give

access to the objects only to those principals (users) that have

legitimate rights to indeed GET or SET (change/create/delete) them.

5. Acknowledgements

The authors wish to thank Bert Wijnen and the participants from the

ITU SG-16 management effort for their helpful comments. Alan Batie

and Bill Lewis from Intel also contributed greatly to the RTP MIB

through their review of various drafts of the MIB and their work on

the implementation of an SNMP RTP Monitor. Stan Naudus from 3Com and

John Du from Intel contributed to the original RTP MIB design and

co-authored the original RTP MIB draft documents; much of their work

remains in the current RTP MIB. Bill Fenner provided solid feedback

that improved the quality of the final document.

6. Intellectual Property

The IETF takes no position regarding the validity or scope of any

intellectual property or other rights that might be claimed to

pertain to the implementation or use of the technology described in

this document or the extent to which any license under such rights

might or might not be available; neither does it represent that it

has made any effort to identify any such rights. Information on the

IETF's procedures with respect to rights in standards-track and

standards-related documentation can be found in BCP-11. Copies of

claims of rights made available for publication and any assurances of

licenses to be made available, or the result of an attempt made to

obtain a general license or permission for the use of such

proprietary rights by implementors or users of this specification can

be obtained from the IETF Secretariat.

The IETF invites any interested party to bring to its attention any

copyrights, patents or patent applications, or other proprietary

rights which may cover technology that may be required to practice

this standard. Please address the information to the IETF Executive

Director.

7. References

[RFC1889] Shulzrinne, H., Casner, S., Frederick, R. and V.

Jacobson, "RTP: A Transport Protocol for real-time

applications," RFC1889, January 1996.

[RFC2571] Harrington, D., Presuhn, R. and B. Wijnen, "An

Architecture for Describing SNMP Management Frameworks",

RFC2571, April 1999.

[RFC1155] Rose, M. and K. McCloghrie, "Structure and Identification

of Management Information for TCP/IP-based Internets",

STD 16, RFC1155, May 1990.

[RFC1212] Rose, M. and K. McCloghrie, "Concise MIB Definitions",

STD 16, RFC1212, March 1991.

[RFC1215] Rose, M., "A Convention for Defining Traps for use with

the SNMP", RFC1215, March 1991.

[RFC2578] McCloghrie, K., Perkins, D., Schoenwaelder, J., Case, J.,

Rose, M. and S. Waldbusser, "Structure of Management

Information Version 2 (SMIv2)", STD 58, RFC2578, April

1999.

[RFC2579] McCloghrie, K., Perkins, D., Schoenwaelder, J., Case, J.,

Rose, M. and S. Waldbusser, "Textual Conventions for

SMIv2", STD 58, RFC2579, April 1999.

[RFC2580] McCloghrie, K., Perkins, D., Schoenwaelder, J., Case, J.,

Rose, M. and S. Waldbusser, "Conformance Statements for

SMIv2", STD 58, RFC2580, April 1999.

[RFC1157] Case, J., Fedor, M., Schoffstall, M. and J. Davin,

"Simple Network Management Protocol", STD 15, RFC1157,

May 1990.

[RFC1901] Case, J., McCloghrie, K., Rose, M. and S. Waldbusser,

"Introduction to Community-based SNMPv2", RFC1901

 
 
 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
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- 王朝網路 版權所有