Subject: [Pppext] RFC1990 - Sending multiple packet fragments

From: "Dharanalakota, Divakar \(Divakar\)" <[email-masked]>
Date: Fri, 11 Jul 2008 15:11:19 +0530

Hi All,

I have few doubts regarding the fragmentation of packets over MLLPPP
bundle link.

It was not clear from RFC, whether we can send fragments of multiple
packets be transmitted over the link interfaces simultaneously. I mean
to ask can the reassemble end receive multiple B bit fragments without
receiving the E bit fragment of first packet. 

Regards

Divakar

_______________________________________________
Pppext mailing list
[email-masked]
https://www.ietf.org/mailman/listinfo/pppext

---

From: James Carlson <[email-masked]>
Date: Fri, 11 Jul 2008 11:40:23 -0400

Dharanalakota, Divakar (Divakar) writes:
> packets be transmitted over the link interfaces simultaneously.

Yes.  But if reassembly is done correctly, packets are always
reassembled in the original order.

> I mean

In order for that to happen, they'd have to have appropriate sequence
numbers and be on separate links.  It'd be an unusual case.

When arranged in sequence order, the fragments must always be integral
packets (excepting losses, of course).

So, for example, I can fragment four packets like this (the notation
I'm using here for the Name field should be "obvious," though it's not
defined by any standard):

Frag	Name	Description
1	1B-a	First fragment of packet 1
2	1-b	Second fragment of packet 1
3	1E-c	Third and final fragment of packet 1
4	2BE	Only fragment for packet 2
5	3B-a	First fragment of packet 3
6	3E-b	Last fragment of packet 3
7	4B-a	First fragment of packet 4
8	4-b	Second fragment of packet 4
9	4-c	Third fragment of packet 4
10	4E-d	Fourth and final fragment of packet 4

Suppose I have 5 links.  I could schedule these packets:

first	1B-a	1-b	1E-c	2BE	3B-a
second	3E-b	4B-a	4-b	4-c	4E-d

Now suppose that the third link (sending 1E-b and then 4-b) is "slow."
The peer receives 1B-a, 1-b, 2BE, and 3B-a.  It can "reassemble" 2BE,
but it can't use that yet, because it hasn't finished with packet 1
(we're missing fragment 3).

I think this corresponds to the case you're describing.  We have "B"
fragments for packets 1, 2, and 3 at this point, and the "E" fragment
for 2, but we haven't seen the "E" fragment for 1, so we're stuck.

Later, 3E-b, 4B-a, 4-c, and 4E-d come in.  Packet 3 is reassembled, but
we can't deliver it yet.  We now have "B" and "E" fragments for all
but packet 1.

When the delayed 1E-c (fragment 3) finally arrives, you can reassemble
*and* deliver packets 1, 2, and 3.  Then when 4-b (fragment 8) arrives
last, you can reassemble packet 4 and deliver it.

Note that you're not required to encapsulate (or fragment) all packets
when running MP.  It's fine to send plain old IP packets at any time.
They're just not provided any ordering.

Perhaps the right first question here is "what are you trying to do?"

-- 
James Carlson, Solaris Networking              <[email-masked]>
Sun Microsystems / 35 Network Drive        71.232W   Vox +1 781 442 2084
MS UBUR02-212 / Burlington MA 01803-2757   42.496N   Fax +1 781 442 1677
_______________________________________________
Pppext mailing list
[email-masked]
https://www.ietf.org/mailman/listinfo/pppext

---

From: "Dharanalakota, Divakar \(Divakar\)" <[email-masked]>
Date: Mon, 14 Jul 2008 11:57:44 +0530

James,
Thanks for the detailed explanation. My aim is to do the interleaving of
the voice packets along with the data packets and provide smaller
serialization delay for the voice packets. I have some more questions
from your explanation. 
Can the sequence number have holes while sender is transmitting the
packets. W.r.t the example, lets say 1B-a is having sequence number of
10, does 2BE need to have 13 only or can it start from some other number
like 20. This means to say there is a jump in the sequence number from
13 to 20 while transmitting the packets. Here there is jump across the
packets only, but sequence number is contiguous for all the fragments of
a single packet. 
-Divakar

-----Original Message-----
From: James Carlson [mailto:[email-masked]] 
Sent: Friday, July 11, 2008 9:10 PM
To: Dharanalakota, Divakar (Divakar)
Cc: [email-masked]
Subject: Re: [Pppext] RFC1990 - Sending multiple packet fragments

Frag	Name	Description

---

From: James Carlson <[email-masked]>
Date: Mon, 14 Jul 2008 07:09:53 -0400

> serialization delay for the voice packets. I have some more questions

For low-delay applications, I would suggest just not sending the
delay-sensitive packets through the MP part of the system.  Send them
with PPP Protocol Identifier 0021 (IP) rather than 003D (MP).  That
way, the peer won't be required to reassemble them in sequence.

> packets only, but sequence number is contiguous for all the fragments of

Such a scheme would only make things worse.

On the long term, what you suggest.  The microscopic result of doing
that, though, would be a short stall -- until the algorithm sees a
post-jump sequence number on all of the links, it cannot perform
delivery on those post-jump fragments.  It thus adds delay to the
link.

In other words, suppose you have those 5 links as before.  When you
transmit fragment number 20 on one of the links, the reassembler must
wait until all of the other four links also transmit fragments past 20
before that message can be delivered.  There's always the possibility
that one of the links that most recently sent 13 or lower might start
emitting fragments in the range 14 through 19.  There's no way for the
receiver to know that it won't.

See section 4.1 of the RFC; that's what the minimum sequence number
does.

I still think you need to explain what problem you're trying to solve.
You've got a mechanism mapped out (creative use of the sequence
numbers), but I don't see what problem that could address.

