home *** CD-ROM | disk | FTP | other *** search
- Path: sparky!uunet!usc!zaphod.mps.ohio-state.edu!magnus.acs.ohio-state.edu!usenet.ins.cwru.edu!agate!linus!think.com!barmar
- From: barmar@think.com (Barry Margolin)
- Newsgroups: comp.unix.programmer
- Subject: Re: TCP/IP connections, how does the blocking work?
- Date: 24 Jul 1992 17:03:31 GMT
- Organization: Thinking Machines Corporation, Cambridge MA, USA
- Lines: 31
- Distribution: world
- Message-ID: <14pd53INNftj@early-bird.think.com>
- References: <13700@mindlink.bc.ca>
- NNTP-Posting-Host: telecaster.think.com
-
- In article <13700@mindlink.bc.ca> Frank@mindlink.bc.ca (Frank I. Reiter) writes:
- >If the originating process attempts to write a few megabytes more than the
- >receiving process has read, will it block, what causes it to block, and how far
- >ahead is it likely to get before it does block?
- >
- >I want to make sure I will not be placing undo stress on the receiving machine
- >by causing it to try to buffer data not yet read by the process it is intended
- >for. Can the receiving machine cause the sending machine to cause the sending
- >process to block?
-
- The simple answer is "yes". With properly functioning TCP/IP
- implementations, you don't have to worry about the sender sending faster
- than the receiver can handle.
-
- The receiving machine provides a "window" to the sender, which is (to
- simplify greatly) the amount of data it may send before waiting for an
- acknowledgement. If the receiving machine is buffering data that the
- process hasn't yet read, it will normally reduce the window and stop
- acknowledging, to tell the sender not to send any more. When room in the
- buffers becomes available it will open the window and the sender can start
- again.
-
- On the sending machine, when it has reached the limit specified by the
- window, the kernel will start buffering data locally. When these kernel
- buffers fill up, the sending process will be blocked.
-
- --
- Barry Margolin
- System Manager, Thinking Machines Corp.
-
- barmar@think.com {uunet,harvard}!think!barmar
-