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

Similar documents
CSE/EE 461 The Network Layer. Application Presentation Session Transport Network Data Link Physical

Internet Protocol. Outline Introduction to Internet Protocol Header and address formats ICMP Tools CS 640 1

The Internetworking Problem. Internetworking. A Translation-based Solution

ICS 451: Today's plan

Network Layer. The Network Layer. Contents Connection-Oriented and Connectionless Service. Recall:

Network Layer. Recall: The network layer is responsible for the routing of packets The network layer is responsible for congestion control

OSI Network Layer. Network Fundamentals Chapter 5. Version Cisco Systems, Inc. All rights reserved. Cisco Public 1

CS4450. Computer Networks: Architecture and Protocols. Lecture 13 THE Internet Protocol. Spring 2018 Rachit Agarwal

Lecture 11: Fragmentation & Addressing. CSE 123: Computer Networks Stefan Savage

IP - The Internet Protocol. Based on the slides of Dr. Jorg Liebeherr, University of Virginia

CSCI-1680 Network Layer: IP & Forwarding Rodrigo Fonseca

Vorlesung Kommunikationsnetze

Position of IP and other network-layer protocols in TCP/IP protocol suite

Introduction to Internetworking

CSCI-1680 Network Layer: IP & Forwarding John Jannotti

Prof. Shervin Shirmohammadi SITE, University of Ottawa. Internet Protocol (IP) Lecture 2: Prof. Shervin Shirmohammadi CEG

Internet Protocols (chapter 18)

CSCI-1680 Network Layer: IP & Forwarding Rodrigo Fonseca

Each ICMP message contains three fields that define its purpose and provide a checksum. They are TYPE, CODE, and CHECKSUM fields.

Administrivia CSC458 Lecture 4 Bridging LANs and IP. Last Time. This Time -- Switching (a.k.a. Bridging)

Ref: A. Leon Garcia and I. Widjaja, Communication Networks, 2 nd Ed. McGraw Hill, 2006 Latest update of this lecture was on

IP : Internet Protocol

ICMP (Internet Control Message Protocol)

Network Layer (4): ICMP

Lecture 9: Internetworking

Internetwork Protocols

TSIN02 - Internetworking

The Internet. The Internet is an interconnected collection of netw orks.

Network Layer: Internet Protocol

Using ICMP to Troubleshoot TCP/IP Networks

Chapter 5 OSI Network Layer

ET4254 Communications and Networking 1

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

Information Network Systems The network layer. Stephan Sigg

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

ICMP (Internet Control Message Protocol)

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

Topics for This Week

Router Architecture Overview

CS 457 Lecture 11 More IP Networking. Fall 2011

Network layer: Overview. Network Layer Functions

SEN366 (SEN374) (Introduction to) Computer Networks

Chapter 7 Internet Protocol Version 4 (IPv4) Kyung Hee University

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

Single Network: applications, client and server hosts, switches, access links, trunk links, frames, path. Review of TCP/IP Internetworking

ELEC / COMP 177 Fall Some slides from Kurose and Ross, Computer Networking, 5 th Edition

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

Problems of IP. Unreliable connectionless service. Cannot acquire status information from routers and other hosts

internet technologies and standards

Internet Technology 3/23/2016

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

Internet Control Message Protocol

Veryx ATTEST TM. Sample Test cases Overview. Conformance Test Suite. Internet Protocol version 4 (IPv4) Part Number: T / TCLS IPv /1.

(ICMP), RFC

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

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

Computer Network Fundamentals Spring Week 4 Network Layer Andreas Terzis

Goal of Today s Lecture. EE 122: Designing IP. The Internet Hourglass. Our Story So Far (Context) Our Story So Far (Context), Con t

Lecture 18 Overview. Last Lecture. This Lecture. Next Lecture. Internet Protocol (1) Internet Protocol (2)

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

Internetworking Terms. Internet Structure. Internet Structure. Chapter 15&16 Internetworking. Internetwork Structure & Terms

ETSF05/ETSF10 Internet Protocols Network Layer Protocols

Chapter 4 Network Layer: The Data Plane. Part A. Computer Networking: A Top Down Approach

CSE/EE 461 Lecture 13 Connections and Fragmentation. TCP Connection Management

Lecture 17 Overview. Last Lecture. Wide Area Networking (2) This Lecture. Internet Protocol (1) Source: chapters 2.2, 2.3,18.4, 19.1, 9.

Introduction to routing in the Internet

Internet Control Message Protocol (ICMP)

Master Course Computer Networks IN2097

Lab Two Using Wireshark to Discover IP NAME:

Internet Networking recitation #2 IP Checksum, Fragmentation

Your Name: Your student ID number:

