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>