COMP/ELEC 429/556 Introduction to Computer Networks

Similar documents
Future Internet Technologies

8.2 The Internet Protocol

Internetworking. Problem: There is more than one network (heterogeneity & scale)

Lecture Computer Networks

Interconnection of Heterogeneous Networks. Internetworking. Service model. Addressing Address mapping Automatic host configuration

Overview Computer Networking. IP Address Classes (Some are Obsolete) Outline. Lecture 9 IP Packets. CIDR IP addressing. Forwarding examples

RARP: Reverse Address Resolution Protocol

Internet Protocols Fall Lectures 7-8 Andreas Terzis

Lecture 15. IP address space managed by Internet Assigned Numbers Authority (IANA)

Chapter 3: Review of Important Networking Concepts. Magda El Zarki Dept. of CS UC Irvine

Network layer: Overview. Network layer functions IP Routing and forwarding

Internetworking and Internet-1. Global Addresses

Network Layer IPv4. Dr. Sanjay P. Ahuja, Ph.D. Fidelity National Financial Distinguished Professor of CIS. School of Computing, UNF

Network Layer: Network Layer and IP Protocol

Internet Protocol Address

IP Addressing. IP Addresses. Introductory material.

IP Addressing Introductory material.

CS 43: Computer Networks IP. Kevin Webb Swarthmore College November 5, 2013

(Refer Slide Time: 02:17)

1. How many unique network IDs are there in class A addresses? # of unique hosts?

Internetworking and IP Address

Chapter 3. TCP/IP Networks. 3.1 Internet Protocol version 4 (IPv4)

IP - The Internet Protocol

Networking Test 4 Study Guide

Network Layer, Part 1 Internet Architecture. History

Mobile IP Network Layer Lesson 02 TCP/IP Suite and IP Protocol

PPS Internet-Praktikum. Prof. Bernhard Plattner Institut für Technische Informatik und Kommunikationsnetze (TIK)

Themen der Praktikumsnachmittage. PPS Internet-Praktikum. Zielsetzung. Infrastruktur im ETF B5

Course Overview: Learn the essential skills needed to set up, configure, support, and troubleshoot your TCP/IP-based network.

The Internet. Internet Technologies and Applications

Savera Tanwir. Internet Protocol

IP Address Classes (Some are Obsolete) Computer Networking. Important Concepts. Subnetting Lecture 8 IP Addressing & Packets

- IPv4 Addressing and Subnetting -

Indian Institute of Technology Kharagpur. TCP/IP Part I. Prof Indranil Sengupta Computer Science and Engineering Indian Institute of Technology

IP Subnetting and Addressing

Internet Architecture and Philosophy

Computer Networks. Lecture 3: IP Protocol. Marcin Bieńkowski. Institute of Computer Science University of Wrocław

Ethernet. Ethernet. Network Devices

Internet Control Protocols Reading: Chapter 3

Internet Protocols. Addressing & Services. Updated:

Efficient Addressing. Outline. Addressing Subnetting Supernetting CS 640 1

EITF25 Internet Techniques and Applications L5: Wide Area Networks (WAN) Stefan Höst

Internet Working 5 th lecture. Chair of Communication Systems Department of Applied Sciences University of Freiburg 2004

IP Addressing. -Internetworking (with TCP/IP) -Classful addressing -Subnetting and Supernetting -Classless addressing

Lecture 8. IP Fundamentals

COMP 631: COMPUTER NETWORKS. IP Addressing. Jasleen Kaur. Fall How to Deal With Heterogeneity & Scale?

SUBNETS, CIDR, AND CLASSLESS ADDRESSING

Gary Hecht Computer Networking (IP Addressing, Subnet Masks, and Packets)

IPv4 Addressing Simplified. by Ken Foster B.S. IT Information; Security and Forensics Kaplan University January 23, 2011

Internet Protocol version 4 Part I

Introduction to IP v6

Network layer" 1DT066! Distributed Information Systems!! Chapter 4" Network Layer!! goals: "

