Presentation is loading. Please wait.

Presentation is loading. Please wait.

Rensselaer Polytechnic Institute © Shivkumar Kalvanaraman & © Biplab Sikdar 1 ECSE-4670: Computer Communication Networks (CCN) Network Layer Shivkumar.

Similar presentations


Presentation on theme: "Rensselaer Polytechnic Institute © Shivkumar Kalvanaraman & © Biplab Sikdar 1 ECSE-4670: Computer Communication Networks (CCN) Network Layer Shivkumar."— Presentation transcript:

1 Rensselaer Polytechnic Institute © Shivkumar Kalvanaraman & © Biplab Sikdar 1 ECSE-4670: Computer Communication Networks (CCN) Network Layer Shivkumar Kalyanaraman: shivkuma@ecse.rpi.edu Biplab Sikdar: sikdab@rpi.edu http://www.ecse.rpi.edu/Homepages/shivkuma Network Layer Shivkumar Kalyanaraman: shivkuma@ecse.rpi.edu Biplab Sikdar: sikdab@rpi.edu http://www.ecse.rpi.edu/Homepages/shivkuma

2 Rensselaer Polytechnic Institute © Shivkumar Kalvanaraman & © Biplab Sikdar 2 understand principles behind network layer services: –Internetworking concepts –The network layer –IP –routing (path selection) –how a router works Chapter Goals

3 Rensselaer Polytechnic Institute © Shivkumar Kalvanaraman & © Biplab Sikdar 3 Internetworking network layer services IP routing principle: path selection hierarchical routing Internet routing protocols reliable transfer –intra-domain –inter-domain what’s inside a router? Overview

4 Rensselaer Polytechnic Institute © Shivkumar Kalvanaraman & © Biplab Sikdar 4 The Internetworking Problem Two nodes communicating across a “network of networks”… –How to transport packets through this heterogeneous mass ? AB

5 Rensselaer Polytechnic Institute © Shivkumar Kalvanaraman & © Biplab Sikdar 5 The Internetworking Problem Problems: heterogeneity and scaling Heterogeneity: –How to interconnect a large number of disparate networks ? (lower layers) –How to support a wide variety of applications ? (upper layers) Scaling: –How to support a large number of end- nodes and applications in this interconnected network ?

6 Rensselaer Polytechnic Institute © Shivkumar Kalvanaraman & © Biplab Sikdar 6 Heterogeneity: Solutions Translation (eg: bridges): specify a separate mapping between every pair of protocols (+) No software changes in networks required. (  ) Need to specify N mappings when a new lower layer protocol is added to the list (  ) When many networks, subset = 0 (  ) Mapping may be asymmetric

7 Rensselaer Polytechnic Institute © Shivkumar Kalvanaraman & © Biplab Sikdar 7 Heterogeneity: Solutions –Overlay model: Define a new protocol (IP) and map all networks to IP (+) Require only one mapping (IP -> new protocol) when a new protocol is added (+) Global address space can be created for universal addressibility and scaling (  ) Requires changes in lower networks (eg: protocol type field for IP)

8 Rensselaer Polytechnic Institute © Shivkumar Kalvanaraman & © Biplab Sikdar 8 Heterogeneity: Solutions (  ) IP has to be necessarily simple else mapping will be hard. – Even in its current form mapping IP to ATM has proven to be really hard. – Basis for “best-effort” forwarding (  ) Protocol mapping infrastructure needed: address hierarchy, address resolution, fragmentation

9 Rensselaer Polytechnic Institute © Shivkumar Kalvanaraman & © Biplab Sikdar 9 The Internet Network layer routing table Host, router network layer functions: Routing protocols path selection RIP, OSPF, BGP IP protocol addressing conventions datagram format packet handling conventions ICMP protocol error reporting router “signaling” Transport layer: TCP, UDP Link layer physical layer Network layer

10 Rensselaer Polytechnic Institute © Shivkumar Kalvanaraman & © Biplab Sikdar 10 IP Addressing: introduction IP address: 32-bit identifier for host, router interface interface: connection between host, router and physical link –router’s typically have multiple interfaces –host may have multiple interfaces –IP addresses associated with interface, not host, router 223.1.1.1 223.1.1.2 223.1.1.3 223.1.1.4 223.1.2.9 223.1.2.2 223.1.2.1 223.1.3.2 223.1.3.1 223.1.3.27 223.1.1.1 = 11011111 00000001 00000001 00000001 223 111

