Computer Networks The Network Layer

Slides:



Advertisements
Similar presentations
Discussion Monday ( ). ver length 32 bits data (variable length, typically a TCP or UDP segment) 16-bit identifier header checksum time to live.
Advertisements

CPSC Network Layer4-1 IP addresses: how to get one? Q: How does a host get IP address? r hard-coded by system admin in a file m Windows: control-panel->network->configuration-
4 IP Address (IPv4)  A unique 32-bit number  Identifies an interface (on a host, on a router, …)  Represented in dotted-quad notation
CS 457 – Lecture 16 Global Internet - BGP Spring 2012.
4: Network Layer4a-1 IP Addressing: introduction r IP address: 32-bit identifier for host, router interface r interface: connection between host, router.
CSE551: Computer Network Review r Network Layers r TCP/UDP r IP.
Announcement r Recitation tomorrow on Project 2 r Midterm Survey at the end of this class.
Week 5: Internet Protocol Continue to discuss Ethernet and ARP –MTU –Ethernet and ARP packet format IP: Internet Protocol –Datagram format –IPv4 addressing.
Network Layer introduction 4.2 virtual circuit and datagram networks 4.3 what’s inside a router 4.4 IP: Internet Protocol  datagram format  IPv4.
Network Layer4-1 Computer Networking (Datakom) Chapter 4: Network Layer Chapter goals: r understand principles behind network layer services: m routing.
The Network Layer Chapter 5. The IP Protocol The IPv4 (Internet Protocol) header.
Announcement r Project 2 due Fri. midnight r Homework 3 out m Due 2/29 Sun. r Advertisement for my CS395/495 course next quarter: Computer Network Security:
Chapter 5 The Network Layer.
N/W Layer Addressing1 Instructor: Anirban Mahanti Office: ICT Class Location: ICT 121 Lectures: MWF 12:00 – 12:50 Notes.
Rensselaer Polytechnic Institute © Shivkumar Kalvanaraman & © Biplab Sikdar 1 ECSE-4670: Computer Communication Networks (CCN) Network Layer Shivkumar.
NAT: Network Address Translation local network (e.g., home network) /24 rest of Internet Datagrams.
Network Layer Overview and IP
11- IP Network Layer4-1. Network Layer4-2 The Internet Network layer forwarding table Host, router network layer functions: Routing protocols path selection.
Announcement r Project 3 out, due 3/10 r Homework 3 out last week m Due next Mon. 3/1.
Network Layer4-1 IP: Internet Protocol r Datagram format r IPv4 addressing r DHCP: Dynamic Host Configuration Protocol r NAT: Network Address Translation.
Network Layer4-1 Chapter 4 Network Layer Computer Networking: A Top Down Approach Featuring the Internet, 3 rd edition. Jim Kurose, Keith Ross Addison-Wesley,
Network Layer4-1 Data Communication and Networks Lecture 6 Networks: Part 1 Circuit Switching, Packet Switching, The Network Layer October 13, 2005.
The Internet Network layer
Network Layer4-1 Network layer r transport segment from sending to receiving host r on sending side encapsulates segments into datagrams r on rcving side,
Network Layer4-1 Network layer r transport segment from sending to receiving host r on sending side encapsulates segments into datagrams r on rcving side,
The Network Layer: IP, subnets, NAT and Routing Based on slides from the Computer Networking: A Top Down Approach Featuring the Internet by Kurose and.
4: Network Layer4a-1 IP datagram format ver length 32 bits data (variable length, typically a TCP or UDP segment) 16-bit identifier Internet checksum time.
Network Layer4-1 NAT: Network Address Translation local network (e.g., home network) /24 rest of.
Adapted from: Computer Networking, Kurose/Ross 1DT066 Distributed Information Systems Chapter 4 Network Layer.
Datagram Networks: Internet Protocol (IPv4)
CS 1652 The slides are adapted from the publisher’s material All material copyright J.F Kurose and K.W. Ross, All Rights Reserved Jack Lange.
12 – IP, NAT, ICMP, IPv6 Network Layer.
Chapter 4 Network Layer slides are modified from J. Kurose & K. Ross CPE 400 / 600 Computer Communication Networks Lecture 16.
1DT066 Distributed Information System Chapter 4 Network Layer.
4: Network Layer4a-1 Hierarchical Routing r aggregate routers into regions, “autonomous systems” (AS) r routers in same AS run same routing protocol m.
Transport Layer 3-1 Chapter 4 Network Layer Computer Networking: A Top Down Approach 6 th edition Jim Kurose, Keith Ross Addison-Wesley March 2012  CPSC.
CIS 3360: Internet: Network Layer Introduction Cliff Zou Spring 2012.
1 Chapter 4: Network Layer r 4.4 IP: Internet Protocol m Datagram format m IPv4 addressing m ICMP m IPv6 r 4.5 Routing algorithms m Hierarchical routing.
Network Layer4-1 Chapter 4: Network Layer r 4. 1 Introduction r 4.2 Virtual circuit and datagram networks r 4.3 What’s inside a router r 4.4 IP: Internet.
1 Network Layer Lecture 15 Imran Ahmed University of Management & Technology.
Network Layer4-1 IP: Internet Protocol r Datagram format r IPv4 addressing r DHCP: Dynamic Host Configuration Protocol r NAT: Network Address Translation.
Network Layer4-1 Chapter 4 roadmap 4.1 Introduction and Network Service Models 4.2 Routing Principles 4.3 Hierarchical Routing 4.4 The Internet (IP) Protocol.
Network Layer4-1 The Internet Network layer forwarding table Host, router network layer functions: Routing protocols path selection RIP, OSPF, BGP IP protocol.
Sharif University of Technology, Kish Island Campus Internet Protocol (IP) by Behzad Akbari.
Transport Layer3-1 Chapter 4: Network Layer r 4. 1 Introduction r 4.2 Virtual circuit and datagram networks r 4.3 What’s inside a router r 4.4 IP: Internet.
Network Layer4-1 Datagram networks r no call setup at network layer r routers: no state about end-to-end connections m no network-level concept of “connection”
1 Network Layer Lecture 11 Imran Ahmed University of Management & Technology.
Network Layer4-1 Chapter 4: Network Layer Chapter goals: r Understand principles behind network layer services: m Routing (path selection) m dealing with.
Chapter 4 Network Layer Computer Networking: A Top Down Approach 6 th edition Jim Kurose, Keith Ross Addison-Wesley March 2012 A note on the use of these.
The Internet Network layer
Data Communications and Computer Networks Chapter 4 CS 3830 Lecture 19 Omar Meqdadi Department of Computer Science and Software Engineering University.
Network Layer4-1 Chapter 4 Network Layer All material copyright J.F Kurose and K.W. Ross, All Rights Reserved Computer Networking: A Top Down.
Network Layer4-1 Chapter 4: Network Layer Chapter goals: r understand principles behind network layer services: m network layer service models m forwarding.
IP Fragmentation. Network layer transport segment from sending to receiving host on sending side encapsulates segments into datagrams on rcving side,
1 COMP 431 Internet Services & Protocols The IP Internet Protocol Jasleen Kaur April 21, 2016.
IP Internet Protocol. IP TCP UDP ICMPIGMP ARP PPP Ethernet.
CSE 421 Computer Networks. Network Layer 4-2 Chapter 4: Network Layer r 4. 1 Introduction r 4.2 Virtual circuit and datagram networks r 4.3 What’s inside.
Introduction to Networks
12 – IP, NAT, ICMP, IPv6 Network Layer.
Computer Communication Networks
Chapter 4: Network Layer
Chapter 4: Network Layer
CS 1652 Jack Lange University of Pittsburgh
CS 457 – Lecture 10 Internetworking and IP
Wide Area Networks and Internet CT1403
Overview The Internet (IP) Protocol Datagram format IP fragmentation
Chapter 4 Network Layer Computer Networking: A Top Down Approach 5th edition. Jim Kurose, Keith Ross Addison-Wesley, April Network Layer.
ECSE-4670: Computer Communication Networks (CCN)
32 bit destination IP address
Presentation transcript:

