| 
 | 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 KozierokAuthor 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.
 |  |  | 
| 
 
 
 | 
 
 IP Functions
 In the preceding topic I described 
the general operation of IP and boiled down its primary job as internetwork 
datagram delivery. I also explained the most important characteristics 
of how IP does this job. With that as a foundation, let's now look a 
bit deeper, at how IP gets the job done. A 
good way to do this is to examine the various functions that the Internet 
Protocol includes. The exact number of IP functions 
depends on where you draw the line between certain activities. 
For explanatory purposes, however, I view IP as having four basic functions 
(or more accurately, function sets): 
Addressing: In order to perform the job 
of delivering datagrams, IP must know where to deliver them to! For 
this reason, IP includes a mechanism for host addressing. Furthermore, 
since IP operates over internetworks, its system is designed to allow 
unique addressing of devices across arbitrarily large networks. It also 
contains a structure to facilitate the routing of datagrams to distant 
networks if that is required.
 Since most of the other TCP/IP protocols use IP, understanding 
the IP addressing scheme is of vital importance 
to comprehending much of what goes on in TCP/IP.
 
 
Data Encapsulation and Formatting/Packaging: 
As the TCP/IP network layer protocol, IP accepts data from the 
transport layer protocols UDP and TCP. 
It then encapsulates 
this data into an IP datagram using a special format 
prior to transmission.
 
Fragmentation and Reassembly: IP datagrams 
are passed down to the data link layer for transmission on the local 
network. However, the maximum frame size of each physical/data-link 
network using IP may be different. For this reason, IP includes the 
ability to fragment IP datagrams into pieces so they can each 
be carried on the local network. The receiving device uses the reassembly 
function to recreate the whole IP datagram again.
 |  Note: Some people view fragmentation and reassembly as distinct functions, though clearly they are complementary and I view them as being part of the same function.
 | 
 
 
Routing / Indirect Delivery: When an IP 
datagram must be sent to a destination on the same local network, this 
can be done easily using the network's underlying LAN/WLAN/WAN protocol 
using what is sometimes called direct delivery. However, in many 
(if not most cases) the final destination is on a distant network not 
directly attached to the source. In this situation the datagram must 
be delivered indirectly. This is accomplished by routing 
the datagram through intermediate devices 
(shockingly called routers). IP accomplishes this in concert 
with support from the other protocols including ICMP 
and the TCP/IP 
gateway/routing protocols such as RIP 
and BGP.
 As you continue on in this section 
on IP will find that I have structured the sub-sections that provide 
more detail one the main IP version and IP-related protocols based on 
these general functions. 
 
 | 
 | 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! |  
|  | 
 | 
 
 
 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.
 |