IP addressing and forwarding Network layer

Technical Support Information Belkin internal use only

PART OF THE PICTURE: The TCP/IP Communications Architecture

IP Network Layer. Datagram ID FLAG Fragment Offset. IP Datagrams. IP Addresses. IP Addresses. CSCE 515: Computer Network Programming TCP/IP

Computer Network Foundation. Chun-Jen (James) Chung. Arizona State University

Chapter 4 Network Layer

PART IV. Network Layer

Network and Host Addresses , Cisco Systems, Inc. All rights reserved. INTRO v1.0a 6-4

IP Subnetting. Subnetting

IP address format: Dotted decimal notation:

IPv6 Advantages. Yanick Pouffary.

Guide to TCP/IP, Third Edition. Chapter 3: Data Link and Network Layer TCP/IP Protocols

We Are HERE! Subne\ng

Computer Networks. Main Functions

Computer Networks 1 (Mạng Máy Tính 1) Lectured by: Dr. Phạm Trần Vũ

Wide Area Networks. Learning Objectives. LAN and WAN. School of Business Eastern Illinois University. (Week 11, Thursday 3/22/2007)

Guide to Network Defense and Countermeasures Third Edition. Chapter 2 TCP/IP

Chapter 9. IP Secure

CSE331: Introduction to Networks and Security. Lecture 8 Fall 2006

Internet Protocols Fall Outline

Scaling the Network: Subnetting and Other Protocols. Networking CS 3470, Section 1

A PPENDIX L TCP/IP and OSI

Tutorial (03) IP addresses & Sub netting

TCP/IP Addressing and Subnetting. an excerpt from: A Technical Introduction to TCP/IP Internals. Presentation Copyright 1995 TGV Software, Inc.

APPENDIX B. Routers route based on the network number. The router that delivers the data packet to the correct destination host uses the host ID.

Overview. Lecture 16: IP variations: IPv6, multicast, anycast. I think we have a problem. IPv6. IPv6 Key Features

04 Internet Protocol (IP)

The OSI model has seven layers. The principles that were applied to arrive at the seven layers can be briefly summarized as follows:

Computer Networks By Bahaa Q. Al-Mussawi Subnetting Basics Reduced network traffic Optimized network performance Simplified management

Introduction to TCP/IP

CS335 Sample Questions for Exam #2

IP Addressing A Simplified Tutorial

ICS 351: Today's plan

(Refer Slide Time: 01:38 01:37)

5.6.1 The IP Protocol. Figure The IPv4 (Internet Protocol) header.

Expert Reference Series of White Papers. Basics of IP Address Subnetting

Classful IP Addressing. Classless Addressing: CIDR. Routing & Forwarding: Logical View of a Router. IP Addressing: Basics

Communication Systems Internetworking (Bridges & Co)

Protocols and Architecture. Protocol Architecture.

Overview of Computer Networks

IP Networking Part 3- IP Address Management A webinar to help you prepare for the CBNE Certification

LAN Switching Computer Networking. Switched Network Advantages. Hubs (more) Hubs. Bridges/Switches, , PPP. Interconnecting LANs

Instructor Notes for Lab 3

Note! The problem set consists of two parts: Part I: The problem specifications pages Part II: The answer pages

Transport and Network Layer

Network Programming TDC 561

Written examination in Computer Networks

Transcription:

COMP/ELEC 429/556 Introduction to Computer Networks Let s Build a Scalable Global Network - IP Some slides used with permissions from Edward W. Knightly, T. S. Eugene Ng, Ion Stoica, Hui Zhang T. S. Eugene Ng eugeneng at cs.rice.edu Rice University 1

Some Perspectives We started with the simplest kind of networks i.e. broadcast networks Explored access control problems and solutions Explored their performance and range limitations Therefore they are Local Area Network (LAN) We tried to relieve these limitations by bridging Explored how Ethernet bridges can transparently link up Ethernet segments, thereby enlarging the network Don t forget bridged Ethernet still needs to maintain the broadcast network abstraction Explored address learning as a way to reduce cross-bridge traffic Explored spanning tree protocol as a way to make packet flooding safe T. S. Eugene Ng eugeneng at cs.rice.edu Rice University 2

