Computer Networks (CSC 345)

Post on 03-Jan-2016

34 views 0 download

Tags:

description

Computer Networks (CSC 345). Fall 2004 Professor Haimeng Zhang IVERS 234F zhang@cord.edu x4742. Course Objectives. Motivation: What is the Internet and how it works To present a comprehensive view of the principles and fundamental concepts in Computer Networks - PowerPoint PPT Presentation

Transcript of Computer Networks (CSC 345)

Computer Networks(CSC 345)

Fall 2004

Professor Haimeng Zhang

IVERS 234F

zhang@cord.edu

x4742

Course Objectives

• Motivation: What is the Internet and how it works• To present a comprehensive view of the principles

and fundamental concepts in Computer Networks• To learn about the basics in design and

implementation of network protocols• To provide an understanding of the components of

a network and how they are connected.• To acquire some hands-on experience

Course Requirements• Prerequisites:

– Programming experience with C/C++, equivalent to CSC 225

– Good to have the knowledge on OS

• Required Textbook:– Douglas Comer: Computer Networks and Internets with

Internet Applications, 4th ed. Prentice Hall, 2004

• Reference Book:– R. Stevens, TCP/IP Illustrated, Volume 1: The Protocols, Addison-

Wesley, 1994.

• Supplementary class notes – available on line

• Course web page: http://www.cord.edu/faculty/zhang/cs345/cs345.html

Course Organization

• Lectures – TH 10:30am – 12:10pm, IVERS 218

• Homework assignments – once every two weeks

• Programming project – one group project

• Reading project – individual project

• Midterm

• Final

Course Outline• Introduction

– Fundamental concepts– Basic definitions– Network architecture

• Communication Basics– Media and signals– Asynchronous and synchronous communication– Relationship among bandwidth, throughput, and

noise– Frequency-division and time-division multiplexing

Course Outline (Continued)• Networking and network technologies

– Packing switching– Framing, parity, and error detection– Local and wide area technologies– Network addressing– Connection, wiring and extension (repeaters, bridges,

hubs, switches)– Forwarding and measuring of delay and throughput

Course Outline (Continued)

• Internets and Internetworking– Motivation and concept– Internet Protocol (IP) datagram format and

addressing– Internet routers and routing– Address binding (ARP)– Internet Control Message Protocol (ICMP)– User Datagram Protocol (UDP)– Transmission Control Protocol (TCP)

Course Outline (Continued)

• Network Applications– Domain Name System (DNS)– File Transfer Protocol (FTP)– Remote Login Protocol (TELNET)– Email Transfer (SMTP)– Web technologies and protocol (HTTP)

• Putting all pieces together

Schedule of Topics

• Signals, media, bandwidth, throughput and multiplexing – 2 weeks

• Packet transmission: concepts, technologies – 5 weeks

• Internetworking fundamentals – 5 weeks

• Internet applications – 2 weeks

What is a Computer Network?• A collection of computers (PCs, workstations) and other

devices (e.g. printers, credit card readers) are all interconnected

• Components:– Hosts (computers)

– Links (coaxial cable, twisted pair, optical fiber, radio, satellite)

– Switches/routers (intermediate systems)

• Goal: provide ubiquitous access to resources (e.g., database servers, Web), allow remote users to communicate (e.g., email)

• User runs applications

What is a Computer Network?

• Major Network Categories– The global Internet– Internal corporate networks– The worldwide telephone system

What is a Computer Network?

• Telecommunications spans two concerns– Voice and video communication versus– Data communication

• At least one party is a computer

– The two are converging

Voice andVideo

DataCommunication

Telecommunications

What is a Computer Network?

Application Application

Networks connect applicationson different stations

Frame

What is a Computer Network?

ClientStation

Mobile ClientStation

ServerStation

ServerStationStations are computers

and other devicessuch as cellphones and PDAs

Frame

What is a Computer Network?

ClientStation

Mobile ClientStation

ServerStation

ServerStationStations communicate by

sending messages calledFrames

Frame

What is a Computer Network?

FrameSwitch

Switch

Switch

Switch

Frames may passthrough multiple switches;

Each switch reads the frameAnd passes it on

What is a Computer Network?

AccessLink

AccessLink

AccessLink

AccessLink

Access links connectstations to the

first switch

Usually copper wire

What is a Computer Network?

TrunkLink

TrunkLink

Trunk Link

TrunkLink

TrunkLink

Trunk linksconnect switches

Higher capacitythan access links

Often opticalfiber

What is a Computer Network?

