Internet Protocol and Applications. Addressing. => Not an actual Internet address => Identifies a host computer / server owned by an institution that is connected to an internet => Domain does not have geographic significance Address identifies the following using 32-bits:
Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author.While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server.
Addressing => Not an actual Internet address => Identifies a host computer / server owned by an institution that is connected to an internet => Domain does not have geographic significance Address identifies the following using 32-bits: • Participating network • Node ID within the network ‘Routing is part of IP, router needs to interpret addresses’ Format: server. institution. domain
IP Addresses - Class A • start with binary 0 • all 0 (in first octet) is reserved • 01111111 (127) (in first octet) is reserved • range 1.x.x.x to 126.x.x.x • all allocated • Very large networks
IP Addresses - Class B • start with binary 10 • range 128.x.x.x to 191.x.x.x • second octet also included in network address • 214 = 16,384 class B networks • all allocated • Fairly large
IP Addresses - Class C • start with binary 110 • range 192.x.x.x to 223.x.x.x • second and third octet also part of network address • 221 = 2,097,152 networks • nearly all allocated • Relatively small
IP Addresses - Class D Multicast addressing: one address for one group. Example Uses: • Software updates to installed machines • video stream to selected users • ‘Routing is different from uni-cast routing’
Classless Addresses 32-bit addressing has limitations. Example: Class B assigned, network has 1000 machines => Huge unused addresses Alternative: assign a group of class C networks Problems: - Burden to plan for growth (256-increments) - Additional routing table information (performance suffers)
Classless Addresses Classless Inter-domain Routing (CIDR): • Does not fall into above classes • Number of bits defining the network number varies => Allows networks of varying sizes Commonly used for multiple class C networks. For 1000 nodes: 188.8.131.52 to 184.108.40.206
Classless Addresses Classless Inter-domain Routing (CIDR): => First 22-bits are the same => 22-bit network number, 10-bit local identifier ‘Router can extract the network number by AND operation using a subnet mask’ ‘several smaller groups into a larger group – super-netting’ => Fewer network numbers in routers
Classless Addresses Classless Inter-domain Routing (CIDR): ‘Router needs to know the number of bits in the network ID’ Network address w. x. y. z is replaced by w. x. y. z / m m- number of bits in the network ID
Problems # Classify the following: 220.127.116.11, 18.104.22.168, 22.214.171.124 # IP address = 140.100.120.02, subnet mask = 255.255.224.0, network number? # Can 255.255.224.7 be a mask? # For 8000 IP addresses, find the number of class C networks needed and describe CIDR addressing scheme (subnet mask).
Obtaining an Addresses Typical approach: client machine requests an IP address from the server, server runs a protocol: Dynamic Host Configuration Protocol (DHCP) that assigns an IP address from the list it maintains. Server is maintained by ISP or LAN manager. Internet Corporation for Assigned Names and Numbers (ICANN) – allocates IP addresses.
Obtaining an Address Difficult to memorize IP addresses => get a host name registered Host name is stored in a distributed directory referenced by client programs Registration is done through an accredited registrar (ICANN accredits) www.google.com = 126.96.36.199
Domain Name System Translates text form of an address to the 32-bit address. It is a distributed database. Why? Challenge is to manage millions of addresses among servers and to provide a quick translation. ‘Concept of domain eases this task’ DNS has hierarchical arrangement of organization.
Domain Name System Root server edu com org … mittamumicrosoftieeeacm Host sends a request to the local name server - A. Process is complete if A can provide the translation.
Domain Name System Else, A sends the request to another server B at a higher level. The process continues until the request is resolved. The translated address is stored in the local cache of all intermediate servers => avoids duplication of the complex translation process
IP packets and Fragmentation Different fields of the IP packet – we covered Different network architectures allow different Maximum Transfer Units (MTU) IP packet length < MTU => smooth entire transfer. IP packet length > MTU => fragmentation. Identification, flags, offset fields aid the process of reassembly.
Fragmentation Flag: More fragment bit (MFB) = ‘1’ for each fragment except the last. Do not fragment bit = ‘1’, server responds with error if IP packet length > MTU, used repeatedly to determine MTU Fragment offset field measures offset in units of 8 bytes. # IP packet of 4000 data bytes, MTU = 1400 bytes. Show fragments with offset, MFB.
IP routing ‘Is based on routing tables stored at routers and the interpretation of IP addresses’ Physical address: one used by underlying physical network. Example: Ethernet addresses enclosed in IEEE 802.3 frames, these are 48-bit numbers assigned to the network interface cards Physical addresses have local significance but none at the global IP scale.
IP routing IP packets are enclosed in frames if they travel through LAN, If the frame goes to a router, IP layer extracts the packet, examines address, determines where to send. If the packet needs to go to a machine in the attached LAN, IP puts it in a frame and sends it to the destination – direct routing. How to obtain the physical address?
IP routing Dynamic Binding (Address Resolution Protocol): Router sends a broadcast-request with an IP address for a response of physical address. Appropriate device responds with physical address => stored in router-cache The cache needs periodic update to accommodate changes.
Routers # Router 1 is connected to a network (LAN) with IP addresses 143.200.x.y Router 2 is connected to a network (LAN) with IP addresses 143.100.x.y Router 1 and Router 2 are connected. * Router 1 gets a packet with destination 188.8.131.52 => direct delivery => get physical address (using ARP or cache) => send a frame
Routers * Router 1 gets a packet with destination 184.108.40.206 => not connected to the LAN => get the next hop (from routing table) => send the packet to router 2. After receiving the packet, router 2 follows the same process as described in the earlier case. ‘traceroute / tracert command can be used to display intermediate routers between the host and a specified destination’
Routers Issues: Finding the next hop: the router looks it up in the table, challenge is to look it up fast, otherwise, packets accumulate => cause delay => buffer overflow (in extreme case) Hash structure works fast for searching the table (Content Addressable Memory) Next hop entry is stored at a location generated from a hash function of the destination.
Routers Issues: Finding the next hop: In that case there is no searching and next hop is found quickly. Moving packet from input to output port: Bus => simple, one at a time (slow) Switch => connects two end points, flexible connection, complex control
Routers Issues: Scheduling packets for transmission => refers to order in which packets are transmitted, FIFO – simple, but Quality of Service dictates the priority of packets (mail versus real time audio) # Routers A, B, C connects 7 networks (total), each of A, B, C connects to three networks, only two networks connect to two routers, others to one each. How many common next-hop are in routing table of the middle router?
Problems # What percentage of total IP addresses each class represents? # Network address = 192.168.100.0 Subnet mask = 255.255.255.192 How many subnets possible? How many hosts in each? # A company has six departments each having ten computers (or networked devices). Find the subnet mask for the network of each department.
Problems # A CIDR address is specified as 192.168.100.0/25. How many host addresses are on the network? # Given the network address of 192.168.100.0 and the subnet mask of 255.255.255.192, find the number of subnets created and the number of hosts per subnet.
Multicast routing ‘One to selected many’ Internet Group Management Protocol (IGMP) – operates between a host and the local router - Allows the host to join and leave various multicast groups IP packets are used with protocol field = 2 to exchange messages. Router sends a query to find out group members.
Multicast routing Host responds indicating it belongs / no more belongs to a particular multicast group (Identified by a class D address). The challenge is to convey this message to all routers and to implement some multicast routing algorithm. # Example network with multicast group hosts in selected networks - Only a few routers are of importance
Multicast routing • If only uni-cast packets are sent, number of copies are more, • through multicasting, source sends only a copy, then it is replicated only one for each network having multicast group members. => much less packets in the networks, significant difference in large groups. Router needs to know what to do with such a packet.
Multicast routing A spanning tree of routers can be formed that reaches all the hosts in a group – multicast tree. Different trees for different multicast groups – becomes very huge at global scale. => Very few IP routers support multicasting. Distance Vector Multicast Routing Protocol (DVMRP) uses Reverse Path Broadcasting (RPB).
Multicast routing RPB assumes that a router knows the next link along the shortest path to a given node. Router action (after receiving a multicast packet): • Identify the source and the port where received • Look up the source in the routing table and find the next hop in a path to the source
Multicast routing • If the next hop corresponds to the port where the packet arrived, then send the packet over all other ports. • Otherwise, drop the packet. => Avoids packet-travel in loops (forward only to lead away from source) But, may still add redundancy in packet-travel. Pruning is needed to limit the forwarding from a router.
Multicast routing When a router gets a multicast packet but has no group member attached, it uses IGMP with a prune message to the sender. => Sender no longer sends such packets. If a host subsequently joins the group, that router sends a Graft message for resumption of multicast packets.
Other routing Resource Reservation Protocol (RSVP) - Deals with QoS over Internet • Embeds messages in IP packets (protocol field value 46) • Messages contain requests that certain resources be reserved to meet QoS, for example: buffer space. • A router chooses the maximum to satisfy several different requests.
Other routing Internet Control Message Protocol (ICMP) • Is used for reporting errors and for providing router-updates on conditions that can develop in the Internet. • Protocol field = 1 Typical messages: Destination unreachable, Echo request, Echo reply.
Checksum • One’s complement of 16-bit (one’s complement) addition of all 16-bit words in the header. • one’s complement addition – carry added • with LSB of result • # Header with ten octets, checksum in the last two octets: 01 00 F6 F7 F4 F5 F2 03 00 00 • - Find checksum and resulting header • - Verify the checksum (final value = FFFFH)
Why Change IP? • Address space exhaustion • two level addressing (network and host) wastes space • network addresses used even if not connected • growth of networks and the Internet • extended use of TCP/IP • multiple vs. single address per host • requirements for new types of service
IPv6 Enhancements • expanded 128 bit address space • improved option mechanism • most options not examined by intermediate routers • dynamic address assignment • increased addressing flexibility • Any-cast & multicast • support for resource allocation • labeled packet flows
IPSec • RFC 1636 (1994) identified security need • encryption & authentication to be in IPv6 • but designed also for use with current IPv4 • applications needing security include: • branch office connectivity • remote access over Internet • extranet & intranet connectivity for partners • electronic commerce security