Published on

Published in: Education, Technology, Business
  • Be the first to comment

  • Be the first to like this

No Downloads
Total views
On SlideShare
From Embeds
Number of Embeds
Embeds 0
No embeds

No notes for slide


  1. 1. Computer Networks CSC335/CS3350 Instructor: BruhadeshwarInternational Institute of Information Technology, Hyderabad Spring 2010/11
  2. 2. 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
  3. 3. 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
  4. 4. The Internet: an hourglass with layers: Top Down Approach 4
  5. 5. 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
  6. 6. Big Picture View of Internet Start at the top Protocols: how to structure communication Sockets: how applications view the Internet Then study the “narrow waist” of IP IP best-effort packet-delivery service IP addressing and packet forwarding And how to build on top of the narrow waist Transport protocols (TCP, UDP) Domain Name System (DNS) Applications (Web, email, file transfer) Looking underneath IP – Link technologies (Ethernet, bridges, switches)
  7. 7. 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
  8. 8. 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
  9. 9. 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, CSTARAll other meetings through appointment. Email Course Website will have lectures, resources 
  10. 10. 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
  11. 11. 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
  12. 12. 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
  13. 13. 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
  14. 14. 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!)
  15. 15. 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
  16. 16. 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!)
  17. 17. 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”!  Cant change a core-router without causing loss of millions of dollars Use industry policy: theory great but practice greater!
  18. 18. 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 doesnt change during program execution but network topology does so! Next class: Chapter 1 of Kurose-Ross