1 / 16

Sixth edition: what’s new?

Chapter 1: access nets ISP ecosystem packet switching vs. circuit switching Chapter 2: socket programming with Python Chapter 3: TCP splitting rdt streamlining Chapter 4: router architectures BGP sidebars. Sixth edition: what’s new?. Chapter 5: reorganized, streamlined

tave
Download Presentation

Sixth edition: what’s new?

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Chapter 1: access nets ISP ecosystem packet switching vs. circuit switching Chapter 2: socket programming with Python Chapter 3: TCP splitting rdt streamlining Chapter 4: router architectures BGP sidebars Sixth edition: what’s new? Chapter 5: • reorganized, streamlined • DOCSIS cable network case study • data center networking Chapter 6: • cellular and 4G Chapter 7: • adaptive streaming video • CDNs, Google • Netflix, YouTube, Kankan

  2. Homework problems: many new and revised improved solution manual Powerpoint slides: revised and extended gaia.cs.umass.edu/kurose-ross-ppt-6e Python socket labs: web server UDP pinger SMTP mail client multi-threaded web proxy ICMP pinger video streaming Supplementary materials Wireshark labs: • revised and improved Java applets: • some improvements Interactive HW problems: • totally new! • gaia.cs.umass.edu/kurose/test Video notes: • totally new

  3. Python and Java explicitly expose sockets Python: no streams less house keeping code much shorter much easier to explain to programming novices Python: access to raw sockets ICMP pinger Socket programming: Java vs Python

  4. Python UDP client include socket library from socket import * serverName = ‘hostname’ serverPort = 12000 clientSocket = socket(socket.AF_INET, socket.SOCK_DGRAM) message = raw_input(’Input lowercase sentence:’) clientSocket.sendto(message,(serverName, serverPort)) modifiedMessage, serverAddress = clientSocket.recvfrom(2048) print modifiedMessage clientSocket.close() create UDP socket get user input send user input to server thru UDP socket read reply from socket print out received string and close socket

  5. A stream is a sequence of characters that flow into or out of a process. An input stream is attached to some input source for the process, e.g., keyboard or socket. An output stream is attached to an output source, e.g., monitor or socket. Java stream jargon Client process client TCP socket

  6. Java UDP client: first half import java.io.*; import java.net.*; class UDPClient { public static void main(String args[]) throws Exception { BufferedReaderinFromUser = new BufferedReader(new InputStreamReader(System.in)); DatagramSocketclientSocket = new DatagramSocket(); InetAddressIPAddress = InetAddress.getByName("hostname"); byte[] sendData = new byte[1024]; byte[] receiveData = new byte[1024]; String sentence = inFromUser.readLine(); sendData = sentence.getBytes(); Need to talk About OOP Need to talk about streams Need to create place holders Need to dotype conversion

  7. Java UDP client: second half DatagramPacket sendPacket = new DatagramPacket(sendData, sendData.length, IPAddress, 9876); clientSocket.send(sendPacket); DatagramPacket receivePacket = new DatagramPacket(receiveData, receiveData.length); clientSocket.receive(receivePacket); String modifiedSentence = new String(receivePacket.getData()); System.out.println("FROM SERVER:" + modifiedSentence); clientSocket.close(); } } Place holder Additional lines

  8. 4.1 introduction 4.2 virtual circuit and datagram networks 4.3 what’s inside a router 4.4 IP: Internet Protocol 4.5 routing algorithms link state, DV, hierarchical 4.6 routing in the Internet RIP, OSPF, BGP 4.7 broadcast and multicast routing Chapter 4: changes forwarding tables computed, pushed to input ports routing processor high-seed switching fabric router output ports router input ports “match plus action” Network Layer

  9. 5.1 introduction, services 5.2 error detection, correction 5.3 multiple access protocols DOCSIS case study 5.4 LANs: addressing, ARP, Ethernet, switches, VLANS 5.5 link virtualization: MPLS 5.6 data center networking 5.7 a day in the life of a web request Chapter 5: changes Internet Border router Load balancer Access router B A C 7 6 5 4 8 3 2 1 Link Layer

  10. Chapter 7: Multimedia Networking 7.1 Multimedia Apps • 7.1.1 Properties of video • 7.1.2 Properties of audio • 7.1.3 Types of apps • Streaming stored video • Conversational VoIP • Streaming live video 7.2 Streaming video • 7.2.1 UDP streaming • 7.2.2 HTTP streaming • Simple fluid analysis • 7.2.3 Adaptive streaming & DASH 7.2.4 CDNs • Enter deep; Bring home • DNS: intercept requests • Server selection strategies • Geographically closest, real-time measurements, IP anycast 7.2.5 Case Studies • Google, Netflix, YouTube, Kankan 7.3& 7.4 VoIP • Skype expanded 7.5 Network support • Streamlined

  11. Netflix case study Netflix registrationand payment servers Amazon Cloud: movieingestion, version creation,CDN upload, manifest filedistribution, and Web pages Upload versions to CDNs CDNs Manifestfile Registrationand payment Video chunks(DASH) Client

  12. Interactive end-of-chapter exercises • need: large set of problems/exercises that • students can solve (and obtain answers) • professors can generate (with solutions) for quizzes, tests • many important exercises lend have structure that allow many variations of exercise to be generated: • Quantitative comparison of packet switching and circuit wwitching • End-to-end delay • Internet checksum • TCP RTT and timeout • TCP congestion window evolution • Dijkstra's Link State algorithm • Link Layer (and network layer) addressing, forwarding • check out: http://gaia.cs.umass.edu/kurose/test

  13. Interactive end-of-chapter exercises

  14. Interactive end-of-chapter exercises

  15. VideoNotes: selected pre-recorded on-line video/audio/ppt (e.g., Camtasia) segments: walkthrough, discussion of selected topics (e.g., BGP basics, a day day in the life of an HTTP request) walking through, solving sample problems demonstrations (e.g., traceroute, Wireshark) Video Notes

More Related