Path: utzoo!attcan!uunet!ginosko!gem.mps.ohio-state.edu!tut.cis.ohio-state.edu!ucbvax!A.ISI.EDU!CERF From: CERF@A.ISI.EDU Newsgroups: comp.protocols.tcp-ip Subject: Re: TCP Urgent Data Handling Message-ID: <[A.ISI.EDU]30-Sep-89.21:04:04.CERF> Date: 1 Oct 89 01:04:00 GMT References: <4982@omepd.UUCP> Sender: daemon@ucbvax.BERKELEY.EDU Organization: The Internet Lines: 28 Bob, The most sensible implementation of URGENT POINTER is to mark the byte just past the end of the urgent message. If the message is broken into segments, one could continue to set URG=1 and UP="byte number 1 past the last byte of urgent data". Resetting URG and UP is OK, too, so long as the recipient remembers UP until the received in sequence bytes exceed the last byte of urgent data. The implementation which sets UP to just past the data of each segment isn;t necessarily broken, but it seems unnecessary to implement in that fashion. The question of first or last byte of an urgent message caught me by surprise. At the TCP level, the only thing you can specify is where the urgent data ends, not where it starts. The interface between the process wanting to send urgent information and the kernel TCP service needs to have a way for the process to say where the urgent data ENDS, since that is the information that the TCP can convey. The receiving process will need clues in addition to those provided by TCP to distinguish the urgent from non-urgent information - these semantic and syntactic matters were left to the protocol layer above TCP to deal with. Vint