Communications Software. CSE 123b. CSE 123b. Spring Lecture 2: Internet architecture and. Internetworking. Stefan Savage

Similar documents
CSE 123b Communications Software

Welcome (day 2) CSE 123b Communications Software. Application layer (HTTP) Application layer? Name resolution (DNS) Transport layer (TCP)

Lecture 10: Internetworking"

Overview. Internetworking and Reliable Transmission. CSE 561 Lecture 3, Spring David Wetherall. Internetworking. Reliable Transmission

Lecture 9: Internetworking

Lecture 8: Networks to Internetworks

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

CS 43: Computer Networks The Network Layer. Kevin Webb Swarthmore College November 2, 2017

Lecture 10: Addressing

ECE 4450:427/527 - Computer Networks Spring 2017

ECE 158A: Lecture 7. Fall 2015

COMP/ELEC 429/556 Introduction to Computer Networks

CSCI-1680 Network Layer: IP & Forwarding John Jannotti

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

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

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

Network layer: Overview. Network Layer Functions

CSCI-1680 Network Layer: IP & Forwarding Rodrigo Fonseca

Network Layer: Internet Protocol

Where we are in the Course

Introduction to Internetworking

Network Layer: Control/data plane, addressing, routers

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

Lecture 12: Addressing. CSE 123: Computer Networks Alex C. Snoeren

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

Vorlesung Kommunikationsnetze

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

The Interconnection Structure of. The Internet. EECC694 - Shaaban

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

Internetworking Part 2

2/22/2008. Outline Computer Networking Lecture 9 IP Protocol. Hop-by-Hop Packet Forwarding in the Internet. Internetworking.

ECE 435 Network Engineering Lecture 12

CSCI-1680 Network Layer: IP & Forwarding Rodrigo Fonseca

EITF25 Internet Techniques and Applications L7: Internet. Stefan Höst

internet technologies and standards

Lecture 12: Aggregation. CSE 123: Computer Networks Alex C. Snoeren

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

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

Lecture 16: Network Layer Overview, Internet Protocol

CIS 551 / TCOM 401 Computer and Network Security. Spring 2007 Lecture 8

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

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

Network Layer PREPARED BY AHMED ABDEL-RAOUF

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

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

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

CH. 3 IP FORWARDING AND ROUTING

Router Architecture Overview

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

Chapter 4: Network Layer

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

CIS 551 / TCOM 401 Computer and Network Security. Spring 2006 Lecture 16

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

Master Course Computer Networks IN2097

ETSF05/ETSF10 Internet Protocols Network Layer Protocols

STEVEN R. BAGLEY PACKETS

Computer Network Fundamentals Spring Week 4 Network Layer Andreas Terzis

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

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

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

ET4254 Communications and Networking 1

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

SEN366 (SEN374) (Introduction to) Computer Networks

Lecture 2: Basic routing, ARP, and basic IP

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

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

TSIN02 - Internetworking

ECE4110 Internetwork Programming. Introduction and Overview

CSCI Computer Networks Fall 2016

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

CSE 123A Computer Networks

CSCE 463/612 Networks and Distributed Processing Spring 2018

Communications Software. CSE 123b. CSE 123b. Spring Lecture 3: Reliable Communications. Stefan Savage. Some slides couresty David Wetherall

Internet Technology 3/23/2016

Internet Protocols (chapter 18)

The Internet Protocol (IP)

Internetworking I: Basics. November 11, 1999

Internet Protocol (IP)

COMP211 Chapter 4 Network Layer: The Data Plane

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

Networks. an overview. dr. C. P. J. Koymans. Informatics Institute University of Amsterdam. February 4, 2008

CSEP 561 Internetworking. David Wetherall

This talk will cover the basics of IP addressing and subnetting. Topics covered will include:

TCP/IP Protocol Suite

CIS 551 / TCOM 401 Computer and Network Security

IP Protocols. ALTTC/Oct

Data Communication Prof. A. Pal Department of Computer Science & Engineering Indian Institute of Technology, Kharagpur Lecture 34 TCP/ IP I

