Hi Nurit,
nice to hear from you again.
I would say this algorithm may work, only in case you are COMPLETELY sure that you cannot receive other packets such as XXX over ATM.
I would say that in the generic case you don't have to differentiate between VC-Mux and LLC encapsulated packets, since in the case of VC-Mux you have to choose a priori the protocol running over ATM. In fact, if you take a look at RFC2515, you can see that part of the definition of the VCC is the kind of encapsulation...
Regards,
Daniel Feldman
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Daniel Feldman
System Architecture Team Leader, IC4IC Ltd.
office: +972(4)959-4644 ext. 121
mobile: +972(55)99-0299
fax: +972(4)959-4944
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-----Original Message-----
From: Nurit Sprecher [mailto:nurit.sprecher <at> SeabridgeNetworks.com]
Sent: Tuesday, May 14, 2002 12:23 PM
To: 'PPPoE Mailing List (E-mail)'; 'L2tp (E-mail)'; 'jh <at> telia.fi';
'dan <at> dma.isg.mot.com'; 'ietf-ppp <at> merit.edu'; 'Manuel Stol'
Subject: [L2tpext] Please Review our Algorithm for Auto Detection
My product works in an environment through which I expect to receive only
PPPoA or PPPoE over ATM packets. The AAL5 encapsulation format of the
packets may be either VC Mux or LLC.
Thus, the packets can be one of the following:
* PPP over ATM using AAL5 VC Mux encapsulation format.
* PPP over ATM using AAL5 LLC encapsulation format.
* PPPoE over ATM using AAL5 VC Mux encapsulation format.
* PPPoE over ATM using AAL5 LLC encapsulation format.
I would like to perform auto detection between these possible packets,
according to the following algorithm. I’ll appreciate if you can review it
and confirm me that it is working, and I did not miss any point.
The Algorithm for auto detection:
The first word of the packet should be inspected:
* If the first word is 0xAAAA, then the packet is PPPoE over ATM using
AAL5 LLC encapsulation format.
* If the first word is 0x0000, then the packet is PPPoE over ATM using
AAL5 VC Mux encapsulation format.
* If the first word is 0xFEFE, then the packet is PPP over ATM using
AAL5 LLC encapsulation format.
* If the first word is other than the three option appearing above,
then the packet is PPP over ATM using AAL5 VC Mux encapsulation format, and
the first word is actually the PPP protocol ID, which its values are defined
by IANA and attached below. As we can see, there is no conflict between the
three values above and the protocol ID possible values.
Thanks in advance, Nurit.
Assigned PPP DLL Protocol Numbers
Value (in hex) Protocol Name Reference
-------------- ---------------------------------- ---------
0001 Padding Protocol
0003 ROHC small-CID [RFC3095]
0005 ROHC large-CID [RFC3095]
0007 to 001f reserved (transparency inefficient)
0021 Internet Protocol version 4
0023 OSI Network Layer
0025 Xerox NS IDP
0027 DECnet Phase IV
0029 Appletalk
002b Novell IPX
002d Van Jacobson Compressed TCP/IP
002f Van Jacobson Uncompressed TCP/IP
0031 Bridging PDU
0033 Stream Protocol (ST-II)
0035 Banyan Vines
0037 reserved (until 1993) [Typo in RFC1172]
0039 AppleTalk EDDP
003b AppleTalk SmartBuffered
003d Multi-Link [RFC1717]
003f NETBIOS Framing
0041 Cisco Systems
0043 Ascom Timeplex
0045 Fujitsu Link Backup and Load Balancing (LBLB)
0047 DCA Remote Lan
0049 Serial Data Transport Protocol (PPP-SDTP)
004b SNA over 802.2
004d SNA
004f IPv6 Header Compression
0051 KNX Bridging Data [ianp]
0053 Encryption [Meyer]
0055 Individual Link Encryption [Meyer]
0057 Internet Protocol version 6 [Hinden]
0059 PPP Muxing [RFC3153]
0061 RTP IPHC Full Header [RFC2509]
0063 RTP IPHC Compressed TCP [RFC2509]
0065 RTP IPHC Compressed Non TCP [RFC2509]
0067 RTP IPHC Compressed UDP 8 [RFC2509]
0069 RTP IPHC Compressed RTP 8 [RFC2509]
006f Stampede Bridging
0071 Reserved [Fox]
0073 MP+ Protocol [Smith]
007d reserved (Control Escape) [RFC1661]
007f reserved (compression inefficient) [RFC1662]
0081 Reserved Until 20-Oct-2000 [IANA]
0083 Reserved Until 20-Oct-2000 [IANA]
00c1 NTCITS IPI [Ungar]
00cf reserved (PPP NLPID)
00fb single link compression in multilink [RFC1962]
00fd compressed datagram [RFC1962]
00ff reserved (compression inefficient)
02xx-1exx (compression inefficient)
0201 802.1d Hello Packets
0203 IBM Source Routing BPDU
0205 DEC LANBridge100 Spanning Tree
0207 Cisco Discovery Protocol [Sastry]
0209 Netcs Twin Routing [Korfmacher]
020b STP - Scheduled Transfer Protocol [Segal]
020d EDP - Extreme Discovery Protocol [Grosser]
0211 Optical Supervisory Channel Protocol (OSCP)[Prasad]
0213 Optical Supervisory Channel Protocol (OSCP)[Prasad]
0231 Luxcom
0233 Sigma Network Systems
0235 Apple Client Server Protocol [Ridenour]
0281 MPLS Unicast [RFC3032]
0283 MPLS Multicast [RFC3032]
0285 IEEE p1284.4 standard - data packets [Batchelder]
0287 ETSI TETRA Network Protocol Type 1 [Nieminen]
0289 Multichannel Flow Treatment Protocol [McCann]
2063 RTP IPHC Compressed TCP No Delta [RFC2509]
2065 RTP IPHC Context State [RFC2509]
2067 RTP IPHC Compressed UDP 16 [RFC2509]
2069 RTP IPHC Compressed RTP 16 [RFC2509]
4001 Cray Communications Control Protocol [Stage]
4003 CDPD Mobile Network Registration Protocol [Quick]
4005 Expand accelerator protocol [Rachmani]
4007 ODSICP NCP [Arvind]
4009 DOCSIS DLL [Gaedtke]
4021 Stacker LZS [Simpson]
4023 RefTek Protocol [Banfill]
4025 Fibre Channel [Rajagopal]
4027 EMIT Protocols [Eastham]
8001-801f Not Used - reserved [RFC1661]
8021 Internet Protocol Control Protocol
8023 OSI Network Layer Control Protocol
8025 Xerox NS IDP Control Protocol
8027 DECnet Phase IV Control Protocol
8029 Appletalk Control Protocol
802b Novell IPX Control Protocol
802d reserved
802f reserved
8031 Bridging NCP
8033 Stream Protocol Control Protocol
8035 Banyan Vines Control Protocol
8037 reserved (until 1993) [See note for 0037]
8039 reserved
803b reserved
803d Multi-Link Control Protocol
803f NETBIOS Framing Control Protocol
8041 Cisco Systems Control Protocol
8043 Ascom Timeplex
8045 Fujitsu LBLB Control Protocol
8047 DCA Remote Lan Network Control Protocol (RLNCP)
8049 Serial Data Control Protocol (PPP-SDCP)
804b SNA over 802.2 Control Protocol
804d SNA Control Protocol
804f IP6 Header Compression Control Protocol
8051 KNX Bridging Control Protocol [ianp]
8053 Encryption Control Protocol [Meyer]
8055 Individual Link Encryption Control Protocol [Meyer]
8057 IPv6 Control Protovol [Hinden]
8059 PPP Muxing Control Protocol [RFC3153]
806f Stampede Bridging Control Protocol
8073 MP+ Control Protocol [Smith]
8071 Reserved [Fox]
807d Not Used - reserved [RFC1661]
8081 Reserved Until 20-Oct-2000 [IANA]
8083 Reserved Until 20-Oct-2000 [IANA]
80c1 NTCITS IPI Control Protocol [Ungar]
80cf Not Used - reserved [RFC1661]
80fb single link compression in multilink control [RFC1962]
80fd Compression Control Protocol [RFC1962]
80ff Not Used - reserved [RFC1661]
8207 Cisco Discovery Protocol Control [Sastry]
8209 Netcs Twin Routing [Korfmacher]
820b STP - Control Protocol [Segal]
820d EDPCP - Extreme Discovery Protocol Ctrl Prtcl [Grosser]
8235 Apple Client Server Protocol Control [Ridenour]
8281 MPLSCP [RFC3032]
8285 IEEE p1284.4 standard - Protocol Control [Batchelder]
8287 ETSI TETRA TNP1 Control Protocol [Nieminen]
8289 Multichannel Flow Treatment Protocol [McCann]
c021 Link Control Protocol
c023 Password Authentication Protocol
c025 Link Quality Report
c027 Shiva Password Authentication Protocol
c029 CallBack Control Protocol (CBCP)
c02b BACP Bandwidth Allocation Control Protocol [RFC2125]
c02d BAP [RFC2125]
c081 Container Control Protocol [KEN]
c223 Challenge Handshake Authentication Protocol
c225 RSA Authentication Protocol [Narayana]
c227 Extensible Authentication Protocol [RFC2284]
c229 Mitsubishi Security Info Exch Ptcl (SIEP) [Seno]
c26f Stampede Bridging Authorization Protocol
c281 Proprietary Authentication Protocol [KEN]
c283 Proprietary Authentication Protocol [Tackabury]
c481 Proprietary Node ID Authentication Protocol [KEN]
_______________________________________________
L2tpext mailing list
L2tpext <at> ietf.org
https://www1.ietf.org/mailman/listinfo/l2tpext