CS 356: Computer Network Architectures. Lecture 10: IP Fragmentation, ARP, and ICMP. Xiaowei Yang

Chapter 4: Network Layer

Lab Assignment 4 ECE374 Spring Posted: 03/22/18 Due: 03/29/18. In this lab, we ll take a quick look at the ICMP and IP protocols.

Internet Layers. Physical Layer. Application. Application. Transport. Transport. Network. Network. Network. Network. Link. Link. Link.

Recap. Recap. Internetworking. First mile problem. Internet. End Users. Last mile problem. Direct link networks Packet switching.

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

CHAPTER-2 IP CONCEPTS

ECE 4450:427/527 - Computer Networks Spring 2017

TSIN02 - Internetworking

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

CSEP 561 Internetworking. David Wetherall

Introduction to routing in the Internet

CompSci 356: Computer Network Architectures. Lecture 8: Spanning Tree Algorithm and Basic Internetworking Ch & 3.2. Xiaowei Yang

Internet Control Message Protocol (ICMP), RFC 792. Prof. Lin Weiguo Copyleft 2009~2017, School of Computing, CUC

CS 3516: Advanced Computer Networks

Networking: Network layer

Telecom Systems Chae Y. Lee. Contents. Overview. Issues. Addressing ARP. Adapting Datagram Size Notes

Layering and Addressing CS551. Bill Cheng. Layer Encapsulation. OSI Model: 7 Protocol Layers.

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

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

CCNA Exploration Network Fundamentals. Chapter 06 Addressing the Network IPv4

ELEC / COMP 177 Fall Some slides from Kurose and Ross, Computer Networking, 5 th Edition

Concept Questions Demonstrate your knowledge of these concepts by answering the following questions in the space that is provided.

II. Principles of Computer Communications Network and Transport Layer

Introduction to TCP/IP networking


IP Packet Switching. Goals of Todayʼs Lecture. Simple Network: Nodes and a Link. Connectivity Links and nodes Circuit switching Packet switching

User Datagram Protocol

CS475 Networks Lecture 8 Chapter 3 Internetworking. Ethernet or Wi-Fi).

Transcription:

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

A hypothetical service You want a mail delivery service You have two choices: Acme Guaranteed Mail Delivery Service We never fail Rocko s Mail Delivery and Hubcap We ll get it there if we feel like it Which do you choose???

Some selection criteria???

Some selection criteria What is the price? Rocko: $1, Acme: $2 How often do they fail? Rocko: 5%, Acme: Never How important is the mail? Important: Worth $100,000!!! Which do you choose???

A selection analysis Rocko s service costs $5001/mail on average Because 1/20 mails are lost at a cost of $100000!!! Acme s service costs $2/mail Acme appears to be the best choice

But.more selection criteria What is being delivered (copy or original)? Copy How long does it take? Acme and Rocko, both one day max How soon do we need delivery? Within a week Now which do we choose???

More selection analysis Assume that the recipient calls to report delivery. If no call, make another copy and send mail again Rocko gets 7 tries at.05 failure per try means.05 7 =.00000000078 failure prob Now Rocko costs ~$1/mail, Acme costs $2/mail??? Ah, but assume phone call costs $2 Rocko costs ~$3/mail, Acme costs $2/mail Still appears that Acme is the best choice

A couple of network layer service models Datagram (IP) Best Effort (packets may not arrive, they may be out of order, they may be duplicated) Send packet anytime Virtual Circuit (X.25) Guaranteed (no loss, in order, no duplicate) Send packet only if VC established Can try to establish a VC anytime Send packet only if network is ready to receive

This was the choice about 20 years ago Many people did an analysis and concluded that virtual circuit (VC) services made more sense In fact, the whole idea of an unreliable network service seemed absurd! In part: VC services implied simple end devices, complex switches But far more end devices than switches, and switches easier to access (for management and repair)

This was the choice about 20 years ago But datagram service won in the marketplace Why????

One reason (of many): The end-to-end argument This may be the single most important concept in network design.

Mail selection criteria again: Something fishy??? What is the price? Rocko: $1, Acme: $2 How often do they fail? Rocko: 1%, Acme: Never How important is the mail? Important: Worth $100,000!!! Which do you choose???

Mail selection criteria again: Something fishy??? You would definitely make a $2 phone call to make sure a $100,000 document was received!!! End-to-end verification Turns out that a reliable network fails enough that you want end-to-end verification End systems no simpler after all

End-to-end argument Ultimately the end system must be responsible for insuring reliability The network can t fully be trusted If the end system has to insure reliability, no reason to do it in the middle! Keep the middle simple! This is the design principle behind IP

IP Problem Statement Design a network protocol that can operate over and bridge multiple different kinds of packet networks Why this problem statement? Because at the time, DARPA had multiple networks and wanted to make them interwork