11 Rensselaer Polytechnic Institute © Shivkumar Kalvanaraman & © Biplab Sikdar 11 IP Addressing - 1 IP address: –network part (high order bits) –host part (low order bits) What’s a network ? ( from IP address perspective) –device interfaces with same network part of IP address –can physically reach each other without intervening router 223.1.1.1 223.1.1.2 223.1.1.3 223.1.1.4 223.1.2.9 223.1.2.2 223.1.2.1 223.1.3.2 223.1.3.1 223.1.3.27 network consisting of 3 IP networks (for IP addresses starting with 223, first 24 bits are network address) LAN

12 Rensselaer Polytechnic Institute © Shivkumar Kalvanaraman & © Biplab Sikdar 12 IP Addressing - 2 How to find the networks? Detach each interface from router, host create “islands of isolated networks 223.1.1.1 223.1.1.3 223.1.1.4 223.1.2.1 223.1.2.6 223.1.1.2 223.1.7.0 223.1.7.1 223.1.8.0223.1.8.1 223.1.9.1 223.1.9.2 Interconnected system consisting of six networks 223.1.3.2 223.1.3.1 223.1.3.27 223.1.2.2

13 Rensselaer Polytechnic Institute © Shivkumar Kalvanaraman & © Biplab Sikdar 13 IP Addresses 0 network host 10 network host 110 networkhost 1110 multicast address A B C D class 1.0.0.0 to 127.255.255.255 128.0.0.0 to 191.255.255.255 192.0.0.0 to 223.255.255.255 224.0.0.0 to 239.255.255.255 32 bits given notion of “network”, let’s re-examine IP addresses: “class-full” addressing:

14 Rensselaer Polytechnic Institute © Shivkumar Kalvanaraman & © Biplab Sikdar 14 Some Special IP Addresses All-0s  This computer All-1s  All hosts on this net (limited broadcast: don’t forward out of this net) All-0 host suffix  Network Address (‘0’ means ‘this’) All-1 host suffix  All hosts on the destination net (directed broadcast). 127.*.*.*  Loopback through IP layer

15 Rensselaer Polytechnic Institute © Shivkumar Kalvanaraman & © Biplab Sikdar 15 IP addressing: CIDR - 1 classful addressing: –inefficient use of address space, address space exhaustion –e.g., class B net allocated enough addresses for 65K hosts, even if only 2K hosts in that network

16 Rensselaer Polytechnic Institute © Shivkumar Kalvanaraman & © Biplab Sikdar 16 IP addressing: CIDR - 2 CIDR: Classless InterDomain Routing –network portion of address of arbitrary length –address format: a.b.c.d/x, where x is # bits in network portion of address 11001000 00010111 00010000 00000000 network part host part 200.23.16.0/23

17 Rensselaer Polytechnic Institute © Shivkumar Kalvanaraman & © Biplab Sikdar 17 Subnet Addressing –External routers need to store entries only for the “network ID” –Internal routers & hosts use subnet mask to identify “subnet ID” and route packets between “subnets” within the “network”. –Eg: Mask: 255.255.255.0 => subnet ID = 8 bits with upto 62 hosts/subnet

18 Rensselaer Polytechnic Institute © Shivkumar Kalvanaraman & © Biplab Sikdar 18 Subnet Addressing (Continued) –Route table lookup: IF ((Mask[i] & Destination Addr) = = Destination[i]) Forward to NextHop[i] –Subnet mask can end on any bit. –Mask must have contiguous 1s followed by contiguous zeros. Routers do not support other types of masks.

19 Rensselaer Polytechnic Institute © Shivkumar Kalvanaraman & © Biplab Sikdar 19 Route Table Lookup: Example DestinationMaskNext Hop 30.0.0.0255.0.0.040.0.0.7 40.0.0.0255.0.0.0Deliver direct 128.1.0.0255.255.0.0Deliver direct 192.4.10.0255.255.255.0128.1.0.9 30.0.0.0 40.0.0.0 128.1.0.0 192.4.0.0 30.0.0.7 40.0.0.7128.1.0.8192.4.10.9 40.0.0.8128.1.0.9