Computer Networks The Network Layer Adrian Sergiu DARABANT Lecture 7

The Network Layer

The Internet Protocol -IP The Internet (IP) Protocol IPv4 addressing Moving a datagram from source to destination Datagram format IP fragmentation ICMP: Internet Control Message Protocol DHCP: Dynamic Host Configuration Protocol NAT: Network Address Translation Routing

The Internet Network Layer Transport layer: TCP, UDP IP protocol addressing conventions datagram format packet handling conventions Routing protocols path selection RIP, OSPF, BGP Network layer forwarding table ICMP protocol error reporting router “signaling” Link layer physical layer

IP Addressing IP address: 32-bit identifier for host, router interface 223.1.1.1 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 each interface 223.1.2.1 223.1.1.2 223.1.1.4 223.1.2.9 223.1.2.2 223.1.1.3 223.1.3.27 223.1.3.1 223.1.3.2 223.1.1.1 = 11011111 00000001 00000001 00000001 223 1 1 1

IP Addressing 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.2.1 223.1.1.2 223.1.1.4 223.1.2.9 223.1.2.2 223.1.1.3 223.1.3.27 LAN 223.1.3.1 223.1.3.2 network consisting of 3 IP networks (for IP addresses starting with 223, first 24 bits are network address)

IP Addressing How to find the networks? 223.1.1.2 223.1.1.1 223.1.1.4 How to find the networks? Detach each interface from router, host create “islands of isolated networks 223.1.1.3 223.1.9.2 223.1.7.0 223.1.9.1 223.1.7.1 223.1.8.1 223.1.8.0 223.1.2.6 223.1.3.27 Interconnected system consisting of six networks 223.1.2.1 223.1.2.2 223.1.3.1 223.1.3.2

