TCOM 500 Introduction to Networks and Protocols
A Few Words About Logistics
Meeting times: Mon. & Wed. 12:00pm-1:30pm, Towne 100 (Heilmeier Hall) Course wiki: [Link]
Announcements, documents, Q&A forums, homeworks, exams Use https instead to access Private Content (Assignments & Solutions, past exams, etc.) and edit the Discussion Forums to post and view questions Grades posted on Sakai: [Link] Instructor: R. Guerin (guerin@[Link]) Office Hours: Mon. & Wed. 2:30pm-3:30pm (367 GRW ) TAs/Graders: Answer class related questions on wiki and grade homeworks Hadi Afrasiabi (afram@[Link])
Office Hours: Tuesday 2:00pm-4:00pm (Moore 306) Office Hours: Thursday 5:30pm-7:30pm (Moore 306)
Sangeetha Abdu Jyothi (saab@[Link])
Recitation: Towne 307, Friday 5pm-6pm Project presentations: Towne 309, Thursday 5pm-6pm (after 11/03/11)
Course Structure and Material
Course material
Textbook: Peterson & Davie Computers Networks: A System Approach, 5th Ed. Course slides, handouts, links to lots of useful material on wiki
Course grading
Homeworks (5%) Low weight, but dont do them at your own risk
On average one new homework every week Due at beginning of class (no late homework unless agreed upon in advance)
Gradually increasing penalty (-0pts, -5pts, -10pts, -10pts, )
OPTIONAL Project - In-class Presentation + Report (20%)
Teams of 1 or 2 students Short two-page report on selected topic (see wiki for a list Select by 9/30/11) 15 mins (10+5 mins) presentations in 2nd half of semester (Thursdays 5pm)
Exams With/Without Projects: 30%/40% (Midterm); 45%/55% (Final)
Midterm in class on Monday 10/24/11 (after Fall break) Final exam on Monday 12/19/11 9:00am-11:00am (Room TBA) Oral make-up exams only for reasons approved under University policy
Schedule: Full syllabus and tentative class schedule on wiki
3
More on Policies
Please review Penns Code of Academic Integrity at [Link] Collaboration
Permitted on homeworks, but what you turn in must be yours No verbatim copies!
Grade of zero for first homework violation; course grade of F for repeat offense
Projects are collaborative in nature
Both students get the same grade You MUST explicitly cite/acknowledge any material used in your project
Exams
Obviously, no collaboration is allowed during exams! They are open-book and brand new every year Access to soft copies during exams is allowed, but Internet access is prohibited
Violations of the courses collaboration policy will be punished by an F in the class and immediate referral to the Office of Students Conduct for further action 4
Courses Goals
To give you an understanding of the various components involved in realizing modern communication systems and the trade-off they embody
Generating and receiving bits, and protecting them from errors or malicious users Connecting devices and allowing them to deliver bits to an increasingly large number of systems Quantifying the performance of different system and technologies, and the associated trade-offs
5
Courses Formal Objectives
Develop your
Ability to assess the different components of network protocols and packet switches in terms of their functionality and performance and their applicability in different environments Awareness of key performance metrics for data communication systems and how to interpret them Ability to identify suitable networking technologies and systems based on given performance and functionality targets
This being said, this is only an introduction to Networks and Protocols, so we will only be able to scratch the surface
Important: In order to maximize the odds that these objectives can be successfully met, please ASK QUESTIONS
Reading Assignment
Textbook: Chapter 1
Sections 1.1-1.3 Section 1.5 Section 1.4 (optional)
Marsic online book: Section 1.1 (optional) Bonaventure online book: Chapter 2 (optional)
7
Our Scope Broadly Speaking
What are the core technologies behind the Internets content delivery abilities?
Internet Content Delivery
Jane watches a YouTube video How does her computer find the local YouTube server? R2
How does data get delivered back and forth to ensure smooth video delivery?
The Internet
Jane
R1
9
A Day in the Life of a (basic) Packet
1. Name to IP address (DNS) 2. IP address to IP address (default gateway local routing) 3. IP address to MAC address (ARP) We have just identified three of the core layers involved in the Internets operation
R2
The Internet
Jane
R1
10
Local Delivery
From Jane to R1 MAC layer forwarding (IP packet in MAC layer frame) R2
The Internet
Jane
R1
11
Crossing the Internet
(A network of networks)
From R1 to R2 IP routing (based on CNNs destination address) R2
The Internet
Jane
R1
12
Local Delivery
From R2 to CNN server MAC layer forwarding (IP packet in MAC layer frame) R2
The Internet
Jane
R1
13
Our Scope
Well look at both the protocols involved in realizing content delivery, and the factors that influence the performance of this delivery As a preview: Two examples of issues associated with the latter
Downloading large files Streaming real-time data, e.g., audio/video
14
Living in a Packet World Download
1 pkt 12,000 bits
File
1Gbps 1s
R1 10Gbps 3ms
R2 10Gbps 3ms
R3
5Mbps
1s
1GB 85,000 pkts
Download time calculation 1st packet: Starts at t=0 and arrives at R3 at t1=12,000/109+1s+12,000/1010+3ms+12,000/1010+3ms=6.0154ms later From this point onward R3 transmits non-stop until the whole file has been sent (subsequent packets arrive faster than they are transmitted at 5Mbps) Last (85,000th) packet: - Departs R3 at tL=6.0154ms+85,000x12,000/5x1061.026sec - Arrives at destination 1s later Note: - No lost or erroneous packets - Bottleneck link (5Mbps) dominates the delay - Assumes R3 can store most of 1GB file - No TCP like congestion/flow control (non-stop transmissions by sender)
15
Living in a Packet World Streaming
100Mbps R1 10Gbps 3ms R2 10Gbps 3ms R3 5Mbps
1s
8kbps and 120Bytes pkts (100B payload +20B header)
1s
Delay time calculation Packetization delay (time to generate one packet worth of bits) - 800bits/8kbps = 100ms Transmission delay - t = 960/108+1s+960/1010+3ms+960/1010+3ms+960/5x106+1s6.2ms Playback delay (data not played immediately when received to avoid gaps in case the next packet is late, e.g., because of network congestion) - (k-1)x100ms, where k is number of packets at received before playback Note: - Delay dominated by packetization/playback delay - And (possibly) bottleneck link (5Mbps)
16
Identifying Internet Components The Role of Layers
End-System End-System
Why Layers?
Application Presentation Session
Avoid duplication of functionality Facilitate evolution (modular) Shield upper layers from details and differences of lower layers
Application
Presentation Session
Transport
Network Network Data Link Physical
Network
Network Data Link Physical
Transport Network Data Link Physical
17
Data Link
Physical
Our Focus
End-System End-System
Application Presentation Session Transport Network Data Link Network Data Link Physical Application
Two players and their interactions
Presentation Session
Network
Network Data Link Physical
Transport Network Data Link Physical
Physical
18
Illustrating Layers: The User/Host Side
R2
How does a packet gets created in the first place?
The role or layers
The Internet
R1
What happens in there?
Jane
19
Host Interfaces
Host 1 Host 2
High-lev el object
Serv ice interf ace
High-lev el object
Protocol
Peer-to-peer interf ace
Protocol
20
Protocol Machinery
Applications select services based on their needs
Services are invoked through well-defined interfaces Services provide specific functionality, e.g., reliability, timing, etc.
Services can invoke other services (a nested set of interactions)
Protocols specify the semantics of service invocation and functions
Host 1 File application Digital library application Video application File application Digital library application Host 2 Video application
Internet
21
Illustrating Layers: The Network Side
Mapping an application/service to an address: Naming service (DNS) Mapping an (IP) address to a packet forwarding decision: Routing service Mapping IP routing decisions to local physical resources: IP address to MAC address (ARP) R2
The Internet
Jane
R1
22
The Internet View of Layers
Application TCP IP Network UDP
Application Presentation Session Transport Network Data Link & Physical
23
Revisiting Course Syllabus (1)
Information Generation & Transmission
?
Bits & low-level packet issues (PHY)
Issues: Volume, speed, correctness of information transmission (what is information?)
Accessing transmission resources
Primarily link layer
Controlling (or not) access to transmission resources across users
24
Revisiting Course Syllabus (2)
Locating and delivering information
Where is [Link]? How do I get there?
? ?
IP layer issues, i.e., name resolution, routing
Managing end-to-end information delivery
What bandwidth share for which flow? What security, where?
Transport layer issues, i.e., congestion, QoS, security
25
Course Coverage
The local view
Dealing with bits (phy. layer)
Generating and receiving bits Detecting and correcting errors Framing bits into packets
The large network view
Knowing where things are and deciding how to get there
Naming services Routing protocols
Arbitrating transmissions (link layer)
Wired and wireless links
Forwarding packets at increasingly high speeds
A detour into modeling
Queueing systems Markov chains
The end-to-end view
End-user resource management
TCP (the end-to-end principle)
The small network view
Connecting wires together
Switches
Managind network resources
Service differentiation and resources allocation
Connecting switches together
Locating where things are Forwarding packets
Securing information
Encryption and authentication Protecting access to information (firewalls)
26