• In summary, a network is a system of hardware, software and transmission components that collectively allow two application programs on two different stations connected to the network to communicate well

What is a Computer Network?

• Direct links (connectivity)

Point-to-point communication

Multiple-access

What is a Computer Network?• Switched Networks

– Circuit - switched network: public telephone network

– Packet switched network: Internet (collection of networks)

Circuit-Switching• Set up a connection path (circuit) between the source and

the destination (permanent for the lifetime of the connection)

• All bytes follow the same dedicated path• Used in telephony• Advantages: dedicated resources• Disadvantages: not very efficient (lower utilization, e.g., a

person talks < 35% of the time during a call)• While A talks to C, B cannot talk to D on the same line.

Packet-Switching• Packets from different sources are interleaved

• Efficient use of resources (since they are used on a demand): statistical multiplexing. Nobody reserves a lane on a freeway

• Can accommodate bursty traffic (as opposed to circuit-switching where transmission is at constant rate).

Features of a Packet-Switching• Store and forward: intermediate nodes (e.g.,

routers) store (buffer) incoming packets, process them and forward them to the appropriate outgoing link.

• Allows for flexibility and robustness. Packets can travel through alternate paths (adaptive routing).

• Undesired situations such congestion, long delays may occur.

Packet Switched Networks: Example

• Packets can travel on different networks/links that may have different line speeds

Packet-Switched Networks: Topologies

What is the Internet?

• In the 60’s and 70’s the Internet (ARPANET) was a small network connecting universities, research labs and government agencies. Main application: email, FTP. Motivation: share & research

• Today it is a global, non-regulated communications network with millions of hosts and users. Main applications: Web, multimedia (audio/video), email. Motivation: commercialization

• A large number of different network technologies and standards exist: LANs, WANs, B-ISDN, Optical Nets, Wireless, Satellite.

The Internet Today-- Complicated• A huge and arbitrary collection of heterogeneous

nets. A network of networks!– More than 70 million hosts– Growing exponentially– doubling every 18 months

• Hierarchically structured– LANs (e.g., Ethernet)– CANs (e.g., FDDI)– National/global (e.g., ATM or optical backbone)

• Fully distributed operation (i.e., no centralized system or computer)

An Internet

Routers

RouteSingle Network

Single Network

Multiple Networks

Connected by Routers

Path of a Packet is its Route

Packet

Probing the Network-Example• Concordia campus network

http://www.cord.edu/faculty/dduncan/$cordnet.htm

• Minnesota State Network

http://graphs.onvoy.com/infrastructure

• Ping - sends message that is echoed by remote computer • Traceroute - reports path to remote computer

Internet Today

• Packet - switched network

• Packets– Data are chopped up into small blocks called

packets (e.g., ~ 4500 bytes)– Each packet carries extra information to allow

it to reach its destination– Each intermediate node processes the packet

and forward it to the next node

Issues

• Resource sharing (i.e., accommodate many users over the same link or through the same router)

• Addressing and routing (i.e., how does an email message finds its way to the receiver)

• Reliability and recovery: guarantee end-to-end delivery

• Traffic management: monitoring and policing the network! Regulate traffic

Network Performance• There is a number of measures that characterize

and capture the performance of a network• It is not enough that networks work

– They must work well

• Quality of service (QoS) defines quantitative measures of service quality– Speed– Delay (Latency)– Reliability

• Security (not a QoS measure but crucial)

Network Performance

• Speed– Bits per second (bps)– Multiples of 1,000 (not 1,024)– Kilobits per second (kbps) Note the lower case “k”– Megabits per second (Mbps)– Gigabits per second (Gbps)– Terabits per second (Tbps)

• Related to link bandwidth

Network Performance

• Congestion and Latency– Congestion because traffic chronically or

momentarily exceeds capacity– Latency delay measured in milliseconds (ms),

microseconds ( ).

• Especially bad for some services such as voice communication or highly interactive applications

s

Network Performance

• Delay: – Transmission time: time it takes to transmit a packet

(depends on the link speed) = packet size/ speed– Propagation delay: time for a bit to travel across a

link (depends on the distance, physical medium)– Queuing delay: waiting time inside a buffer– Processing delay: time to process a packet

• RTT (round-trip time): time for a bit to travel to the destination and come back

Network Performance

• Example: consider a 100 Mbps link which is 4,000 miles long, if data travels at 40,000 miles/sec and a packet is 1MB (= Bytes =

bits), then:– Transmission delay = 1MB/100 Mbps =

