Path: utzoo!utgpu!news-server.csri.toronto.edu!bonnie.concordia.ca!thunder.mcrcim.mcgill.edu!snorkelwacker.mit.edu!apple!agate!ucbvax!BERSERKLY.CRAY.COM!dab From: dab@BERSERKLY.CRAY.COM (David Borman) Newsgroups: comp.protocols.tcp-ip Subject: Re: Question on TCP use of IP TOS Message-ID: <9101221751.AA04666@berserkly.cray.com> Date: 22 Jan 91 17:51:05 GMT Sender: daemon@ucbvax.BERKELEY.EDU Organization: The Internet Lines: 46 Wayne Hathaway writes: > Can some expert out there please explain the relationship between IP > type of service (TOS) and TCP connection establishment? In particular, > > 1) Host A does a LISTEN() without specifying an IP TOS. Host B does a > CONNECT(TOS=THROUGHPUT). When host A sends segments to host B over > this connection, what TOS should it use? > > 2) Host A does a LISTEN(TOS=DELAY). Host B does the same > CONNECT(TOS=THROUGHPUT). When host A sends segments to host B over > this connection, what TOS should it use? > > Another way of asking this is "Is TOS somehow negotiated during > connection establishment, or does each end use what it wants > independent of the other?" From RFC 1122, pg 107, 4.2.4.2: The TOS will be specified independently in each direction on the connection, so that the receiver application will specifify the TOS used ro ACK segments. My implementation of TOS follows this statement. Each side of the connection sets the TOS bits to what it wants; there is no automatic setting of the TOS bits in the listener based on the TOS bits of the received connect packet. So, for #1, Host A sends packets with TOS=0. For #2, host A sends packets with TOS=DELAY. > Finally, for data transfer it would seem best for the end sending the > data to say TOS=THROUGHPUT and the end sending the ACKs to say > TOS=DELAY; is this typically done? My implementation does not do that. For things like telnet & ftp, both sides use the same TOS value for the connection. Note that the area of TOS is one that is not clearly defined yet. The Host Requirements group decided to start making hosts set the TOS bits, to break the chicken and egg problem (you need both the hosts and the routers involved for it to do anything). The thing to do now is start implementing and experimenting with it, and as we gain experience with it, we can make new recommendations. -David Borman, dab@cray.com