16

Sixth edition: what’s new?

  • Upload
    tave

  • View
    112

  • Download
    0

Embed Size (px)

DESCRIPTION

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 - PowerPoint PPT Presentation

Citation preview

Page 1: Sixth edition: what’s new?
Page 2: Sixth edition: what’s new?

Sixth edition: what’s new?Chapter 1: access nets ISP ecosystem packet switching

vs. circuit switchingChapter 2: socket

programming with Python

Chapter 3: TCP splitting rdt streamliningChapter 4: router architectures BGP sidebars

Chapter 5: reorganized,

streamlined DOCSIS cable

network case study data center

networkingChapter 6: cellular and 4GChapter 7: adaptive streaming

video CDNs, Google Netflix, YouTube,

Kankan

Page 3: Sixth edition: what’s new?

Supplementary materialsHomework problems: many new and revised improved solution

manualPowerpoint 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

Wireshark labs: revised and

improvedJava applets: some improvementsInteractive HW

problems: totally new!

gaia.cs.umass.edu/kurose/test

Video notes: totally new

Page 4: Sixth edition: what’s new?

Socket programming: Java vs Python

Python and Java explicitly expose socketsPython: no streams less house keeping code much shorter much easier to explain to

programming novicesPython: access to raw sockets ICMP pinger

Page 5: Sixth edition: what’s new?

Python UDP client

from socket import *serverName = ‘hostname’serverPort = 12000clientSocket = 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()

include socket library

create UDP socket

get user input

send user input to server thru UDP socket

print out received string and close socket

read reply from socket

Page 6: Sixth edition: what’s new?

outT

oSer

ver

to network from network

inFr

omS

erve

r

inFr

omU

ser

keyboard monitor

Process

clientSocket

inputstream

inputstream

outputstream

TCPsocket

Clientprocess

client TCP socket

Java stream jargon 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.

Page 7: Sixth edition: what’s new?

Java UDP client: first half import java.io.*; import java.net.*; class UDPClient { public static void main(String args[]) throws Exception { BufferedReader inFromUser = new BufferedReader(new InputStreamReader(System.in)); DatagramSocket clientSocket = new DatagramSocket(); InetAddress IPAddress = InetAddress.getByName("hostname"); byte[] sendData = new byte[1024]; byte[] receiveData = new byte[1024]; String sentence = inFromUser.readLine(); sendData = sentence.getBytes();

Need to talkabout streams

Need to createplace holders

Need to talkAbout OOP

Need to dotype conversion

Page 8: Sixth edition: what’s new?

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

Java UDP client: second half

Page 9: Sixth edition: what’s new?

Network Layer 4-9

4.1 introduction4.2 virtual circuit and datagram networks4.3 what’s inside a router4.4 IP: Internet Protocol4.5 routing algorithms

link state, DV, hierarchical4.6 routing in the Internet

RIP, OSPF, BGP4.7 broadcast and multicast routing

Chapter 4: changes

high-seed switching

fabric

routing processor

router input ports router output ports

forwarding tables computed,pushed to input ports

“match plus action”

Page 10: Sixth edition: what’s new?

Link Layer 5-10

Chapter 5: changes5.1 introduction,

services5.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

Load balancer

B

1 2 3 4 5 6 7 8

AC

Border router

Access router

Internet

Page 11: Sixth edition: what’s new?

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, Kankan7.3& 7.4 VoIP Skype expanded7.5 Network support Streamlined

Page 12: Sixth edition: what’s new?

Netflix case study

CDNs

Amazon Cloud: movieingestion, version creation,CDN upload, manifest filedistribution, and Web pages

Netflix registrationand payment servers

Manifestfile

Video chunks(DASH)

Registrationand payment

Upload versions to CDNs

Client

Page 13: Sixth edition: what’s new?

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

Interactive end-of-chapter exercises

Page 14: Sixth edition: what’s new?

Interactive end-of-chapter exercises

Page 15: Sixth edition: what’s new?

Interactive end-of-chapter exercises

Page 16: Sixth edition: what’s new?

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