We Have Reached a Road Block Cannot build a global network using Ethernet bridges Forwarding table explosion imagine telephone numbers are randomly assigned and don t have country/area codes Inefficiency of spanning tree protocol and restricted forwarding root bridge is the bottleneck Inefficiency/danger of flooding Additionally, a global network should allow heterogeneous technologies (e.g. Aloha Net, Ethernet, ARPANET, 4G LTE, Wi-Fi, Bluetooth, etc) T. S. Eugene Ng eugeneng at cs.rice.edu Rice University 3

Design Philosophy of the DARPA Internet Protocols by David D. Clark (1988) Fundamental Goal: An effective technique for multiplexed utilization of existing interconnected networks. Secondary Goals: 1. Internet communication must continue despite loss of networks or gateways 2. The Internet must support multiple types of communications service 3. The Internet architecture must accommodate a variety of networks 4. The Internet architecture must permit distributed management of its resources 5. The Internet architecture must be cost effective 6. The Internet architecture must permit host attachment with a low level of effort 7. The resources used in the Internet architecture must be accountable T. S. Eugene Ng eugeneng at cs.rice.edu Rice University 4

New Word: Internetwork Multiple incompatible LANs can be physically connected by specialized computers called routers. The connected networks are called an internetwork. The Internet is one (very big & successful) example of an internetwork host! host!...! host! host! host!...! host! LAN 1! router! router! router! LAN 2! LAN 1 and LAN 2 might be completely different, totally incompatible LANs (e.g., Ethernet, Wi-Fi, ATM, Circuit-switched)! T. S. Eugene Ng eugeneng at cs.rice.edu Rice University 5

Structure of Internet host! Ethernet router! router! router! ATM host! router! router! router! Ethernet Ad hoc interconnection of networks No topological restriction Vastly different router & link capacities Send packets from source to destination by hopping through networks Router connects one network to another Different packets may take different routes T. S. Eugene Ng eugeneng at cs.rice.edu Rice University 6

Internet Protocol (IP) Provides Interoperability Host Host App Router App IP IP IP Ethernet Ethernet Aloha Bridge Wireless channel Aloha T. S. Eugene Ng eugeneng at cs.rice.edu Rice University 7

Issues in Designing an Internetwork How do I designate a distant host? Addressing / naming How do I send information to a distant host? Underlying service model What gets sent? How fast will it go? What happens if it doesn t get there? Routing Challenges Scalability Ensure ability to grow to worldwide scale Robustness Ensure loss of individual router/network has little global impact Heterogeneity Packet may pass through variety of different networks T. S. Eugene Ng eugeneng at cs.rice.edu Rice University 8

Datagram Each packet self-contained IP Service Model All information needed to get to destination No advance setup or connection maintenance No performance or reliability guarantee IPv4 Packet! Format! 0" 4" 8" 12" 16" 19" 24" 28" 31" ver-" sion" HLen" TOS" Length" Ident" Flags! Offset" TTL" Protocol" Checksum" Source Address" Destination Address" Options (if any)" Header! T. S. Eugene Ng eugeneng at cs.rice.edu Rice University 9

IPv4: 32-bit addresses IP Addressing Typically written in dotted decimal format E.g., 128.42.198.135 Each number is the decimal representation of a byte Big-Endian Order 0" 8" 16" 24" 31" 128 42 198 135 80 2a c6 87 1000 0000 0010 1010 1100 0110 1000 0111 Decimal! Hexadecimal! Binary! T. S. Eugene Ng eugeneng at cs.rice.edu Rice University 10

Possible Addressing Schemes Flat e.g., In an Ethernet, every host identified by its 48-bit MAC address Router would need entry for every host in the world Too big Too hard to maintain as hosts come & go Hierarchical Address broken into segments of increasing specificity 713 (Houston) 348 (Rice area) 2000 (Particular phone) Route to general region and then work toward specific destination As people and organizations shift, only update affected routing tables T. S. Eugene Ng eugeneng at cs.rice.edu Rice University 11

