Information Elements for Data Link Layer Traffic Measurement (draft-kashima-ipfix-data-link-layer-monitoring-04) Shingo Kashima, Atsushi Kobayashi NTT Information Sharing Platform Laboratories
Motivation A Wide-Area Ethernet and a Data Center Bridging has a lot of Ethernet components. Many kinds of MAC-Address and VLAN-Tag (VLAN ID and QoS parameter bit), etc. A variety of traffic monitoring is required. Provider Bridged Network Provider Backbone Bridged Network Provider Bridged Network IEEE 802.1ah frame IEEE 802.1ad frame(c-tagged) C-DA C-SA S-Tag C-Tag E-Tag NIC Network Access Bridge Virtual Bridge VF 1 VF 2 VF n VF DD VMM Traffic volume for each VLAN and QoS class (for traffic report to customer) Multicast traffic volume (for capacity planning and loop detection) A flexible traffic measurement is required in Ethernet layer. L/T Customer Data VF DD VF DD VM 1 VM 2 VM n S-Tag Under a discussion in IEEE 802.1 Data Center Bridging 2
Proposal A flexible traffic measurement in Ethernet layer. Just ike ip{header,payload}packetsection for IPv4 and IPv6. Just like mpls{labelstack,payloadpacket}section for MPLS. Collector/Mediator IEEE 802.1ah frame IEEE 802.1ad frame C-DA C-SA S-Tag C-Tag L/T Customer Data Exporter C-DA C-SA S-Tag C-Tag L/T Customer Data Then I proposed adding tree IEs in the past meeting. datalinkframesize, datalinkframesection, datalinkframetype I propose adding two IEs in this meeting. datalinkframeoffset, datalinkframesectionobservedoctets 3
Information Elements datalinkframesize: specifies the length of the selected data link frame. datalinkframesection: carries n octets from the data link frame of a selected frame, starting datalinkframeoffset octets into the frame. datalinkframetype: specifies the type of the selected data link frame. datalinkframeoffset I-Tag datalinkframesection Collector/Mediator Long IEEE 802.1ah frame datalinkframesectionobservedoctets datalinkframesize datalinkframeoffset datalinkframesection (including padding data) Short IEEE 802.1ah frame Customer Frame Exporter I-Tag Customer Frame Padding datalinkframesize datalinkframesectionobservedoctets 4
Information Elements [cont.] datalinkframeoffset: New specifies the offset of the observed datalinkframesection within the data link frame. datalinkframesectionobservedoctets: New specifies the observed length of the datalinkframesection when padding is used. Though IPFIX supports variable-length encoding, Exporter can process fixed-length encoding easier than variable-length and a wasting data is little when extracting size is small. datalinkframesection datalinkframeoffset I-Tag Long IEEE 802.1ah frame Collector/Mediator datalinkframesectionobservedoctets datalinkframesize datalinkframeoffset datalinkframesection (including padding data) Short IEEE 802.1ah frame Customer Frame Exporter I-Tag Customer Frame Padding 5 datalinkframesize datalinkframesectionobservedoctets
Discussion 1 6 Where should be the enumeration of datalinkframetype value? In datalinkframetype s description Just like flowendreason and biflowdirection. Very simple at this time but datalinkframetype s description is revised when a new frame type is required. In a new registry Just like mplstoplabeltype. Not simple at this time but only enumeration is revised when a new frame type is required. 4.3. datalinkframetype Description: This Information Element specifies the type of the selected data link frame. The following data link types are defined here. - 0x0001 ETHERNET Further values may be assigned by IANA. The data link layer is defined in [ISO_IEC.7498-1_1994]. Abstract Data Type: unsigned16 Data Type Semantics: identifier ElementId: 347 Status: current
Discussion 2 Do we need a generic offset? No. datalinkframeoffset supports only datalinkframesection. We cannot have general versatility. Yes. datalinkframeoffset supports all packet section IEs. Then IE name should be changed to SectionOffset. We need modify the existing IEs description. ipheaderpacketsection: carries a series of octets from the start of the IP header ippayloadpacketsection: carries a series of octets from the start of the IP payload mplslabelstacksection: carries the first n octets from the MPLS label stack mplspayloadpacketsection: carries the first n octets from the MPLS payload 7
Thank You! 8