Skip site navigation (1)Skip section navigation (2)
Date:      Fri, 1 Nov 1996 09:18:21 +0100 (MET)
From:      Greg Lehey <grog@lemis.de>
To:        terry@lambert.org (Terry Lambert)
Cc:        questions@FreeBSD.org (FreeBSD Questions), FreeBSD-current@FreeBSD.org (FreeBSD current users), isdn@muc.ditec.de (FreeBSD ISDN Distribution List)
Subject:   Re: Any ISDN-BRI cards work under FreeBSD?
Message-ID:  <199611010818.JAA19813@freebie.lemis.de>
In-Reply-To: <199610311856.LAA25769@phaeton.artisoft.com> from Terry Lambert at "Oct 31, 96 11:56:39 am"

next in thread | previous in thread | raw e-mail | index | archive | help
Terry Lambert writes:
>>>> done it yet.  They currently only run single channel connections (you
>>>> can have two different connections to different destinations).  The
>>>> theoretical maximum throughput is 8 kB/s (64,000 bps), which is
>>>> somewhat less than the theoretical maximum of the 115.2 kbps lines
>>>> (11.52 kB/s).
>>
>> Why do you divide by 8 in the one case and by 10 in the other?
>
> My guesses:
>
> 8)	8*8k = 64k; conversion is for sync framing
>
> 10)	1 start + 8bits + 1 stop = 10bits; conversion is for
> 	async framing

I'm surprised you need to guess.  Yes, that's correct.  People seem to
have problems understanding this one, so I'll go into a little more
detail:

Synchronous transmission is block oriented.  Various techniques are
used to recognize the beginning and end of the block, and all the data
in a block are sent without any delay between the bits.  When
transmitting 8 bit bytes (octets), there's a ratio of 8 bits per
octet, so 64 kbps becomes 8 kB/s.

Asynchronous transmission is character oriented.  Each character
starts with a start bit, then come the data bits, then one or more
stop bits.  Nowadays there is only one stop bit, but that expands each
byte to 10 bits.  The advantage is that you don't need any specific
timing between characters (thus the term asynchronous), so it's quite
well suited to things like keyboard input.  In sync transmission, each
input character would have to be made into a block.  The disadvantage
is the significantly lower data rate.

> A more interesting question might be 64k + 64k = 128k.  128k != 115.2k.

Yes, this is where we came in.  Currently, the driver can't do that.
Somewhere in the back of my head I have a recollection that TCP can do
it, though: you just set up two routes, and it should be able to pass
packets down the route with the shorter output queue.  Can anybody
expand on this?

Of course, 128k != 128k as well if one is sync and the other is
async.  128k sync is 160k async.

Greg



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?199611010818.JAA19813>