IP Addressing and Forwarding Routing Table Requirement For every possible destination IP address, give next hop Nearly 2 32 (4.3 x 10 9 ) possibilities! Hierarchical Addressing Scheme network host Address split into network ID and host ID All packets to given network follow same route Until they reach destination network T. S. Eugene Ng eugeneng at cs.rice.edu Rice University 12

How to split an address into network and host parts? Evolved over time Began with designating different address classes Class A, B, C Different classes imply different network/host split Unfortunately proved too inflexible Today, an explicit prefix length is used to designate how network/host split e.g. 128.42.0.0/16 (netmask 255.255.0.0) T. S. Eugene Ng eugeneng at cs.rice.edu Rice University 13

Class A Original IP Address Classes (Obsolete today) e.g. MIT: 18.7.22.69 Class B e.g. Rice: 128.42.129.23 Class C 7! 24! 0 network host e.g. adsl-216-63-78-18.dsl.hstntx.swbell.net: 216.63.78.18 Classes D, E, F 14! 16! 10 network host 21! 8! 110 network host Not commonly used D for multicast service (more later in the course) First octet: 1 126! First octet: 128 191! First octet: 192 223! T. S. Eugene Ng eugeneng at cs.rice.edu Rice University 14

Implications Class Count Hosts A 2 7-2 = 126 (0 & 127 reserved) 2 24-2 = 16,777,214 (all 0s, all 1s reserved) B 2 14 = 16,398 2 16-2 = 65,534 C 2 21 = 2,097,512 2 8-2 = 254 Total 2,114,036 (all 0s, all 1s reserved) (all 0s, all 1s reserved) Partitioning too Coarse No local organization needs 16.7 million hosts Large organization likely to be geographically distributed Many organizations must make do with multiple class C s Too many different Network IDs Routing tables may have 2.1 million entries T. S. Eugene Ng eugeneng at cs.rice.edu Rice University 15

Remember This? limitation in older Cisco routers. These routers have a default limit of 512K routing entries T. S. Eugene Ng eugeneng at cs.rice.edu Rice University 16

Improving the Hierarchy Basic Idea of Hierarchy is Good Organizations of different sizes can be assigned different numbers of IP addresses Shortcomings of Class-Based Addressing Class A too coarse; Class C too fine; not enough Class B s When fully deployed would have too many entries in routing table (2.1 million) Solution Hierarchy with finer gradation of network/host ID split T. S. Eugene Ng eugeneng at cs.rice.edu Rice University 17

Classless Interdomain Routing CIDR, pronounced cider Arbitrary Split Between Network & Host IDs Specify either by mask (below) or prefix length (16) 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 network host E.g., Rice s original set of IP addresses can be specified as 128.42.0.0 with netmask 255.255.0.0 128.42.0.0/16 T. S. Eugene Ng eugeneng at cs.rice.edu Rice University 18

Routing Table Entry Examples Address Prefix Length Third Byte Next Hop 207.46.0.0 19 0-31 R1 207.46.32.0 19 32-63 R2 207.46.64.0 19 64-95 R3 207.46.128.0 18 128-191 R4 207.46.192.0 18 192-255 R5 This column does not exist in the real routing table, it s here just to make it more clear. Note hole in table: Nothing covers third byte 96 127 T. S. Eugene Ng eugeneng at cs.rice.edu Rice University 19

What If We Have This? Address Prefix Length Third Byte Next Hop 207.46.0.0 19 0-31 R1 207.46.32.0 19 32-63 R1 207.46.64.0 19 64-95 R1 207.46.128.0 18 128-191 R4 207.46.192.0 18 192-255 R5 T. S. Eugene Ng eugeneng at cs.rice.edu Rice University 20

