Internet Architecture

Slides:



Advertisements
Similar presentations
Cs/ee 143 Communication Networks Chapter 6 Internetworking Text: Walrand & Parekh, 2010 Steven Low CMS, EE, Caltech.
Advertisements

Review r Error Detection: CRC r Multiple access protocols m Slotted ALOHA m CSMA/CD r Homework 3 out r Project 3 out, link state only. Some slides are.
UNIT-IV Computer Network Network Layer. Network Layer Prepared by - ROHIT KOSHTA In the seven-layer OSI model of computer networking, the network layer.
An Engineering Approach to Computer Networking
© 2007 Cisco Systems, Inc. All rights reserved.Cisco Public 1 Version 4.0 OSI Transport Layer Network Fundamentals – Chapter 4.
Internet -- network of networks –network delivers packets (& locates nodes) –router (gateway) moves packets between networks –IP interoperability on top.
5-1 Data Link Layer r Today, we will study the data link layer… r This is the last layer in the network protocol stack we will study in this class…
EEC-484/584 Computer Networks Lecture 14 Wenbing Zhao
16 – CSMA/CD - ARP Network Layer4-1. 5: DataLink Layer5-2 CSMA (Carrier Sense Multiple Access) CSMA: listen before transmit: If channel sensed idle: transmit.
Mike Freedman Fall 2012 (TTh 1:30-2:50 in COS 402) COS 561: Advanced Computer Networks The Host.
Lecture 8 Modeling & Simulation of Communication Networks.
IST 228\Ch3\IP Addressing1 TCP/IP and DoD Model (TCP/IP Model)
Process-to-Process Delivery:
Midterm Review - Network Layers. Computer 1Computer 2 2.
Operating Systems Lesson 10. Networking Communications protocol is the set of standard rules for ◦ Data representation ◦ Signaling ◦ Authentication ◦
TCP/IP Essentials A Lab-Based Approach Shivendra Panwar, Shiwen Mao Jeong-dong Ryoo, and Yihan Li Chapter 5 UDP and Its Applications.
Introduction to Networks CS587x Lecture 1 Department of Computer Science Iowa State University.
Fundamentals of Computer Networks ECE 478/578 Lecture #19: Transport Layer Instructor: Loukas Lazos Dept of Electrical and Computer Engineering University.
ECE 526 – Network Processing Systems Design Networking: protocols and packet format Chapter 3: D. E. Comer Fall 2008.
Internetworking Internet: A network among networks, or a network of networks Allows accommodation of multiple network technologies Universal Service Routers.
Internetworking Internet: A network among networks, or a network of networks Allows accommodation of multiple network technologies Universal Service Routers.
Data Link Layer Moving Frames. Link Layer Protocols: ethernet, wireless, Token Ring and PPP Has node-to-node job of moving network layer.
1 Network Administration Module 3 ARP/RARP. 2 Address Resolution The problem Physical networks use physical addresses, not IP addresses Need the physical.
Networking Fundamentals. Basics Network – collection of nodes and links that cooperate for communication Nodes – computer systems –Internal (routers,
Lecture 4 Overview. Ethernet Data Link Layer protocol Ethernet (IEEE 802.3) is widely used Supported by a variety of physical layer implementations Multi-access.
Lecture Topics: 11/27 Networks Layered Model Ethernet IP.
1 OSI and TCP/IP Models. 2 TCP/IP Encapsulation (Packet) (Frame)
1 CSE524: Lecture 2 Internet protocols in a nutshell (Protocols in practice)
TCP/IP1 Address Resolution Protocol Internet uses IP address to recognize a computer. But IP address needs to be translated to physical address (NIC).
End-host IP: MAC: 11:11:11:11:11 gateway IP: MAC: 22:22:22:22:22 Google server IP: interne t interface DNS server IP:
Roadmap  Introduction to Basics  Computer Network – Components | Classification  Internet  Clients and Servers  Network Models  Protocol Layers.
Introduction to Networks
Computer Communication Networks
Virtualization of networks
Chapter 9: Transport Layer
CIS 700-5: The Design and Implementation of Cloud Networks
Chapter 16 – Networking Outline 16.1 Introduction
Chapter 4: Network Layer
Instructor Materials Chapter 9: Transport Layer
Distributed Systems CS
COS 561: Advanced Computer Networks
Scaling the Network: The Internet Protocol
Part I. Overview of Data Communications and Networking
Course Review 2015 Computer networks 赵振刚
TCP/IP Transmission Control Protocol / Internet Protocol
COS 561: Advanced Computer Networks
Subject Name: Computer Communication Networks Subject Code: 10EC71
Chapter 5 Network and Transport Layers
CS 457 – Lecture 10 Internetworking and IP
Topic 5: Communication and the Internet
Introduction to Networks
I. Basic Network Concepts
Multimedia and Networks
Process-to-Process Delivery:
Wide Area Networks and Internet CT1403
CS 457 – Lecture 11 More IP Networking
TCP/IP Protocol Suite: Review
TCP/IP Protocol Suite: Review
Distributed Systems CS
CS4470 Computer Networking Protocols
Scaling the Network: The Internet Protocol
An Engineering Approach to Computer Networking
Process-to-Process Delivery: UDP, TCP
Computer Networks Protocols
LAN Addresses and ARP IP address: drives the packet to destination network LAN (or MAC or Physical) address: drives the packet to the destination node’s.
Computer Networks Protocols
Congestion Michael Freedman COS 461: Computer Networks
Lecture 5, Computer Networks (198:552)
Internet Architecture
Distributed Systems CS
Presentation transcript:

Internet Architecture Lecture 2, Computer Networks (198:552)

Edge vs. core division of labor Core: the network consisting of routers Best-effort packet delivery Edge: the endpoints Transport mechanisms to satisfy app needs The Internet

What happens when you browse? The Internet

What happens when you browse? (1) Request gmail.com for your mail (2) Google churns on your request (3) Receive & display the response! The Internet

But how does your laptop know how to reach gmail.com?

Directories! “You know my name, now find my street address” In networking, an address can mean many things Both your laptop and Google’s servers have many addresses

Rutgers campus network The Internet Rutgers campus network Transport address (port) Ex: 64058 With which app is this conversation associated? Network address (IP address) Ex: 192.168.1.4 Whose network am I associated with? Hardware address (MAC address) Ex: 00-15-C5-49-04-A9 How do I identify my network interface (device)?

Google’s network The Internet Application address (URL) Ex: mail.google.com Transport address (port) Ex: 4096 Network address (IP address) Ex: 10.1.1.104 Hardware address (MAC address) Ex: 00-15-C5-49-04-A7

Modularity through layering Protocols “stacked” in endpoint and router software/hardware Apps: useful user-level functions HTTP FTP TFTP NV TCP UDP IP Ether ATM WiFi … Transport: provide guarantees to apps Network: best-effort global pkt delivery Link: best-effort local pkt delivery IP is the “thin waist” of the Internet, enabling interoperability across apps & network media

Pkt takes on info at each layer The Internet Link layer Network Transport Applications Link layer Network Transport Applications Pkt starts as an app “payload” Pkt takes on info at each layer The Internet

Link layer Network Transport Applications Link layer Network Transport Applications Network Network Link layer Link layer

The core does not (usually) contain transport or app functionality. Link layer Network Transport Applications Link layer Network Transport Applications The core does not (usually) contain transport or app functionality. Network Network Link layer Link layer

How does your laptop find gmail.com? So many network addresses… Ideas?

Rutgers campus network The Internet Rutgers campus network Transport address (port) With which app is this conversation associated? Network address (IP address) Whose network am I associated with? Hardware address (MAC address) How do I identify my network interface (device)?

Directories and Routing

Types of Directories Directories map a name to an address Simplistic designs Central directory Ask everyone (e.g., flooding in ARP) Tell everyone (e.g., pushing /etc/hosts) Scalable distributed designs Hierarchical namespace (e.g., DNS) Flat name space (e.g., Distributed Hash Table)

Path computation “I know where you are, but how do I get there?” End-to-end paths (e.g., source routing) Each node picks the best end-to-end path Spanning tree (e.g., Ethernet) One tree that connects every pair of nodes Shortest paths (e.g., OSPF, IS-IS, RIP) Shortest-path tree rooted at each node Locally optimal paths (e.g., BGP) Each node selects the best among its neighbors

The role of the endpoint

The role of the endpoint Network discovery and bootstrapping How does the endpoint join the network? How does the endpoint get an address? Interface to networked applications What interface to higher-level applications? How does the host realize that abstraction? Distributed resource sharing What roles does the host play in network resource allocation decisions?

Learning a host’s address Rutgers campus net me you adapter adapter Who am I? Hard-wired: MAC address Static configuration: IP interface configuration Dynamically learned: IP address configured by DHCP Who are you? Hard-wired: IP address in a URL, or in the code Dynamically looked up: ARP or DNS

Mapping between identifiers Dynamic Host Configuration Protocol (DHCP) Given a MAC address, assign a unique IP address … and tell host other stuff about the Local Area Network To automate the boot-strapping process Address Resolution Protocol (ARP) Given an IP address, provide the MAC address To enable communication within the Local Area Network Domain Name System (DNS) Given a host name, provide the IP address Given an IP address, provide the host name

Dynamic Host Configuration Protocol DHCP discover (broadcast) arriving client DHCP offer Host learns IP address, Subnet mask, Gateway address, DNS server(s), and a lease time. DHCP server DHCP request (broadcast) DHCP ACK

Address Resolution Protocol (ARP) Every host maintains an ARP table (IP address, MAC address) pair Consult the table when sending a packet Map destination IP address to destination MAC address Encapsulate and transmit the data packet But, what if the IP address is not in the table? Sender broadcasts: “Who has IP address 1.2.3.156?” Receiver responds: “MAC address 58-23-D7-FA-20-B0” Sender caches the result in its ARP table

Domain Name System root DNS server Host at cis.poly.edu wants IP address for gaia.cs.umass.edu 2 3 TLD DNS server 4 local DNS server dns.poly.edu 5 7 6 1 8 authoritative DNS server dns.cs.umass.edu requesting host cis.poly.edu Recursive query: #1 Iterative queries: #2, 4, 6 gaia.cs.umass.edu

Why so many addresses? Can we get rid of some of these addresses? De we need all three? Should addresses correspond to the point of attachment, or to the endpoint itself? How do you prevent spoofing addresses?

Interface to Applications

Socket Abstraction socket socket Best-effort packet delivery is a clumsy abstraction Applications typically want higher-level abstractions Messages, uncorrupted data, reliable in-order delivery Applications communicate using “sockets” Stream socket: reliable stream of bytes (like a file) Message socket: unreliable message delivery User process User process socket socket Operating System Operating System

Two Basic Transport Features Demultiplexing: port numbers Error detection: checksums Server host 128.2.194.242 Service request for 128.2.194.242:80 (i.e., the Web server) Client host Web server (port 80) Client OS Echo server (port 7) IP payload detect corruption

Two Main Transport Layers User Datagram Protocol (UDP) Just provides demultiplexing and error detection Header fields: port numbers, checksum, and length Low overhead, good for query/response and multimedia Transmission Control Protocol (TCP) Adds support for a “stream of bytes” abstraction Retransmitting lost or corrupted data Putting out-of-order data back in order Preventing overflow of the receiver buffer Adapting the sending rate to alleviate congestion Higher overhead, good for most stateful applications

Questions Is a socket between two IP addresses the right abstraction? Mobile hosts? Replicated services? What does the network know about the traffic? Inferring the application from the port numbers? Is end-to-end error detection and correction the right model? High loss environments? Expense of retransmitting over the entire path?

Distributed Resource Sharing

Resource allocation challenges Best-effort network easily becomes overloaded No mechanism to “block” excess calls Instead excess packets are simply dropped Examples Shared Ethernet medium: frame collisions Ethernet switches and IP routers: full packet buffers Quickly leads to congestion collapse “congestion collapse” Goodput Increase in load that results in a decrease in useful work done. Load

Endpoints adjusting to congestion End hosts adapt their sending rates In response to network conditions Learning that the network is congested Shared Ethernet: carrier sense multiple access Seeing your own frame collide with others IP network: observing your end-to-end performance Packet delay or loss over the end-to-end path Adapting to congestion Slowing down the sending rate, for the greater good But, host doesn’t know how bad things might be…

Ethernet back-off mechanism Carrier sense: wait for link to be idle If idle, start sending; if not, wait until idle Collision detection: listen while transmitting If collision: abort transmission, and send jam signal Exponential back-off: wait before retransmitting Wait random time, exponentially larger on each retry

TCP congestion control Additive increase, multiplicative decrease On packet loss, divide congestion window in half On success for last window, increase window linearly Window Loss halved t Other mechanisms: slow start, fast retransmit vs. timeout loss, etc.

Questions What role should the network play in resource allocation? Explicit feedback to the end hosts? Enforcing an explicit rate allocation? What is a good definition of fairness? What about hosts who cheat to hog resources? How to detect cheating? How to prevent/punish? What about wireless networks? Difficulty of detecting collisions (due to fading) Loss caused by interference, not just congestion

J. Saltzer, D. Reed, and D. Clark End-to-End Arguments in System Design (ACM Trans. on Computer Systems, November 1984) J. Saltzer, D. Reed, and D. Clark

End-to-end argument Operations should occur only at the end points … unless needed for performance optimization 2 4 3 1 5 Many things can go wrong: disk errors, software errors, hardware errors, communication errors, …

Trade-offs Put functionality at each hop All applications pay the price End systems still need to check for errors Place functionality only at the ends Slower error detection End-to-end retransmission wastes bandwidth Compromise solution? Reliable end-to-end transport protocol (TCP) Plus file checksums to detect file-system errors

Discussion When should the network support a function anyway? E.g., link-layer retransmission in wireless networks? Who’s interests are served by the e2e argument? How does a network operator influence the network without violating the e2e argument? Does the design of IP and TCP make it *hard* to violate the e2e argument? E.g., middlebox functionality like NATs, firewalls, proxies Should the e2e argument apply to routing?

The Design Philosophy of the DARPA Internet Protocols ACM SIGCOMM, 1988 David Clark

Life in the 1970s… Multiple unconnected networks Heterogeneous designs ARPAnet, data-over-cable, packet satellite (Aloha), packet radio, … Heterogeneous designs Addressing, max packet size, handling of lost/corrupted data, fault detection, routing, … ARPAnet satellite net

Goals of initial Internet designers Interconnect and multiplex resources of existing networks Survive failures: Must communicate so long as there is a physical path Don’t place any state in the network core! Support multiple types of communication service Best-effort network: don’t impose any guarantees Have endpoints build services with the desired guarantees Others: distributed resource mgmt, easy host attachment, …

Discussion Were the initial designers right to prioritize the goals they did? Which goals still seem valid today, and which ones not? Which goals were crucial to the Internet’s success? Should network designers have resorted to best-effort? Hard to measure: Compare to civil engineers and bridges Accountability is hard when things go wrong Is there a better substrate to offer multiple types of service? What might be the associated costs? What would you do differently today?

Until next time… MUD: Send me your top 1—3 questions on this lecture Readings for next class: 4D, ALF Papers can take a few hours to understand, and that’s OK Start thinking of project ideas Discuss during office hours