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

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

CSE 461: Bridging LANs. Last Topic

CSE/EE 461 Lecture 7 Bridging LANs. Last Two Times. This Time -- Switching (a.k.a. Bridging)

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

Outline. Routing. Introduction to Wide Area Routing. Classification of Routing Algorithms. Introduction. Broadcasting and Multicasting

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

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

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

Network Layer: Internet Protocol

Some portions courtesy Srini Seshan or David Wetherall

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

Lecture 9: Internetworking

CSEP 561 Internetworking. David Wetherall

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

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

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

Lecture 10: Addressing

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

CSE 123A Computer Networks

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

Lecture 8: Networks to Internetworks

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

Chapter 4: Network Layer

ECE 4450:427/527 - Computer Networks Spring 2017

Internetworking Part 2

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

CSCI-1680 Network Layer: IP & Forwarding Rodrigo Fonseca

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

Router Architecture Overview

CS 457 Lecture 11 More IP Networking. Fall 2011

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

Cisco Cisco Certified Network Associate (CCNA)

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

Introduction to Internetworking

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

IP : Internet Protocol

Administrivia. Homework on class webpage If you are having problems following me in class (or doing the homework problems), please buy the textbook

ET4254 Communications and Networking 1

Lecture 10: Internetworking"

EEC-484/584 Computer Networks

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

Internet Control Message Protocol (ICMP)

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

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

IP Protocols. ALTTC/Oct

CSCI-1680 Network Layer: IP & Forwarding John Jannotti

Lecture 7. Reminder: Homework 2, Programming Project 1 due today. Homework 3, Programming Project 2 out, due Thursday next week. Questions?

L10: Simple Internetworking. Hui Chen, Ph.D. Department of Engineering & Computer Science Virginia State University Petersburg, VA 23806

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

ICMP (Internet Control Message Protocol)

Internet Protocols (chapter 18)

Vorlesung Kommunikationsnetze

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

Topics for This Week

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

CSEP 561 LAN Switches. David Wetherall

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.

Internet Technology 3/23/2016

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

EPL606. Internetworking. Part 2a. 1Network Layer

COMP/ELEC 429/556 Introduction to Computer Networks

Internetworking I: Basics. November 11, 1999

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

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

Switching and Forwarding Reading: Chapter 3 1/30/14 1

Chapter 5 Network Layer

Introduction to routing in the Internet

Network layer: Overview. Network Layer Functions

(Chapters 2 3 in Huitema) E7310/Internet basics/comnet 1

ETSF05/ETSF10 Internet Protocols Network Layer Protocols

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

Computer Science 425 Distributed Systems CS 425 / ECE 428. Fall 2013

IPv4. Christian Grothoff.

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

CS 43: Computer Networks Switches and LANs. Kevin Webb Swarthmore College December 5, 2017

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

Chapter 2 - Part 1. The TCP/IP Protocol: The Language of the Internet

Data Link Layer. Our goals: understand principles behind data link layer services: instantiation and implementation of various link layer technologies

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

Chapter 09 Network Protocols

IPv4 addressing, NAT. Computer Networking: A Top Down Approach 6 th edition Jim Kurose, Keith Ross Addison-Wesley.

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

Computer Network Fundamentals Spring Week 4 Network Layer Andreas Terzis

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

ICS 451: Today's plan

Introduction to routing in the Internet

Network layer Network Layer 4-1

The Internet. 9.1 Introduction. The Internet is a global network that supports a variety of interpersonal and interactive multimedia applications.

internet technologies and standards

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

Chapter 3 Part 2 Switching and Bridging. Networking CS 3470, Section 1

Internetwork Protocols

CompSci 356: Computer Network Architectures. Lecture 7: Switching technologies Chapter 3.1. Xiaowei Yang

TSIN02 - Internetworking

Internetworking - We are heterogeneity to our network (variable network technologies, bandwidth, MTU, latency, etc. etc.)

SEMESTER 1 Chapter 5 OSI Network Layer V What services does the network layer provide?

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

