computer networks sadiq m. sait, ph.d. sadiq@ccse.kfupm.edu.sa department of computer engineering...

Post on 19-Dec-2015

228 Views

Category:

Documents

2 Downloads

Preview:

Click to see full reader

TRANSCRIPT

Computer Networks

Sadiq M. Sait, Ph.D.

sadiq@ccse.kfupm.edu.saDepartment of Computer

Engineering King Fahd University of Petroleum

and MineralsDhahran, Saudi Arabia

February 17 - 21, 2001

Historical glimpses

The past several decades have witnessed a phenomenal growth in the computer industry:

As computer proliferated, so did the need for data communication» People became more and more interested in

connecting several computers together. Computer Network:

Interconnected collection of autonomous computers and computer resources

Historical glimpses (contd.) Late 1960’s -- ARPA (later became DARPA) began a partnership with

45 universities and research institutions to investigate Data Communication Technologies.» 1969 -- ARPANET went into operation with 4 nodes.

– The experiment was a success and ARPANET grew into a network spanning the entire USA.

1974 -- Birth of the first LAN (Xerox) In early years of networking, each computer manufacturer

developed its own communication solution– Structured Network Architecture (SNA) of IBM– DEC Network Architecture (DNA) of DEC– ARPANET of ARPA– etc.

Historical glimpses (contd.) 1977 -- ISO established a subcommittee to

develop an architecture/structure that defines communication tasks and which would:» Serve as a reference model for international standards» would facilitate efficient internetworking among

systems from different technologies, manufacturers, administrations, nationalities, and enterprises.

Historical glimpses (contd.) 1978 -- Meeting of 40 experts in Washington, D.

C. started work that yielded 6 years later the OSI Reference Model.» Paper by Louis Pouzin and Hubert Zimmermann, Proc.

Of the IEEE November 1978, pp. 1346 - 1370. 1975 -- ARPANET transitioned to Defense

commercial agency. 1978-80 -- ARPANET protocol were upgraded

with TCP/IP.» Paper by Cerf and Khann, IEEE Trans. Comm., May

1974.

Historical glimpses (contd.) February 1980 -- The IEEE started Project 802 to develop

standards for the LAN market. 1981 -- A new host added to ARPANET every 20 days. 1983 -- TCP/IP switchover complete.

» TCP/IP adopted as standard by DOD » ARPANET had over 300 hosts.» Over 1200 nodes by 1985.» ARPANET split

– ARPANET: Academic (Educational, Research)– MILNET: Military

Historical glimpses (contd.) 1984 -- The OSI-RM came out.

» Defines a strategic outline/vision» Reduces degrees of freedom of standards developers» Centered around the hierarchical decomposition of

communication functions 1986 -- NSFnet backbone created. 1990 -- ARPANET put to rest

» 1987 -- over 25000 nodes» 1989 -- 3000 networks for over 200000 users

Historical glimpses (contd.) 1991-- WWW invented & Gopher introduced 1995

» Internet backbone privatized» Over 7 million networks around the world» 150000 users join the network every month

July, 1998 -- over 36 million networks Jan, 1999 -- 157 million users Projected to be 327 million by year 2000

Historical glimpses (contd.) The Internet is an Information Highway

» Dedicated communication links (copper, fiber, satellite) functioning as the concrete/asphalt

» Usually T/E leased lines serve as the on-ramp connecting to regional networks

– Capacity of T1 highways is 1.544 Mbps– that of T3 is 45 Mbps

The Internet is becoming a platform for most computer needs.

Network Evolution

1960s and 1970s: Communications

Programssoftware

hardware

Value-addednetworks

Programssoftware

hardware

BA

Centered around the host (mainframe). On a single computer, accessing resources, running

programs, and copying files are relatively straightforward.

Unintelligentterminal

Unintelligentterminal

Low speed links

1960s and 1970s: Communications (contd.)

Even on a system of only two computers, coordinating resources becomes much more complex.

Transferring information requires, among other things, addressing, error detection, error correction, synchronization, and transmission coordination.

Programssoftware

hardware

Value-addednetworks

Programssoftware

hardware

BA

Unintelligentterminal

Unintelligentterminal

Low speed links

1970s and 1980s: Networks The introduction of PCs revolutionized computer