ms = 0.080 sec– Propagation delay = 4,000/40,000 = 0.1 sec

8010*100/8*10 66

610

8*106

Reliability and Recovery• Reliability

– Availability – percentage of time the network is available to users for transmission and reception

– Error rate – percentage of lost or damaged messages or bits. (For example, bit error rate of )

• Examples:– Bit errors (bits are flipped, e.g., due to electrical signal

interference.)– Packet loss (packets may be dropped due to insufficient

buffer space.)– Packet delays (e.g., due to large queue size)– Nodes or links can fail (go down)– Malicious users

910

Reliability and Recovery• As a consequence:

– Packets delivered to the wrong destination

– Long delays on packets

– Packets delivered out-of-order

– Duplicate packets

• Recovery:– Implement error-control mechanism

• Hop by hop (I.e., between nodes)

• End-to-end (source-to-destination).

– Retransmissions

– End-to-end security (e.g., encryption, authentication)

User Applications

• Users run application programs (web, email, ftp) at the hosts interconnected through a network

• Hosts need to communicate in a meaningful way. User should not be concerned with the underlying network

• Network supports process-to-process (uni- or bi-directional) communication among the hosts

• Applications need to take into consideration limitations imposed by the networks physical characteristics

What is a Protocol?

• Set of rules that specify the format and meaning of messages exchanged between computers across a network – Format is sometimes called syntax – Meaning is sometimes called semantics

• Example from everyday life: traffic laws!

One Or Many Protocols?

• Computer communication across a network is a very hard problem

• Complexity requires multiple protocols, each of which manages a part of the problem

• May be simple or complex; must all work together

Protocol Suites

• A set of related protocols that are designed for compatibility is called a protocol suite

• Protocol suite designers: – Analyze communication problem – Divide problems into subproblems – Design a protocol for each subproblem

• Layering model is a solution to the problem of complexity in network protocols • Model suggests dividing the network protocol into layers, each of which solves part of the network communication problem• These layers have several constraints, which ease the design problem • Network protocol designed to have a protocol or protocols for each layer

Layered Protocol Design

Layered Network Architecture

• Application data need to be transformed into packets (the basic transmission unit)

• Peer entities in layer N+1 communicate with each other by communication services provided by layer N (below them)

• Each layer has specific tasks and functionality. It also provides services to the layers above and below it

• Peer entities communicate by exchanging messages

ISO 7-Layer Reference Model

• International Organization for Standards (ISO) defined a 7-layer reference model as a guide to the design of a network protocol suite

ISO 7-Layer Reference Model

• Layers are named and numbered; reference to ``layer n'' often means the nth layer of the ISO 7-layer reference model

• many modern protocols do not exactly fit the ISO model, and the ISO protocol suite is mostly of historic interest

ISO 7-Layer Reference Model• Layer 7: Application

Application-specific protocols such as FTP and SMTP (electronic mail)

• Layer 6: Presentation Common formats for representation of data

• Layer 5: Session Management of sessions such as login to a remote computer

• Layer 4: Transport Reliable delivery of data between computers

ISO 7-Layer Reference Model

• Layer 3: Network Address assignment and data delivery across a physical network

• Layer 2: Data Link Format of data in frames and delivery of frames through network interface

• Layer 1: Physical Basic network hardware – media transmission

Layering Principle

Layering Principle

• Application data need to be transformed into packets (the basic transmission unit)

• Peer entities in layer N+1 communicate with each other by communication services provided by layer N (below them)

• Each layer has specific tasks and functionality. It also provides services to the layers above and below it

• Peer entities communicate by exchanging messages

Data Communications

• On the sender, each layer: – Accepts an outgoing message from the layer above – Adds a header and other processing – Passes resulting message to next lower layer

• On the receiver, each layer: – Receives an incoming message from the layer below – Removes the header for that layer and performs

other processing – Passes the resulting message to the next higher layer

Data Communications

• The software at each layer communicates with the corresponding layer through information stored in headers

• Each layer adds its header to the front of the message from the next higher layer

• Headers are nested at the front of the message as the message traverses the network

Data Communications

Internet Protocol Architecture

• Originally it was based on the ISO reference model

• Currently, Internet is mostly based on the TCP/IP protocol suite (designed in late 70’s)

• TCP/IP became popular as it was bundled with the UNIX/C environment

• ISO is still influential in designing networks

• Other architectures: ATM. Frame Relay

Reading Materials

• Textbook– Chapters 1, 2 and Sections 3.1, 3.2 of Chapter 3– Chapter 16