TCP/IP Architecture. Brighten Godfrey CS 538 January 24, slides by Brighten Godfrey unless otherwise noted

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

The Internet Protocol. IP Addresses Address Resolution Protocol: IP datagram format and forwarding: IP fragmentation and reassembly

CS 457 Networking and the Internet. Problems. Mechanisms 9/21/16. Fall 2016 Indrajit Ray

Design Considerations : Computer Networking. Outline. Challenge 1: Address Formats. Challenge. How to determine split of functionality

Chapter 4 Network Layer: The Data Plane

IP - The Internet Protocol

Introduction to Networks and the Internet

CS118 Discussion, Week 6. Taqi

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

EP2120 Internetworking/Internetteknik IK2218 Internets Protokoll och Principer

Network Layer (1) Networked Systems 3 Lecture 8

RMIT University. Data Communication and Net-Centric Computing COSC 1111/2061. Lecture 2. Internetworking IPv4, IPv6

Transcription:

CSE 123b CSE 123b Communications Software Spring 2003 Lecture 2: Internet architecture and Internetworking Stefan Savage

Some history 1968: DARPANET (precursor to Internet) Bob Taylor, Larry Roberts create program to build first widearea packet-switched network Why? 1978: new networks emerge SATNet, Packet Radio, Ethernet All islands Big question: how to connect these networks? Plug: Where Wizards Stay Up Late by Hafner and Lyon is the best account of early Internet History I ve seen. April 9, 2003 CSE 123b -- Lecture 2 Internet Architecture 2

Primary Goal: Connect Stuff Effective technique for multiplexed utilization of existing interconnected networks David Clark Minimal assumptions about underlying networks» No support for broadcast, multicast, real-time, reliability» Extra support could actually get in the way (X.25 example) Packet switched, store and forward» Matched application needs, nets already packet switched» Enables efficient resource sharing/high utilization Gateways interconnect networks» Routers/Switches in today s nomenclature April 9, 2003 CSE 123b -- Lecture 2 Internet Architecture 3

Why is this hard? Heterogeneity Addressing» Each network media has a different addressing scheme; routing protocol Bandwidth» Modems to terabits Latency» Seconds to nanoseconds Packet size» Dozens to thousands of bytes Loss rates» Differ by many orders of magnitude Service guarantees» Send and pray vs reserved bandwidth April 9, 2003 CSE 123b -- Lecture 2 Internet Architecture 4