IP Addresses – Class Full given the notion of “network”, let’s re-examine IP addresses: “class-full” addressing: class 1.0.0.0 to 127.255.255.255 A network host B 128.0.0.0 to 191.255.255.255 10 network host 192.0.0.0 to 223.255.255.255 C 110 network host 224.0.0.0 to 239.255.255.255 D 1110 multicast address 32 bits

IP Addressing: CIDR Classful addressing: inefficient use of address space, address space exhaustion e.g., class B net allocates enough addresses for 65K hosts, even if we only have 2K hosts in that network 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 network part host part 11001000 00010111 00010000 00000000 200.23.16.0/23

IP Subnet Basic concept: A subset of a class A, B or C network. IP addresses that do not use subnets consists of A network portion, and A host portion. Represents a static two-level hierarchical addressing model.

IP Subnet (cont) IP subnets introduces a third level of hierarchy. A network portion A subnet portion A host portion Allow more efficient (and structured) utilization of the addresses. Uses network masks. usually handled together as network but with substructure

CIDR – Introduction The size of the global routing tables have grown very fast in recent years. Caused routers to become saturated. CIDR is a new concept to manage IP networks. Classless Inter Domain Routing. No concept of class A, B, C networks. Reduces sizes of routing tables.

CIDR - Basic Idea An IP address is represented by a prefix, which is the IP address of the network. It is followed by a slash, followed by a number M. M: number of leftmost contiguous bits to be used for the network mask. Example: 144.16.192.57 / 18

CIDR - Rules The number of addresses in each block must be a power of 2. The beginning address in each block must be divisible by the number of addresses in the block. A block that contains 16 addresses cannot have beginning address as 193.226.40.36. But the address 193.226.40.64 is possible !

IP/Netmask - examples Invalid combination 209.220.186.8 209.220.186.9 209.220.186.10 209.220.186.11 209.220.186.8/255.255.255.252=> 209.220.186.8/255.255.255.248=> 209.220.186.8 209.220.186.9 209.220.186.10 209.220.186.11 209.220.186.12 209.220.186.13 209.220.186.14 209.220.186.15 Invalid combination 209.220.186.8/255.255.255.240

Network masks Network mask 255.0.0.0 is applied to a class A network 10.0.0.0; Mask = series of contiguous 1’s followed by a series of contiguous 0’s 11111111 00000000 00000000 00000000 NETWORK HOST

