Upload
tave
View
112
Download
0
Tags:
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
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
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
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
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
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.
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
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
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”
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
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
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
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
Interactive end-of-chapter exercises
Interactive end-of-chapter exercises
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