Subject: Interworking of TDM PWs with ATM-CES (was: RE: I-D ACTION: draft-johnson-pwe3-tdm-00.txt)

From: Sasha Vainshtein <[email-masked]>
Date: Thu, 27 Mar 2003 20:57:54 +0200

Shahram and all,
Please see some comments (rather long ones) inline.

With best regards,
                                   Sasha Vainshtein
email:     [email-masked] <mailto:[email-masked]> 
tel:       +972-3-7659993 (office)
           +972-8-9254948 (res.)
           +972-58-674833 (cell.)

> -----Original Message-----
> From: Shahram Davari [mailto:[email-masked]]
> Sent: Thursday, March 27, 2003 5:17 PM
> To: [email-masked]'; [email-masked]
> Subject: RE: [PWE3] I-D ACTION:draft-johnson-pwe3-tdm-00.txt
> 
> 
> Tim,
> 
> Excellent summary of the issues. I support all 4 points that 
> you raised. 
>
I concur.
> 
> Regarding point 4, I prefer ease of interworking with ATM 
> CES. The reason is 
>
Is this the reason for your preference? 
>
> that if pointer is not supported, then it 
> becomes impossible to interwork with ATM CES, without first 
> converting the TDM emulated packets to TDM and then 
> converting it back to ATM CES. 
>
I assume you mean structured ATM-CES here. My comments below are
based on this assumption.

I also do not understand which use case you have in mind.
If you have ATM-CES attachment circuits at two ends of the PW,
then you do not need any conversion at all. 

If you have an ATM-CES attachment circuit at one end of 
a PW and any other TDM attachment circuit at the other 
end, then you need an NSP block converting ATM-CES to 
TDM and back at one end. It seems absolutely logical and 
fully consistent with the PWE3 architecture to have such an 
NSP in the PE that interfaces to an ATM network. 

AFAIK, the share of FR traffic that is carried over ATM AAL5 
in the total FR traffic exceeds by far the share of TDM traffic
that is carried over ATM-CES in the total TDM traffic. But
this does not prevent us from terminating ATM and AAL5 in an
appropriate NSP before we feed FR traffic into a FRoPSN PW.
>
>
> However, I don't think adding a pointer to the header complicates the 
> protocol that much. Also if the pointer is present then off course 
> constant delay for every N 
> could also be achieved. 
>
Constant delay for every N can be handled with or without pointer.
>
> So I think mandating the pointer 
> solves 2 problems:
> 
> a) Ease of interworking with ATM CES
>
IMO it does not - because the CEP-TDM pointer does 
not eliminate the need for full-fledged 
generation/termination of structured AAL1 in both
"full cells" and "partial cell fill" modes for 
interworking with structured ATM-CES. 
And this, IMO, is not easy. 

The situation differs substantially for unstructured 
TDM emulation because generation/termination of 
unstructured AAL1 is trivial and there is no 
partial cell fill mode there. 

The remaining text explains why generation/termination 
of structured AAL1 cannot be avoided.

The protocol stack for structured ATM-CES looks like following:

----------------------------------------------------------------------
Layer   |                     Function 
        |-------------------------------------------------------------
        |     Basic NxDS0                | NxDS0 with CAS
----------------------------------------------------------------------
Payload |    TDM data and frame clock as extracted from an 
        |    E1 or T1 trunk by an appropriate framer
----------------------------------------------------------------------
ATM-CES | Creates a stream of fixed      | Creates a stream of fixed 
        | size structures - NxDS0 frames | size structures ("superframe
        |                                | structures with signaling")
----------------------------------------------------------------------
AAL1    | Maps the stream of fixed size structures to AAL1 SDUs by
        | using 8-cell chains and structure pointers (one per cell,
        | always in an even cell of the chain). May insert invalid
        | pointers. Supports both full cell fill (the amount of 
        | payload per cell varies) and partial cell fill (fixed
        | amount of payload per cell), with the pointer spanning
        | all the octets in the cell payload.  
----------------------------------------------------------------------

Now, how is this related to structured TDM emulation in draft-johnson?

Its protocol stack looks like following:

----------------------------------------------------------------------
Layer   |                     Function 
        |-------------------------------------------------------------
        |     Basic NxDS0                | NxDS0 with CAS
----------------------------------------------------------------------
Payload |    TDM data and frame clock as extracted from an 
        |    E1 or T1 trunk by an appropriate framer
----------------------------------------------------------------------
CEP-TDM | Creates a stream of fixed      | Creates a stream of fixed 
payload | size structures - 16*NxDS0 or  | size structures ("superframe
layer   | 24*NxDS0 frames (?)            | structures with signaling")
----------------------------------------------------------------------
CEP-TDM | Maps the stream of fixed size structures to packets of 
encapsu-| arbitrary fixed (?) size using the structure pointer that 
lation  | always points to the beginning pf the first structure in
layer   | the packet.
----------------------------------------------------------------------

Note that the middle layers of the two stacks differ for basic NxDS0
(without CAS). I have already pointed to this problem in a message
to the list.

Even if we only consider NxDS0 with CAS, we see that interworking between
the two protocols involves:

o In the direction from ATM-CES to CEP-TDM - termination of structured AAL1
  and generation of CEP-TDM. This operation can be simplified for the "full 
  cells" mode if you force the payload of TDM packets to 7*47+46=375 bytes 
  ignoring any latency problems that may occur. If the "partial fill" mode
  is used, it can be simplified if the packet payload size is a multiple
  of the number of used bytes per cell. In any case it must cope with
  the case of invalid pointer in a specific chain.
o In the direction from CEP-TDM to ATM-CES - termination of CEP-TDM and
  generation of AAL1. I do not see any substantial "shortcuts" in this case
  even if you use some "preferntial" packet payload size.     
... stripped to the end ...