CSCD58 WINTER 2018 WEEK 6 - NETWORK LAYER PART 1. Brian Harrington. February 13, University of Toronto Scarborough

Similar documents
Computer Networking Introduction

Last time. Network layer. Introduction. Virtual circuit vs. datagram details. IP: the Internet Protocol. forwarding vs. routing

Network layer: Overview. Network layer functions IP Routing and forwarding NAT ARP IPv6 Routing

Master Course Computer Networks IN2097

Network layer: Overview. Network Layer Functions

Lecture 4 - Network Layer. Transport Layer. Outline. Introduction. Notes. Notes. Notes. Notes. Networks and Security. Jacob Aae Mikkelsen

internet technologies and standards

Subnets. IP datagram format. The Internet Network layer. IP Fragmentation and Reassembly. IP Fragmentation & Reassembly. IP Addressing: introduction

Router Architecture Overview

CMPE 150/L : Introduction to Computer Networks. Chen Qian Computer Engineering UCSC Baskin Engineering Lecture 12

Communication Networks ( ) / Fall 2013 The Blavatnik School of Computer Science, Tel-Aviv University. Allon Wagner

Different Layers Lecture 20

Chapter 4: Network Layer

Network Layer: Internet Protocol

CPSC 826 Internetworking. The Network Layer: Routing & Addressing Outline. The Network Layer

Chapter 4: outline. 4.5 routing algorithms link state distance vector hierarchical routing. 4.6 routing in the Internet RIP OSPF BGP

TDTS06: computer Networks

Lecture 4 The Network Layer. Antonio Cianfrani DIET Department Networking Group netlab.uniroma1.it

Lecture 3. The Network Layer (cont d) Network Layer 1-1

Quiz. Segment structure and fields Flow control (rwnd) Timeout interval. Phases transition ssthresh setting Cwnd setting

Chapter 4: network layer

internet technologies and standards

The Network Layer Forwarding Tables and Switching Fabric

CSEP 561 Internetworking. David Wetherall

IPv4. Christian Grothoff.

Information Network Systems The network layer. Stephan Sigg

Data Communication & Networks G Session 7 - Main Theme Networks: Part I Circuit Switching, Packet Switching, The Network Layer

Lecture 8. Network Layer (cont d) Network Layer 1-1

EC441 Fall 2018 Introduction to Computer Networking Chapter4: Network Layer Data Plane

CS 457 Lecture 11 More IP Networking. Fall 2011

CS 43: Computer Networks. 21: The Network Layer & IP November 7, 2018

CMPE 80N: Introduction to Networking and the Internet

Internet Technology 3/23/2016

Lecture 17: Network Layer Addressing, Control Plane, and Routing

Chapter 4 Network Layer

CSC 401 Data and Computer Communications Networks

Network Layer: DHCP, ICMP, NAT, IPv6

Chapter 4 Network Layer

CSC 4900 Computer Networks: Network Layer

COMP211 Chapter 4 Network Layer: The Data Plane

Chapter 4 Network Layer: The Data Plane

HY 335 Φροντιστήριο 8 ο

Computer Network Fundamentals Spring Week 4 Network Layer Andreas Terzis

CSCI-1680 Network Layer: IP & Forwarding John Jannotti

1-1. Switching Networks (Fall 2010) EE 586 Communication and. October 25, Lecture 24

HW3 and Quiz. P14, P24, P26, P27, P28, P31, P37, P43, P46, P55, due at 3:00pm with both soft and hard copies, 11/11/2013 (Monday) TCP), 20 mins

CSCI-1680 Network Layer: IP & Forwarding Rodrigo Fonseca

Distributed Systems. 7. Network Layer. Werner Nutt

Network Layer PREPARED BY AHMED ABDEL-RAOUF

CSCI-1680 Network Layer: IP & Forwarding Rodrigo Fonseca

Chapter 4: network layer. Network service model. Two key network-layer functions. Network layer. Input port functions. Router architecture overview

Networking Potpourri: Plug-n-Play, Next Gen

COSC4377. TCP vs UDP Example Statistics

Chapter 4 Network Layer

CSCE 463/612 Networks and Distributed Processing Spring 2018

CMPE 150/L : Introduction to Computer Networks. Chen Qian Computer Engineering UCSC Baskin Engineering Lecture 13

CS 3516: Advanced Computer Networks

Last time. Wireless link-layer. Introduction. Characteristics of wireless links wireless LANs networking. Cellular Internet access