Natural Masks Provide a mechanism to split the IP address 10.0.0.20 into: A network portion – 10; A host portion – 0.0.20; IP Address: 10.0.0.20 00001010 00000000 00000000 00010100 Mask: 255.0.0.0 11111111 00000000 00000000 00000000 Network Host

Natural masks Class A, B and C addresses Natural Masks Have fixed division of network and host portions Can be expressed as masks Natural Masks Class A: 255.0.0.0 Class B: 255.255.0.0 Class C: 255.255.255.0

Subnets out of masks Masks are very flexible. How? Advantage gained: Using masks, networks can be divided into smaller subnets. How? By extending the network portion of the address into the host portion. Advantage gained: We can create a large number of subnets from one network. Can have less number of hosts per network.

Network Address Network Mask 255.255.255.0 IP Address Network Address 193.226.40.45 AND Network Address 193.226.40.0 Network Mask 255.255.255.0 Network Mask 255.255.255.224 IP Address 193.226.40.45 Network Address 193.226.40.32 Network Address ? AND

Subnetting Basic concept The same network can be configured with different masks. Can have subnets of different sizes. Allows better utilization of available addresses.

Example Suppose we are assigned a Class C network 193.226.40.0 To be divided into three subnets. Corresponding to three departments. With 110, 45 and 50 hosts respectively D1 110 D2 45 D3 50

Example (cont) - Options X(binary) # of Subnets # of Hosts 128 1000 0000 2 192 1100 0000 4 64 224 1110 0000 8 32 240 1111 0000 16 248 1111 1000 252 1111 1100 254 1111 1110 Network too small Rules: First IP address = Network Address Last IP address = Broadcast Address

How does one get IP Addresses ? Q: How does a network get the network part of IP addr? A: it gets allocated from the portion of its provider 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

Reserved Addresses

Private Addreses Not routed in Internet Why ? Name IP address range number of IPs classful description largest CIDR block defined in 24-bit block 10.0.0.0 – 10.255.255.255 16,777,216 single class A 10.0.0.0/8 RFC 1597 (obsolete), RFC 1918 20-bit block 172.16.0.0 – 172.31.255.255 1,048,576 16 contiguous class Bs 172.16.0.0/12 16-bit block 192.168.0.0 – 192.168.255.255 65,536 256 contiguous class Cs 192.168.0.0/16 Not routed in Internet Why ?

Routing tables (static) Destination Gateway Genmask Flags Metric Ref Use Iface 172.16.25.1 172.30.0.4 255.255.255.255 UGH Eth1 193.226.40.128 0.0.0.0 255.255.255.224 U Eth0 193.0.225.0 255.255.255.0 193.231.20.0 172.30.0.0 255.255.0.0 169.254.0.0 193.0.225.9 UG The route command – (Windows/Linux/other OS)

Datagram: from source to destination forwarding table in A Dest Net Mask Nxt Router Metric 223.1.1.0 255.255.255.0 1 223.1.2.0 223.1.1.4 2 223.1.3.0 64.8.32.1 255.255.255.255 223.1.1.10 IP datagram: misc fields source IP addr dest data 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 datagram remains unchanged, as it travels source to destination Addresses are fields of interest here

Datagram: from source to destination forwarding table in A misc fields 223.1.1.1 223.1.1.3 data Dest Net Mask Nxt Router Metric 223.1.1.0 255.255.255.0 1 223.1.2.0 223.1.1.4 2 223.1.3.0 64.8.32.1 255.255.255.255 223.1.1.10 Starting at A, send IP datagram addressed to B: look up net. address of B in forwarding table 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 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

Datagram: from source to destination forwarding table in A misc fields 223.1.1.1 223.1.2.3 data Dest Net Mask Nxt Router Metric 223.1.1.0 255.255.255.0 1 223.1.2.0 223.1.1.4 2 223.1.3.0 64.8.32.1 255.255.255.255 223.1.1.10 Starting at A, dest. E: look up network address of E in forwarding table 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….. 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