communication and networking» LANs evolved to share resources (Disks, Printers)

Minicomputers and shared WANs evolved» Facilitated the emergence of distributed processing» Applications remained separate and independent, and

different communication protocols were developed

TokenRing

1980s and 1990s: Internetworks

Token-Ring

Private netsand Internet

FDDI

Router Router

RouterRouter

FDDI Ring

1980s and 1990s: Internetworks

Most of today’s networks are a mixture of old and new technologies.

The approach to computer communication in most

organizations is changing rapidly in response to new technologies, evolving business requirements, and the need for more bandwidth and “instant” knowledge transfer.

Internetworks tie LANs and WANs, computer systems, software, and related devices together to form the corporate communication infrastructure.

1990s: Global Internetworking

Telephone

Television

Router

Public switch

1990s: Global Internetworking

Studies show that users increasingly require more bandwidth.

Networks will have to meet these demands and provide low delay, bandwidth on demand, and other new services.

Such networks are characterized by the following:» increasing use of graphics and imaging» larger files and larger programs» client/server computing» bursty network traffic

Global internetworking will provide an environment for emerging applications that will require even greater amounts of bandwidth.

Basic Networking concepts

Simple Data Communication Model

TransceiverTransceiverTransport System

DigitalAnalog/Digital

Digital

001101

001101

Data Network

Public Telephone Network

Terminology

Networks are classified on the basis of geographic span.» Local Area Networks (LANs)» Metropolitan Area Networks (MANs)» Wide Area Networks (WANs)

The difference in geographical extent between WANs and LANs account for significant differences in their respective design issues.

LAN Characteristics

LANs are designed to:» Operate within a limited geographic area» Allow multi-access to high-bandwidth media» Control the network privately under local

administration» Provide full-time connectivity to local services» Connect physically adjacent devices

LAN Characteristics

» All nodes are connected by a single high speed shared channel.

» Data is packetized and packets are carried past all nodes in the network.

» Addressing is required but routing is not needed.

» Congestion control and network architecture are among design issues.

» Several topologies can be used but the choice of topology is not a major issue.

LAN Topologies

Linear Bus Topology

LAN Topologies (Contd.)

Star

LAN Topologies (Contd.)

Ring.

LAN Topologies (Contd.)

Hierarchical/Inverse Tree.Higher power at higher levels.

LAN Components

A LAN has the following basic components:

Transmission Medium» Cable or Cable-less. It connects the various

stations. E.g. twisted pair, coaxial cable, CATV cable, fiber optics, radio waves.

Stations» Intelligent workstations which attach to

the medium. E.g. PC or workstation.

LAN Components (Cont.)

» Non-intelligent which attach to a station. E.g. Printers, Modems, Hard disks, etc.

File server» The main unit in the network that offers

various services to the network users.» It refers to a computer, its hard disk, its

network operating system, and the file server software that manages the network resources.

LAN Components (Cont.)

Network Interface Card (NIC)» Network adapter to send and receive

messages. It is a circuit board with the components necessary for handling communication tasks

» The NIC is plugged onto one of the available slots on the PC expansion bus.

» Installed in each workstation and file server such as Ethernet NIC.

LAN Components (Cont.)

Network Operating System (NOS)» Installed on the hard disk of the file sever

station. Its function is to control the access to the common shared resources, such as printers, hard disks, database applications, etc.

Workstation Operating System» Consists of a network shell installed on any

one of the popular operating systems such as DOS, Unix, Linux, MAC-OS, etc.

Anatomy of a LAN node

Hub

Operating

System

Application

Network protocol

NIC Driver

Ethernet NIC

Protocol API

DriverSpecification

HardwareInterface

Applicationlevel API

Kernellevel API

Kernellevel API

TransmitReceive

LAN Characteristics

What distinguishes one LAN from another:» Transmission Medium

– Twisted pair, Coax, CATV, Fiber Optic, or Wireless.

» Topology: Star, Bus, Ring» Transmission method: Base/Broadband» Medium Access Technique

– Random Access (CSMA/CD)– Controlled Access (Token Passing)

LAN Characteristics (Cont.)

» Others– Type (Peer-to-Peer or Server-based)– Speed:

in bits per second (bps)

