Subject: [Tsvwg] General queries on sctp

From: "Mohammed P.A Ashraf " <[email-masked]>
Date: Tue, 04 Dec 2001 19:31:35 -0800

I have some basic queries from sctp.Could some one pls calrify my queries

1. In a multihomed host, is it possble for two different applications(on same machine)with same port number and using IP addresse to make an 
association to tha same destination end point.
for e.g suppsoe HOST A wants to make an association with HOST b(ip address IP1 and port x)
Is thi scenario a valid one:
First association: 
Host A                            Host B
 (IPA1,port Ay)       ------        IpB1 and port Bx)

second one:
Host A                            Host B
 (IPA2,port Ay)       ------        IpB1 and port Bx)
I think as per def. and requirement for an association, this is a pefect scenario, but in this case trasport layer to route/demux the 
messages to the upper layer has to look into Ipaddress as well as port(which is not the case in UDP or TCP)

2. Should the packet be discared if we get a INIT /INIT-ACK with 
      a) multiple host name
      b) host name with ipv4 and ipv6 addresses( in this case should the packet be discarded or or ignore ipv4/ipv6 and take up host name)

3. In case retransmission timer  times out (say dur ROTO isT secs), do we need to tramist all the earliest outstanding TSNs to that dest addresee.. 
   OR only those, which was tranmissted exaclty T secs earlier?
 for e.g: if tranmit TSN 13 at T1 time, TSN14 at T2 secs. SO at T1 i might at started a timer( that being the first one). if that times out
 do i ned to transmit both TSN13 and TSN14 (or just TSN13)..

Thanks In Advance,
Mohd. Ashraf

_______________________________________________
tsvwg mailing list
[email-masked]
http://www1.ietf.org/mailman/listinfo/tsvwg

---

From: Randall Stewart <[email-masked]>
Date: Wed, 05 Dec 2001 05:06:05 -0600

Mohammed:

Please see my responses below..

> messages to the upper layer has to look into Ipaddress as well as port(which is not the case in UDP or TCP)

The above secenario is legal as long as the implementation is allowing
subset binding. Now in most socket implementations you can bind
one address or all addresses... so in your description above
two applications have bound one address each with the same port.
This is valid and the receiving implementation needs to use
not only the destination ip/port but also the source ip/port to
do the demux. The new sockets API we propose also adds sctp_bindx()
which will allow more than one address to be individually bound
to a socket thus allowing say a host with 3 addresses IP-1,IP-2
and IP-3 to have two application endpoints where one ep is
IP-1/IP-2+PortY and the other IP-3+PortY.

Why you really need to do this I am not sure, but it is legal..

> 2. Should the packet be discared if we get a INIT /INIT-ACK with

Well, with multiple host names I am not sure.. never thought of
that one. Most kernel implementations are not going to support
the host-name addressing since it is a real sticky problem to
do DNS lookups from kernel land... A hostname in DNS can
have multiple addresses with it so you really need only one
hostname.. not sure why you would have more than one...

>       b) host name with ipv4 and ipv6 addresses( in this case should the packet be discarded or or ignore ipv4/ipv6 and take up host name)

In this case the spec calls for the addresses to be ignored.

>  do i ned to transmit both TSN13 and TSN14 (or just TSN13)..

There are two ways you can run a retransmission timer:

1) On a chunk by chunk basis
or
2) On a destination basis.

Most implementations use 2) since it is much more economical on
timers. If you use 2) then when the timer expires all chunks
in flight and NOT acknowledged (we term this outstanding) to the 
destination are marked as needing resending... and you do
bundle all of the earliest TSN's that will fit in one MTU
and send them.

For case 1) you would only retransmit the single packet where
the timer expired .. I guess.. I have not thought much
on this case since the kernel implementation I am doing uses
2) not 1) :-))

If you want more details on these items than I can give
you in just a quick email you may want to look at getting
a copy of our book on SCTP...

Regards

R

-- 
Randall R. Stewart
[email-masked] 815-342-5222 (cell phone)

---

From: Randall Stewart <[email-masked]>
Date: Wed, 05 Dec 2001 08:18:42 -0600

David Lehmann wrote:
> Randall Stewart wrote:
> I think that it _is_ the case for TCP.
> 

I missed that little comment on TCP/UDP... On TCP you
are right on.. TCP looks at BOTH the source and destination
IP addresses AND ports... For those BSD fans you can
find it in the in_pcblookup() calls...

> When it becomes a classic (a la Stevens), we can say,
> "I knew Randall when..."  :-)
> 
Fat chance of that ever happening :> but it does give
some good information that a lot of questions are
asked on... in a lot more detail then I can give in
a email..

> -David

---

From: David Lehmann <[email-masked]>
Date: Wed, 05 Dec 2001 08:43:05 -0500

-David