Peace to all the Windows survivors in the Linux-dominated world of computer security!

So, what is this tutorial about - it is about the low level aspects of communication between computers, especially
across the internet. This will not yet cover all aspects and all layers of networking and network traffic and I
will not explain any kind of transport protocol such as TCP or UDP here, this paper is actually about IP. I plan
to continue this paper by writing a tutorial abot the Transport layer, about IPv6 and about how to use raw sockets
in Windows 2000 and Windows XP. However, I realized that fundamental knowledge about IP is important for a good
understanding of networking in general, and since I haven't seen many indepth papers yet, I decided to write one.

This is not ment for total experts, neither is it ment for total newbies. You should have an average knowledge of
high level networking, coding in C and that's about it. I won't let you write a device driver or similar stuff.
If you think you are not ready to read this, just buy a good book and learn some basic C/C++ coding at first.
Then dig the internet for some basic tutorials on IP addressing, routing, subnets and some common protocols like
HTTP just to get the idea. If you think you are to l337 to read this, go play hide and go **** yourself.

Be sure to check [Appendix B] whenever you do not understand the relation of bits, bytes, words and dwords.
[Appendix A] is required for better understanding of the code samples that will follow. [Appendix C] is also a
very important appendix since I will often refer to different networking layers in the tutorial. You should
definitely check the appendixes at first if you are not familliar with their contents.
Code:
  Networking Part 1 - Internetworking
  ***********************************
  
   __________
  [ Contents ]
   ŻŻŻŻŻŻŻŻŻŻ
   ::[0] Intro
   ::[1] The Internet Protocol Version 4
   :..
   : ::(1.1) The IPv4 Header
   : ::(1.2) Fragmentation
   :
   ::[2] Internet Control Message Protocol
   :..
   : ::(2.1) The ICMP Header
   : :..
   : : ::{2.1.1} Echo
   : : ::{2.1.2} Destination Unreachable
   : : ::{2.1.3} Source Quench
   : : ::{2.1.4} Redirect
   : : ::{2.1.5} Time Exceeded
   : : ::{2.1.6} Parameter Problem
   : : ::{2.1.7} Address Mask
   : :
   : ::[2.2] Traceroute
   : ::[2.3] Ping
   :
   ::[3] Internet Group Management Protocol
   :..
   : ::(3.1) Mutlticasting && Groups
   : ::(3.2) The IGMP Header
   : ::(3.3) The IGMP Bug
   :
   ::[A] Networking Byte Order
   ::[B] Bits && Bytes
   :..
   : :: (B-1) Binary Calculations
   : :: (B-2) Units && Values
   :
   ::[C] DoD Reference Model
   :
   ::[4] Last Words
found at http://neworder.box.sk/papers/ip.txt