Presentation is loading. Please wait.

Presentation is loading. Please wait.

Jan 24, 2008CS573: Network Protocols and Standards1 The Internet Protocol: Related Protocols and Standards (Subnetting, ICMP) Network Protocols and Standards.

Similar presentations


Presentation on theme: "Jan 24, 2008CS573: Network Protocols and Standards1 The Internet Protocol: Related Protocols and Standards (Subnetting, ICMP) Network Protocols and Standards."— Presentation transcript:

1 Jan 24, 2008CS573: Network Protocols and Standards1 The Internet Protocol: Related Protocols and Standards (Subnetting, ICMP) Network Protocols and Standards Winter 2007-2008

2 Jan 24, 2008CS573: Network Protocols and Standards2 IPv4 IP Datagram Format IPv4 Addressing ARP and RARP IP Routing Basics Subnetting and Supernetting ICMP Network Address Translation (NAT) Dynamic Addressing

3 Jan 24, 2008CS573: Network Protocols and Standards3 Issues in Addressing A large corporate/campus environment Large number of Local Area Networks Some with fewer than 256 hosts Some with more than 256 hosts If each physical network is assigned a network number: Immense administrative overhead to manage a large number of network addresses Routing tables in routers become extremely large (one entry for each physical network) Insufficient number of class B prefixes to cover medium sized networks (having more than 256 hosts)

4 Jan 24, 2008CS573: Network Protocols and Standards4 Subnetting Solution: Provide the campus with a single class B network Give freedom to the campus network admin to allocate host numbers to hosts From outside, the whole campus is simply known by the class B network ID Inside, there may be a hierarchy that remains transparent to the outside world

5 Jan 24, 2008CS573: Network Protocols and Standards5 Subnetting Consider a class B network How to allocate host numbers to hosts? A single LAN is out of question If host numbers are assigned randomly, i.e., without any hierarchy, the routers inside the network will have to deal with large tables – one entry per host Thus, a hierarchical structure is required

6 Jan 24, 2008CS573: Network Protocols and Standards6 Subnetting Physical Network (Subnet 1) Physical Network (Subnet 2) Physical Network (Subnet 3) Physical Network (Subnet 4) R R R R R H H H H H HH H H H H H

7 Jan 24, 2008CS573: Network Protocols and Standards7 Subnetting R Internet H1H2 H4H3 Network 138.10.1.0 Network 138.10.2.0 138.10.1.1138.10.1.2 138.10.2.2138.10.2.1 H1 wants to send an IP datagram to H3: Old addressing dictates it is a “direct delivery” With subnetting, it may become “indirect” R is not a Proxy ARP router! Subnet 1 Subnet 2

8 Jan 24, 2008CS573: Network Protocols and Standards8 Subnetting We previously divided IP addresses in a network portion and a host portion More generally, think of a 32-bit IP address as having an Internet part and a Local part Internet part of the IP address identifies a site (possibly with many physical networks) The local portion identifies a physical network and host at that site (note: physical network == extended LAN) Internet PartLocal Part Internet PartSubnetHost

9 Jan 24, 2008CS573: Network Protocols and Standards9 Subnetting Examples: Class B IP address Internet PartSubnetHost 16bits 8bits 8bits Internet PartSubnetHost 16bits3bits 13bits

10 Jan 24, 2008CS573: Network Protocols and Standards10 Subnet Implementation Subnet Mask: Specifies the bits of the IP address used to identify the subnet Internet Part of AddressSubnetHost 16bits 8bits 8bits 1111111111111111 1111111100000000 Internet Part of AddressSubnetHost Subnet Mask (32bits) 16bits3bits 13bits 11111111 11111111 111 0000000000000 255.255. 255. 0 255.255. 224. 0

11 Jan 24, 2008CS573: Network Protocols and Standards11 Subnetting It is recommended that sites use contiguous subnet masks Avoid masks such as 11111111 11111111 11000010 11000000 When choosing a subnet mask, balance: Size of networks Number of networks Expected growth Ease of maintenance It is possible to use different masks in different parts of the network

12 Jan 24, 2008CS573: Network Protocols and Standards12 Subnet Routing Conventional routing table entry (network address, next hop address) Network address format is predetermined for a given class (e.g., first 16 bits for class B addresses!) With subnetting, routing table entry becomes (subnet mask, network address, next hop address) Then compare with network address field of entries to find next hop address Subnet mask indicates the network address!