Δίκτυα Υπολογιστών ΙΙ. Κώστας Μαγκούτης Επίκουρος Καθηγητής Τμήμα Μηχανικών Η/Υ και Πληροφορικής Πανεπιστήμιο Ιωαννίνων

CSC358 Week 6. Adapted from slides by J.F. Kurose and K. W. Ross. All material copyright J.F Kurose and K.W. Ross, All Rights Reserved

Lecture 16: Network Layer Overview, Internet Protocol

Network layer Network Layer 4-1

Data Communications & Networks. Session 7 Main Theme Networks: Part I Circuit Switching, Packet Switching, The Network Layer

CS519: Computer Networks. Lecture 2: Feb 2, 2004 IP (Internet Protocol)

Hierarchical Routing. Our routing study thus far - idealization all routers identical network flat no true in practice. administrative autonomy

ICS 351: Networking Protocols

Network layer overview

NETWORK LAYER DATA PLANE

Inter-networking. Problem. 3&4-Internetworking.key - September 20, LAN s are great but. We want to connect them together. ...

CS 348 Computer Networks. IP and Routing. Indian Institute of Technology, Bombay

Chapter 4 Network Layer: The Data Plane

CMPE 150/L : Introduction to Computer Networks. Chen Qian Computer Engineering UCSC Baskin Engineering Lecture 11

CMSC 332 Computer Networks Network Layer

CSCE 463/612 Networks and Distributed Processing Spring 2017

Introduction to Internetworking

Chapter 4 Network Layer

CCNA Exploration Network Fundamentals. Chapter 06 Addressing the Network IPv4

Network Layer (4): ICMP

Vorlesung Kommunikationsnetze

Lecture 8. Basic Internetworking (IP) Outline. Basic Internetworking (IP) Basic Internetworking (IP) Service Model

Chapter 4: Network Layer

Department of Computer and IT Engineering University of Kurdistan. Network Layer. By: Dr. Alireza Abdollahpouri

Lecture 8. Reminder: Homework 3, Programming Project 2 due on Thursday. Questions? Tuesday, September 20 CS 475 Networks - Lecture 8 1

ICMP (Internet Control Message Protocol)

CSCI-1680 Network Layer: IP & Forwarding Rodrigo Fonseca Instructor: Nicholas DeMarinis

Lecture 10: Addressing

Where we are in the Course

Lecture 5 The Network Layer part II. Antonio Cianfrani DIET Department Networking Group netlab.uniroma1.it

Lecture 7. Network Layer. Network Layer 1-1

The Internetworking Problem. Internetworking. A Translation-based Solution

ECE 4450:427/527 - Computer Networks Spring 2017

Chapter 4 Network Layer: The Data Plane

TSIN02 - Internetworking

Internet Multicast Routing

Network Layer: ICMP and Network Management

Internet Protocols (chapter 18)

Chapter 4 Network Layer

Network Layer: Router Architecture, IP Addressing

Network Layer: Data Plane 4-2

EEC-684/584 Computer Networks

Transcription:

CSCD58 WINTER 2018 WEEK 6 - NETWORK LAYER PART 1 Brian Harrington University of Toronto Scarborough February 13, 2018

ADMIN Assignments Midterm after reading week (Feb 27) In class Covering everything up-to transport layer (i.e., not this week s material) No lecture or tutorials that week

CONNECTION VS CONNECTION-LESS Recall: In Transport layer we had 2 options: UDP: Connectionless - just send data out TCP: Connection-oriented: establish a connection first In Network Layer, we also have 2 options: Datagram: Let the data find its own way Virtual Circuit (VC): Establish end-to-end pathway first Actually... we don t have any choice. Network is either Datagram or VC, implemented in network core.

VIRTUAL CIRCUIT NETWORKS Try to emulate behaviour of circuit switched network Set up call before (tear down after) Each VC path segment has unique number Packet only has to hold VC number (not source or dest) Routers keep state of each VC Can allocate resources (bandwidth, buffers, etc) to each VC = predictable, reliable circuit-switching-like performance Example

VIRTUAL CIRCUIT

DATAGRAM No call setup Routers don t need to keep any state info At each point, packets are forwarded using host address Routers can t know all 4 billion + IP addresses List range instead Example

DATAGRAM EXAMPLE 11001000 00010111 00010110 10100001 11001000 00010111 00011000 10101010 11001000 00010111 00001011 00110101

DATAGRAM OR VC? VC Smart network core, dumb end systems Complexity inside network Can provide timing, reliability guarantees Used in Asynchronous Transfer Mode (ATM) networks Network World 2001: I give Ethernet six months before the whole thing is gone... This is just not going to work, ATM is going to dominate Datagram Smart end systems, dumb core Complexity at the edge Elastic/flexible Most importantly? Cheap! Internet standard

