CSE 461: Review Chunjong Park.

Slides:



Advertisements
Similar presentations
5: DataLink Layer5-1 Chapter 5 Link Layer and LANs A note on the use of these ppt slides: Were making these slides freely available to all (faculty, students,
Advertisements

Transport Layer3-1 Transport Overview and UDP. Transport Layer3-2 Goals r Understand transport services m Multiplexing and Demultiplexing m Reliable data.
Chapter 5 Link Layer Computer Networking: A Top Down Approach 6 th edition Jim Kurose, Keith Ross Addison-Wesley March 2012 A note on the use of these.
Chapter 3: Transport Layer
Lecture 8 Chapter 3 Transport Layer
8-1 Transport Layer Our goals: r understand principles behind transport layer services: m multiplexing/demultipl exing m reliable data transfer m flow.
Everything. MACIP End-host IP: MAC: 11:11:11:11:11 gateway IP: MAC: 22:22:22:22:22 Google server IP: MACIP MACInterfaceMACInterface.
Lecture 8 Modeling & Simulation of Communication Networks.
Chapter 5 Link Layer Computer Networking: A Top Down Approach 6 th edition Jim Kurose, Keith Ross Addison-Wesley March 2012 Link Layer data center.
Process-to-Process Delivery:
Chapter 5 Link Layer and LANs
5: DataLink Layer5-1 LAN technologies Data link layer so far: m services, error detection/correction, multiple access Next: LAN technologies m addressing.
Review: –What is AS? –What is the routing algorithm in BGP? –How does it work? –Where is “policy” reflected in BGP (policy based routing)? –Give examples.
Introduction1-1 Data Communications and Computer Networks Chapter 5 CS 3830 Lecture 27 Omar Meqdadi Department of Computer Science and Software Engineering.
Operating Systems Lesson 10. Networking Communications protocol is the set of standard rules for ◦ Data representation ◦ Signaling ◦ Authentication ◦
CS 381 Final Exam Study Guide Final Exam Date: Tuesday, May 12 th Time: 10:30am -12:30pm Room: SB 105 Exam aid: 8 ½ x 11 page of notes front and back.
A day in the life: scenario
Link Layer 5-1 Link layer, LAN s: outline 5.1 introduction, services 5.2 error detection, correction 5.3 multiple access protocols 5.4 LANs  addressing,
1 John Magee 11 July 2013 CS 101 Lecture 11: How do you “visit” a web page, revisted Slides adapted from Kurose and Ross, Computer Networking 5/e Source.
Transport Layer 3-1 Chapter 3 Transport Layer Computer Networking: A Top Down Approach 6 th edition Jim Kurose, Keith Ross Addison-Wesley March 2012 Part.
TCP1 Transmission Control Protocol (TCP). TCP2 Outline Transmission Control Protocol.
Transport Layer1 Ram Dantu (compiled from various text books)
5: Link Layer Part Link Layer r 5.1 Introduction and services r 5.2 Error detection and correction r 5.3Multiple access protocols r 5.4 Link-Layer.
Link Layer5-1 Synthesis: a day in the life of a web request  journey down protocol stack complete!  application, transport, network, link  putting-it-all-together:
CSCI 3335: C OMPUTER N ETWORKS A DAY IN THE LIFE OF A WEB REQUEST Vamsi Paruchuri University of Central Arkansas
Transport Layer 3-1 Chapter 3 Outline r 3.1 Transport-layer services r 3.2 Multiplexing and demultiplexing r 3.3 Connectionless transport: UDP.
Link Layer5-1 Synthesis: a “day” in the life of a web request  journey down protocol stack!  application, transport, network, link  putting-it-all-together:
Chapter 5 Link Layer Computer Networking: A Top Down Approach 6 th edition Jim Kurose, Keith Ross Addison-Wesley March 2012 A note on the use of these.
Review. Layers Physical layer – sending bits from one place to another, ensuring an okay BER Data link layer – encapsulate information bits into frames,
MULTIPLEXING/DEMULTIPLEXING, CONNECTIONLESS TRANSPORT.
5: DataLink Layer5-1 Virtualization of networks Virtualization of resources: powerful abstraction in systems engineering: r computing examples: virtual.
Transport Layer3-1 Chapter 3: Transport Layer Our goals: r understand principles behind transport layer services: m multiplexing/demultipl exing m reliable.
McGraw-Hill Chapter 23 Process-to-Process Delivery: UDP, TCP Copyright © The McGraw-Hill Companies, Inc. Permission required for reproduction or display.
TCP/IP1 Address Resolution Protocol Internet uses IP address to recognize a computer. But IP address needs to be translated to physical address (NIC).
Chapter 7 Application Layer 1 Some of the slides in this chapter are courtesy of Profs. Kurose/Ross and others.
Introduction 1-1 source application transport network link physical HtHt HnHn M segment HtHt datagram destination application transport network link physical.
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:
Introduction to Networks
Link Layer 5.1 Introduction and services
Introduction to Networks
Chapter 3 Transport Layer
Virtualization of networks
Chapter 3 outline 3.1 Transport-layer services
A Typical Connection Scenario
Scaling the Network: The Internet Protocol
CS 280: Summary: A day in the life of a web request
Course Review 2015 Computer networks 赵振刚
Process-to-Process Delivery, TCP and UDP protocols
OSI Protocol Stack Given the post man exemple.
06- Transport Layer Transport Layer.
Introduction to Networks
Lecture 11: Link Layer Slides derived from those available on the site of the book “Computer Networking”, by Kurose and Ross, PEARSON.
Transport Layer Our goals:
Introduction to Networks
Chapter 6 The Data Link layer
Data Link Issues Relates to Lab 2.
Process-to-Process Delivery:
Wide Area Networks and Internet CT1403
Communication Networks NETW 501
Chapters 1~5 Overview Computer Networking: A Top Down Approach 6th edition Jim Kurose, Keith Ross Addison-Wesley Prof. Hong Liu for ECE369 Adapted from.
EEC-484/584 Computer Networks
CS4470 Computer Networking Protocols
Scaling the Network: The Internet Protocol
CS4470 Computer Networking Protocols
Synthesis A day in the life of a web request
Process-to-Process Delivery: UDP, TCP
Computer Networks Protocols
EE469 Review 1.
Chapter 3 Transport Layer
Transport Layer Our goals:
Presentation transcript:

CSE 461: Review Chunjong Park

Internet Reference Model - Layering The classic OSI model has seven layers In practice, there are more like four Application Transport Network Link Application-specific data HTTP, SMTP, P0P (project 0) Move data between applications anywhere on the Internet. UDP, TCP Move data from one machine to another, anywhere on the Internet. IP Move data between nodes that can hear each other’s transmissions. Ethernet, WiFi

Encapsulation/Decapsulation source message M application transport network link physical segment Ht Ht M datagram Hn Ht Hn M frame Ht Hn Hl M link physical switch destination Ht Hn M network link physical Ht Hn M Ht Hn Hl M M application transport network link physical Ht M Ht Hn M router Ht Hn Hl M

Application Layer - DNS Built on UDP messages, port 53 Names  Addresses Resolution Iterative vs recursive Cache

Application Layer - HTTP Static vs Dynamic Web pages URL structures Browser steps: Resolve the server name to an IP address (DNS) Set up a TCP connection to the server Send HTTP request for the page Wait for and then read HTTP response (Assuming no errors) Process response data and render page Clean up any idle TCP connections HTTP methods HTTP response codes HTTP 1.0 vs HTTP 1.1 vs HTTP 2.0

Transport Reliable Unreliable Packets Datagrams (UDP) Bytestream Streams(TCP) TCP UDP Streams Datagrams Connections Connectionless Bytes are delivered to receiving app reliably (once, and in order) Packets may be lost, reordered, duplicated (but not corrupted) Arbitrary length content Fixed maximum datagram size Connection latency No delay Segment delivery latency (“nagling”) Datagram is sent now Flow control matches sender’s rate to receiver’s capability No flow control (can lead to many lost datagrams) Congestion control matches sender’s rate to network’s capability No congestion control (can lead to many lost datagrams)

Transport – Mux/demux – UDP DatagramSocket serverSocket = new DatagramSocket (6428); DatagramSocket mySocket2 = new DatagramSocket (9157); DatagramSocket mySocket1 = new DatagramSocket (5775); application application application P1 P3 P4 transport transport transport network network network link link link physical physical physical source port: 6428 dest port: 9157 source port: ? dest port: ? source port: 9157 dest port: 6428 source port: ? dest port: ?

Transport – Mux/demux –TCP threaded server application application application P4 P3 P2 P3 transport transport transport network network network link link link physical physical physical server: IP address B source IP,port: B,80 dest IP,port: A,9157 host: IP address C host: IP address A source IP,port: C,5775 dest IP,port: B,80 source IP,port: A,9157 dest IP, port: B,80 source IP,port: C,9157 dest IP,port: B,80

Transport – TCP Reliable transfer – retransmission Stop-and-wait Sliding windows Go-Back-N Selective Repeat

Transport – TCP Connection establishment Flow control Sliding windows Connection teardown

Transport – TCP Congestion Control Fairness vs. efficiency AIMD Congestion signals Signal Example Protocol Pros / Cons Packet loss (RTO, DupACK) TCP NewReno Cubic TCP (Linux) Hard to get wrong Hear about congestion late Packet delay Compound TCP (Windows) Hear about congestion early Need to infer congestion Router indication TCPs with Explicit Congestion Notification Require router support

Transport – TCP Congestion Control – SS We want to quickly near the right rate, cwndIDEAL, but it varies greatly Slow Start solution Start by doubling cwnd every RTT Exponential growth (1, 2, 4, 8, 16, …) Start slow, quickly reach large values

Transport – TCP Congestion Control Fast recovery Network-Side Congestion Control Random Early Detection Explicit Congestion Notification

Network How to deliver packets globally Scaling Heterogeneity Hierarchy, in the form of prefixes Heterogeneity IP for internetworking Bandwidth Control Lowest-cost routing

Network Network service models IP (Internet Protocol) Datagrams (packets), virtual circuits IP (Internet Protocol) Internetworking Forwarding (Longest Matching Prefix) Helpers: ARP and DHCP Fragmentation and MTU discovery Errors: ICMP (traceroute!) IPv6, scaling IP to the world NAT, and “middleboxs” Routing Algorithms

Network – Datagrams vs Virtual Circuits Datagrams: packets contain a destination address; each router uses it to forward packets, maybe on different paths Virtual circuits: Packets contain a short label (unique on a link) to identify the circuit Issue Datagrams Virtual Circuits Setup phase Not needed Required Router state Per destination Per connection Addresses Packet carries full address Packet carries short label Routing Per packet Per circuit Failures Easier to mask Difficult to mask Quality of service Difficult to add Easier to add

Network – IP Prefix/Forwarding IP prefix: “IP address/length” 128.13.0.0/16 is 128.13.0.0 to 128.13.255.255 Longest Matching Prefix

Network – Routing Routing versus Forwarding Forwarding is the process of sending a packet on its way Routing is the process of deciding in which direction to send traffic

Network – Subnet/Aggregation

Link

Link – Error detection and correction Hamming Distance Distance is the number of bit flips needed to change D1 to D2 Hamming distance of a coding is the minimum distance between any pair of valid codewords Error detection: For a coding of distance d+1, up to d errors will always be detected Parity bit Cyclic Redundancy Check (CRC) Error correction For a coding of distance 2d+1, up to d errors can always be corrected map to the closest valid codeword (there can be only one)

Link – ARQ ARQ often used when errors are common or must be corrected E.g., WiFi, and TCP Rules at sender and receiver: Receiver automatically acknowledges correct frames with an ACK Sender automatically resends after a timeout, until an ACK is received Should retransmissions occur at link layer Depends on expected error rate Think of them as a performance optimization (relative to just leaving it to TCP) when they’re implemented Because latencies are typically small(ish) and tightly bounded on a single link Timeout estimation is simpler Less motivation to use sliding window, rather than stop-and-wait

Link – Multiple Access TDM FDM Users take turns on a fixed schedule Put different users on different frequency bands

Link – Multiple Access TDM FDM Users take turns on a fixed schedule Put different users on different frequency bands

Link – Ethernet – CSMA/CD Collision detection spatial layout of nodes

Link – CSMA/CD 1. NIC receives datagram from network layer, creates frame 2. If NIC senses channel idle, starts frame transmission. If NIC senses channel busy, waits until channel idle, then transmits. 3. If NIC transmits entire frame without detecting another transmission, NIC is done with frame ! 4. If NIC detects another transmission while transmitting, aborts and sends jam signal 5. After aborting, NIC enters binary (exponential) backoff: after mth collision, NIC chooses K at random from {0,1,2, …, 2m-1}. NIC waits K·512 bit times, returns to Step 2 longer backoff interval with more collisions

Wireless Multiple wireless senders and receivers create additional problems (beyond multiple access): A B C C C’s signal strength A’s signal strength B A space Hidden terminal problem B, A hear each other B, C hear each other A, C can not hear each other means A, C unaware of their interference at B Signal attenuation: B, A hear each other B, C hear each other A, C can not hear each other interfering at B

Link – CSMA/CA A B AP RTS(A) RTS(B) reservation collision RTS(A) CTS(A) defer DATA (A) ACK(A) time

Real-world scenario

A day in the life: scenario browser DNS server Comcast network 68.80.0.0/13 school network 68.80.2.0/24 web page web server Google’s network 64.233.160.0/19 64.233.169.105 Link Layer

A day in the life… connecting to the Internet DHCP UDP IP Eth Phy DHCP DHCP connecting laptop needs to get its own IP address, addr of first-hop router, addr of DNS server: use DHCP router (runs DHCP) DHCP DHCP request encapsulated in UDP, encapsulated in IP, encapsulated in 802.3 Ethernet DHCP DHCP UDP IP Eth Phy DHCP Ethernet frame broadcast (dest: FFFFFFFFFFFF) on LAN, received at router running DHCP server Ethernet demuxed to IP demuxed, UDP demuxed to DHCP Link Layer

A day in the life… connecting to the Internet DHCP DHCP UDP IP Eth Phy DHCP server formulates DHCP ACK containing client’s IP address, IP address of first-hop router for client, name & IP address of DNS server router (runs DHCP) encapsulation at DHCP server, frame forwarded (switch learning) through LAN, demultiplexing at client DHCP UDP IP Eth Phy DHCP DHCP DHCP client receives DHCP ACK reply DHCP Client now has IP address, knows name & addr of DNS server, IP address of its first-hop router Link Layer

A day in the life… ARP (before DNS, before HTTP) before sending HTTP request, need IP address of www.google.com: DNS DNS UDP IP Eth Phy DNS router (runs DHCP) ARP ARP query DNS query created, encapsulated in UDP, encapsulated in IP, encapsulated in Eth. To send frame to router, need MAC address of router interface: ARP Eth Phy ARP ARP reply ARP query broadcast, received by router, which replies with ARP reply giving MAC address of router interface client now knows MAC address of first hop router, so can now send frame containing DNS query Link Layer

A day in the life… using DNS UDP IP Eth Phy DNS DNS server DNS UDP IP Eth Phy DNS router (runs DHCP) DNS DNS DNS DNS Comcast network 68.80.0.0/13 IP datagram forwarded from campus network into comcast network, routed (tables created by RIP, OSPF, IS-IS and/or BGP routing protocols) to DNS server IP datagram containing DNS query forwarded via LAN switch from client to 1st hop router demux’ed to DNS server DNS server replies to client with IP address of www.google.com Link Layer

A day in the life…TCP connection carrying HTTP IP Eth Phy router (runs DHCP) SYN SYNACK SYN to send HTTP request, client first opens TCP socket to web server TCP SYN segment (step 1 in 3-way handshake) inter-domain routed to web server TCP IP Eth Phy SYN SYNACK SYNACK web server responds with TCP SYNACK (step 2 in 3-way handshake) web server 64.233.169.105 TCP connection established! Link Layer

A day in the life… HTTP request/reply web page finally (!!!) displayed HTTP HTTP TCP IP Eth Phy router (runs DHCP) HTTP HTTP HTTP request sent into TCP socket IP datagram containing HTTP request routed to www.google.com HTTP TCP IP Eth Phy HTTP HTTP web server responds with HTTP reply (containing web page) web server IP datagram containing HTTP reply routed back to client 64.233.169.105 Link Layer