13 Jan 24, 2008CS573: Network Protocols and Standards13 Subnet Routing The use of mask generalizes the subnet routing algorithm to handle all the special cases of the standard algorithm Routes to individual hosts Default route Routes to directly connected networks Routes to conventional networks (that do not use subnet addressing) Merely combine the 32-bit mask field with the 32-bit IP address Example: To install a route for: Individual host (Mask of all 1’s, Host IP address) Default Route (Mask of all 0’s, network address all 0’s) Class B network address (Mask of two octets of 1’s and two of 0’s)

14 Jan 24, 2008CS573: Network Protocols and Standards14 Subnet Routing Algorithm Extract destination IP (D) from datagram Compute IP address of destination network N If N matches any directly connected network address Send datagram over that network (obviously encapsulated in a frame) Else For each entry in the routing table, do N* = bitwise-AND of D and subnet mask If N* equals the network address field of the entry, then route the datagram to the specified next hop

15 Jan 24, 2008CS573: Network Protocols and Standards15 Subnetting: Example Consider a corporate network assigned a class C address P.Q.R.00000000 The company needs 5 subnets: 2 subnets of 16 hosts each 3 subnets with 32, 64, and 128 hosts External routers reach the corporate via single routing table entry P.Q.R.0 network and 255.255.255.0 mask (if any) What about internal routers?

