September 5 2011
1 1
Course Objectives
To familiarize the students with the world of computer networks Develop their understanding about the abstraction of OSI model and its layers Familiarize them with the issues of network security Introduce them to new network technologies like WiFi, Bluetooth and Zigbee Provide hands on experience by engaging them in a project based on network programming
September 5 2011
2 2
Text Book
Computer Networks
A Systems Approach
By
Larry L. peterson and Bruce S. Davie 4th Edition Reference Books: Computer Networking: A Top Down Approach By James F. Kurose , Keith W. Ross 5th Edition
September 5 2011 3 3
Course Outline
Lec no.
1 2 3 4 5 6 7 8 9 10 11 How to build a network: Requirements, Applications How to build a network: Network Architecture, Network Software Network Software, Performance Metrics, Data Link Networks: Encoding Data Link Layer, Framing Error Detection, Reliable Transmission Reliable Transmission, Ethernet Ethernet, Rings, Wireless (Bluetooth, WiFi, Wimax, Zig-bee) Packet Switching, Switching and Forwarding Bridges and LAN switches Internetworking, Simple Internetworking Address Resolution Protocol(ARP)
Contents
September 5 2011
4 4
12 13 14 15 16 17 18
DHCP, ICMP, Virtual Network and Tunnels Routing Global Internet, Subnetting Multicast Multi-Protocol Label Switches End to End Protocols Congestion Control and Resource Allocation
19
20 21 22 23 24 25 26 27 28
September 5 2011
5 5
Administrivia
Marks Breakdown
Midterms Assignments Quiz Project Final
Exam
September 5 2011
6 6
Chapter 1: Foundation
September 5 2011
7 7
Problems
What is a computer network? How to build a scalable network that will support different applications? How is a computer network different from other types of networks?
September 5 2011
Chapter Outline
September 5 2011
Chapter Goal
Exploring the requirements that different applications and different communities place on the computer network Introducing the idea of network architecture Introducing some key elements in implementing Network Software Define key metrics that will be used to evaluate the performance of computer network
September 5 2011
10
Applications
Most people know about the Internet (a computer network) through applications
World Wide Web Email Online Social Network Streaming Audio Video File Sharing Instant Messaging
September 5 2011
11
Examples of applications
Web pages
Video on demand
Video Conferencing
September 5 2011
12
Application Protocol
URL
Uniform resource locater http://ciit.edu.pk/
HTTP
TCP
Transmission Control Protocol
September 5 2011
14
Previous examples demonstrate the diversity of applications that can be built on top of the Internet, and hint at the complexity of the Internets design. Starting from the beginning, and addressing one problem at time, In this course, we will see how to build a network that supports such a wide range of applications
September 5 2011
15
To build a network
We will ask questions that arise naturally for building an actual network
For understanding, we would not accept the existing solutions the way they are
Instead, we will be asking (and answering) the question of why networks are designed the way they are Since it is important to recognize the underlying concepts because networks are constantly changing as the technology evolves and new applications are invented
The first step is to identify the set of constraints and requirements that influence network design
September 5 2011
16
Requirements
It is important to understand that the expectations you have of a network depend on your perspective Application Programmer
List the services that his application needs: delay bounded delivery of data
Network Designer
Design a cost-effective network with sharable resources(What are resources?: links, nodes)
Network Provider
List the characteristics of a system that is easy to manage
September 5 2011 Courtesy: Elsevier Inc 2010 17
The next few slides distill these different perspectives into a high-level introduction and identify major considerations that drive network design
September 5 2011
18
Connectivity
Limited
Starting with the obvious, a network must provide connectivity among a set of computers Sometimes it is enough to build a limited network that connects only a few select
machines.
In fact, for reasons of privacy and security, many private (corporate) networks
have the explicit goal of limiting the set of machines that are connected. Scalable In contrast, other networks (of which the Internet is the prime example) are designed to grow in a way that allows them the potential to connect all the computers in the world. A system that is designed to support growth to an arbitrarily large size is said to scale.
September 5 2011 Courtesy: Elsevier Inc 2010 19
Connectivity
(a) (b)
September 5 2011
20
Connectivity
Terminologies (contd.)
Cloud Hosts Switches internetwork Router/gateway Host-to-host connectivity
Needs Address Routing Unicast/broadcast/multicast
(a)
(b)
(a) (b)