IP Problem Statement

IP Problem Statement

Two basic approaches were considered Build a translation gateway for every pair of network protocols N 2 types of gateways Every host has an address on every network Gateways know how to map from an address in one network address space to an address in another network space Create a new protocol layer that runs above the existing network protocols This of course is IP

Translation versus new layer

Contrast with previous protocol stack picture

This is a more accurate stack picture

Advantage of translation gateway approach No changes to existing hosts required Each host thinks the remote host is on the same network This was a nice advantage (and is an approach often used today), but...

Main problems with translation gateway approach Service mismatch Networks may offer different services Reliability or not, resource reservation or not, congestion control or not A host on one network thinks the remote host is on the same network, and so has the same services Lack of address space Most networks built with only enough address space for themselves Can t accommodate hosts on other networks

New Protocol Layer Can make the address space as big as needed This solves the lack of address space problem But what service should the new protocol layer provide?

New Protocol Layer Services Reliability (sequencing): This can be provided by the end hosts Don t need it from the networks Resource reservation: This is hard to provide unless every network in the middle participates Can t get it from the networks Congestion control: This is useful even if not all networks provide it Provide this service (even though different networks may signal this differently and require different responses)!

New functions required by the new protocol layer Address resolution How to determine the subnet address of the next hop (router or host) A hard problem in the general case Fragmentation and reassembly How to accommodate different MTUs (Maximum Transmission Unit) in different subnets

Maximum Transmission Unit (MTU) Every subnet/link has a maximum packet size it can handle This fixes design of incoming buffers, etc., in hardware This is called the MTU With multiple subnets, an IP packet may be larger than some MTUs in the path The smallest MTU in the path is known as the Minimum MTU

Minimum MTU Example

Three basic approaches 1. Use a routing protocol that conveys Minimum MTU of the path Host picks the right MTU size from the start 2. Router drops packet and sends an error message to the Host 3. Router fragments packet into smaller packets IP uses a combination of 2 and 3

Fragmentation and reassembly

Why doesn t Rb reassemble the packet?

IP Header (RFC 791) 0 1 2 3 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ Version IHL Type of Service Total Length +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ Identification Flags Fragment Offset +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ Time to Live Protocol Header Checksum +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ Source Address +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ Destination Address +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ Options Padding +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

IP Header Version = 4 IHL = IP Header Length (in units of 32 bit words) Usually 5 ToS: RFC791 is out of date Total Length = packet length (max 65K bytes) Identification, Flags, and Fragment Offset Controls fragmentation TTL: decrement at each hop, drop packet if 0 In case of routing loop

IP Header Protocol: identifies the next layer The where of IP TCP=6, UCP=17 About ½ assigned Header Checksum A simple checksum of the IP header Router checks and modifies at TTL decrement Source and Destination address Ex: 128.42.33.58 Options Source route Timestamp Security, etc. Not used in practice Padding Must pad to integral 32-bit boundary

Compare with the IPv6 Header! (RFC 2460) No Fragmentation, no checksum (Appears also to be no options and no header length, but these are hidden in an overloaded next header field) +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ Version Traffic Class Flow Label +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ Payload Length Next Header Hop Limit +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ Source Address (128 bits) +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ Destination Address (128 bits) +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

Why no fragmentation and checksum in IPv6? Actually there is fragmentation (as an option ), but only the source host can fragment Routers cannot fragment, because this is too costly Indeed fragmentation is rare in IPv4 Checksum is expensive in routers, and not a disaster if header corrupted It just gets misrouted and eventually dropped

IP has a related control protocol ICMP: Internet Control Message Protocol (RFC 792) Three primary purposes: 1. Give routing directives to hosts 2. Debug routing problems 3. Give error feedback to hosts ICMP runs over IP

Primary ICMP messages Redirect Tell host to use another router Destination Unreachable Tells host that packet can t be delivered for various reasons Dest subnet, host, protocol, port unavailable Don t fragment (DF) Flag set, but needed to fragment TTL exceeded Ping (Echo and Echo Reply) Destination host replies good for aliveness checking

Not used ICMP messages Source quench This was the attempt at getting congestion control from subnets (as well as routers) Parameter problem Timestamp Information Request

Traceroute is a clever use of ICMP TTL Exceeded message Traceroute discovers the path from source to destination But not from destination to source! It also discovers where in the path delay is taking place Or where in the path a failure occurs (tracert in windows)

How traceroute works It sends out a series of ping packets with increasing TTL (1, 2, ) When TTL=1, the first router returns an ICMP TTL exceeded message Now we know who the first router is When TTL=2, the second router returns an ICMP TTL exceeded message Now we know who the second router is! And so on