Datagram: from source to destination forwarding table in router misc fields Dest Net Mask Nxt R Metric Interface 223.1.1.0 255.255.255.0 - 1 223.1.1.4 223.1.2.0 223.1.2.9 223.1.3.0 223.1.3.27 223.1.1.1 223.1.2.3 data Arriving at 223.1.4, destined for 223.1.2.2 look up network address of E in router’s forwarding table 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!) 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

IP Datagram 32 bits IP protocol version number header length (bytes) total datagram length (bytes) header length (bytes) head. Len(4) type of Service(8) Ver(4) Length(16) for fragmentation/ reassembly “type” of data 13 bit fragment offset(13) 16-bit identifier(16) Flgs(3) max number remaining hops (decremented at each router) time to Live(8) upper layer Prot(8) Header Internet checksum(16) DF+MF 32 bit source IP address(32) 32 bit destination IP address(32) upper layer protocol to deliver payload to Options (if any) E.g. timestamp, record route taken, specify list of routers to visit. how much overhead? 20 bytes of IP = 20 bytes + upper layer (TCP/UDP) + app layer overhead data (variable length, typically a TCP or UDP segment)

Fragmentation/Reassembly 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

Fragmentation/Reassembly ID =x offset =0 fragflag length =4000 =1 =1500 =1480 =2960 =1040 One large datagram becomes several smaller datagrams Example 4000 byte datagram MTU = 1500 bytes

NAT – Network Address Translation rest of Internet local network (e.g., home network) 10.0.0/24 10.0.0.1 10.0.0.4 10.0.0.2 138.76.29.7 10.0.0.3 All datagrams leaving local network have same single source NAT IP address: 138.76.29.7, different source port numbers Datagrams with source or destination in this network have 10.0.0/24 address for source, destination (as usual)

NAT – Network Address Translation Motivation: local network uses just one IP address as far as outside word is concerned: no need to be allocated range of addresses from ISP: - just one IP address is used for all devices can change addresses of devices in local network without notifying outside world can change ISP without changing addresses of devices in local network devices inside local net not explicitly addressable, visible by outside world (a security plus).

NAT – Network Address Translation NAT translation table WAN side addr LAN side addr 1: host 10.0.0.1 sends datagram to 128.119.40.186, 80 138.76.29.7, 5001 10.0.0.1, 3345 …… …… S: 10.0.0.1, 3345 D: 128.119.40.186, 80 1 10.0.0.1 S: 128.119.40.186, 80 D: 10.0.0.1, 3345 4 S: 138.76.29.7, 5001 D: 128.119.40.186, 80 2 10.0.0.4 10.0.0.2 138.76.29.7 S: 128.119.40.186, 80 D: 138.76.29.7, 5001 3 10.0.0.3 4: NAT router changes datagram dest addr from 138.76.29.7, 5001 to 10.0.0.1, 3345 3: Reply arrives dest. address: 138.76.29.7, 5001

NAT – Network Address Translation 16-bit port-number field: 60,000 simultaneous connections with a single LAN-side address! NAT is controversial: routers should only process up to layer 3 violates end-to-end argument NAT possibility must be taken into account by app designers, e.g., P2P applications address shortage should instead be solved by IPv6

UDP Checksum – for the entire datagram (header + data)                                                                                          UDP Checksum – for the entire datagram (header + data) Length >=8 – entire datagram

TCP Datagrams

Sequence No – ACK No

ICMP Used by hosts, routers, gateways to communication network-level information error reporting: unreachable host, network, port, protocol echo request/reply (used by ping) Network-layer “above” IP: ICMP msgs carried in IP datagrams ICMP message: type, code plus first 8 bytes of IP datagram causing error

ICMP Type Code description 0 0 echo reply (ping) 3 0 dest. network unreachable 3 1 dest host unreachable 3 2 dest protocol unreachable 3 3 dest port unreachable 3 6 dest network unknown 3 7 dest host unknown Type Code description 4 0 source quench (congestion control - not used) 8 0 echo request (ping) 9 0 route advertisement 10 0 router discovery 11 0 TTL expired 12 0 bad IP header