networks

18
Computer Networks CSC335/CS3350 Instructor: Bruhadeshwar International Institute of Information Technology, Hyderabad Spring 2010/11

Upload: digvijay-singh

Post on 03-Dec-2014

967 views

Category:

Education


1 download

DESCRIPTION

 

TRANSCRIPT

Page 1: Networks

Computer Networks

CSC335/CS3350Instructor: Bruhadeshwar

International Institute of Information Technology, Hyderabad

Spring 2010/11

Page 2: Networks

What You Can Expect Insight: key concepts in networking

Protocols Layering Resource allocation Security Naming

Knowledge: how the Internet works Internet architecture IP protocol suite Applications (Web, e-mail, P2P, …)

Skill: network programming Socket programming Designing and implementing protocols

Page 3: Networks

Text Book and References

“Computer Networking” : A Top-Down Approach Featuring the Internet James F. Kurose and Keith W. Ross, Pearson/Addison-

Wesley, Latest edition References

TCP/IP Illustrated: Vol 1 Protocols, Stevens, Addison-Wesley

Computer Networks: A Systems Approach, Larry Peterson and Bruce Davie, Elsevier

Network Algorithmics, George Varghese, Elsevier

Page 4: Networks

4

The Internet: an hourglass with layers: Top Down Approach

Page 5: Networks

Course Outline

Start with Applications WWW, HTTP, FTP etc

Understand the Transport Protocols TCP, UDP etc

Examine the “Best-effort” network Core IP, BGP, DNS, OSPF etc

Look at “Link” technology & access control Ethernet, PPP, CSMA, ALOHA

Study the case of wireless communication Worry a bit about attacks on networks

Page 6: Networks

Big Picture View of Internet

Start at the topProtocols: how to structure communicationSockets: how applications view the Internet

Then study the “narrow waist” of IPIP best-effort packet-delivery serviceIP addressing and packet forwarding

And how to build on top of the narrow waistTransport protocols (TCP, UDP)Domain Name System (DNS)

Applications (Web, email, file transfer)Looking underneath IP

Link technologies (Ethernet, bridges, switches)

Page 7: Networks

Algorithmic View How to get the traffic from here to there Routing (intra-domain, inter-domain)Glue (ARP, DHCP, ICMP) … in a way that’s both efficient and stable

How much data to send without clogging the sender (flow control) or the network (congestion control)With some assurance (quality of service) … or not

How to control network traffic … Enforcing policy

Defending against attacks … and scale it to potentially huge structures

Peer-to-peer & overlays

Page 8: Networks

Workload

Four Written Homeworks Two programming projects (in groups of

two) Two Mid-sems + 1 Final Exam One tutorial -2 hours per week

Attendance is mandatory with a buffer of 1 “miss”

Grading will be relative and “progressive” with smattering of fairness

Page 9: Networks

How do We Support You?

6-8 TA office hours per week Venue: CSTAR conference room, time will be

announced 2 Instructor office hours per week

Time: 3.30-4.30pm Monday and Thursday Venue: B3, 309, CSTAR

All other meetings through appointment. Email [email protected]

Course Website will have lectures, resources http://cstar.iiit.ac.in/cn

Page 10: Networks

Course Policies Academic dishonesty policy

First copy will get 0 for both “copier” and “copyee”, second one is bye-bye to grade

You can discuss but not copy from each other Strict punctuality requirement

Will not be allowed to enter the class room Strictly no usage of mobiles during class-time If found doing other course homework, you

will lose attendance New : If found sleeping in class you will

forfeit attendance and will be sent out Repeat offense will carry two attendance penalty

Page 11: Networks

What is “Networking”? Single PC Computation: Imagine a multi-

threaded process with IPC Synchronous with the system clock Data sharing by signaling Resource sharing by mutually-exclusive access

Networked Computation : Consider the same program “spread” out in the Network: different “threads” running on different machines Trying to “talk” to each other in an asynchronous

manner Trying to “share” data by “sending” Trying to “share” resources by “enabling” remote access

What are the challenges here? Important to note: Asynchronous communication

Page 12: Networks

What is “Networking”?

Data sharing in a regular program is through shared buffers No issues of data loss No delay except for waiting on a semaphore No issues in receiver “capabilities”: both sender and

receiver have same capability No question of “data” compromise: all threads are

trusted Networked “data” sharing

Might result in data loss Subject to un-expected delays Sender/Receiver may not have same capabilities Data might be compromised in transit

Page 13: Networks

Networking Challenges

Fundamental challenge: components fail: Network communication involves a chain of interfaces, links, routers and switches

Challenge: enormous dynamic range Round-trip times (latency) vary 10 μsec’s to sec’s Data rates (bandwidth) vary from kbps to 10 Gbps Queuing delays inside the network vary from 0 to sec’s Packet loss varies from 0 to 90+% End system (host) capabilities vary from cell phones to

supercomputer clusters Application needs vary enormously: size of transfers,

bi-directionality, need for reliability, tolerance of jitter

Page 14: Networks

Networking Challenges

Challenge: different parties must work together Multiple parties with different agendas must agree how

to divide the task between them Working together requires:

Protocols (defining who does what) These generally need to be standardized Agreements regarding how different types of activity

are treated (policy) Challenge: incessant rapid growth

Utility of the network scales with its size ⇒ Fuels exponential growth (for more than 2 decades!)

Page 15: Networks

Networking Challenges

Challenge: there are Bad Guys out there As the network population grows in size, so does the

number of• Vandals• Organized criminals

What really matters, though: as networkpopulation grows, it becomes more and more

attractive to Crooks

A network is like a PC without a login-password, anyone can use or mis-use it without any accounting

Page 16: Networks

Networking Challenges

They (and other attackers) seek ways to misuse the network towards their gain Carefully crafted “bogus” traffic to manipulate the

network’s operation (Route manipulation) Torrents of traffic to overwhelm a service (denial-of

service) for purposes of extortion / competition (botnets) Passively recording network traffic in transit (sniffing) Exploit flaws in clients and servers using the network to

trick into executing the attacker’s code (compromise/worms)

They do all this energetically because there is significant $$$ to be made (botnets are rented!)

Page 17: Networks

Networking Challenges

Challenge: you cannot reboot the Internet! Everyone depends on the Internet Businesses Hospitals Education institutions …

Cannot stop, fix, and restart it… … akin to “changing the engine when you are in-flight”! Can't change a core-router without causing loss of

millions of dollars Use industry policy: theory great but practice

greater!

Page 18: Networks

Summary

Networking is all about designing effective and secure communication mechanisms against known and unknown adversaries The asynchronous nature makes it rather tough

• Like visualizing “parts” of a program executing on different machines towards a common goal

Need to understand the trade-offs in efficiency vs correctness of communication Reliability vs speed of data exchange

Need to be resilient to changes in topology Computer architecture doesn't change during

program execution but network topology does so! Next class: Chapter 1 of Kurose-Ross