16 Jan 24, 2008CS573: Network Protocols and Standards16 Subnetting: Example S5 S4 S3 S2 S1 255.255.255.1 0000000P.Q.R.1 111 hhhh 255.255.255.1 0000000P.Q.R.1 110 hhhh 255.255.255.1 0000000P.Q.R.1 101 hhhh 255.255.255.1 0000000P.Q.R.1 100 hhhh 255.255.255.1 0000000P.Q.R.1 011 hhhh 255.255.255.1 0000000P.Q.R.1 010 hhhh 255.255.255.1 0000000P.Q.R.1 001 hhhh P.Q.R.1 0000000 255.255.255.1 0000000P.Q.R.1 000 hhhh 255.255.255.11 000000P.Q.R.01 11 hhhh 255.255.255.11 000000P.Q.R.01 10 hhhh 255.255.255.11 000000P.Q.R.01 01 hhhh P.Q.R.01 000000 255.255.255.11 000000P.Q.R.01 00 hhhh 255.255.255.111 00000P.Q.R.001 1 hhhh P.Q.R.001 00000 255.255.255.111 00000P.Q.R.001 0 hhhh P.Q.R.0001 0000255.255.255.1111 0000P.Q.R.0001 hhhh P.Q.R.0000 0000255.255.255.1111 0000P.Q.R.0000 hhhh IP addressesNetwork/Subnet addressSubnet MaskSubnet Name { {

17 Jan 24, 2008CS573: Network Protocols and Standards17 Subnetting: Example S5 S4 S3 S2 S1 255.255.255.1 0000000P.Q.R.1 0000000P.Q.R.1 hhhhhhh 255.255.255.11 000000P.Q.R.01 hhhhhhP.Q.R.01 000000 P.Q.R.001 00000255.255.255.1110 0000P.Q.R.001 hhhhh P.Q.R.0001 0000255.255.255.1111 0000P.Q.R.0001 hhhh P.Q.R.0000 0000255.255.255.1111 0000P.Q.R.0000 hhhh IP addressesNetwork/Subnet addressSubnet MaskSubnet Name

18 Jan 24, 2008CS573: Network Protocols and Standards18 Subnetting: Routing Table P5 P4 P3 P2 P1 255.255.255.1 0000000P.Q.R.1000 0000 255.255.255.11 000000P.Q.R.0100 0000 P.Q.R.0010 0000255.255.255.1110 0000 P.Q.R.0001 0000255.255.255.1111 0000 P.Q.R.0000 0000255.255.255.1111 0000 Network/Subnet addressSubnet MaskNext Hop/Port Routing table for a router INSIDE the company

19 Jan 24, 2008CS573: Network Protocols and Standards19 Subnetting: Routing Table P.Q.R.0000 0000 / 28P1 P.Q.R.0001 0000 / 28P2 P.Q.R.0010 0000 / 27P3 P.Q.R.0100 0000 / 26P4 P.Q.R.1000 0000 / 25P5 Network/Subnet addressNext Hop/Port Number after / indicates number of bits to look at!

20 Jan 24, 2008CS573: Network Protocols and Standards20 Subnetting: Routing Table Subnet S4 has 64 hosts. Can we make two subnets? 16+48? 255.255.255.11 000000P.Q.R.01 11 hhhh 255.255.255.11 000000P.Q.R.01 10 hhhh 255.255.255.11 000000P.Q.R.01 01 hhhh P.Q.R.0100 0000 255.255.255.11 000000P.Q.R.01 00 hhhh Old maskOld subnetNew mask 255.255.255.11 000000P.Q.R.01 hhhhhh 255.255.255.11 000000P.Q.R.01 hhhhhh 255.255.255.11 000000P.Q.R.01 hhhhhh 255.255.255.1111 0000P.Q.R.01 00 hhhh { S4255.255.255.11 000000P.Q.R.01 hhhhhhP.Q.R.01 000000 S41255.255.255.1111 0000P.Q.R.0100 hhhhP.Q.R.0100 0000 S42255.255.255.11 000000P.Q.R.01 hhhhhhP.Q.R.01 000000

21 Jan 24, 2008CS573: Network Protocols and Standards21 Subnetting: Routing Table What if an IP in S42 is received? It will match on the second entry! What if an IP in S41 is received? It will match both entries! Which entry should be used? USE LONGEST PREFIX MATCH S41255.255.255.1111 0000P.Q.R.0100 hhhhP.Q.R.0100 0000 S42255.255.255.11 000000P.Q.R.01 hhhhhhP.Q.R.01 000000

22 Jan 24, 2008CS573: Network Protocols and Standards22 Subnetting: Routing Table Where else longest prefix match can be used? P345 P2 P1 255.255.255.1 0000000P.Q.R.1000 0000 255.255.255.11 000000P.Q.R.0100 0000 P.Q.R.0010 0000255.255.255.1110 0000 P.Q.R.0001 0000255.255.255.1111 0000 P.Q.R.0000 0000255.255.255.1111 0000 Network/Subnet addressSubnet MaskNext Hop/Port Aggregate P345 P2 P1 P.Q.R.0000 0000255.255.255.0000 0000 P.Q.R.0001 0000255.255.255.1111 0000 P.Q.R.0000 0000255.255.255.1111 0000 Network/Subnet addressSubnet MaskNext Hop/Port Router S1 S2 S5 S4 S3

23 Jan 24, 2008CS573: Network Protocols and Standards23 Supernet Addressing Use of many IP network addresses for a single organization Example: To conserve class B addresses, issue multiple class C address to the same organization Issue: increase in the number of entries in the routing table Solutions: Collapse a block of contiguous class C address into the pair: (network address, count) where network address is the smallest number in the block

24 Jan 24, 2008CS573: Network Protocols and Standards24 Supernet Addressing It requires each block to be a power of 2 and uses bit mask to identify the size of the block Example (8 contiguous class C blocks) Dotted decimal 32-bit binary equivalent Lowest IP: 234.170.168.0 11101010 10101010 10101000 00000000 Highest IP: 234.170.175.255 11101010 10101010 10101111 11111111 A block of 2048 addresses 32-bit mask is 11111111 11111111 11111000 00000000 Do we really need address classes when we have masks? Answer: NO  CIDR (Classless Inter Domain Routing)

25 Jan 24, 2008CS573: Network Protocols and Standards25 Supernet Addressing In the router, the entry consists of: The lowest address and the 32-bit mask A block of addresses can be subdivided, and separate route can be entered for each subdivision When looking up a route, the routing software uses a longest-match paradigm to select a route

26 Jan 24, 2008CS573: Network Protocols and Standards26 IPv4 IP Datagram Format IPv4 Addressing ARP and RARP IP Routing Basics Subnetting and Supernetting ICMP Network Address Translation (NAT) Dynamic Addressing

27 Jan 24, 2008CS573: Network Protocols and Standards27 ICMP Motivation Questions in Routing: What if a router cannot route or deliver a datagram? What if a router experiences congestion? What if the TTL expires? Router needs to inform the source to take action to avoid or correct the problem ICMP – error reporting mechanism Can only report condition back to the original source Routers and hosts send error or control messages to others Specified in RFC 792

28 Jan 24, 2008CS573: Network Protocols and Standards28 ICMP ICMP messages are encapsulated in IP datagrams, with protocol type 1 In the data portion of the datagram, first byte indicates the ICMP message type and the format for the rest of the message Some ICMP packets have a code that further qualifies the type Most ICMP messages include the full IP header plus the first 8 bytes of the data portion of the datagram they refer to Helps sender identify the packet To avoid explosion of ICMP messages No ICMP packets are generated to report errors on ICMP packets If an ICMP message is generated about a fragmented datagram, it is generated only for the first fragment (fragment 0)

29 Jan 24, 2008CS573: Network Protocols and Standards29 Some ICMP Message Types Type FieldICMP Message Type 0Echo Reply 3Destination Unreachable 4Source Quench 5Redirect (change a route) 8Echo Request 9Router Advertisement 10Router Solicitation 11Time Exceeded for a Datagram 12Parameter Problem on a Datagram 13Timestamp Request 14Timestamp Reply 17Address Mask Request 18Address Mask Reply Reference: RFC 1700

30 Jan 24, 2008CS573: Network Protocols and Standards30 Echo Request/Reply Testing destination reachability and status Echo Request Message Echo Reply Message Command used to send ICMP echo request is, in most systems, called “ping” Echo request may contain some data, which is returned unchanged in the reply The ICMP Echo Request/Reply header also contains a sequence number and identifier, to aid the host in matching the request with the reply

31 Jan 24, 2008CS573: Network Protocols and Standards31 Echo Request/Reply ICMP Echo Request or Reply Message Format TYPE(0/8)CODE(0) IDENTIFIER CHECKSUM SEQUENCE NUMBER OPTIONAL DATA … … …

32 Jan 24, 2008CS573: Network Protocols and Standards32 Destination Unreachable Reports of unreachable destinations When a router can not forward or deliver an IP datagram, it sends a “destination unreachable” message back to the original source Code determines specific condition (see table)

33 Jan 24, 2008CS573: Network Protocols and Standards33 Destination Unreachable ICMP Destination Unreachable Message Format TYPE(3)CODE(0-12)CHECKSUM UNUSED (MUST BE ZERO) INTERNET HEADER+FIRST 8 BYTES OF DATA … … …

34 Jan 24, 2008CS573: Network Protocols and Standards34 Destination Unreachable Codes Code ValueMeaning 0Network Unreachable 1Host Unreachable 2Protocol Unreachable 3Port Unreachable 4Fragmentation Needed and DF Set 5Source Route Failed 6Destination Network Unknown 7Destination Host Unknown 8Source Host Isolated 9Communication with Destination Network Administratively Prohibited 10Communication with Destination Host Administratively Prohibited 11Network Unreachable for Type of Service 12Host Unreachable for Type of Service

35 Jan 24, 2008CS573: Network Protocols and Standards35 ICMP Source Quench Congestion and datagram flow control Report congestion to the original source Request to source to reduce current rate Usually sent for each datagram discarded Can be sent by a host or a router Some routers may be more sophisticated Monitor incoming traffic Quench sources that have the highest rates Avoid congestion by quenching before datagrams are lost

36 Jan 24, 2008CS573: Network Protocols and Standards36 Source Quench ICMP Source Quench Message Format TYPE(4)CODE(0)CHECKSUM UNUSED (MUST BE ZERO) INTERNET HEADER+FIRST 8 BYTES OF DATA … … …

37 Jan 24, 2008CS573: Network Protocols and Standards37 ICMP Redirect Message Host sends a datagram to router R1 to be forwarded to a certain destination Router R1 looks at its routing table, and finds the next router in the path as R2 If R2 is directly accessible to the sending host, R1 generates an ICMP Redirect Message back to the sender. R1 also forwards the datagram to R2 normally The purpose is to inform the host that there is a better route to that destination

38 Jan 24, 2008CS573: Network Protocols and Standards38 ICMP Redirect Message TYPE(5)CODE(0-3)CHECKSUM SUGGESTED ROUTER INTERNET ADDRESS INTERNET HEADER+FIRST 8 BYTES OF DATA … … … Code ValueMeaning 0Redirect datagrams for the Net (now obsolete) 1Redirect datagrams for the Host 2Redirect datagrams for the Type of Service and Net 3Redirect datagrams for the Type of Service and Host

39 Jan 24, 2008CS573: Network Protocols and Standards39 ICMP Time Exceeded TYPE(11)CODE(0/1)CHECKSUM UNUSED (MUST BE ZERO) INTERNET HEADER+FIRST 8 BYTES OF DATA … … … Code ValueMeaning 0Time-to-live count Exceeded 1Fragment reassembly time exceeded A router sends this message whenever a datagram is discarded because the TTL field in the datagram has reached zero or because its reassembly timer Expired while waiting for fragments

40 Jan 24, 2008CS573: Network Protocols and Standards40 Address Mask Request/Reply Obtaining a subnet mask ICMP address mask request message ICMP address mask reply message Request Sent directly to the router (if known) Broadcast (if router unknown) Response is unicast if the request contains a valid IP address; otherwise, it is a broadcast Any host can respond (see RFC 950)

41 Jan 24, 2008CS573: Network Protocols and Standards41 Address Mask Request/Reply ICMP address mask request or reply message format. Usually, hosts broadcast a request without knowing which specific router will respond. TYPE(17/18)CODE(0) IDENTIFIER CHECKSUM SEQUENCE NUMBER ADDRESS MASK

42 Jan 24, 2008CS573: Network Protocols and Standards42 Router Advertisement/Solicitation Options for the host to learn the router address(es) Manually enter entries Not up to date and cumbersome Host listens to routing protocol messages Protocols and their messages differ Complexity is introduced at the host Use of ICMP messages as defined in RFC 1256 Routers periodically send an ICMP “router Advertisement” – either broadcast or multicast Hosts may solicit such advertisements with a Router Solicitation message

43 Jan 24, 2008CS573: Network Protocols and Standards43 Router Advertisement TYPE(9)CODE(0)CHECKSUM LIFETIME (SEC) ROUTER ADDRESS [1] NUM ADDRS ADDR ENTRY SZIE = 2 ROUTER ADDRESS [2] PREFERENCE LEVEL [2] PREFERENCE LEVEL [1] … … …

44 Jan 24, 2008CS573: Network Protocols and Standards44 Router Solicitation TYPE(10)CODE(0)CHECKSUM RESERVED – Default advertisement rate is once every 7-10 minutes – The router solicitation message causes the routers to send their advertisements earlier – Lifetime of advertisements is typically 30 minutes

45 Jan 24, 2008CS573: Network Protocols and Standards45 Application: Traceroute Goal: Find the path a packet takes between two hosts Originator host sends a series of packets, starting with TTL=1 and increasing the TTL for each packet The first router in the path will drop the TTL=1 packet and send back an ICMP Time Exceeded Host learns who is the first hop Second router in the path will drop the packet that originated with TTL=2 and send back an ICMP Time Exceeded Third router will do the same upon receiving packet that originated with TTL=3 By collecting the ICMP responses, the host can figure out the path taken by the packet. Will this work?

46 Jan 24, 2008CS573: Network Protocols and Standards46 Application: Traceroute Current method described above requires 2N messages for a N-hop path Will also give wrong results if path changes ICMP Traceroute (RFC 1393) can do it in N+1 messages Idea: Define a traceroute IP option Send an IP packet with this option set Every intermediate system handling this packet will send back an ICMP traceroute to the source

47 Jan 24, 2008CS573: Network Protocols and Standards47 Application: Traceroute Tracing route to nova.stanford.edu [171.64.90.123] over a maximum of 30 hops: 1 <10 ms <10 ms <10 ms shahalami.lums.edu.pk [203.128.0.1] 2 1938 ms 1890 ms 1860 ms 202.125.139.29 3 1515 ms 1875 ms 1938 ms 202.125.139.249 4 1812 ms 1672 ms 1578 ms 202.125.159.53 5 1969 ms 1672 ms 1953 ms 203.208.147.85 6 1437 ms 1641 ms 1594 ms p5-2.nycmny1-cr11.bbnplanet.net [4.25.14.41] 7 1593 ms 1688 ms 1719 ms p3-0.nycmny1-nbr1.bbnplanet.net [4.24.10.78] 8 1859 ms * 1687 ms so-6-0-0.chcgil2-br2.bbnplanet.net [4.24.4.17] 9 1610 ms 1718 ms 1625 ms so-1-0-0.dnvtco1-br2.bbnplanet.net [4.24.9.62] 10 1516 ms 1718 ms 2000 ms p15-0.snjpca1-br2.bbnplanet.net [4.0.6.225] 11 1922 ms 1844 ms 1562 ms p2-0.paix-bi3.bbnplanet.net [4.24.7.38] 12 1562 ms 1813 ms 1812 ms p2-0.paix-bi2.bbnplanet.net [4.0.3.174] 13 1828 ms 1625 ms 1688 ms p6-0.paloalto-nbr1.bbnplanet.net [4.0.6.97] 14 1844 ms 1734 ms 2016 ms p1-0.paloalto-cr1.bbnplanet.net [4.0.6.74] 15 2031 ms 1813 ms 1687 ms p1-0-0.paloalto-cr13.bbnplanet.net [4.0.2.222] 16 2109 ms 1985 ms 1937 ms sunet-gateway.stanford.edu [198.31.10.1] 17 * * * Request timed out. 18 * * * Request timed out. 19 2078 ms 2203 ms 2078 ms nova.Stanford.EDU [171.64.90.123]

48 Jan 24, 2008CS573: Network Protocols and Standards48 Application: Traceroute traceroute to suraj.lums.edu.pk (203.128.0.6): 1-30 hops, 38 byte packets 1 quad-rtr.Stanford.EDU (171.64.90.1) 1.49 ms (ttl=64!) 1.25 ms (ttl=64!) 1.32 ms (ttl=64!) 2 default-gateway-2.Stanford.EDU (198.31.86.129) 2.27 ms 1.98 ms 2.82 ms 3 sunet-gateway.Stanford.EDU (198.31.86.1) 2.18 ms 1.18 ms 1.25 ms 4 g1.ba21.b003123-1.sfo01.atlas.cogentco.com (66.250.7.137) 3.27 ms 3.79 ms 3.04 ms 5 g1-1.core01.sfo01.atlas.cogentco.com (66.28.6.9) 4.23 ms 3.40 ms 3.18 ms 6 p5-0.core03.sfo01.atlas.cogentco.com (66.28.4.146) 3.44 ms 3.51 ms 5.33 ms 7 ds3.st-paix.ix.singtel.com (198.32.176.50) 10.9 ms (ttl=248!) 10.2 ms (ttl=248!) 12.1 ms (ttl=248!) 8 p6-1.plapx-cr1.ix.singtel.com (203.208.172.45) 12.9 ms 13.5 ms 13.6 ms 9 POS2-0.above-core1.ix.singtel.com (202.160.250.45) 14.6 ms 14.0 ms 13.3 ms 10 203.208.154.94 (203.208.154.94) 63.7 ms 58.7 ms 57.6 ms 11 203.208.154.97 (203.208.154.97) 78.1 ms (ttl=244!) 80.7 ms (ttl=244!) 82.0 ms (ttl=244!) 12 203.208.154.102 (203.208.154.102) 79.9 ms 80.5 ms 78.3 ms 13 203.208.147.86 (203.208.147.86) 373 ms (ttl=241!) 323 ms (ttl=241!) 310 ms (ttl=241!) 14 202.125.159.46 (202.125.159.46) 326 ms (ttl=240!) 329 ms (ttl=240!) 328 ms (ttl=240!) 15 202.125.139.250 (202.125.139.250) 328 ms (ttl=239!) 326 ms (ttl=239!) 326 ms (ttl=239!) 16 202.125.139.30 (202.125.139.30) 2075 ms (ttl=238!) 2146 ms (ttl=238!) 2216 ms (ttl=238!) 17 suraj.lums.edu.pk (203.128.0.6) 2395 ms (ttl=237!) 2294 ms (ttl=237!) 2209 ms (ttl=237!)


Download ppt "Jan 24, 2008CS573: Network Protocols and Standards1 The Internet Protocol: Related Protocols and Standards (Subnetting, ICMP) Network Protocols and Standards."

Similar presentations


Ads by Google