– Span: distance between end stations

– Load: number of stations.

Server-Based LANs

Server-based: A server-based network consists of a group of user-oriented PCs called clients that request and receive network services from specialized computers called servers.

Peer-to-Peer LANs

Peer-to-peer: A peer-to-peer network is a group of user-oriented PCs that basically operate as equals. Each PC is called a peer. The peers share resources, such as files and printers, but no specialized servers exists. Each peer is responsible for its own security, and, in a sense, each peer is both a client and a server.

Peer-to-Peer Networking (Workgroup)

Resources are distributed throughout the network on computer systems that may act as both service requesters and service providers.

The user of each PC is responsible for the administration and sharing of resources for his PC.

Ideal for small organizations where security is not of concern.

Resources for Peer-to-Peer Network

Personal computers. Network Operating System

» Ex: Windows 98/ NT/ 2000, Linux, Unix.

Network Interface Card (NIC) + the driver of the NIC.

Network cables. Hubs (in case twisted-pair cables are

used).

Client Server Model

Client-Server paradigm is the primary pattern of interactions among cooperating applications.

This model constitutes the foundation on which distributed algorithms are built.

What is the Client-Server Paradigm?

The paradigm divides communicating applications into 2 broad categories, depending on whether the application waits for communication or initiates it.» An application that initiates a

communication is called a client.» End users usually invoke a client software

when they use a network service.

Client Server Model (cont.)

Server: Any program that offers a service reachable over the network» If a machine’s primary purpose is to

support a particular server program, the term server is usually applied to both, the machine and the server program

Client: An executing program becomes a client when it sends a request to a server and waits for a response

Client Server Model (cont.)

A server is any program that waits for incoming communication requests from a client.» Each time a client application needs to contact a

server, it sends a request and awaits a response.

» The server receives a client’s request, performs the necessary computation, and returns the result to the client.

» When the response arrives at the client, the client continues processing.

Client Server Model (cont.)

Request

Reply

Machine Running Client Application

Machine Running Server Application

ClientProgram

ServerProgram

Client Server Model (cont.)

A Misconception:» Technically, a server is a program and

not a piece of hardware.» However, computer users frequently

(mis)apply the term to the computer responsible for running a particular server program.– For example, Web Server, is usually a

computer running the http server program.

WANs

To make optimum use of expensive communication links, WANs are structured with irregular placement of the nodes. Store-and-Forward packet switching is used to deliver packets to their destination.

Wide-Area Networks and Devices

WANs are designed to:» Allow access over serial interfaces operating

at lower speeds» Control the network subject to regulated

public services» Connect devices separated over wide, even

global areas

WANs

Design Issues:Capacity assignment

Network topology

Routing algorithm

Congestion control

Network architecture

S D

Enterprise Developments The enterprise is a corporation, agency, service, or

other organization that will tie together its data, communication, computing, and storage resources.

Developments on the enterprise network include:» LANs interconnected to provide client/server applications

integrated with the traditional legacy applications from mainframe data centers

» End-user needs for higher bandwidth on the LAN, which can be consolidated at a switch and delivered on dedicated media

» Integration of formerly separate networks so that the non-bursty traffic from voice and video applications coexist on a single network

» Relaying technologies for WAN service, with very rapid growth in Frame Relay and cell relay (ATM)

Network Architecture

Communication Protocols To provide error-free and maximally

convenient information transfers, the network communication is regulated by a set of rules and conventions called network protocols.

Protocols define connectors, cables, signals, data formats, error control techniques, and algorithms for message preparation, analysis and transfer.

Communication Protocols (Contd.)

Network Protocol:» A set of rules defining the syntax (form)

and semantics (meaning) in order to regulate communication between network nodes.

» Protocols can be implemented in either hardware or software

» The EIA-232-D is a physical layer protocol implemented in hardware.

» TCP/IP are implemented in software.

Protocol Data Units (PDU)

Each PDU must contain two major parts:» Header:

– Identifies how the following parts are to be handled and routed.

» Message:– This is the message body itself.– This is where the protocol is determined

to be character oriented or bit oriented.Header Message Trailer

Communication Standards

The goal of the ISO subcommittee developing the OSI model was to provide a framework for network standards acceptable to all manufacturers