EEC-684/584 Computer Networks

Network and Security: Introduction

Transcription:

Administrivia CSC458 Lecture 4 Bridging LANs and IP Homework: # 1 due today # 2 out today and due in two weeks Readings: Chapters 3 and 4 Project: # 2 due next week Tutorial today: Joe Lim on project 2 Last Time This Time -- Switching (a.k.a. Bridging) Medium Access Control (MAC) protocols Part of the Link Layer At the heart of Local Area Networks (LANs) How do multiple parties share a wire or the air? Random access protocols (CSMA/CD) Contention-free protocols (turn-taking, reservations) Wireless protocols (CSMA/CA and RTS/CTS) Focus: What to do when one shared LAN isn t big enough? Interconnecting LANs Bridges and LAN switches A preview of the Network layer Application Presentation Session Transport Network Link Physical

Limits of a LAN Switching (a.k.a. Bridging) One shared LAN can limit us in terms of: Distance Number of nodes Performance Transferring a packet from one LAN to another LAN Build an extended LAN nodes (wire) Hub (repeater) How do we scale to a larger, faster network? We must be able to interconnect LANs Bridges and Extended LANs Learning Bridges Transparently interconnect LANs with bridge Receive frames from each LAN and forward to the other Each LAN is its own collision domain; bridge isn t a repeater Could have many ports bridge To optimize overall performance: Shouldn t forward A!B or C!D, should forward A!C and D!B A B bridge How does the bridge know? Learn who is where by observing source addresses and prune Forward using destination address; age for robustness C D

Why stop at one bridge? Spanning Tree Example Allows you to incrementally build out network, across organizations But must avoid loops -- bridge must forward only on some bridge ports! The Spanning Tree algorithm does this It is separate from previous idea of learning C E G A B2 I B3 B6 D B1 B5 B4 B7 F H J B K Spanning tree uses select bridge ports so there are no cycles Prune some ports Only one tree Q: How do we find a spanning tree? Automatically with a distributed algorithm C E G A B2 I B3 B6 D B1 B5 B4 B7 F H J B K Spanning Tree Spanning tree vs. learning Compute ST with a bridge as root such that Root forwards onto all of its outgoing ports Other bridges forward TO the root if a packet is coming from a bridge further from the root, else they forward away from the root Packet traversal: forwards (UP)* then (DOWN*) Once the spanning tree is in place the bridge uses the regular learning algorithm to figure out which ports to forward / flood packet on Job of spanning tree algorithm is to disable some ports to eliminate cycles

Spanning Tree Algorithm Algorithm Overview Distributed algorithm to compute spanning tree Robust against failures, needs no organization Developed by Radia Perlman at DEC IEEE 802.1 spec http://www1.cs.columbia.edu/~ji/f02/ir02/p44-perlman.pdf Outline: Goal is to turn some bridge ports off 1. Elect a root node of the tree (lowest address) 2. Grow tree as shortest distances from the root (using lowest address to break distance ties) All done by bridges sending periodic configuration messages over ports for which they are the best path Then turn off ports that aren t on best paths Each bridge has a unique id e.g., B1, B2, B3 Select the bridge with the smallest id as root Select bridge on each LAN that is closest to the root as that LAN s designated bridge use ids to break ties Each bridge forwards frames over each LAN on which it is the designated bridge C E G A B2 I B3 B6 D B1 B5 B4 B7 F H J B K Algorithm continued Algorithm More Bridges exchange configuration messages, containing: id for bridge sending the message id for what the sending bridge believes to be the root bridge distance (hops) from sending bridge to root bridge Each bridge records current best configuration message for each port Initially, each bridge believes it is the root when learn not root, stop generating configuration messages instead, forward root s configuration message incrementing distance field by 1 in steady state, only root generates configuration messages When learn not designated bridge on LAN, stop forwarding configuration messages in steady state, only designated bridges forward configuration messages Root bridge continues to send configuration messages periodically If a bridge does not receive config. message after a period of time: assumes topology has changed starts generating configuration messages claiming to be root

