What is an IP???
IP is stands for Internet Protocol, which is a communications protocol in the Internet protocol suite for relaying datagrams across network boundaries. The routing function on IP is help to internetworking and essential connections in the internet.
According to OSI(Open Source Interconnection) reference model the IP is on the 3rd layer which is the Network Layer of that model. But according to TCP/IP model it is in Internet Layer. Either it is in Network Layer or Internet Layer, what it basically does is, provide a mechanism to make connection with others.
IP has the task of traveling data packages from some source computer/server to another server/computer. We normally say that the source is the 'host' and the receiver is the 'destination' in Network Layer. For this purpose IP has an structure that encapsulate the data to be delivered.
IP Header
IP header is the label that we will use to label the data with the information with IP addresses.
1. Version : The version of the IP Protocol. (There are two versions which will be described more in this post)
2. Header Length : Length of the IP header. Basically header length will be variance to 20 bytes to 60 bytes
3. Service Type : The first three bits of this field are known as precedence bits and are ignored as of today. The next 4 bits represent type of service and the last bit is left unused. The 4 bits that represent TOS are : minimize delay, maximize throughput, maximize reliability and minimize monetary cost.
4. Total Length : The length of the IP datagram.
5. Identification : Unique value to identify the IP datagram.
6. Flags : Use in fragmentation
7. Fragment Offset : In case of fragmented IP data grams, this field contains the offset( in terms of 8 bytes units) from the start of IP datagram. So again, this field is used in reassembly of fragmented IP datagrams.
8. TTL : Time To Live
9. Protocol : This field represents the transport layer protocol that handed over data to IP layer. This field comes in handy when the data is demultiplex-ed at the destination as in that case IP would need to know which protocol to hand over the data to.
10. Header Checksum : This value is calculated and stored in header when IP datagram is sent from source to destination and at the destination side this checksum is again calculated and verified against the checksum present in header
11. Source IP Address : IP Address of the source
12. Destination IP Address : IP Address of the destination
13. Option : This field represents a list of options that are active for a particular IP datagram. This is an optional field that could be or could not be present.
Fragmentation
Fragmentation is a process that breaks packets into smaller packets (fragments) so that the smaller packets can go through a link with a smaller Maximum Transmission Unit (MTU).
For an example :
You want to send a datagram which has 1500 bytes through a link that has the maximum MTU value is 600. So in here you have to part the datagram into small pieces and send them through the link matching according to the MTU value. So in here we need the Flags and Fragment Offset in the IP header to send the datagrams and again reassemble the smaller datagrams and re-build the original datagram. This is a mechanism that is used to send huge datagrams through smaller MTU links.
IP Versions
Basically there are two IP versions,
- IPv4
- IPv6
In early stages of internet, the creators of the internet used IPv4 method to generate IPs. IPv4 is a dotted decimal notation used to show the logical address of a computer. It has 32 bits to represent the value. But the problem is there can be only 4 294 967 296 amount of unique IPs that can be available for users. Today the world needs more than that number of IPs. So the solution for that problem is introduce a new Internet Protocol Version which is called IPv6. IPv6 has 128 bits for represent an unique IP address and this means there can be 2128 unique IP addresses. And it will give enough IP addresses for the world.
Issues With IP's
Connection less Communication : Under connectionless communication between two network end points, a message can be sent from one end point to another without prior arrangement. The device at one end of the communication transmits data addressed to the other, without first ensuring that the recipient is available and ready to receive the data.
Unreliable : IP connection doesn't do acknowledgements and hasn't self timeout settings. So it is unreliable connection.
No comments:
Post a Comment