Please Whitelist This Site?

I know everyone hates ads. But please understand that I am providing premium content for free that takes hundreds of hours of time to research and write. I don't want to go to a pay-only model like some sites, but when more and more people block ads, I end up working for free. And I have a family to support, just like you. :)

If you like The TCP/IP Guide, please consider the download version. It's priced very economically and you can read all of it in a convenient format without ads.

If you want to use this site for free, I'd be grateful if you could add the site to the whitelist for Adblock. To do so, just open the Adblock menu and select "Disable on tcpipguide.com". Or go to the Tools menu and select "Adblock Plus Preferences...". Then click "Add Filter..." at the bottom, and add this string: "@@||tcpipguide.com^$document". Then just click OK.

Thanks for your understanding!

Sincerely, Charles Kozierok
Author and Publisher, The TCP/IP Guide


NOTE: Using software to mass-download the site degrades the server and is prohibited.
If you want to read The TCP/IP Guide offline, please consider licensing it. Thank you.

The Book is Here... and Now On Sale!

Get The TCP/IP Guide for your own computer.
The TCP/IP Guide

Custom Search







Table Of Contents  The TCP/IP Guide
 9  TCP/IP Lower-Layer (Interface, Internet and Transport) Protocols (OSI Layers 2, 3 and 4)
      9  TCP/IP Transport Layer Protocols
           9  Transmission Control Protocol (TCP) and User Datagram Protocol (UDP)
                9  TCP/IP Transmission Control Protocol (TCP)
                     9  TCP Basic Operation: Connection Establishment, Management and Termination

Previous Topic/Section
TCP Basic Operation: Connection Establishment, Management and Termination
Previous Page
Pages in Current Topic/Section
1
23
Next Page
TCP Connection Preparation: Transmission Control Blocks (TCBs) and Passive and Active Socket OPENs
Next Topic/Section

TCP Operational Overview and the TCP Finite State Machine (FSM)
(Page 1 of 3)

It is essential that all devices that implement any networking protocol do so in a consistent manner. Otherwise, one device might behave in a manner the other wouldn't expect. Naturally, this is why there are standards that describe the operation of each protocol. The problem with a protocol like TCP is that it performs so many tasks that it is difficult to specify the exact operation of all aspects of the protocol succinctly.

Using A Finite State Machine to Explain Complex Protocols

One way that computer scientists explain how a complex protocol works is through a theoretical tool called a finite state machine (FSM). An FSM attempts to describe a protocol or algorithm by considering it like a virtual “machine” that progresses through a series of stages of operation in response to various happenings. You need to understand four essential concepts to comprehend the workings of a finite state machine:

  • State: The particular “circumstance” or “status” that describes the protocol software on a machine at a given time.

  • Transition: The act of moving from one state to another.

  • Event: Something that causes a transition to occur between states.

  • Action: Something a device does in response to an event before it transitions to another state.

A FSM describes the protocol by explaining all the different states the protocol can be in, the events that can occur in each state, what actions are taken in response to the events and what transitions happen as a result.The protocol usually starts in a particular beginning state when it is first run. It then follows a sequence of steps to get it into a regular operating state, and moves to other states in response to particular types of input or other circumstances. The state machine is called finite because there are only a limited number of states.

Key Concept: A tool used by many computer scientists to describe the operation of a protocol or algorithm is the finite state machine. It describes the different actions taken by a piece of software over time by defining a finite number of operating states, events that can cause transitions between states, and actions taken in response to events.



Previous Topic/Section
TCP Basic Operation: Connection Establishment, Management and Termination
Previous Page
Pages in Current Topic/Section
1
23
Next Page
TCP Connection Preparation: Transmission Control Blocks (TCBs) and Passive and Active Socket OPENs
Next Topic/Section

If you find The TCP/IP Guide useful, please consider making a small Paypal donation to help the site, using one of the buttons below. You can also donate a custom amount using the far right button (not less than $1 please, or PayPal gets most/all of your money!) In lieu of a larger donation, you may wish to consider purchasing a download license of The TCP/IP Guide. Thanks for your support!
Donate $2
Donate $5
Donate $10
Donate $20
Donate $30
Donate: $



Home - Table Of Contents - Contact Us

The TCP/IP Guide (http://www.TCPIPGuide.com)
Version 3.0 - Version Date: September 20, 2005

© Copyright 2001-2005 Charles M. Kozierok. All Rights Reserved.
Not responsible for any loss resulting from the use of this site.