Algorithm Example Some other tricky details Message format: (root, dist-to-root, sending bridge) Sample messages sequences to and from B3: 1. B3 sends (B3, 0, B3) to B2 and B5 2. B3 receives (B2, 0, B2) and (B5, 0, B5) and accepts B2 as root 3. B3 sends (B2, 1, B3) to B5 4. B3 receives (B1, 1, B2) and (B1, 1, B5) and accepts B1 as root C E A B2 B3 D B1 B5 B7 F B K Configuration information is aged If the root fails a new one will be elected Reconfiguration is damped Adopt new spanning trees slowly to avoid temporary loops 5. B3 could send (B1, 2, B3) but doesn t as its nowhere best B2 and B5 are better choices. so B3 is NOT a designated bridge 6. B3 receives (B1, 1, B2) and (B1, 1, B5) again stable B3 turns off data forwarding to LANs A and C G I B6 B4 H J LAN Switches Limitations of Bridges/Switches LAN switches are multi-port bridges Modern, high performance form of bridged LANs Looks like a hub, but frames are switched, not shared Every host on a separate port, or can combine switches Ethernet Switch Ethernet Switch LAN switches form an effective small-scale network Plug and play for real! Why can t we build a large network using bridges? Little control over forwarding paths Size of bridge forwarding tables grows with number of hosts Broadcast traffic flows freely over whole extended LAN Spanning tree algorithm limits reconfiguration speed Poor solution for connecting LANs of different kinds

Key Concepts We can overcome LAN limits by interconnection Bridges and LAN switches But there are limits to this strategy Part 2: IP Next Topic: Routing and the Network layer How to grow large and really large networks Last Time This Lecture Focus: What to do when one shared LAN isn t big enough? Focus: How do we build large networks? Interconnecting LANs Bridges and LAN switches But there are limits Application Presentation Session Transport Network Link Physical Introduction to the Network layer Internetworks Service models IP, ICMP Application Presentation Session Transport Network Link Physical

The Network Layer In terms of protocol stacks Job is to provide end-to-end data delivery between hosts on an internetwork Provides a higher layer of addressing Application Presentation Session Transport Network Link Physical IP is the network layer protocol used in the Internet Routers are network level gateways Packet is the term for network layer PDUs TCP IP ETH H1 ETH IP R1 FDDI FDDI IP R2 PPP PPP IP ETH R3 TCP IP ETH H8 In terms of packet formats Network Service Models View of a packet on the wire on network 1 or 2 Routers work with IP header, not higher Higher would be a layer violation Routers strip and add link layer headers Ethernet Header IP Header Front of packet to left (and uppermost) Higher layer headers and Payload gram delivery: postal service connectionless, best-effort or unreliable service Network can t guarantee delivery of the packet Each packet from a host is routed independently Example: IP Virtual circuit models: telephone connection-oriented service Signaling: connection establishment, data transfer, teardown All packets from a host are routed the same way (router state) Example: ATM, Frame Relay, X.25

Internet Protocol (IP) IPv4 Packet Format IP (RFC791) defines a datagram best effort service May be loss, reordering, duplication, and errors! Currently IPv4 (IP version 4), IPv6 on the way Routers forward packets using predetermined routes Routing protocols (RIP, OSPF, BGP) run between routers to maintain routes (routing table, forwarding information base) Global, hierarchical addresses, not flat addresses 32 bits in IPv4 address; 128 bits in IPv6 address ARP (Address Resolution Protocol) maps IP to MAC addresses Version is 4 Header length is number of 32 bit words Limits size of options IPv4 Header Fields IPv4 Header Fields Type of Service Length of packet Abstract notion, never really worked out Routers ignored Min 20 bytes, max 65K bytes (limit to packet size) But now being redefined for Diffserv