207.46.0.0 Visualizing 207.46.0.0/16... 207.46.0.0/19 R1 207.46.32.0/19 R1 207.46.64.0/19 R1 207.46.128.0/18 R4 207.46.192.0/18 R5 207.46.255.255 T. S. Eugene Ng eugeneng at cs.rice.edu Rice University 21

Aggregate Entries to Compress Table Address Prefix Length Third Byte Next Hop 207.46.0.0 19 0-31 R1 207.46.32.0 19 32-63 R1 207.46.64.0 19 64-95 R1 207.46.128.0 18 128-191 R4 207.46.192.0 18 192-255 R5 Key requirement: Same routing behavior for all active addresses after aggregation Address Prefix Length Third Byte Next Hop 207.46.0.0 17 0-127 R1 207.46.128.0 18 128-191 R4 207.46.192.0 18 192-255 R5 T. S. Eugene Ng eugeneng at cs.rice.edu Rice University 22

What about this? Address Prefix Length Third Byte Next Hop 207.46.0.0 17 0-127 R1 207.46.128.0 18 128-191 R1 207.46.192.0 18 192-255 R5 Address Prefix Length Third Byte Next Hop 207.46.0.0 16 0-255 R1 207.46.192.0 18 192-255 R5 Same routing behavior for all active addresses? Yes if router performs longest prefix matching T. S. Eugene Ng eugeneng at cs.rice.edu Rice University 23

Longest Prefix Matching Address Pattern Subnet Mask Next Hop 128.42.222.0 255.255.255.0 R1 128.42.128.0 255.255.128.0 R2 18.0.0.0 255.0.0.0 R3 0.0.0.0 0.0.0.0 R4 128.42.0.0 255.255.0.0 R5 Address 128.42.222.198 matches 4 entries Longest Prefix Match Select entry with longest sequence of 1 s in mask Most specific case T. S. Eugene Ng eugeneng at cs.rice.edu Rice University 24

Size of Complete Routing Table Source: www.cidr-report.org T. S. Eugene Ng eugeneng at cs.rice.edu Rice University 25

Important Concepts Hierarchical addressing critical for scalable system Don t require everyone to know everyone else Reduces amount of updating when something changes Non-uniform hierarchy useful for heterogeneous networks Class-based addressing too coarse CIDR helps Implementation Challenge Longest prefix matching more difficult to implement and to make fast than exact matching T. S. Eugene Ng eugeneng at cs.rice.edu Rice University 26

IP Header Fields: Word 1 0" 4" 8" 12" 16" 19" 24" 28" 31" ver-" sion" HLen! TOS" Length" Identifier" Flags! Offset" TTL" Protocol" Checksum" Source Address" Destination Address" Options (if any)" Version: IP Version 4 for IPv4 HLen: Header Length 32-bit words (typically 5) TOS: Type of Service Priority information Length: Packet Length Bytes (including header) Header format can change with versions First byte identifies version Length field limits packets to 65,535 bytes T. S. Eugene Ng eugeneng at cs.rice.edu Rice University 27

IP Header Fields: Word 3 0" 4" 8" 12" 16" 19" 24" 28" 31" ver-" sion" HLen! TOS" Length" Identifier" Flags! Offset" TTL" Protocol" Checksum" Source Address" Destination Address" Options (if any)" TTL: time to live Decrement by one at each intermediate router Prevent looping forever Protocol Protocol of the Data E.g. TCP (6), UDP (17) Checksum Of IP header Protocol field (encodes TCP, UDP, etc.) used for demultiplexing Checksum re-computed at each router Why? TTL field is used in the traceroute tool T. S. Eugene Ng eugeneng at cs.rice.edu Rice University 28

IP Header Fields: Words 4&5 0" 4" 8" 12" 16" 19" 24" 28" 31" ver-" sion" HLen! TOS" Length" Identifier" Flags! Offset" TTL" Protocol" Checksum" Source Address 32-bit IP address of sender Destination Address 32-bit IP address of destination Source Address" Destination Address" Options (if any)" Like the addresses on an envelope In principle, globally unique identification of sender & receiver T. S. Eugene Ng eugeneng at cs.rice.edu Rice University 29