ISO OSI Reference Architecture

The architecture is layered to reduce complexity.» Each layer offers certain services to the

layer immediately above it.» Each layer shields the higher layer from

the details of implementation of how the services are offered.

» Layer "n" on one station carries on a conversation with layer "n" on another network station.

OSI Reference Model

The ISO OSI Layered Model» Application: File transfer, mail, rlogin, etc.» Presentation: Data formatting.» Session: Negotiation and connection.» Transport: End-to-end delivery.» Network: Routing of packets.» Data link: Transfer of frames.» Physical: Cabling system.

Why a Layered Model

7 Application 6 Presentation 5 Session 4 Transport 3 Network 2 Datalink 1 Physical

Reduces complexity Standardizes interfaces Facilitates modular engineering Ensures interoperable technology Accelerates evolution Simplifies teaching and learning

7 Application Network processes to applications 6 Presentation Data representation 5 Session Inter-host communication 4 Transport End-to-end connections 3 Network Addresses and best path 2 Datalink Access to media 1 Physical Binary transmission

Layer Functions

Application Application Presentation Presentation Session Session Transport Transport NetworkNetwork DatalinkDatalink Physical Physical

Layer Functions

bits

frames

packets

segments

Host A Host B

Application Application Presentation Presentation Session Session Transport Transport NetworkNetwork DatalinkDatalink Physical Physical

Data Encapsulation

frame network data frameheader header trailer

segment data header

network segment data header header

data

01001000111010

Data Encapsulation Example

segment data header

network segment data header header

data

Frame Network Segment Data Frame header header header trailer

Data

Segment

Packet

Frame

Bits01111111010101101000100100010110101 Router

Application, Presentation,

and Session Layers

Application Layer

Computer Applications

Word Processing Presentation Graphics Spreadsheet Database Design/Manufacturing Project Planning Others

Network Applications

Electronic mail File Transfer Remote Access Client/Server Process Information Location Network Management WWW Video-Conferencing Others

Application Layer (cont.)

Network Applications(For enterprise

communication) Electronic mail File Transfer Remote Access Client/Server Process Information Location Network Management Others

Internetwork Applications(Extend beyond the enterprise)

Electronic Data Interchange World Wide Web E-mail Gateways Special-Interest Bulletin

Boards Financial Transaction

Services Internet Navigation Utilities Conferencing (Video, Voice,

Data)

Presentation Layer

Text Data

» ASCII, EBCDIC» Encrypted

Sound Video

» MIDI (Musical Instrument Digital Interface)» MPEG (Motion Picture Experts Group)» QuickTime

Presentation Layer

Graphics Visual Images

» PICT(format to transfer QuickDraw graphics between Macintosh or PowerPC programs)

» TIFF (Tagged Image File Format)» JPEG (Joint Photographic Experts Group)» GIF

Provides code formatting and conversion for applications

Session Layer

Coordinates applications as they interact on different hosts

Service Request

Service Reply

Session Layer (contd.)

Network File System (NFS)– Allows trasnparent access to remote network resources

Structured Query Language (SQL) Remote-Procedure Call (RPC)

– RPC procedures are built on clients and executed on servers

X Window System– Allows intelligent terminals to communicate with remote

UNIX machines AppleTalk Session Protocol (ASP)

– Establishes and maintains sessions between an AppleTalk client and server

DNA Session Control Protocol (SCP)

TransportLayer

Transport Layer Overview

Segments upper-layer applications Establishes an end-to-end connection Sends segments from one end host to

another Ensures end-to-end data reliability

Segment Upper-Layer Applications

Application Electronic File TerminalPresentation Mail Transfer

SessionSession

Transport

Transport segments share traffic stream

Application Data Application Data port port

Establishes Connection

sender receiver

synchronize

Negotiate connection

synchronize

Acknowledge

Connection established

Data transfer (send segments)

Establishes Connection

sender receivertransmit

not ready

ready

Resume Transmission

Buffer full process segments

Buffer OK

Reliability with Windowing In the most basic form of reliable

connection-oriented transfer, data segments must be delivered to the recipient in the same sequence that they were transmitted.

Windowing is a method to control the amount of information transferred end-to-end. Some protocols measure information in terms of number of packets

