42f4936c   
   From: grahn+nntp@snipabacken.se   
      
   On Mon, 2010-09-13, David Schwartz wrote:   
   > On Sep 11, 10:40 pm, glen herrmannsfeldt    
   > wrote:   
   >   
   >> TCP is connection oriented. It has to find packets that belong   
   >> to the same connection and put them together. Now, consider two   
   >> users on machine A with telnet connections to machine B. Source   
   >> address, destination address, and destination port are all the   
   >> same. The only way TCP can tell them apart is source port.   
   >   
   > Yes, but only because TCP was designed that way. TCP could have been   
   > designed, for example, to allow each end to assign a connection an   
   > identifier unique to that endpoint.   
   >   
   >> UDP is connectionless. It is common for one server process   
   >> to accept all client requests. Source address and source port   
   >> will be used as the destination address and port for replies.   
   >   
   > Right. And since a datagram might be lost anyway, an address change is   
   > harmless. Yes, the host may not get a reply, but it will have to   
   > retransmit the request if it mattered anyway. Since the new request   
   > will use the new source address, it will get the new reply.   
   >   
   > If a protocol layered on top of UDP does not know for a fact that the   
   > source IP address on the other end cannot change and does not handle   
   > the case where it does change, that protocol is broken. If a protocol   
   > layered on top of TCP does not know for a fact that the IP address on   
   > the other end cannot change or does not properly handle the breakage   
   > of a TCP connection if it does change, that protocol is broken.   
      
   Surely you don't mean almost all protocols are broken?   
      
   To avoid misunderstandings, let's take an example. Say I do a single   
   HTTP GET, and 1MB into the data my IP address changes. My client is   
   responsible for aborting and telling me there was a problem, and   
   possibly make another attempt if I asked it to ... but that's an   
   application feature. It doesn't mean that HTTP as a protocol handles   
   IP address changes -- or any of a thousand other reasons for a TCP   
   connection breaking.   
      
   /Jorgen   
      
   --   
    // Jorgen Grahn O o .   
      
   --- SoupGate-Win32 v1.05   
    * Origin: you cannot sedate... all the things you hate (1:229/2)   
|