FORMAT OF IP DATAGRAM

FORMAT OF IP DATAGRAM

IP FRAGMENTATION Not everyone can carry packets of the same size Ethernet: 1500 bytes WLAN (802.11): 7891 bytes Some WANs: 576 bytes Sometimes we ll need to fragment packets and put them back together later

IP FRAGMENTATION

IP FRAGMENTATION

IP: INTERNET PROTOCOL Note: Focusing on IP v4 (we ll discuss IPv6 later) Each interface identified by 32-bit number Interface: connection between host/router and physical link routers usually have many interfaces hosts usually have 1-2 (e.g,. ethernet + wifi) 223.1.2.1 = 11011111 00000001 00000010 00000001

SUBNETS subnet: group of device interfaces with same higher order part of IP address interfaces on a subnet can talk to each other without intervening router

SUBNETS subnet: group of device interfaces with same higher order part of IP address interfaces on a subnet can talk to each other without intervening router

SUBNETS Pop quiz: how many subnets? What are their masks?

DHCP: DYNAMIC HOST CONFIGURATION PROTOCOL Hosts should be mobile Want to dynamically obtain IP address from local network server when you join a network Each host leases an address (can renew periodically) Allows reuse of addresses (when lease expires, address is up-for-grabs

DHCP Basic Steps: host broadcasts: DHCP discover [optional] DHCP server responds: DHCP offer [optional] host requests: DHCP request DHCP server sends: DHCP ack

DHCP 255.255.255.255 = broadcast to entire subnet

CIDR: CLASSLESS INTERDOMAIN ROUTING So how do we get IP addresses in the first place? ISP gets allocated a block by ICANN (Internet Corporation for Assigned Names and Numbers) http://www.icann.org/ Organization (could also be ISP) gets a sub-block 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

CIDR Hierarchical Addressing Allows efficient advertising of routing information But what if an organization wants to move?

CIDR No problem, just go with whoever has the most specific route

NAT: NETWORK ADDRESS TRANSLATION Not every interface needs a unique IP Not enough addresses to go around IPv4-2 32 4.2 billion addresses Too much work to keep track of every update Solution: hide network behind a single ISP To the rest of the world: whole network has 1 address Inside network: We ve got loads of room

NAT: NETWORK ADDRESS TRANSLATION

NAT: NETWORK ADDRESS TRANSLATION

NAT: NETWORK ADDRESS TRANSLATION Benefits of NAT Only need 1 IP address from ISP Can change addresses of local devices without notifying outside world Can change ISPs without affecting local network Devices inside network not directly accessible/visible to outside world (good for security)

NAT: NETWORK ADDRESS TRANSLATION Idea: Translate each local IP + port number into public port number Outgoing: nat_source ip + nat_source port external ip + external port Incoming: external ip + external port nat_source ip + nat_source port

NAT: NETWORK ADDRESS TRANSLATION

NAT: NETWORK ADDRESS TRANSLATION

NAT: NETWORK ADDRESS TRANSLATION

NAT: NETWORK ADDRESS TRANSLATION

NAT: NETWORK ADDRESS TRANSLATION

ICMP: INTERNET CONTROL MESSAGE PROTOCOL Simple messages sent at network level Sort of like a pseudo-layer between Transport and Network layers Useful for a lot of low-level functions 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 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

ICMP & TRACEROUTE Traceroute is implemented in ICMP Less overhead to use bandwidth/mess up timings Idea: use TTL field When TTL expires, router sends back ICMP 11-0: TTL expired, with router info attached Send out UDP segment with TTL = 1, get info of first router Send out UDP segment with TTL = 2, get info of second router Eventually, reach destination, pick unlikely port#. Host will send back ICMP 3-3: Dest port unreachable

IPV6 IPv4 s 32-bit address space soon to be used up (actually practically exhausted in 2011) Updated header format to improve speed Better processing, faster forwarding, get rid of unused fields Can add QoS info

IPV6 fixed length header no fragmentation allowed datagrams form a flow Not really well defined No checksum (let TCP handle that) Options indicated by next_hdr field (held inside data) Major difference: 128bit addressing = 2 128 3.4x10 28 addresses

IPV6

IPV6 1996 - defined (RFC 1883) 2011 - IPv4 exhausted, plans for IPv6 to take over bulk of networking traffic by the end of the year 2017 - We ve finally reached a milesone... (of 20% adoption)