Book creator (disable)

Communication Networks/IP Protocol and ICMP

From Wikibooks, the open-content textbooks collection

Jump to: navigation, search

Contents

[edit] IP Protocol

We've talked so far about TDM (Time-Division Multiplexing) techniques, and we've also talked about how different packets in a given network can contain address information, that will help the routers along the way move the data to it's destination. This page will talk about one of the most important parts of the internet: the IP Protocol.

[edit] What is IP?

IP stands for Internet Protocol, and is essentially what makes the internet different from other digital networks (ARPANET, for instance). IP protocol assigns a unique address, called the "IP Address" to each computer in a network, and these IP addresses are used to route packets of information from a source to a destination. IP protocol calls for each device in the network to make the best effort possible to transmit the data, but IP doesn't guarantee that the data will arrive. If you are looking for a guarantee, you will have to implement a higher-level protocol (such as TCP).

From the OSI model, the IP Protocol is a Network-Layer Protocol.

The IP address is a different number from the "MAC Address" that is also found inside a computer. The IP address is a 32bit value that is unique among computers in a given local network. A MAC address is a larger number that is unique in the entire world. However, it is very difficult to route packets according to the MAC address.

IP also specifies the header that packets must have when traveling across the internet. This header is called the IP header, and will be discussed in the next chapter.

The IP Protocol also specifies that each IP packet must have an error-checking code attached to the end of the packet. This error-checking code, called the "Cyclic Redundency Check" or CRC Checksum is capable of helping the receiving computer determine if the packet has had any bit errors during transmission. The CRC code is much more powerful at detecting errors than a single parity bit is, but CRC can be time consuming to calculate.

[edit] ICMP

ICMP, the Internet Control Message Protocol is a counter-part to the IP Protocol that allows for control messages to be sent across the network.

Information

The Ping command in Unix and Windows uses ICMP

[edit] IPv4 and IPv6

[edit] IP Header

The IP header is a large field of information that is appended to the beginning of the packet. The IP header includes a large amount of information about the packet, including the source IP address, and the destination IP address. Also, the IP header (IPv6 and up) includes information about the local area networks for both the source and the destination terminals.

[edit] CRC Checksum

The CRC checksum is a 16bit data item appended to the end of an internet IP packet. The CRC contains a number that the receiver runs through a particular algorithm, and can then determine if the packet is correct, or if there is an error.

[edit] Modulo-2 Arithmetic

This section will be a short primer on Modulo-2 Arithmetic

[edit] Calculating the CRC

[edit] Using the CRC to Find Errors

[edit] Classful Address Scheme

[edit] Subnet Masks

[edit] Classless Interdomain Routing (CIDR)

[edit] Further Reading