20 Rensselaer Polytechnic Institute © Shivkumar Kalvanaraman & © Biplab Sikdar 20 IP addresses: how to get one? Hosts (host portion): hard-coded by system admin in a file DHCP: Dynamic Host Configuration Protocol: dynamically get address: “plug-and- play” –host broadcasts “DHCP discover” msg –DHCP server responds with “DHCP offer” msg –host requests IP address: “DHCP request” msg –DHCP server sends address: “DHCP ack” msg

21 Rensselaer Polytechnic Institute © Shivkumar Kalvanaraman & © Biplab Sikdar 21 IP addresses: how to get one? Network (network portion): get allocated portion of ISP’s address space: ISP's block 11001000 00010111 00010000 00000000 200.23.16.0/20 Organization 0 11001000 00010111 00010000 00000000 200.23.16.0/23 Organization 1 11001000 00010111 00010010 00000000 200.23.18.0/23 Organization 2 11001000 00010111 00010100 00000000 200.23.20.0/23... ….. …. …. Organization 7 11001000 00010111 00011110 00000000 200.23.30.0/23

22 Rensselaer Polytechnic Institute © Shivkumar Kalvanaraman & © Biplab Sikdar 22 Hierarchical addressing: route aggregation “Send me anything with addresses beginning 200.23.16.0/20” 200.23.16.0/23200.23.18.0/23200.23.30.0/23 Fly-By-Night-ISP Organization 0 Organization 7 Internet Organization 1 ISPs-R-Us “Send me anything with addresses beginning 199.31.0.0/16” 200.23.20.0/23 Organization 2...... Hierarchical addressing allows efficient advertisement of routing information:

23 Rensselaer Polytechnic Institute © Shivkumar Kalvanaraman & © Biplab Sikdar 23 Hierarchical addressing: more specific routes ISPs-R-Us has a more specific route to Organization 1 “Send me anything with addresses beginning 200.23.16.0/20” 200.23.16.0/23200.23.18.0/23200.23.30.0/23 Fly-By-Night-ISP Organization 0 Organization 7 Internet Organization 1 ISPs-R-Us “Send me anything with addresses beginning 199.31.0.0/16 or 200.23.18.0/23” 200.23.20.0/23 Organization 2......

24 Rensselaer Polytechnic Institute © Shivkumar Kalvanaraman & © Biplab Sikdar 24 IP addressing: the last word... Q: How does an ISP get block of addresses? A: ICANN: Internet Corporation for Assigned Names and Numbers –allocates addresses –manages DNS –assigns domain names, resolves disputes

25 Rensselaer Polytechnic Institute © Shivkumar Kalvanaraman & © Biplab Sikdar 25 Getting a datagram from source to dest. - 1 IP datagram: 223.1.1.1 223.1.1.2 223.1.1.3 223.1.1.4 223.1.2.9 223.1.2.2 223.1.2.1 223.1.3.2 223.1.3.1 223.1.3.27 A B E misc fields source IP addr dest IP addr data datagram remains unchanged, as it travels source to destination addr fields of interest here routing table in A Dest. Net. next router Nhops 223.1.1 1 223.1.2 223.1.1.4 2 223.1.3 223.1.1.4 2

26 Rensselaer Polytechnic Institute © Shivkumar Kalvanaraman & © Biplab Sikdar 26 Getting a datagram from source to dest. - 2 223.1.1.1 223.1.1.2 223.1.1.3 223.1.1.4 223.1.2.9 223.1.2.2 223.1.2.1 223.1.3.2 223.1.3.1 223.1.3.27 A B E Starting at A, given IP datagram addressed to B: look up net. address of B find B is on same net. as A link layer will send datagram directly to B inside link-layer frame B and A are directly connected Dest. Net. next router Nhops 223.1.1 1 223.1.2 223.1.1.4 2 223.1.3 223.1.1.4 2 misc fields 223.1.1.1223.1.1.3 data

27 Rensselaer Polytechnic Institute © Shivkumar Kalvanaraman & © Biplab Sikdar 27 Getting a datagram from source to dest. - 3 223.1.1.1 223.1.1.2 223.1.1.3 223.1.1.4 223.1.2.9 223.1.2.2 223.1.2.1 223.1.3.2 223.1.3.1 223.1.3.27 A B E Dest. Net. next router Nhops 223.1.1 1 223.1.2 223.1.1.4 2 223.1.3 223.1.1.4 2 Starting at A, dest. E: look up network address of E E on different network A, E not directly attached routing table: next hop router to E is 223.1.1.4 link layer sends datagram to router 223.1.1.4 inside link-layer frame datagram arrives at 223.1.1.4 continued….. misc fields 223.1.1.1223.1.2.2 data