Reliability with Windowing

send 1 window size =1 receive 1 Ack 2

send 2 receive 2 Ack 3

send 1 window size =3 receive 1 send 2 receive 2 send 3 receive 3 Ack 4 send 4

sender receiver

sender receiver

An Acknowledgement Technique

Reliable delivery guarantees that a stream of data sent from one machine will be delivered through a functioning data link to another machine without duplication or data loss. Positive acknowledgement with retransmission is one technique that guarantees reliable delivery of data streams.

The sender keeps the record of each segment it sends and waits for an acknowledgement.

The sender also starts a timer when it sends a segment, and it retransmits a segment it the timer expires before an acknowledgement arrives.

An Acknowledgement Technique

send 1 send 2 send 3 Ack 4 send 4 send 5

send 6Ack 5

send 5Ack 7

sender receiver

1 2 3 4 5 61 2 3 4 5 6

X

Transport to Network Layer

End-to-end segments

Routed packetsRouter

Router

Router

RouterRouter

Summary Presentation layer formats and converts network

application data to represent text, graphics, images, video, and audio.

Session-layer functions coordinate communication interactions between applications.

Reliable transport-layer functions include» Multiplexing» Connection synchronization» Flow control» Error recovery» Reliability through windowing

Physical and Data Link Layers

Physical and Data-Link Standards

The data link layer provides data transport across a physical link. To do so, the data link layer handles physical addressing, network topology, line discipline, error notification, orderly delivery of frames , and optional flow control.

The physical layer specifies the electrical, mechanical, procedural, and functional requirements for activating, maintaining, and deactivating the physical link between end systems.

These requirements and characteristics are codified into standards.

LAN Data-Link Sublayers

Network LLC

Data Link MAC Physical

Logical Link Control

Media Access Control

MAC Frame 802.2 LLC Packet or datagram

LAN Data-Link Sublayers LLC refers upward to higher-layer software

functions. MAC refers downward to lower-layer

hardware functions. LAN protocols occupy the bottom two layers

of OSI reference model: the physical layer and data link layer. The IEEE 802 committee subdivided the data link layer into two sublayers: » The logical link control (LLC) sublayer» The media access control (MAC) sublayer

LAN Data-Link Sublayers

The LLC sublayer provides for environments that need connectionless or connection-oriented services and the data link layer.

The MAC sublayer provides access to the LAN medium in an orderly manner.

LLC Sublayer Functions

Enable upper layers to gain independence over LAN media access.

Allow service access points (SAPs) from interface sublayers to upper-layer functions.

Provide optional connection, flow control, and sequencing services.

Summary

Internetworking evolved to support current and future applications

The OSI reference model organizes network functions into seven layers

Data flows from upper-level user applications to lower-level bits transmitted over network media

Peer-to-peer functions use encapsulation and de-encapsulation at layer interfaces

Most network manager tasks configure the lower three layers

Examples

R R

R RR

R

Router

Router

Router

HTTP and Web Browsing

HTTP Client

Link builder

Minicomputer

HTTP Server

Request

Response

HTTP and Web Browsing

Request: http://www.commm.utoronto.ca/infocom/index.html

Event Message content1.User selects document.2. Network Software of client locates the server host and establishes a two-way connection.3. HTTP client sends message requesting GET/INFOCOM/INDEX.HTML http/1.0 document.4. HTTP daemon listening on TCP port 80 interprets message.5. HTTP daemon sends a result code and a http/1.1 200 OK description of the information that the client Server: Apache/1.2.5 FrontPage

3.0.4 will receive. Content-Length: 414

Content-Type: text/html6. HTTP daemon reads the file and sends the <html> <title> requested file through the TCP port. <title> IEEE Infocom ‘pp –The Future is

now..7. HTTP daemon disconnects the connection.8. Text is displayed by client browser, which interprets the HTML format.

Domain Name System (DNS)

The DNS is a distributed database that resides in multiple machines on the Internet and is used to convert between names and network addresses.

The DNS protocol is used to manage the communication between DNS clients and servers

The DNS clients are called resolvers. The programs that store the

information about the domain name space are called name servers.

Name Servers

The domain database is divided up into parts called zones, which are distributed among various name servers.