How to connect different networks? Monopoly Re-engineer network to use a single set of protocols everywhere Economic cost Translation Gateways Translates directly between different network formats O(n 2 ) complexity (n is # of protocols) May not be able to translate perfectly (QoS) Indirection Gateways Translates between local network format and universal intermediate format O(n) complexity May not take advantage of features in underlying network Note impact of economics on decision. Engineering not science. April 9, 2003 CSE 123b -- Lecture 2 Internet Architecture 5

Internetworking Cerf & Kahn74, A Protocol for Packet Network Intercommunication Foundation for Internetworking and hence, the Internet We ll talk about the reliability issues later All packets use a common Internet Protocol Any underlying data link protocol Any higher layer transport protocol April 9, 2003 CSE 123b -- Lecture 2 Internet Architecture 6

How IP works Separate physical networks communicate to form a single logical network Router Ethernet ATM data packet data packet HTTP TCP IP Eth HTTP TCP IP ATM April 9, 2003 CSE 123b -- Lecture 2 Internet Architecture 7

What should the Internet Protocol do? Packetization? Addressing? Error detection? Reliable transmission? Packet sequencing? QoS? Security? Decisions informed by the End-to-End Principle April 9, 2003 CSE 123b -- Lecture 2 Internet Architecture 8

Saltzer et al84: End-to to-end Principle Key question: Where should functionality be placed in a communications system? End-to-end argument Functionality should be implemented at a lower layer iff it can be correctly and completely implemented there Incomplete versions of a function can be used as a performance enhancement, but not for correctness Early, and still relevant, example ARPAnet provided reliable link transfers between switches Packets could still get corrupted on host-switch link, or inside of the switches Hence, still need reliability at higher layers April 9, 2003 CSE 123b -- Lecture 2 Internet Architecture 9

Example: Reliable File Transfer Host A Host B App App 2 3 5 6 1 Disk OS OS Disk 7 4 Where can data be corrupted? How to tell if data has been corrupted? Is there any value in lower-layer reliability? April 9, 2003 CSE 123b -- Lecture 2 Internet Architecture 10

Example: Reliable File Transfer From server disk over network to client disk Many places where errors can be introduced Disk can introduce bit errors Host I/O bus can introduce bit errors Packets can be corrupted, dropped, reordered at any node Conclusion Still need integrity checks on entire file, at application level, not per packet or per hop Impossible to design perfect layers because perfect requires support from higher layers April 9, 2003 CSE 123b -- Lecture 2 Internet Architecture 11

Internet architecture Impose few demands on network Make few assumptions about what network can do No QoS, no reliability, no ordering, no large packets No persistent state about communications Manage heterogeneity at hosts Adapt to underlying network heterogeneity Re-order packets, detect errors, retransmit lost messages, etc. Persistent network state only kept in hosts (fate-sharing) Service model: send and pray April 9, 2003 CSE 123b -- Lecture 2 Internet Architecture 12

So what does IP do? Addressing How do I name the destination? Fragmentation How do I handle packets that are larger than the next hop can accept (e.g. FDDI s maximum packet is 4500 bytes while Ethernet is 1500 bytes) Error detection How do I know if a packet got corrupted? Potpourri Routers forward packets to next hop They do not: Detect data corruption, packet loss, packet duplication Reassemble or retransmit packets April 9, 2003 CSE 123b -- Lecture 2 Internet Architecture 13

Addressing Hierarchical addressing Global inter-network address Local network-specific address 8 16 Network host Identifier Original ARPANET address format Why hierarchical? Assumptions about networks? April 9, 2003 CSE 123b -- Lecture 2 Internet Architecture 14

Fragmentation In a router each link may have a different Maximum Transmission Unit (MTU) the largest packet it can transmit Ethernet: ~1500 bytes FDDI: ~4500 bytes Router needs to forward a packet that is too big for the next link it must cross Router breaks up single IP packet into two or more smaller IP packets Each fragment is labeled so it can be correctly reassembled Those fragments can, in turn, be fragmented by later routers End host receives fragments and reassembles them into original packet April 9, 2003 CSE 123b -- Lecture 2 Internet Architecture 15

Error detection Bit errors Data-link layer (e.g. Ethernet) generates a Cyclic Redundancy Check (CRC) for each packet» When packet is received by router or host, it checks packet against CRC for errors» Why isn t this enough? Network-layer (IP) checksum written by sender Checked at each hop and by receiver» Why not just check at the receiving host? Packet losses Not part of IP, we ll deal with this next time April 9, 2003 CSE 123b -- Lecture 2 Internet Architecture 16

Today s IP Packet Header 0 15 16 31 ver HL TOS identification R E S M F length D F offset TTL protocol header checksum source address 20 bytes destination address options (if any) data (if any) April 9, 2003 CSE 123b -- Lecture 2 Internet Architecture 17

Version field Which version of IP is this? Plan for change Very important! Current versions 4: most of Internet 6: new protocol with larger addresses What happened to 5? Standards body politics. April 9, 2003 CSE 123b -- Lecture 2 Internet Architecture 18

Header length How big is IP header? In # of 32bit words Variable length» Options Engineering consequences of variable length Most IP packets are 20 bytes long April 9, 2003 CSE 123b -- Lecture 2 Internet Architecture 19

Type-of of-service How should this packet be treated? Care/don t care for delay, throughput, reliability, cost How to interpret, how to apply on underlying net? Largely unused until 2000 April 9, 2003 CSE 123b -- Lecture 2 Internet Architecture 20

Length How long is whole packet in bytes/octets? Includes header Limits total packet to 64K Redundant? April 9, 2003 CSE 123b -- Lecture 2 Internet Architecture 21

Fragmentation Sender writes unique value in identification field If router fragments packet it copies id into each fragment Offset field indicates position of fragment in bytes (offset 0 is first) MoreFragments flag indicates that this isn t the last fragment DontFragment flag tells gateway not to fragment All routers must support 576 byte packets (MTU) April 9, 2003 CSE 123b -- Lecture 2 Internet Architecture 22

Aside: costs of fragmentation Interplay between fragmentation and retransmission Packet must be completely reassembled before it can be consumed on the receiving host What if a fragment gets lost? April 9, 2003 CSE 123b -- Lecture 2 Internet Architecture 23

TTL (Time-to to-live) How many more routers can this packet pass through? Designed to limit packet from looping forever Each router decrements TTL field If TTL is 0 then router discards packet April 9, 2003 CSE 123b -- Lecture 2 Internet Architecture 24

Protocol Which transport protocol is the data using? i.e. how should a host interpret the data Called demultiplexing TCP = 6 UDP = 17 April 9, 2003 CSE 123b -- Lecture 2 Internet Architecture 25

Header checksum Detects errors in IP header Calculated by sending host Checked by receiving host Must be recalculated by router. Why? Only protects header, not data April 9, 2003 CSE 123b -- Lecture 2 Internet Architecture 26

IP addressing 32-bits in an IPv4 address Dotted decimal format a.b.c.d Each represent 8 bits of address Network part and host part E.g. IP address 132.239.15.3 132.239 refers to the UCSD campus network 15.3 refers to the host gremlin.ucsd.edu Which part is network vs host? April 9, 2003 CSE 123b -- Lecture 2 Internet Architecture 27

Class-based routing (<1993) Most significant bits determines class of address Class A 0 Network Host 127 nets, 16M hosts 14 16 Class B 1 0 Network Host 16K nets, 64K hosts 21 8 Class C 1 1 0 Network Host 2M nets, 254 hosts Pro: single lookup to find address Con Fragmentation Hard to aggregate April 9, 2003 CSE 123b -- Lecture 2 Internet Architecture 28

Classless addressing (1993>) Classless Inter-Domain Routing (CIDR) Routes represented by tuple (network prefix/mask) Allows arbitrary allocation between network and host address Network Host Prefix Mask=# significant bits representing prefix e.g. 10.95.1.2/8: 10 is network and remainder (95.1.2) is host Pro: Finer grained allocation; aggregation Con: More expensive lookup: longest prefix match April 9, 2003 CSE 123b -- Lecture 2 Internet Architecture 29

Options Special requests Route Record Timestamp Source Route Others Variable length Interpreted by each router Expensive design decision April 9, 2003 CSE 123b -- Lecture 2 Internet Architecture 30

ICMP Internet Control Message Protocol Sister protocol to IP Management functions (in response to pkts) Asynchronous response from routers Destination Unreachable Time Exceeded Testing functions (request/reply pairs) Echo request/response Timestamp request/response April 9, 2003 CSE 123b -- Lecture 2 Internet Architecture 31

How is IP changing? IPv6 128bit addresses No fragmentation (so no header length), no options per se Flow label 1500 MTU Security and mobility built in IPSEC Authentication and Encryption of packet Generally implemented end-to-end (at hosts) Diffserv Reuse ToS bits to indicate (roughly) a local QoS class April 9, 2003 CSE 123b -- Lecture 2 Internet Architecture 32

Meta-points The Internet was designed There is no natural law that says TCP/IP, network routing, etc.. had to look the way it does now It could well have been done differently The Internet evolves The Internet today is not the same Internet as 1988, 1973 TCP/IP have changed considerably over the years We re using IPv4, with IPv6 (maybe) being deployed Many of these design issues are deep Seemingly straightforward decisions can have very subtle correctness and performance implications E.g. Implications of fragmentation April 9, 2003 CSE 123b -- Lecture 2 Internet Architecture 33

Stuff you should definitely remember End-to-end principle and how its applied Purpose of the Internet Protocol What problems it solves How it solves them April 9, 2003 CSE 123b -- Lecture 2 Internet Architecture 34

For Next Time Reliable Transmission and Flow Control Some TCP specifics Read 2.5 and Chap 5 up to (but not including) 5.3 April 9, 2003 CSE 123b -- Lecture 2 Internet Architecture 35