IPv4 Header Fields IPv4 Header Fields Fragment fields Time To Live Different LANs have different frame size limits May need to break large packet into smaller fragments Decremented by router and packet discarded if = 0 Prevents immortal packets IPv4 Header Fields IPv4 Header Fields Identifies higher layer protocol E.g., TCP, UDP Header checksum Recalculated by routers (TTL drops) Doesn t cover data Disappears for IPv6

IPv4 Header Fields IPv4 Header Fields Source/destination IP addresses Not Ethernet Unchanged by routers Not authenticated by default IP options indicate special handling Timestamps Source routes Rarely used Fragmentation Issue Fragmentation and Reassembly Different networks may have different frame limits (MTUs) Ethernet 1.5K, FDDI 4.5K Don t know if packet will be too big for path beforehand IPv4: fragment on demand and reassemble at destination IPv6: network returns error message so host can learn limit H1 H2 H3 Network 2 (Ethernet) R2 R1 R3 H4 Fragment? Network 3 (FDDI) H5 H8 Strategy fragment when necessary (MTU < gram size) try to avoid fragmentation at source host refragmentation is possible fragments are self-contained IP datagrams delay reassembly until destination host do not recover from lost fragments

Fragment Fields Fragmenting a Packet Fragments of one packet identified by (source, dest, frag id) triple Make unique Identifier for Fragments Fragment Flags Offset Offset gives start, length changed Flags are More Fragments (MF) Don t Fragment (DF) Packet Format Fragment Considerations Fragmentation Issues Summary Making fragments be datagrams provides: Tolerance of loss, reordering and duplication Ability to fragment fragments Reassembly done at the endpoint Puts pressure on the receiver, not network interior Consequences of fragmentation: Loss of any fragments causes loss of entire packet Need to time-out reassembly when any fragments lost Causes inefficient use of resources within the network BW, CPU Higher level protocols must re-xmit entire datagram on lossy network links, hard for packet to survive Efficient reassembly is hard Lots of special cases (think linked lists)

Avoiding Fragmentation Path MTU Discovery Always send small datagrams Might be too small Guess MTU of path Use DF flag. May have large startup time Discover actual MTU of path One RT delay w/help, much more w/o. Help requires router support Guess or discover, but be willing to accept your mistakes Path MTU is the smallest MTU along path Packets less than this size don t get fragmented Fragmentation is a burden for routers We already avoid reassembling at routers Avoid fragmentation too by having hosts learn path MTUs Hosts send packets, routers return error if too large Hosts discover limits, can fragment at source Reassembly at destination as before Learned lesson from IPv4, streamlined in IPv6 IP Addresses and IP gram Forwarding ICMP IP datagram (packet) contains destination address How the source gets the packet to the destination: if source is on same network (LAN) as destination, source sends packet directly to destination host else source sends data to a router on the same network as the source router will forward packet to a router on the next network over and so on until packet arrives at router on same network as destination; then, router sends packet directly to destination host Requirements every host needs to know IP address of the router on its LAN every router needs a routing table to tell it which neighboring network to forward a given packet on What happens when things go wrong? Need a way to test/debug a large, widely distributed system ICMP = Internet Control Message Protocol (RFC792) Companion to IP required functionality Used for error and information reporting: Errors that occur during IP forwarding Queries about the status of the network

ICMP Generation Common ICMP Messages IP packet source ICMP IP packet Error during forwarding! dest Destination unreachable Destination can be host, network, port or protocol Packet needs fragmenting but DF is set Redirect To shortcut circuitous routing TTL Expired Used by the traceroute program Echo request/reply Used by the ping program Cannot Fragment Busted Checksum ICMP messages include portion of IP packet that triggered the error (if applicable) in their payload ICMP Restrictions Key Concepts The generation of error messages is limited to avoid cascades error causes error that causes error! Don t generate ICMP error in response to: An ICMP error Broadcast/multicast messages (link or IP level) IP header that is corrupt or has bogus source address Fragments, except the first Network layer provides end-to-end data delivery across an internetwork, not just a LAN gram and virtual circuit service models IP/ICMP is the network layer protocol of the Internet Up next: More detailed look at routing and addressing ICMP messages are often rate-limited too.