The name server that handles a particular zone is said to have authority over that zone.

89

Resolvers

Resolvers are clients that access name servers, and interface user programs to the DNS.

Programs running on a host that need information from the domain name space use the resolver.

The resolver is located on the same host as the program that requests the resolver’s services.

90

A name server can be authoritative over multiple zones as well.

A zone contains the domain names and data that a domain contains, except for domain names and data that are delegated elsewhere.

91

kfupm

ccse itc

ee ri

kfupm zone

kfupm domain

itc zone +

domain

ccse

zon

e +

dom

ain

92

Nameserver

“.”name server

saname server

edu.saname server

kfupm.edu.saname server

“.”

sa

edu

kfupmResolver

reso

lver

que

ry

answer

query for address of

www.kfupm.edu.sa

referral to sa

name server

address of

www.kfupm.edu.sa

93

DNS Query and Response Example

Steps to resolve the name www.commm.utoronto.ca

Event Message content1. Application requests name resolution.2. Resolver composes query message. Header: OPCODE=SQUERY

Question: QNAME=tesla.comm.toronto.edu.,QCLASS=IN, QTYPE=A

3. Resolver sends UDP datagram encapsulating the query message. 3. DNS server looks up address and prepares Header: OPCODE=SQUERY,

RESPONSE, AA a response message. Question: QNAME=tesla.comm.toronto.edu.,

QCLASS=IN, QTYPE=AAnswer: tesla.comm.toronto.edu., 86400

IN A 128.100.11.56

4. DNS sends UDP datagram encapsulating the response message.

Simple Mail Transfer Protocol (SMTP)

A mail client application interacts with a local SMTP sever to initiate the delivery of an email message.» The user prepares an email message that includes

– Recipient’s email address,– Subject line, and– a body

» When the user clicks send, the mail application– Prepares a file with above information and additional

information specifying format (e.g. plain ASCII or MIME extensions to encode non-ASCII data)

– Resolve the name of the local SMTP server using DNS– Then perform the following steps

Steps in sending e-mail using SMTP

Event Message content1. The mail application establishes a TCP connection (port 25) to its local SMTP server

2. SMTP daemon issues the following message to 220 tesla.com.utoronto.edu ESMTP the client indicating its readiness to receive mail. Sendmail 8.9.0/8.9.0; Thu, 2 Jul 2000

05:07:59 –0400 (DT)

3. Client sends a HELO message and identifies itself. HELO bhaskara.com.utoronto.edu.ca

4. SMTP daemon issues a 250 message, indicating 250 tesla.com.utoronto.edu Hello the client may proceed. bhaskara.com [128.100.10.91],

pleased to meet you

5. Client sends sender’s address MAIL FROM: <banerjea@comm.utoronto.ca>

6. If successful, SMTP daemon replies with a 250 <banerjea@comm.utoronto.ca> … 250 message. Sender ok

Steps in sending e-mail using SMTP(contd.)

Event Message content7. Client sends recipient’s address. RCPT TO: alg@nal.utoronto.ca8. A 250 message is returned 250 <banerjea@comm.utoronto.ca> …

Recipient ok 9. Client sends a DATA message requesting DATA permission to send the mail message.10. Daemon sends a message giving the client 354 Enter mail, end with ‘’.’’ on a line permission to send. by itself

11. Client sends the actual text of the message Hi, please …. 12. Daemon indicates that message is accepted 250 FAA00803 Message accepted for

delivery for delivery. A message ID is returned

13. Client indicates that the mail session is over. QUIT14. Daemon confirms the end of the session 221 tesla.comm.toronto.edu

closing connection

Note: Local SMTP server then repeats this process with the destination.

Conceptual Model of a Mail System

Outgoing mail

spool area

Mailboxes forincoming mail

Client(background

transfer)

Server(to accept

mail)

UserInter-face

TCP connectionUser

sends mail

User reads mail

for outgoing mail

for incoming mail

TCP connection

Alias expansion

and forwarding

Alias database

Summary

The examples clearly indicate that a protocol is solely concerned with the interaction between two peer processes, that is, the client and the server.

Application layer protocols operate by using the communication services provided by the TCP and UDP protocols.

Actually, both TCP and UDP operate by using the connectionless service of IP.

top related