Path: utzoo!attcan!utgpu!jarvis.csri.toronto.edu!clyde.concordia.ca!uunet!cs.utexas.edu!sun-barr!decwrl!shlump.nac.dec.com!delni.enet.dec.com!goldstein From: goldstein@delni.enet.dec.com Newsgroups: comp.protocols.tcp-ip Subject: Re: TCP Fletcher Checksum Option Message-ID: <6796@shlump.nac.dec.com> Date: 11 Dec 89 18:58:53 GMT Sender: newsdaemon@shlump.nac.dec.com Organization: Digital Equipment Corporation, Littleton MA USA Lines: 50 In article <[A.ISI.EDU].9-Dec-89.11:15:42.CERF>, CERF@A.ISI.EDU writes... >Dave, > >times are changing. The kinds of corruption we once fought: line noise, >are being replaced by packet loss due to congestion or slips and >peculiarities which David Tennenhouse (LCS/MIT) warns may be visited >upon us by improperly implemented or functioning ATM switches: packet >internal reordering at the cell level. >It is by no means clear that reordering at the cell level will be >detected by the ATMs or by links level algorithms sending the >packets assembled from cells to the hosts since the link level >checksums would be recomputed AFTER reassembly, most likely. Indeed, the current proposals for B-ISDN use ATM cell transfer and state, in its service description, that it _will_ preserve order. Now doesn't that make you confident that the implementations will never, ever, ever, ever mis-order a cell? The ATM cells do not contain any sort of sequence numbers. The proposed "adaptation" protocol, the bottom of Layer 2 (providing the framing and error detection services, but not retransmission) takes data packets and splits them into cell-sized segments. These are labeled first/middle/last/only and a total length indicator is stuck on the tail. If each 48-octet cell's 10-bit CRC checks, and the total number received from first to last causes a correct length indicator reading, then you've got a valid cell. Note that this does detect cell drop and spurious insertion, but not misordering. Remember also that they promise that the network won't misorder, so they don't recommend a cell sequence number... BTW I have proposed (and gotten rebuffed by the Powers That Be at T1S1.5, namely the AT&T & Bellcore leadership) an end-to-end datalink protocol that has cell sequence numbers and bulk cell ack's, loosely based on NETBLT, with a 2^14 modulus. You can always run it or something else you prefer end to end across the ATM and ignore their recommendations for adaptation, if you're not talking to a network-provided service (i.e., the "B-ISDN CLNS", which is an L3 datagramme service running over the adaptation layer). My impetus, though, is to handle cell loss without having to retransmit the whole frame. (Can you spell 'congestion collapse'?) Misordering detection comes along with that. >At any rate, considering the question of integrity checking >in the current and anticipated internet environment seems >timely. Very true... we now have to worry about detecting cell misordering, etc., if we don't trust the telco networks to be perfect. fred