56
Computer Networks (CSC 345) Fall 2004 Professor Haimeng Zhang IVERS 234F [email protected] x4742

Computer Networks (CSC 345)

  • Upload
    satin

  • View
    17

  • Download
    0

Embed Size (px)

DESCRIPTION

Computer Networks (CSC 345). Fall 2004 Professor Haimeng Zhang IVERS 234F [email protected] 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

Citation preview

Page 1: Computer Networks (CSC 345)

Computer Networks(CSC 345)

Fall 2004Professor Haimeng Zhang

IVERS [email protected]

x4742

Page 2: Computer Networks (CSC 345)

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

Page 3: Computer Networks (CSC 345)

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

Page 4: Computer Networks (CSC 345)

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

Page 5: Computer Networks (CSC 345)

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

Page 6: Computer Networks (CSC 345)

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

Page 7: Computer Networks (CSC 345)

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)

Page 8: Computer Networks (CSC 345)

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

Page 9: Computer Networks (CSC 345)

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

Page 10: Computer Networks (CSC 345)

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

Page 11: Computer Networks (CSC 345)

What is a Computer Network?

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

Page 12: Computer Networks (CSC 345)

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

Page 13: Computer Networks (CSC 345)

What is a Computer Network?

Application Application

Networks connect applicationson different stations

Frame

Page 14: Computer Networks (CSC 345)

What is a Computer Network?

ClientStation

Mobile ClientStation

ServerStation

ServerStationStations are computers

and other devicessuch as cellphones and PDAs

Frame

Page 15: Computer Networks (CSC 345)

What is a Computer Network?

ClientStation

Mobile ClientStation

ServerStation

ServerStationStations communicate by

sending messages calledFrames

Frame

Page 16: Computer Networks (CSC 345)

What is a Computer Network?

Frame Switch

Switch

Switch

Switch

Frames may passthrough multiple switches;

Each switch reads the frameAnd passes it on

Page 17: Computer Networks (CSC 345)

What is a Computer Network?

AccessLink

AccessLink

AccessLink

AccessLink

Access links connectstations to the

first switch

Usually copper wire

Page 18: Computer Networks (CSC 345)

What is a Computer Network?

TrunkLink

TrunkLink

Trunk Link

TrunkLink

TrunkLink

Trunk linksconnect switches

Higher capacitythan access links

Often opticalfiber

Page 19: Computer Networks (CSC 345)

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

Page 20: Computer Networks (CSC 345)

What is a Computer Network?

• Direct links (connectivity)

Point-to-point communication

Multiple-access

Page 21: Computer Networks (CSC 345)

What is a Computer Network?• Switched Networks

– Circuit - switched network: public telephone network

– Packet switched network: Internet (collection of networks)

Page 22: Computer Networks (CSC 345)

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.

Page 23: Computer Networks (CSC 345)

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).

Page 24: Computer Networks (CSC 345)

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.

Page 25: Computer Networks (CSC 345)

Packet Switched Networks: Example

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

Page 26: Computer Networks (CSC 345)

Packet-Switched Networks: Topologies

Page 27: Computer Networks (CSC 345)

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.

Page 28: Computer Networks (CSC 345)

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)

Page 29: Computer Networks (CSC 345)

An Internet

Routers

RouteSingle Network

Single Network

Multiple NetworksConnected by RoutersPath of a Packet is its Route

Packet

Page 30: Computer Networks (CSC 345)

Probing the Network-Example• Concordia campus network http://www.cord.edu/faculty/dduncan/$cordnet.htm

• Minnesota State Networkhttp://graphs.onvoy.com/infrastructure

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

Page 31: Computer Networks (CSC 345)

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

Page 32: Computer Networks (CSC 345)

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

Page 33: Computer Networks (CSC 345)

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)

Page 34: Computer Networks (CSC 345)

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

Page 35: Computer Networks (CSC 345)

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

Page 36: Computer Networks (CSC 345)

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

Page 37: Computer Networks (CSC 345)

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

Page 38: Computer Networks (CSC 345)

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

Page 39: Computer Networks (CSC 345)

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)

Page 40: Computer Networks (CSC 345)

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

Page 41: Computer Networks (CSC 345)

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!

Page 42: Computer Networks (CSC 345)

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

Page 43: Computer Networks (CSC 345)

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

Page 44: Computer Networks (CSC 345)

• 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

Page 45: Computer Networks (CSC 345)

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

Page 46: Computer Networks (CSC 345)

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

Page 47: Computer Networks (CSC 345)

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

Page 48: Computer Networks (CSC 345)

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

Page 49: Computer Networks (CSC 345)

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

Page 50: Computer Networks (CSC 345)

Layering Principle

Page 51: Computer Networks (CSC 345)

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

Page 52: Computer Networks (CSC 345)

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

Page 53: Computer Networks (CSC 345)

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

Page 54: Computer Networks (CSC 345)

Data Communications

Page 55: Computer Networks (CSC 345)

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

Page 56: Computer Networks (CSC 345)

Reading Materials

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