1.28k likes | 1.49k Views
INTERNET PROTOCOL. ASHWIN JADHAV BANDER AL-TURAIF KALYAN MANTRAVADI PRAVEEN GADIKOTA. INTRODUCTION. The first computer networks were designed with the hardware as the main concern. Idea of software controlled mechanisms.
E N D
INTERNET PROTOCOL ASHWIN JADHAV BANDER AL-TURAIF KALYAN MANTRAVADI PRAVEEN GADIKOTA
INTRODUCTION • The first computer networks were designed with the hardware as the main concern. • Idea of software controlled mechanisms. • To reduce the design complexity, most networks were organized as a series of levels or layers, each one built upon the one below it. • Hardware is considered to be a bottleneck, but by improving network software can overcome some of the hardware limitations. • Earlier the ISO-OSI architecture was used.
INTRODUCTION • To provide communication amongst various network infrastructures the TCP/IP reference model was proposed with the TCP/IP protocol suite as the protocol stack. • The requirement led to the choice of a packet-switching network based on a connectionless internet work layer. • Its job is to inject packets into any network and have them travel independently to the destination. • The network layer is the lowest layer that deals with end-to-end communication. • The internet layer defines an official packet format and protocol called IP (Internet Protocol).
Internet Protocol The protocols and technologies work as a team to accomplish the goal of communication across the network. Like any team, no single member can get the job done alone, no matter how good they are. Still, if we were to try to pick a “most valuable player” in the world of networking, a good case could be made that we have it here in this section: the TCP/IP Internet Protocol (IP). IP is in fact the “workhorse” of TCP/IP. It implements key network-layer functions including addressing, datagram handling and routing, and is the foundation upon which other TCP/IP protocols are built.
IP Overview • The Internet Protocol (IP) is the core of the TCP/IP protocol suite • The network layer is primarily concerned with the delivery of data between devices that may be on different networks that are interconnected in an arbitrary manner. • IP is the mechanism by which this data is sent on TCP/IP networks.
Key IP Characteristics The Internet Protocol is said to be: • Universally-Addressed • Underlying-Protocol Independent • Delivered Connectionlessly • Delivered Unreliably • Delivered Without Acknowledgments
IP Functions • Addressing • Data Encapsulation and Formatting/Packaging • Routing algorithms, congestion control algorithms and optimization techniques. • Fragmentation and Reassembly • Routing / Indirect Delivery
Internet Protocol Version 4 (IP, IPv4) • Version 4 of IP was the first widely used in modern TCP/IP. It provides the basic datagram delivery capabilities upon which all of TCP/IP functions, and it has proven its quality in use over a period of more than two decades. • Defined in RFC 791
IP Addressing • The primary job of IP is delivering messages between devices • One of the most important functions of the Internet Protocol is addressing • IP addresses are used not only to uniquely identify IP addresses but to facilitate the routing of IP datagram's over internetworks
IP Addressing Overview IP Address Functions: Identification and Routing • Network Interface Identification: IP address provides unique identification of the interface between a device and the network. This is required to ensure that the datagram is delivered to the correct recipients. • Routing: When the source and destination of an IP datagram are not on the same network, the datagram must be delivered “indirectly” using intermediate systems, a process called routing. The IP address is an essential part of the system used to route datagram's.
IP Addressing Overview(contd..) Number of IP Addresses Per Device • Any device that has data sent to it at the network layer will have at least one IP address: one per network interface. Normal hosts such as computers and network-capable printers usually get one IP address, while routers get more than one IP address. • Lower-level network interconnection devices such as repeaters, bridges and switches don't require an IP address because they pass traffic based on layer two (data link layer) addresses.
IP Addressing Overview(contd..) • Address Uniqueness • Network-Specificity of IP Addresses • Contrasting IP Addresses and Data Link Layer Addresses
IP Addressing Overview(contd..) IP Address Datagram Delivery Issues Private and Public IP Network Addresses IP Address Configuration static configuration dynamic configuration Key Concept: IP addresses serve the dual function of device identification and routing. Each network interface requires one IP address, which is network-specific. IP addresses can be either statically or dynamically allocated, and come in unicast, multicast and broadcast forms.
IP Address Size • The IP address is just a 32-bit binary number: a set of 32 ones or zeroes. At the lowest levels computers always work in binary and this also applies to networking hardware and software. The address itself is just this 32-digit binary number.
IP Address "Dotted Decimal" Notation • IP addresses are normally expressed with each octet of 8 bits converted to a decimal number and the octets separated by a period (a “dot”). The lowest value is theoretically 0.0.0.0 and the highest is 255.255.255.255. • Dotted decimal notation provides a convenient way to work with IP addresses. • The binary, hexadecimal and decimal representations of an IP address are all equivalent.
IP Address Space • The IP address is 32 bits wide the theoretical address space of 232, or 4,294,967,296 addresses. • Despite this, IP was originally created on a rather small internetwork wasting much of the address space. Just this one decision makes 1/256th of the total number of addresses, or 16,277,216 addresses, no longer available. • IP address space dictates the limit on the number of addressable interfaces in each IP internetwork. So, if you have a private network you can in theory have 4 billion plus addresses. However, in a public network such as the Internet, all devices must share the available address space. • Techniques such as CIDR (“supernetting”) and Network Address Translation (NAT) were designed in part to more efficiently utilize the existing Internet IP address space.
Network ID and Host ID Internet IP Address Structure • Even though these sets of 32 bits are considered a single “entity”, they have an internal structure containing two components: • Network Identifier (Network ID): A certain number of bits, starting from the left-most bit, is used to identify the network where the host or other network interface is located. This is also sometimes called the network prefix or even just the prefix. • Host Identifier (Host ID): The remainder of the bits are used to identify the host on the network.
Network ID and Host ID (contd..) • Network identifier being present in the IP address facilitates the routing of IP datagrams when the address is known. • Routers look at the network portion of the IP address to determine if the destination IP address is on the same network as the host IP address. Then routing decisions are made based on information the routers keep about where various networks are located. • Since the IP address can be split into network ID and host ID components, it is also possible to use either one or the other by itself, depending on context. These addresses are assigned special meanings. • The inclusion of the network identifier in the IP address of each host on the network that cause the IP addresses to be network-specific. If you move a device from one network to a different one the network ID must change to that of the new network. Therefore, the IP address must change as well. This is an unfortunate drawback that shows up most commonly when dealing with mobile devices.
IP Addressing Categories • Conventional (“Classful”) Addressing • Subnetted “Classful” Addressing • Classless Addressing Key Concept: An essential factor in determining how an IP address is interpreted is the addressing scheme in which it is used. The three methods, arranged in increasing order of age, complexity and flexibility, are “classful” addressing, subnetted “classful” addressing, and classless addressing.
Number of IP Addresses and Multihoming There are two ways that a host can be multihomed: • Two Or More Interfaces To The Same Network • Interfaces To Two Or More Different Networks Note: When subnetting is used the same distinction can be made between multihoming to the same subnet or a different subnet.
IP "Classful" (Conventional) Addressing • The original addressing method worked by dividing the IP address space into chunks of different sizes called classes and assigning blocks of addresses to organizations from these classes called the “classful” IP addressing system
IP "Classful" Addressing Overview and Address Classes IP Address Classes • There are five classes in the “classful” system, which are given letters A through E.
IP "Classful" Addressing Overview and Address Classes Rationale for "Classful" Addressing • The 32-bit address space seemed enormous by comparison to even the number of machines its creators envisioned years into the future. • Simplicity and Clarity • Reasonable Flexibility • Routing Ease • Reserved Addresses Key Concept: .The “classful” IP addressing scheme divides the IP address space into five classes, A through E, of differing sizes. Classes A, B and C are the most important ones, designated for conventional unicast addresses and comprising 7/8ths of the address space. Class D is reserved for IP multicasting, and Class E for experimental use.
IP "Classful" Addressing Network and Host Identification "Classful" Addressing Class Determination Algorithm • If the first bit is a “0”, it's a class A address and we're done. If it's a “1”, continue to step two. • If the second bit is a “0”, it's a class B address and we're done. If it's a “1”, continue to step three. • If the third bit is a “0”, it's a class C address and we're done. If it's a “1”, continue to step four. • If the fourth bit is a “0”, it's a class D address. If it's a “1”, it's a class E address.
IP "Classful" Address Ranges Address Ranges for Address Classes • There are IP addresses that can't be used because they have special meaning. For example, you can't use an IP address of 255.255.255.255, as this is a reserved “all ones” broadcast address. In a similar vein, note that the range for Class A is from 1 to 126 and not 0 to 127 like you might have expected. This is because class A networks 0 and 127 are reserved; 127 is the network containing the IP loopback address. • The classes A, B and C differ in where the dividing line is between the network ID and the host ID: 1 byte for network and 3 bytes for host for class A, 2 bytes for each for class B, and 3 bytes for network and 1 byte for host for class C.
IP Address Class A, B and C Network and Host Capacities • Classes A, B and C are the ones actually assigned for normal (unicast) addressing purposes on IP internetworks. • The number of different networks possible in each class is a function of the number of bits assigned to the network ID, and likewise, the number of hosts possible in each network depends on the number of bits provided for the host ID. • Based on this information, we can calculate the number of networks in each class, and for each class, the number of host IDs per network. • Key Concept: In the “classful” IP addressing scheme, a Class A network contains addresses for about 16 million network interfaces; a Class B about 65,000; and a Class C, 254. • What happens if an organization needs 1,000 IP addresses? They have to either use four class Cs or use one class B (and in so doing waste over 90% of the possible addresses in the class B network.) There are only about 16,000 class B network IDs available worldwide hence this a problem with “classful” addressing.
IP Addresses With Special Meanings Special Network ID and Host ID Address Patterns • Special IP addresses are constructed by replacing the normal network ID or host ID (or both) in an IP address with one of two special patterns. The two patterns are: • All Zeroes: When the network ID or host ID bits are replaced by a set of all zeroes, the special meaning is the equivalent of the pronoun “this”, referring to whatever was replaced. It can also be interpreted as “the default” or “the current”. So for example, if we replace the network ID with all zeroes but leave the host ID alone, the resulting address means “the device with the host ID given, on this network”. Or alternatively, “the device with the host ID specified, on the default network or the current network”. • All Ones: When the network ID or host ID bits are replaced by a set of all ones, this has the special meaning of “all”. So replacing the host ID with all ones means the IP address refers to all hosts on the network. This is generally used as a broadcast address for sending a message to “everyone”.
IP Address Limitations • Since the all-zeroes and all-ones patterns are reserved for these special meanings, they cannot be used for regular IP addresses. This is why, when we looked at the number of hosts per network in each of the classes, we had to subtract two from the theoretical maximum: one for the all-zeroes case and one for the all-ones case. • Similarly, the network ID cannot be all zeroes either. However, this doesn't require specific exclusion because the entire block of addresses with “0” in the first octet (0.x.x.x) is one of the reserved sets of IP addresses.
IP Reserved, Loopback and Private Addresses Reserved Addresses • Several blocks of addresses were designated just as “reserved” with no specific indication given of what they were reserved for. They may have been set aside for future experimentation, or for internal use in managing the Internet, or for other purposes. Loopback Addresses • One special range of addresses is set aside for loopback functionality. This is the range 127.0.0.0 to 127.255.255.255. IP datagrams sent by a host to a 127.x.x.x loopback address are not passed down to the data link layer for transmission. Instead, they “loop back” to the source device at the IP level. • The purpose of the loopback range is testing of the TCP/IP protocol implementation on a host.
IP Reserved, Loopback and Private Addresses Private/Unregistered/Non-Routable Addresses • Every IP address on a IP network must be unique. • In the case of a public IP network, addresses are allocated using a central authority to ensure that there is no overlap. • In contrast, if you set up a private network you can use whatever addresses you want.
IP Multicast Addressing • The vast majority of traffic on IP internetworks is of the unicast variety: one source device sending to one destination device. IP also supports multicasting, where a source device can send to a group of devices. Multicasting is not used a great deal on the Internet as a whole at the present time, mainly due to lack of widespread hardware support, so most of our focus in looking at IP is on unicast. Multicast is useful in certain circumstances, however, especially as a more efficient alternative to broadcasting. • The “classful” IP addressing scheme sets aside a full one-sixteenth of the address space for multicast addresses: Class D. Multicast addresses are identified by the pattern “1110” in the first four bits, which corresponds to a first octet of 224 to 239. So, the full range of multicast addresses is from 224.0.0.0 to 239.255.255.255. Since multicast addresses represent a group of IP devices (sometimes called a host group) they can only be used as the destination of a datagram; never the source.
Multicast Address Types and Ranges • The 28 bits after the leading “1110” in the IP address define the multicast group address. The size of the Class D multicast address space is therefore 228 or 268,435,456 multicast groups. There is no substructure that defines the use of these 28 bits; there is no specific concept of a network ID and host ID as in classes A, B and C. However, certain portions of the address space are set aside for specific uses.
IP Multicast Addressing Well-Known Multicast Addresses • The first block of 256 addresses is used to define special, well-known multicast address blocks. These do not represent arbitrary groups of devices and cannot be assigned in that manner. Instead, they have special meaning that allows a source to send a message to a predefined group. • Delivery of IP multicast traffic is more complex than unicast traffic due to the existence of multiple recipients. Instead of the normal resolution method through the ARP protocol used for unicast datagrams, a special mapping is performed between the IP multicast group and a hardware multicast group.
Problems With "Classful" IP Addressing • Lack of Internal Address Flexibility • Inefficient Use of Address Space • Proliferation of Router Table Entries • Addressing Inflexibility
IP Datagram Encapsulation and Formatting • The primary job of the Internet Protocol is the delivery of data between devices over an internetwork • On its journey between two hosts in an internet, this data may travel across many physical networks. To help ensure that the data is sent and received properly, it is encapsulated within a message called an IP datagram • This datagram includes several fields that help manage the operation of IP and ensure that data gets where it needs to go • Note: IP datagrams are sometimes called IP packets.
IP Datagram Introduction • The primary job of the Internet Protocol is the delivery of data between devices over an internetwork • On its journey between two hosts in an internet, this data may travel across many physical networks. To help ensure that the data is sent and received properly, it is encapsulated within a message called an IP datagram • Therefore data transmitted over an internet using IP is carried in messages called IP datagrams • IP datagrams are also called IP packets. • This datagram includes several fields that help manage the operation of IP and ensure that data gets where it needs to go
IP Datagram Encapsulation • Data is passed to IP typically from one of the two main transport layer protocols: TCP or UDP • This data is already in the form of a TCP or UDP message with TCP or UDP headers. This is then encapsulated into the body of an IP message, usually called an IP datagram or IP packet. • Encapsulation and formatting of an IP datagram is also sometimes called packaging.
IP Datagram General Format • The IPv4 datagram is conceptually divided into two pieces: the header and the payload • The header contains addressing and control fields, while the payload carries the actual data to be sent over the internetwork
IP Datagram Format Description Version: 4 bits • Identifies the version of IP used to generate the datagram
IP Datagram Format Description (contd..) • Internet Header Length (IHL): 4 bits • Specifies the length of the IP header, in 32-bit words • It includes the length of options fields and padding • The normal value of this field when no options are used is 5 (5 32-bit words = 5*4 =20 bytes)
IP Datagram Format Description (contd..) • Type Of Service (TOS): 8 bits • A field designed to carry information to provide quality of service features, such as prioritized delivery, for IP datagrams • It was never widely used as originally defined, and its meaning has been subsequently redefined for use by a technique called Differentiated Services (DS) • Total Length (TL): • Specifies the total length of the IP datagram, in bytes. • Since this field is 16 bits wide, the maximum length of an IP datagram is 65,535 bytes.
IP Datagram Format Description (contd..) • Identification: 16 bits • Used to identify the fragments of one datagram from those of another • The originating protocol module of an internet datagram sets the identification field to a value that must be unique for that source-destination pair and protocol for the time the datagram will be active in the internet system • The originating protocol module of a complete datagram clears the MF bit to zero and the Fragment Offset field to zero
IP Datagram Format Description (contd..) • Flags : 3 bits • R, reserved. 1 bit.Should be cleared to 0. • DF, Don't fragment. 1 bit.Controls the fragmentation of the datagram. • MF, More fragments. 1 bit.Indicates if the datagram contains additional fragments.
IP Datagram Format Description (contd..) • Fragment Offset: 13 bits • Used to direct the reassembly of a fragmented datagram • When fragmentation of a message occurs, this field specifies the offset, or position, in the overall message where the data in this fragment goes • It is specified in units of 8 bytes • The first fragment has an offset of 0 • TTL, Time to Live. 8 bits. • A timer field used to track the lifetime of the datagram • When the TTL field is decremented down to zero, the datagram is discarded