[luau] localhost connections

Jimen Ching jching at flex.com
Thu Mar 21 02:46:42 PST 2002


On Wed, 20 Mar 2002, whenever wrote:
>On Wednesday 20 March 2002 10:19 pm, you wrote:
>> If I remember the OSI model correctly, the connection happens at layer 2,
>> the data link layer.  Layer 3, the network layer, is where all of the
>> routing occurs.  Hense, the name 'network'.
>Network layer(3) = IP layer + ICMP and TCP/UDP is at Transport layer(4)
>so your connection and connection-less is at layer 4, I remember layer 3 and
>4 are kinda combined on TCP/IP. about  data link layer, in fact it has 2

I am not sure if you are defining the 'connection state' according to the
ISO model or the TCP/IP model.  These two models define the 'connection
state' differently.  By 'connection state', I mean the classification of a
protocol as connection oriented or connection-less.

I am pretty sure (about 99%) that the ISO model defines the data link
layer as the connection state of a protocol.  I.e. this is where the
protocol determines whether the transfer medium is connection oriented or
connection-less.  In TCP/IP, the IP layer defines the transfer medium as
connection-less.  Even if you have a TCP connection, when the data goes
from the source to the destination, it jumps from host to host without
knowing which host it will jump to next.  So even though TCP is connection
oriented, it rides on top of IP, which is connection-less.

Charles asked how far must the data go down the stack for a connection
that is anchored, on both ends, in a single host.  For TCP/IP, it must go
down to at least the IP layer.  This is because only IP knows about
'source' and 'destination'.  TCP has no concept of local host, remote
host, or anything else about host addresses.  This means the data must go
down to at least layer 3.

But a strictly conforming ISO stack most likely has to go down even
further.  We basically have three options, send the data down to the
transport layer, to the network layer or to the data link layer.  We can
not send to the network layer, because the network layer does not handle
data.  It only knows about routes between hosts.  We can not send to the
transport layer, because the transport layer has no concept of source and
destination addresses.  The transport layer's job is to send and receive
data, not determine where it should go.  So our only option is to send the
data down to the data link layer, which is layer 2.

So the answer is layer 3 for TCP/IP, or layer 2 for a conforming ISO
stack.  I guess it is possible for an ISO stack to short circuit the
transport layer and push the data back up.  ISO does not say you can't do
that.  So the answer for an ISO stack could be layer 4 too.  Like I said,
the answer depends on the protocol definition.

>agree, in fact the OSI layer is pretty crazy in the first place, I remember
>the 3 weeks talk with one of the orginal OSI developer(Will Collin, I think
>that's his name) about 2 years ago, he got me totally confused in the first
>week.

I don't know.  Once I learned the trick to the OSI model, it seemed common
sense.  The trick to the OSI model is to look at each layer as a service
provider.  Layer 1 provides the service of moving bits from one host to
another.  Layer 2 provides data transfer and integrity, i.e. a connection
with CRC checks over the data.  Layer 3 provides routing.  Layer 4
provides data delivery and assurance (retransmits).  Etc, etc...

Each layer depends on the services of the layer below.  Looking at
protocol stacks this way makes it a lot easier to understand.  That is why
the ISO model is just a representation.  It is not an actual protocol
stack.  It allows network engineers to analyze protocol stacks in a
consistent manner.

>You are lucky if you don't have to deal with SS7(or CCS7) and x.25, x.25
>is ok but SS7 is another crazy protocol.

I had to work with MTP3, which I believe is used with SS7.

--jc
--
Jimen Ching (WH6BRR)      jching at flex.com     wh6brr at uhm.ampr.org




More information about the LUAU mailing list