(If you go through the archives, you might find some earlier proposals
to use MP link bundling without ordering and without encapsulation,
particularly for very high speed links.  These didn't go very far.)

---

From: "Vachiravel, Sabarinathan \(Sabarinathan\)" <[email-masked]>
Date: Mon, 14 Jul 2008 17:35:56 +0530

Hello,
    If I click the Pppext Archives link on the main page, it gets me to
a page where I can see messages only for the month of July 2008. Where
can I find the archives for the older messages past July 2008?

Thanks,
Sabari.

---

From: James Carlson <[email-masked]>
Date: Mon, 14 Jul 2008 08:29:40 -0400

> can I find the archives for the older messages past July 2008?

That's odd.  I went here:

	http://www.ietf.org/

and then drilled down to the pppext working group page:

	http://www.ietf.org/html.charters/pppext-charter.html

the "archive" link on that page got me a richer set of archives:

	http://www.ietf.org/mail-archive/web/pppext/index.html

This seems to span back to February 2004, when the new mailing list
was set up, and not just July 2008.  Where did you look?

The previous list on merit.edu is gone, and apparently so are the
archives it once held.  I have copies of those archives through July
2001, but August 2001 through February 2004 are absent.  (If someone
has them please speak up, and I'll try to get them posted somewhere.)

---

From: "Vachiravel, Sabarinathan \(Sabarinathan\)" <[email-masked]>
Date: Mon, 14 Jul 2008 18:22:12 +0530

Hi,
    Thanks for giving me the correct link,
   
Previously I looked here:

and then clicked  the link Pppext Archives.

Thanks,
Sabari.

-----Original Message-----
From: James Carlson [mailto:[email-masked]] 
Sent: Monday, July 14, 2008 6:00 PM
To: Vachiravel, Sabarinathan (Sabarinathan)
Cc: [email-masked]
Subject: Re: [Pppext] How to access archives?

That's odd.  I went here:

	http://www.ietf.org/

---

From: James Carlson <[email-masked]>
Date: Mon, 14 Jul 2008 08:55:16 -0400

> https://www.ietf.org/mailman/listinfo/pppext

Ah, ok, that explains it.  They switched over bits of the
infrastructure recently.  The mailman archives aren't the 'official'
ones, because the IETF has separate archives.

---

From: William Allen Simpson <[email-masked]>
Date: Mon, 14 Jul 2008 15:12:32 -0400

> has them please speak up, and I'll try to get them posted somewhere.)
I have most everything since 1989 backed up somewhere....  And I'll try
calling Merit to see what they've done with the official archives, as I'm
never sure about outages over the years.

I'll send you August 2001 through February 2004 directly.  Those were
fairly sparse years.
_______________________________________________
Pppext mailing list
[email-masked]
https://www.ietf.org/mailman/listinfo/pppext

---

From: James Carlson <[email-masked]>
Date: Mon, 14 Jul 2008 15:42:46 -0400

> I'll send you August 2001 through February 2004 directly.  Those were

Thanks!

I've got ietf-ppplog.1990.01 through ietf-ppplog.2001.07, with the
last message being 'Tue Jul  3 07:00:35 2001' from internet-drafts.