IP Fragmentation host! router! MTU = 2000! router! MTU = 1500! host! MTU = 4000! Every Network has Own Maximum Transmission Unit (MTU) Largest IP datagram it can carry within its own packet frame E.g., Ethernet is 1500 bytes Don t know MTUs of all intermediate networks in advance IP Solution When hit network with small MTU, fragment packets Might get further fragmentation as proceed farther Reassemble at the destination If any fragment disappears, delete entire packet T. S. Eugene Ng eugeneng at cs.rice.edu Rice University 30

IP Header Fields: Word 2 0" 4" 8" 12" 16" 19" 24" 28" 31" ver-" sion" HLen! TOS" Length" Identifier" Flags! Offset" TTL" Protocol" Checksum" Source Address" Destination Address" Options (if any)" Each fragment carries copy of IP header Identifier Unique identifier for original datagram Typically, source increments counter every time sends packet Flags (3 bits) Offset All information required for delivery to destination All fragments comprising original datagram have same identifier Offsets indicate positions within datagram M flag: This is not the last fragment Byte position of first byte in fragment 8 Byte position must be multiple of 8 T. S. Eugene Ng eugeneng at cs.rice.edu Rice University 31

IP Fragmentation Example #1 host! MTU = 4000! router! Length = 3820, M=0! Header" T. S. Eugene Ng eugeneng at cs.rice.edu Rice University 32

IP Fragmentation Example #2 router! MTU = 2000! router! Length = 3820, M=0! Header" Length = 2000, M=1, Offset = 0! Header" 3800 bytes! 1980 bytes! Length = 1840, M=0, Offset = 1980! Offset must be a multiple of 8, but ignored in these examples for simplicity Header" 1820 bytes! T. S. Eugene Ng eugeneng at cs.rice.edu Rice University 33

IP Fragmentation Example #3 Length = 1500, M=1, Offset = 0! router! MTU = 1500! host! Header" Length = 2000, M=1, Offset = 0! Header" 1480 bytes! Length = 520, M=1, Offset = 1480! Header" 1980 bytes! Length = 1500, M=1, Offset = 1980! 500 bytes! Length = 1840, M=0, Offset = 1980! Header" 1820 bytes! Header" 1480 bytes! Header" Length = 360, M=0, Offset = 3460! 340 bytes! T. S. Eugene Ng eugeneng at cs.rice.edu Rice University 34

Length = 1500, M=1, Offset = 0! IP Reassembly Header" Length = 520, M=1, Offset = 1480! Header" Length = 1500, M=1, Offset = 1980! Header" Length = 360, M=0, Offset = 3460! Header" Performed at final destination Fragment with M=0 determines overall length Challenges Fragments might arrive out-of-order Don t know how much memory required until receive final fragment Some fragments may be duplicated Keep only one copy Some fragments may never arrive After a while, give up entire process Significant memory management issues T. S. Eugene Ng eugeneng at cs.rice.edu Rice University 35

Frag. & Reassembly Concepts Demonstrates many Internet concepts Decentralized Every network can choose MTU Connectionless datagram protocol Each (fragment of) packet contains full routing information Fragments can proceed independently and along different routes Fail by dropping packet Destination can give up on reassembly No need to signal sender that failure occurred Keep most work at endpoints Reassembly T. S. Eugene Ng eugeneng at cs.rice.edu Rice University 36

Frag. & Reassembly Reality Reassembly fairly expensive and hurts performance Copying, memory allocation Want to avoid MTU discovery protocol Protocol to determine MTU along route Send packets with don t fragment flag set Keep decreasing message lengths until packets get through May get a can t fragment error message from router which contains the correct MTU Assumes every packet will follow same route Routes tend to change slowly over time Common theme in system design Fragmentation is handled as a special case by slower general processor in router Assure correctness by implementing complete protocol Optimize common cases to avoid full complexity T. S. Eugene Ng eugeneng at cs.rice.edu Rice University 37