28 Rensselaer Polytechnic Institute © Shivkumar Kalvanaraman & © Biplab Sikdar 28 Getting a datagram from source to dest. – 4 223.1.1.1 223.1.1.2 223.1.1.3 223.1.1.4 223.1.2.9 223.1.2.2 223.1.2.1 223.1.3.2 223.1.3.1 223.1.3.27 A B E Arriving at 223.1.4, destined for 223.1.2.2 look up network address of E E on same network as router’s interface 223.1.2.9 router, E directly attached link layer sends datagram to 223.1.2.2 inside link-layer frame via interface 223.1.2.9 datagram arrives at 223.1.2.2!!! (hooray!) misc fields 223.1.1.1223.1.2.2 data network router Nhops interface 223.1.1 - 1 223.1.1.4 223.1.2 - 1 223.1.2.9 223.1.3 - 1 223.1.3.27 Dest. next

29 Rensselaer Polytechnic Institute © Shivkumar Kalvanaraman & © Biplab Sikdar 29 IP Features Connectionless service Addressing Data forwarding Fragmentation and reassembly Supports variable size datagrams Best-effort delivery Provides only “Send” and “Delivery” services. Error and control messages generated by Internet Control Message Protocol (ICMP)

30 Rensselaer Polytechnic Institute © Shivkumar Kalvanaraman & © Biplab Sikdar 30 What IP does NOT provide End-to-end data reliability & flow control (done by TCP or application layer protocols) Sequencing of packets (like TCP) Error detection in payload (TCP, UDP or other transport layers) Error reporting (ICMP)

31 Rensselaer Polytechnic Institute © Shivkumar Kalvanaraman & © Biplab Sikdar 31 What IP does NOT provide (Continued) Setting up route tables (RIP, OSPF, BGP etc) Connection setup (it is connectionless) Address/Name resolution (ARP, RARP, DNS) Configuration (BOOTP, DHCP) Multicast (IGMP, MBONE)

32 Rensselaer Polytechnic Institute © Shivkumar Kalvanaraman & © Biplab Sikdar 32 IP datagram format ver length 32 bits data (variable length, typically a TCP or UDP segment) 16-bit identifier Internet checksum time to live 32 bit source IP address IP protocol version number header length (bytes) max number remaining hops (decremented at each router) for fragmentation/ reassembly total datagram length (bytes) upper layer protocol to deliver payload to head. len type of service “type” of data flgs fragment offset upper layer 32 bit destination IP address Options (if any) E.g. timestamp, record route taken, pecify list of routers to visit.

33 Rensselaer Polytechnic Institute © Shivkumar Kalvanaraman & © Biplab Sikdar 33 IP Fragmentation & Reassembly - 1 network links have MTU (max.transfer size) - largest possible link-level frame. –different link types, different MTUs large IP datagram divided (“fragmented”) within net –one datagram becomes several datagrams –“reassembled” only at final destination –IP header bits used to identify, order related fragments fragmentation: in: one large datagram out: 3 smaller datagrams reassembly

34 Rensselaer Polytechnic Institute © Shivkumar Kalvanaraman & © Biplab Sikdar 34 IP Fragmentation and Reassembly - 2 ID =x offset =0 fragflag =0 length =4000 ID =x offset =0 fragflag =1 length =1500 ID =x offset =1480 fragflag =1 length =1500 ID =x offset =2960 fragflag =0 length =1040 One large datagram becomes several smaller datagrams

35 Rensselaer Polytechnic Institute © Shivkumar Kalvanaraman & © Biplab Sikdar 35 Summary Internet architectural principles IP addressing and header Fragmentation/Reassembly, Path MTU discovery


Download ppt "Rensselaer Polytechnic Institute © Shivkumar Kalvanaraman & © Biplab Sikdar 1 ECSE-4670: Computer Communication Networks (CCN) Network Layer Shivkumar."

Similar presentations


Ads by Google