cpsc 463 networks and distributed processing

422
1 CPSC 463 Networks and Distributed Processing Willis F. Marti

Upload: elvis-reid

Post on 31-Dec-2015

48 views

Category:

Documents


7 download

DESCRIPTION

CPSC 463 Networks and Distributed Processing. Willis F. Marti. Course Overview. Syllabus/policy {handout} Schedule {handout} Comments on Term Project Course Objectives ... Opinions and Facts. Class Admin. Test taking Attendance & Job Searches Sympathy. Project. Purpose Task - PowerPoint PPT Presentation

TRANSCRIPT

Page 1: CPSC 463  Networks and Distributed Processing

1

CPSC 463 Networks and Distributed

Processing

Willis F. Marti

Page 2: CPSC 463  Networks and Distributed Processing

2

Course Overview

Syllabus/policy {handout}

Schedule {handout}

Comments on Term Project

Course Objectives

...

Opinions and Facts

Page 3: CPSC 463  Networks and Distributed Processing

3

Class Admin

• Test taking

• Attendance & Job Searches

• Sympathy

Page 4: CPSC 463  Networks and Distributed Processing

4

Project

Purpose

Task Network Design

Approach {customer/boss/professor}

Teams {preferred size is 4 or 5}

Page 5: CPSC 463  Networks and Distributed Processing

5

Course Objectives

• Science

• Engineering

• Attitude

• Understand what a network is, especially in the context of distributed systems

• Learn a good model for investigating networks

• Learn some network programming

• Identify (some) real world components

• How networks are built

• Understand there’s more than one correct solution

• Understand “the map is not the territory”.

Page 6: CPSC 463  Networks and Distributed Processing

6

Why Study Networks

• When computers were rare, we studied all the new facets of computers: operating systems, languages, ... As computers became common, we added the fields that have become computer engineering. Now that computers are ubitquitous, we add the study of how best for them to communicate: networking.

• A network is part of a distributed system. Part of computer science (and computer engineering) is learning how to build all the components.

• What is a network? Surprisingly, few people will give you a definition that always fits.

• How will we study networks? There are several methods...

Page 7: CPSC 463  Networks and Distributed Processing

7

Is this a Distributed System?

Computing(CPU)

MassStorage

UserInterface

Just insert a network?

Page 8: CPSC 463  Networks and Distributed Processing

8

Distributed System (!)This represents our definition of a distributed system,

focusing on delivery of services to end users. We will explore this more after we understand more about networks.

Network

Servers (Storage, Compute)

Services

User InterfacesUsers

Users

Page 9: CPSC 463  Networks and Distributed Processing

9

Network Definition

"A network is a collection of media, devices and protocols used to facilitate the exchange of informationbetween computing devices in a manner relativelytransparent to the end user."

Contrast:The Telephone Company (TELCO) & networks.:{network as a collection of media without regard to applications}

Page 10: CPSC 463  Networks and Distributed Processing

10

Still Defining a Network

• An ordered collection

• of media, devices and protocols

• used to facilitate the exchange of information

• between computing devices

• in a manner relatively transparent

• to the end user."

Page 11: CPSC 463  Networks and Distributed Processing

11

Another Definition

• LAN vs WAN vs MAN vs CAN ...

Geography

Page 12: CPSC 463  Networks and Distributed Processing

12

Another Definition, cont.

• LAN - Local Area Network

• WAN - Wide Area Network

• MAN - Metropolitan Area Network

• CAN - A metal container

Page 13: CPSC 463  Networks and Distributed Processing

13

LAN vs MAN vs WAN

• Historical Def’n {physical proximity}

• Advance of Technology changes definitions

• Modern DefinitionsTotal Travel Time

Data Transmission Time

Total Travel Time

Data Transmission Time

<= .01 to .05

LAN:

Page 14: CPSC 463  Networks and Distributed Processing

14

LAN -- Key Points

• Historically, LANs meant fast speed.– Fast speeds meant short(er) distances.

– Therefore LANs became defined by local {short} distances

• the REAL key points– Travel time about 1 to 5% of total time

– LANs ‘tend’ to use broadcast protocols; WANs ‘tend’ to be point-to-point

Page 15: CPSC 463  Networks and Distributed Processing

15

Studying Networking

• by protocols & programs ...

• by technology ...

• by components ...

• Layered Models of a System!

“The key to understanding networks is the idea

of layered architectures.”

Page 16: CPSC 463  Networks and Distributed Processing

16

Layered Architectures-Principles-

Clearly Defined Interfaces Separation of Functions Peer to Peer Protocols Provide Services Up, Request Services Down

Page 17: CPSC 463  Networks and Distributed Processing

17

PHYSICAL

LINK

NETWORK

TRANSPORT

Message

PktsPackets

10010111001 {Bits}

{Signal}

10010111001 {Bits}

PktsPackets

Message

Layering

Page 18: CPSC 463  Networks and Distributed Processing

18

Packet Formats

Framing

Link Header

Data

Data

Data

Data

Data

Data

Data

Network Header

Transport Header

Session Header (?)

Presentation “Header”

Application “Header”

Stream

Packets

Page 19: CPSC 463  Networks and Distributed Processing

19

Protocols and Services

<some function>This:or

this...or

this...?

Page 20: CPSC 463  Networks and Distributed Processing

20

Protocols and Services-a better model

n+1

n-1

n

n-1

n

n+1

Page 21: CPSC 463  Networks and Distributed Processing

21

Which Architecture to Study?

• TCP/IP {Internet suite}

• SNA

• Novell

• IEEE

• OSI Reference Model

Page 22: CPSC 463  Networks and Distributed Processing

22

Network Models

Standards & Committees ANSI IEEE {most important for LANs} EIA ISO {does more than just data standards} ITU-T {international PTT oriented. Formerly CCITT} etc

Standards & Users {cost, flexibility}

Purpose of the Open Systems Interconnection Model{remember, it's just a model}

Page 23: CPSC 463  Networks and Distributed Processing

23

Using Models for Understanding

Models are created by extracting key features, functions and information from a specific domain of interest so that the model contains essential attributes for understanding. Road maps are models. We extract positions of towns and cities and the roads that connect them. We ignore most terrain or reduce it to color. Road maps are good for planning trips by car but relatively useless for determining where to drill for oil. A key part of building a good model is ensuring that all features of interest are included, but only those. When using a model (network or otherwise), remember the limitation: "The map is not the territory."

Page 24: CPSC 463  Networks and Distributed Processing

24

IEEE 802 Protocols

• .1 - Management– .1d - Bridge Spanning Tree

• .2 - Link Layer

• .3 - CSMA/CD [Ethernet]

• .4 - Token Bus

• .5 - Token Ring

• .6 - DQDB

• .7 - MAN

Page 25: CPSC 463  Networks and Distributed Processing

25

(Partial) TCP/IP Stack

DIX Ethernet or ...

ARP

ICMPIP

TCP UDP

DNSTELNET

FTP

Page 26: CPSC 463  Networks and Distributed Processing

26

Why the OSI Reference Model?

• OSI RM is not the ISO protocol(s)

• Not tied to any specific protocol suite

• ‘Clean’ start

• Completeness

Page 27: CPSC 463  Networks and Distributed Processing

27

Example: OSI & the Internet

Application

Presentation

Session

Transport

Network

Data/Link

Physical

NFS

XDR

RPC

UDP

IP

DIX Ethernet

IEEE 802.3

Page 28: CPSC 463  Networks and Distributed Processing

28

The OSI Model

Application

Presentation

Session

Transport

Network

Data/Link

Physical 1

2

3

4

5

6

7{remember, enveloping at each layer}

Page 29: CPSC 463  Networks and Distributed Processing

29

OSI Reference Model

Application

Presentation

Session

Transport

Network

Data/Link

Physical

Application

Presentation

Session

Transport

Network

Data/Link

Physical

{Each layer communicates with its peer by using the services of thelayer just below, and provides services to the layer above. Only thephysical layer has an actual connection}

Page 30: CPSC 463  Networks and Distributed Processing

30

OSI Model, cont

Application

Presentation

Session

Transport

Network

Data/Link

Physical

Application

Presentation

Session

Transport

Network

Data/Link

Physical

{there can be multiple, separate entities at each layer}

Repeater

Bridge

Router

Gateway

Page 31: CPSC 463  Networks and Distributed Processing

31

Physical Layer

• Converts Bits -> Signals & sends signals across the media• Recovers Bits from incoming Signal

Key Aspects of Physical layer specifications:

• Signaling Method• Connectors• Media• Voltages/Power Levels

Media Considered -- Optical Fiber, Broadband Coax, baseband coax, UTP

Media not Considered -- Radio/Microwave/Satellite

Page 32: CPSC 463  Networks and Distributed Processing

32

Data/Link Layer

• Gets bits from A to B along a (logically) single physical link• Provides addressing and error detection.• OSI model talks about error recovery -- not usually implemented in LANs, and only in some point-to-point networks (X.25 best example)

• Why no error recovery? In the case of an error in the packet, where did itcome from and where was it really addressed to...

Page 33: CPSC 463  Networks and Distributed Processing

33

Data/Link Layer

• Gets bits from A to B along a (logically) single physical link• Provides addressing and error detection.• OSI model talks about error recovery -- not usually implemented in LANs, and only in some point-to-point networks (X.25 best example)

• Why no error recovery? In the case of an error in the packet, where did itcome from and where was it really addressed to...

Page 34: CPSC 463  Networks and Distributed Processing

34

Network Layer

• End-to-end packets (each system on the network has a network address

BUT

each packet (is)(may be) treated separately

• This layer is supposed to hide all the messiness of differing link andphysical layer requirements from the upper layers

Page 35: CPSC 463  Networks and Distributed Processing

35

Transport Layer

• End-to-end messages

Usually provides reliable, sequenced byte stream to upper layers.Does error recovery.

• There are options for non-guaranteed transport

Page 36: CPSC 463  Networks and Distributed Processing

36

Session Layer

• Control layer

• Manages 'sessions'

Page 37: CPSC 463  Networks and Distributed Processing

37

Presentation Layer

• Provides information transform services

-> translation->encryption->compression

Page 38: CPSC 463  Networks and Distributed Processing

38

Application Layer

TCP/IP ISO

email SMTP X.400

file transfer FTP FTAM

remote terminal/access TELNET VTS

Page 39: CPSC 463  Networks and Distributed Processing

39

Basic Network Concepts

Circuit switching - {basic TELCO service. Guaranteed responsebecause resources are guaranteed. Inefficient for some applications}Virtual-circuit packet-switching - {divide the info into packets tomultiplex}Datagram packet-switching - {like the US Mail....}

Connectionless vs Connection-oriented{At the Link layer, do we do acknowledgements? At the network layer,doall the packets have to follow the same route?}

Multiplexing - {single media, multiple independent 'circuits'}{putting multiple 'sessions' on a single media}

Page 40: CPSC 463  Networks and Distributed Processing

40

Terminology

• SAP -- Service Access Point {see Fig 1-9}

• Connection Oriented

• Connectionless

• Datagram

• Primitives

Page 41: CPSC 463  Networks and Distributed Processing

41

Modulation

ASK - Amplitude Shift Keying {varying signal strength}

FSK - Frequency Shift Keying {varying signal frequency}

PSK - Phase Shift Keying {don't ask!}

{NB the above three methods are usually applied to signal carriers}

PCM/PWM - Pulse Code Modulation/ Pulse Width Modulation{good for fiber}

Others

"Modification of a transmitted signal to encode information (bits)"

Page 42: CPSC 463  Networks and Distributed Processing

42

Switching

• Circuit Switching– Guaranteed resource

– No size limit on information sent

• Packet Switching - Divides the information into packets; restricts sizes; also sharing of resources

– Virtual Circuit // Connect-oriented

– Datagram // Connection-less

Page 43: CPSC 463  Networks and Distributed Processing

43

Multiplexing

TDM - {time division multiplexing} {low overhead, inefficient}

FDM - {frequency division multiplexing}

STDM - { statistical time division multiplexing} {some overhead, more efficient, may FAIL}

Page 44: CPSC 463  Networks and Distributed Processing

44

Multiplexing Examples

TDM

STDM

ABCD

BADCBADCBADCBAD

2400 2400

2400 2400

9600

4800

ABCD

BACACBDCBDBABBD

Page 45: CPSC 463  Networks and Distributed Processing

45

FDM

Page 46: CPSC 463  Networks and Distributed Processing

46

Multiplexing w/ Packets

Like STDM, except NO "ROUND ROBIN"

Page 47: CPSC 463  Networks and Distributed Processing

47

Physical Layer Issues

• Theoretical Underpinning– or, Bandwidth 101

• Media Characteristics– Optical Fiber

– Coax

– Copper Wire (Twisted Pair)

– Wireless

• Other Useful Ideas

Page 48: CPSC 463  Networks and Distributed Processing

48

Signals

• Propagation - {how fast does the signal travel in that media, esp. compared to light?}

• Frequency - {number of oscillations per second of the electromagnetic field of the signal}

• Bandwidth - {the width/size, in Hz, of the signal -- usually defined by where most of the energy is}

• Data Rate - {the number of bits per second. Distinct from, but related to, frequency and bandwidth}

• Baud - {Changes per second in the signal. Limited by bandwidth.}

Page 49: CPSC 463  Networks and Distributed Processing

49

Freq/BW/DR

Power

Frequency

BW

FREQ

{see Fig 2-1}

Page 50: CPSC 463  Networks and Distributed Processing

50

Maximum Data Rates

• Nyquist: – DataRate <= 2*BandWidth * log2 V

where ‘V’ is the number of values which are encoded into

the signal. In the On/Off, 0/1 world, V = 2. Your highspeed

modem has V = 16.

• Shannon:– The real world is noisy, so Nyquist was an optimist.

• Marti:– Complexity costs money and adds fragility.

So be choosy.

DR ~ 2 * BW {Max by Theory}

DR ~ 1/2 * BW {Practical}

<- In an On/Off world (V = 2)

Page 51: CPSC 463  Networks and Distributed Processing

51

Physical Effects

Bandwidth Limits - {Signals consist of many (infinite) different sine waves, not all of which can be carried by the media}

Dispersion - {Particularly for multimode fiber, different parts of thesignal may move at different speeds, thus changing the shape ofthe signal at the receiver}

Jitter - {Imperfect clock synchronization along the transmission path}

Noise - {Unwanted, external energy that may corrupt the signal}

Page 52: CPSC 463  Networks and Distributed Processing

52

Framing & Synchronization

Synchronous - Sender and receiver somehow share a common clock.good for longer runs of data; more efficient but requires the clock signalsomehow be sent along with the data

Asynchronous - Sender and receiver use different clocks so data runshave to be shorter. Doesn't require the extra clock signal

Synchronous vs Asynchronous - Framing & clocksIsochronous vs Aperiodic - Characteristics of traffic {beware ofconfusion as each writer may mix terms}

{Here synchronization refers to the sender's and receiver's clocks}{Frames are packets added signal needed to transmit them on Physical Layer}

Page 53: CPSC 463  Networks and Distributed Processing

53

Specific Framing

Bit Stuffing - Used to ensure special framing and/or control characters are not sent in the data. A problem because the 'clock' isusually continuous but data may not be there, so we have to know whenthe line is idle and when a frame starts {frame delimiter}

Manchester Encoding - Example of combining clock with data toform a single signal -- no separate line is required. It does require twicethe bandwidth of the original signal

Page 54: CPSC 463  Networks and Distributed Processing

54

ManchesterEncoding

Ensures for each bit there is a clock transition. Data values (0 or 1)are encoded by positive or negative clock transitions in the middle ofthe bit time. Transitions are made at bit edges if needed so that thecorrect transition can be made in the middle of the bit.

Page 55: CPSC 463  Networks and Distributed Processing

55

Media

• Optical Fiber {pg 87} Multimode Single Mode

• Coax {pg 84,85} Broadband Baseband

• Twisted Pair {pg 83} Shielded Unshielded

Page 56: CPSC 463  Networks and Distributed Processing

56

Cost and Performance

Media Types:

UTP

Coax Baseband Broadband

Fiber Multimode Single Mode

IncreasingBandwidth

IncreasingCost

But remember, cost includes --material--LABOR--electronics

Biggest part of installation cost

Page 57: CPSC 463  Networks and Distributed Processing

57

Distances

Media Types:

UTP

Coax Baseband Broadband

Fiber Multimode Single Mode

Typically 100m +/-

200m-500mup to 40km

depends on power budget;can be 100s of km*

* Most LANs use 2km between devices

Page 58: CPSC 463  Networks and Distributed Processing

58

Fiber Facts

CoreCladding

Protective Coating

Core Cladding50 125 Multimode (microns)62.5 125 " "8 to 10 n/a Singlemode

Page 59: CPSC 463  Networks and Distributed Processing

59

Fiber Facts, cont.

"photons"

Modes == Different paths thru core

Since the photons travel at the same speed, but for different distances,the energy is spread out, or dispersed, at the receiver

Fiber is specified as XX Mhz-km. So a specification of 800Mhz-kmmeans you could have a bandwidth of 400Mhz over a 2km distanceor 1.6Ghz over a 0.5km distance.

Dispersion has two components: modal and material

Page 60: CPSC 463  Networks and Distributed Processing

60

Traditional Baseband

Coax

Terminator

Transceiver

Transceiver Cable

Host

Page 61: CPSC 463  Networks and Distributed Processing

61

CATV Systems

Headend

Amplifier

Splitter

NetworkInterfaceUnit

Translator

"Forward" Signal"Return" Signal

Page 62: CPSC 463  Networks and Distributed Processing

62

Twisted Pair

• Just copper wire where each two wires (“pairs”) have been twisted around each other in the cable. {Phone wire}

• Rejects common mode noise

• Minimizes antenna characteristics

• Shielded or Unshielded refers to a ground sheath around the whole cable.

• Cat 3 vs Cat 4 vs Cat 5

Page 63: CPSC 463  Networks and Distributed Processing

63

Physical Design Ideas

Backbone

Distribution

Daisy Chain Home Run Bus

Riser Systems

Page 64: CPSC 463  Networks and Distributed Processing

64

Wireless Overview

• Radio– Mobile

– Cellular

• Microwave

• Satellite

• Infrared/Laser

Page 65: CPSC 463  Networks and Distributed Processing

65

TELCO Architecture

Users

Users

Users

Users

Trunks

CO

CO

CO

CO

Page 66: CPSC 463  Networks and Distributed Processing

66

TELCO Trunking

Older, Analog World: Frequency Multiplexing

Current World: Digitizing & Time Multiplexing

Page 67: CPSC 463  Networks and Distributed Processing

67

ISDN

Integrated Services Digital Network

"Think of defining ISDN by looking at the two pairs of words"

BRI • 2B+D Basic Rate Interface B = 64kbps each D = 16kbp for TELCO signaling

PRI • 23B+D

BISDN: So fast it seems like broadband!

Page 68: CPSC 463  Networks and Distributed Processing

68

ISDN Nets

"User"

GTE

AT&T

Definition points

Page 69: CPSC 463  Networks and Distributed Processing

69

Data/Link Layer Issues

• Protocol & Services

• Topology

• Error Detection & Recovery

Page 70: CPSC 463  Networks and Distributed Processing

70

Topology vs Geography

Logical Layout

"How devices talk toeach other" -or-"How devices heareach other"

Physical Layout

How the signal actually travels

Page 71: CPSC 463  Networks and Distributed Processing

71

Topologies

Bus

Star

Ring

Mesh

Page 72: CPSC 463  Networks and Distributed Processing

72

BUS

• Every node hears every other node's transmissiondirectly.

Page 73: CPSC 463  Networks and Distributed Processing

73

Ring

• Series of unidirectional point-to-point linkswithout "store & forward", usually with a bypassability.

Page 74: CPSC 463  Networks and Distributed Processing

74

Star

• Switching functions all in central node

Page 75: CPSC 463  Networks and Distributed Processing

75

Mesh

• Each node independently routes over (bi-directional) point-to-point links.

Page 76: CPSC 463  Networks and Distributed Processing

76

IEEE & OSI

PHY

MAC

LLC 2

1

LLC = Logical Link ControlMAC = Media Access ControlPHY = Physical

Page 77: CPSC 463  Networks and Distributed Processing

77

Link/Physical Layer Standards

• Ethernet– 10BASET, Fast Ethernet, Gigabit Ethernet

• Token Ring– 4/16MB

• FDDI

• ATM

Page 78: CPSC 463  Networks and Distributed Processing

78

Ethernet & IEEE 802.3

What the IEEE standard covers- Physical layer andinterface to the link layer. IEEE 802.2 is the Link layer standard.

History- DEC/Intel/Xerox came up with it, then submitted toIEEE for standardization. Some changes were made soEthernet is not identical to IEEE 802.3

Differences between Ethernet and 802.3

There are some electrical and connector differences; most equipment uses IEEE 802.3.There is difference in the header. DIX uses TYPE, 802.3uses LENGTH. SInce the frame is limited in size, the two coexist.Most people use the DIX format.

Page 79: CPSC 463  Networks and Distributed Processing

79

Ethernet

• Work started back in 1973 by Bob Metcalfe and David Boggs from Xerox Palo Alto Research Center (PARC).

–He studied the Aloha network and "fixed" the mathematics.

• Experimental Ethernet implemented in 1975.

• Cooperative effort between Digital, Intel, and Xerox produced Ethernet Version 1.0 in 1980. –This also became known as the Blue Book specification or DIX

standard. Ethernet V2.0 adopted in 1982.

• Ethernet was adopted with modifications by the standards committees IEEE 802.3 and ANSI 8802/3.

• Ethernet allows for only connectionless communication.

Page 80: CPSC 463  Networks and Distributed Processing

80

CSMA/CD

"Carrier Sense/Multiple Access with Collision Detection"

"Driving in Boston"

BUS!

"Many stations; Listen before talking; listen while talking; if a collision,backoff and try again"

51.2 microseconds

Page 81: CPSC 463  Networks and Distributed Processing

81

Normal Ethernet Operation

A

B

D

Data

C

Address mismatchpacket discarded

Address mismatchpacket discarded

Address matchpacket processed

Send datato node D

Transmitted packet seenby all stations on the LAN

(broadcast medium)

Page 82: CPSC 463  Networks and Distributed Processing

82

Ethernet Collisions

A

B C

D

Collision

Data transmission for A Data transmission for C

Page 83: CPSC 463  Networks and Distributed Processing

83

CSMA/CD - A Simple Definition

• A network station wishing to transmit will first check the cable plant to ensure that no other station is currently transmitting (CARRIER SENSE).

• The communications medium is one cable, therefore, it does allow multiple stations access to it with all being able to transmit and receive on the same cable (MULTIPLE ACCESS).

• Error detection is implemented throughout the use of a station "listening" while it is transmitting its data.

• Two or more stations transmitting causes a collision (COLLISION DETECTION)

• A jam signal is transmitted to network by the transmitting stations that detected the collision, to ensure that all stations know of the collision. All stations will "backoff" for a random time.

• Detection and retransmission is accomplished in microseconds.

Page 84: CPSC 463  Networks and Distributed Processing

84

Frame/Packet Format

Preamble SFD Dst Src Type Data/Pad FCS

Size 7 1 6 6 2 46-1500 4(octets)

In IEEE 802.3, the Type field is used as a Length field.

Addresses are generally (3) octets vendor code, (3) octets device number.

Page 85: CPSC 463  Networks and Distributed Processing

85

Ethernet Addressing

Each station recognizes three classes of addresses.• Own address• Broadcast address (all 1's)• Optionally, one or more multicast addresses

Major reason for broadcast is address discovery.Multicast addresses are used for specialized link layer functions.

Page 86: CPSC 463  Networks and Distributed Processing

86

Ethernet Cable Names

RG-8 RG-58 22 - 26 AWG 62.5/125 micron10BASE5 10BASE2 10BASET 10BASEF

IEEE 802.3 IEEE 802.3a IEEE 802.3i

Name

Wire Type

IEEE Name

Standard Number

Other names

FiberUnshielded Twisted PairThin coaxialThick coaxial

N/A

Thick net Thin net UTP

Page 87: CPSC 463  Networks and Distributed Processing

87

Thick Coax Makeup

Jacket of PVC or Teflon

Thick braid for EMI

FoilThin braid for EMI

Thin foil bonded to insulation

Center conductor of tin plated solid copper conductor

Teflon is used forfire code regulations

Page 88: CPSC 463  Networks and Distributed Processing

88

Thick Coaxial Connection

Pierce clamp

Transceiver

Transceiver cable

Black marksevery 2.5 meters

to show transceiverplacement

500 meter maximum cable run

Page 89: CPSC 463  Networks and Distributed Processing

89

Transceivers• Transmitter/Receiver: AUI on one side, media on the other

• Used on all Ethernet networks and is the device that allows data to flow between the controller card and the network.

• Detects errors on the bus cable plant and reports them to the station's controller card.

• For thick coaxial cable, the transceiver is external to the controller card and attaches directly to the thick coaxial cable via a special cable known as the transceiver cable.

• External transceivers have a SQE function that enables the controller to determine the status of the transceiver.

• Usually has status indicators (LEDs) physically located on it to indicate the state of the transceiver (transmitting, receiving, collision, and power.)

Page 90: CPSC 463  Networks and Distributed Processing

90

Thin Coaxial Cable Makeup

Jacket made of PVC or Teflon

Polyethylene foam

Tinned copper wire

EMI braided shielding

Page 91: CPSC 463  Networks and Distributed Processing

91

Thin Coaxial Connection

T connector

Directconnection

to card

BNC connector at each cable end

Concatenation of network attachments

Page 92: CPSC 463  Networks and Distributed Processing

92

Thin Coaxial Connection (cont.)

Interface to computer bus

T connector for connection to cable plant

transceiver logicOn-board

BNC connector

AUI connector

02608C

ASIC

Page 93: CPSC 463  Networks and Distributed Processing

93

UTP Makeup

• UTP was standardized by the IEEE 802.3 committee in October of 1990.

• Standardized by the EIA under TIA 568A.

• UTP for LANs is now classified as:

–Category 3 - used for LANs up to 10 Mbps.

–Category 4 - used for LANs up to 16 Mbps.

–Category 5 - used for LANs up to 100 Mbps.

• Cable is made up of 8 strands of 24 AWG wire.–Only 2 pair are used for single 10BASET connection.

Page 94: CPSC 463  Networks and Distributed Processing

94

Unshielded Twisted Pair

Unshielded twisted pairatleast two (2) twists per foot

RJ-45Connector

RJ-45connector

100m max cable run

8 pin 8 pin

Unshielded twisted pair cable

Straight through pins 1, 2, 3 and 6

Repeater unit required

Page 95: CPSC 463  Networks and Distributed Processing

95

Concentrator (Hub) Management• With the concentration of the wiring into a common point, network managers can manage the hub

with specialized software.

• Network management software resides not only in the concentrator but on an external workstation’s device (a PC, for example).

– The workstation can query the concentrator for information.

• Concentrators also allow the control of individual ports.

• This software allows managers to extract information from each card that is inserted in the repeater. You could query the hub for statistics such as:

– number of packets (bytes),

– number of collisions (single and multiple),

– number of framing errors,

– number of time the particular card de-inserted itself from the network,

– ability to turn on/off any repeater card in the hub, and

– all information is time and date stamped.

• With 10BASET, all information is provided on an individual-connection basis, giving a manager information right from the desktop.

Page 96: CPSC 463  Networks and Distributed Processing

96

Ethernet Repeaters• Extend the network by interconnecting multiple segments

– Extend the physical domain of the network

• Governed by the IEEE 802.3c working group standard.

– This governs the electrical specifications of a repeater.

– The physical configurations of a repeater varied from vendor to vendor.

• Some repeaters contain the intelligence to:

– detect collisions per cable plant (will not repeat collision fragments to other cable plants).

– de-insert themselves from a wiring concentrator (when there are excessive errors on the cable plant).

– submit network management information to a central controller.

• Repeaters have been transformed into wiring concentrators or hubs

• Repeaters can be used to interconnect different wiring types but not different access methods (i.e., not Token Ring to Ethernet).

Page 97: CPSC 463  Networks and Distributed Processing

97

IEEE802.3 Efficiency

"WARNING: Opinion"

% Utilization Status

0 - 10 Great!

10 - 40 OK

40 - 60 Performance Problems -- look at it

60+ RIP

Time

SignalOn

"Utilization"

Page 98: CPSC 463  Networks and Distributed Processing

98

Token Ring - IEEE 802.5

What the IEEE standard covers

History

Differences between 802.5 and 802.3

"Physical layer standard (gives link layer format)"

Essentially an IBM standard 'given' to the industry"

"Guaranteed response PrioritiesControlled delays"

Page 99: CPSC 463  Networks and Distributed Processing

99

Token Ring History

• Presented by IBM in 1982 to IEEE 802 committee.

• First prototype developed in 1983 in Geneva, Switzerland.

• Cabling System was announced in 1984.

• Officially announced in 1985.

• Standardized by IEEE in 1985.

• Only one adopted by the IEEE 802.5 committee.

Page 100: CPSC 463  Networks and Distributed Processing

100

Token Ring Technology Summary• Access method by which network attachments gain access to the cable plant

by acquiring a special frame called the token. {Token is a special 24-bit pattern that continuously circulates the ring.}

• Token Ring is a broadcast medium. {To receive data, a destination station performs an address match.}

• The destination station merely copies the frame as it repeats it back to the ring.

• When the frame arrives back to the source station, it strips the frame from the ring and then releases the token (4 megabit operation only).

» The token is allowed to be released prior to frame reception on 16-megabit rings.

• Token Ring originally ran at 4 Mbps. Upgraded in 1989 to 16 Mbps• Maximum frame size for 4 Mbps is 4472.

– This is based only on the fact a station cannot hold the token longer than 10 milliseconds.

• Maximum frame size for 16 Mbps is 17,800.

Page 101: CPSC 463  Networks and Distributed Processing

101

TRN Features

Traffic usually (always in 802.5) unidirectional

RAR (802.5) vs RAT (FDDI) for Token Passing

Recovery from lost token

Priorities

Frame Structure

"data rate of 4 or 16Mbps"

"one frame on the net at a time..."

Page 102: CPSC 463  Networks and Distributed Processing

102

Controller Attachment to a MAU

The IBM 8228 MAU

Shielded or UTP cable Lobe cables

Page 103: CPSC 463  Networks and Distributed Processing

103

Cable Connectors

Token Ring controller

DB-9 connector

RJ-11 or RJ-45connector

Hermaphroditic or RJ-45connectors on MAU

Media filterfor UTP only

MAU

Media filtercan be on-board

Page 104: CPSC 463  Networks and Distributed Processing

104

Multiple MAU Connection

Ring inRing out MAU

Ring inRing out MAU

Ring inRing out MAU

Type 6 patch cables

Page 105: CPSC 463  Networks and Distributed Processing

105

MAU Operation

MAU top view

Relays

Lobe cables

All stations are active

Ring inRing out

MAU bus

Closed Closed Closed

Page 106: CPSC 463  Networks and Distributed Processing

106

MAU Operation (Inactive Station)

MAU top view

Relays

Lobe cables

Ring inRing out

MAU bus

Closed Closed Closed

Inactive station

Page 107: CPSC 463  Networks and Distributed Processing

107

Token Ring Cable Types• Type 1

– A shielded data grade cable with two solid wire twisted pairs.– Available in indoor and outdoor versions.

• Type 2– A Type 1 indoor cable with four solid twisted pairs of 24 AWG wire. – Contains four voice grade wires along with four data grade wires.

• Type 3 – Unused existing telephone wire or EIA category 3 wire (4 Mbps operation).– Category 4 is needed for 16 Mbps (speed of the Token Ring) operation. – Must use a special media filter.

• Type 5– 100/140 micron fiber cable used for fiber optic repeater links.

• Type 6– Often used for patch cables.

» Patch cables can be used for MAU-to-MAU connection or from a wall outlet to a network attachment.

Page 108: CPSC 463  Networks and Distributed Processing

108

Type 3 Media Filter

• Type 3 cable requires a device known as a media filter.

• Its purpose is to filter out any unwanted signals.

• It is a small rectangular device that is usually part of the UTP cable itself.

• It can be a separate device that attaches to the UTP cable at the end of the cable that attaches to the controller card.

• It can be used on 16- or 4-mb Token Rings.

• It is only used with Type 3 (UTP) cable.

Page 109: CPSC 463  Networks and Distributed Processing

109

802.5 Framing

• IEEE 802.5 uses special characters, but does not use bit stuffing!

“1” bit “0” bit

Manchester

Violations!

Page 110: CPSC 463  Networks and Distributed Processing

110

Token Ring Frames

1 byte 1 byte

Physical header Physical trailer

MAC or LLC Frame

Abort frame

SD AC FC DA SA Routing Information Fields

Data FCS ED FSIEEE802.2

no preset size

1 byte 1 byte 1 byte

Token frame

SD AC ED

EDSD

Page 111: CPSC 463  Networks and Distributed Processing

111

Token Ring Frame Field Definitions

SD AC FC DA SA Routing Information Fields

Data FCS ED FS

SD - Starting Delimiter

AC - Access Control

FC - Frame Control

DA - Destination Address

SA - Source Address

FCS - Frame Control Sequence

ED - Ending Delimiter

FS - Frame Status

Legend

IEEE802.2

no preset size

1 byte 1 byte 1 byte 6 bytes 6 bytes <= 18 bytes

1 byte 1 byte 1 or 2 bytes

4 bytes 1 byte 1 byte

DSAP SSAP Control

Page 112: CPSC 463  Networks and Distributed Processing

112

The SD and the AC Fields

P P P T M R R RAC

Bit 0 Bit 7Field

SD J K 0 J K 0 0 0

PPP - priority bits

T - Token bit

M - Monitor bit

RRR - Reservation bits

Page 113: CPSC 463  Networks and Distributed Processing

113

The FC, ED, and FS Fields

Bit 0 Bit 7Field

FC

FS

F F r r Z Z Z Z

A C r r A C r r

A - Address recognized bits

C - Frame copied bits

ED J K 1 J K 1 I EI - Intermediate bit

E - Error bit

FF - indicates a MAC or LLC frame.

ZZZZ - indicates the type of MAC frame.

Page 114: CPSC 463  Networks and Distributed Processing

114

Bit Order Transmissionfor Token Ring

• Bit 0 is the first bit transmitted.

–Bit 0 is the left most bit of the byte.

»Unlike Ethernet, the bits in the bytes are not reversed as they are transmitted.

• Example:

–40-00-12 are the first three bytes of a MAC address.

»Translated to binary:

01000000-00000000-00010010

»As transmitted on a Token Ring:

01000000-00000000-00010010

»Compared to Ethernet transmission:

00000010-00000000-01001000

Page 115: CPSC 463  Networks and Distributed Processing

115

Token Passing Policies (Defn)

• Multiple Token– RAT (FDDI): free token is appended to tail of last packet

• Single Token– ?: Token is released upon receipt of leading edge of own

packet

• Single Packet– RAR (802.5):Token is released upon receipt of trailing

edge of own packet

Page 116: CPSC 463  Networks and Distributed Processing

116

Token Passing Policies (Usage)

• Multiple Token– Allows multiple packets on the segment at one time.

Good when packet length is less than ring latency

• Single Token– More efficient than RAR; when packet length is about the

same as ring latency

• Single Packet– Least efficient, but allows controlling station knowledge

of (un)successful transfer before the token is released (see pg. 224, 1st paragraph)

Page 117: CPSC 463  Networks and Distributed Processing

117

Token Passing Policies (Perf.)

• Multiple Token– Always the best performer, but more complex

• Single Token– Closer to RAR than RAT

• Single Packet– ‘Worst’ performance

KEY POINT: Ratio of ring latency to packet length, a, is real determiner of performance. For a << 1, RAR is OK.

Page 118: CPSC 463  Networks and Distributed Processing

118

Controller Operation - Phases 0 and 1• Five-phase initialization

– Phase 0 - Lobe test

» The controller transmits frames between the controller card and the cable attached between the controller card and the MAU.

» The controller tests to ensure that the lobe cable can successfully transmit and receive frames.

– Phase 1 - Monitor Check

» Station inserts into the ring (flips the relay in the MAU) and looks for special frames that are transmitted by the monitors.

» Sets a timer to wait for these frames.

» If the station does not receive any of the frames, the controller assumes:

• it is the first ring station on the network,

• there is not an Active Monitor present, or

• inserting into the ring disrupted the ring.• The controller may initiate the token claim process.

Page 119: CPSC 463  Networks and Distributed Processing

119

Controller Initialization - Phases 2, 3, and 4

• Phase 2 - Duplicate address check.

–Checks to ensure that it can successfully transmit and receive a frame and to detect other stations that might have the same MAC address.

»The controller transmits a frame to itself.

» If the frame returns with the address recognized bit set, it notifies one of the monitors and removes itself from the ring.

• Phase 3 - Participation in neighbor notification.

–The station transmits a special frame that will identify itself to its downstream neighbor.

–The station should receive a similar frame for its upstream neighbor.

• Phase 4 - Lan Network Manager Notification

–Notifies LAN Network Manager about its presence on the ring

Page 120: CPSC 463  Networks and Distributed Processing

120

Claim Token Process• A ring cannot operate without a token circulating on the ring.

– There is only one token per ring.

• The token-claiming process allows one station to insert the token onto the ring.

– This station will be elected as the AM.

» It will purge the ring (ability to transmit a frame to itself).

» After purging the ring, it will insert a new token on the ring.

• The Token-Claim process can be started when the AM

– detects a loss of signal,

– a timer expires and it has not yet received its AM frame back, or the AM

– cannot receive enough of its own Purge Ring MAC frames.

• It can be started when the SM

– detects loss of signal or

– detects expiration of its timer for receiving SM frames.

Page 121: CPSC 463  Networks and Distributed Processing

121

Details of the Claim Token Process• If there is no token on the ring, all activity will cease on the ring.

– The Active Monitor should be able to recover by purging the ring and issuing a new Token.

– If the Active Monitor cannot recover, the token-claim process will begin.

• Any station will insert its master clock, a 24-bit delay, and start to transmit Token-Claim frames.

– These frames are received by all stations on the ring.

– The station will follow these frames with idle (clock) signals.

– After transmitting the Token Claim frames, the station starts a timer.

» If it does not receive its frames or someone else’s claim frames, it will beacon the ring.

• Once the process is started other stations may participate.

– Stations bid for the right to become the AM.

– The station with the highest priority (MAC address) wins.

– That station becomes the AM.

» It will purge the ring and insert a new token.

Page 122: CPSC 463  Networks and Distributed Processing

122

Claim Token Process Example

A

B

C

D

Detected condition

Token Claimframes

Not participating

Repeat frame

Higher prioritythan C. Doesnot repeat C’s

A transmits its ownToken Claim frames

B has higherpriority than A

B transmits its ownToken Claim frames

1

2 3

4

A

B

C

D

Continuestransmitting

its own

Stops transmittingits own Claim frames

and repeats B’s

RepeatsB's Token

Claim frame

56

7

Stops transmitting its ownand repeats B’s claim frames

8

Page 123: CPSC 463  Networks and Distributed Processing

123

Token Ring Transmit Mode• A station that needs to transmit receives the SD of approaching frame. This

station quits transmitting idles (clock signals).

• Checks for priority.

– If the priority in the frame is greater than the station's priority, then

» the station sets reservation bits and awaits new token.

• If the priority in the frame is less than or equal to the station’s priority then

– the station changes the T bit in the AC field from a 0 to a 1,

– appends its information to the rest of the frame and transmits the frame.

– If the end of its transmission is reached and it has not received its current transmission back, the station

» transmits idle characters and awaits current transmission.

• When the station receives its frame back it will strip the frame and release the token.

• The station enters normal repeat mode.

Page 124: CPSC 463  Networks and Distributed Processing

124

Token Ring Copy Mode• The destination Token Ring controller recognizes its address in the

destination field of a received frame and copies the frame into its buffer.

• If at any time an error is detected, the copy phase ends and the controller sets the A and E bits and repeats the frame back to the ring.

• If no errors are found, the destination sets the A and C bits and repeats the frame back to the ring.

• The destination station enters Normal Repeat mode.

• The frame travels on the ring until it reaches the originator and that station strips the frame off of the ring and submits the token to the ring.

Page 125: CPSC 463  Networks and Distributed Processing

125

Normal Repeat Mode• A station in normal repeat mode checks current

frames and token for signalling errors.

– If any errors are found the station sets the E bit and repeats the frame back to the ring.

• A station in this mode also checks every frame for its address. –A duplicate address could be found.

– If a duplicate address is found, the station will transmit a soft error MAC frame to one of the monitors.

Page 126: CPSC 463  Networks and Distributed Processing

126

The Active Monitor (AM)• Functional address is C00000000001.

• It must be present in order for the ring to function properly.

• The AM is the kingpin of the ring.

• The AM:

– tracks lost tokens and ensures that only one token exists on a single ring.

– monitors frames and priority tokens that circulate the ring more than once.

– initiates neighbor notification,

– provides a latency buffer to recover the clock signal and so that at least 24 bits (the size of the token) can be transmitted on the ring, and

– supplies the master clocking .

Page 127: CPSC 463  Networks and Distributed Processing

127

Token Recovery

• Monitor Station– 1 station becomes responsible for monitoring the token

for token loss or token busy

• Time Outs– Token time out (‘Beaconing’)

– No monitor (Claim frames (highest addr wins)

Page 128: CPSC 463  Networks and Distributed Processing

128

Options for Token Ring• For 16 megabit rings, early token release allows a ring station to release the

token before receiving its original frame back.

– It is based on the ring length

» A station will not release the token when it is still transmitting its frame and it has started to receive its frame back.

– Allows greater use of Token Ring bandwidth.

• Token Ring operates at 4 and 16 Mbps.

– 4 and 16 Mbps controllers are not allowed on the same ring.

» Ring will beacon when this condition occurs.

– To have 4 and 16 Mbps ring interoperate, you must use a data forwarding device such as a bridge or a router.

• IBM is currently experimental with a new Token Ring controller which allow it to operate between 52 - 100 Mbps.

Page 129: CPSC 463  Networks and Distributed Processing

129

Data Link Layer

Uses 'bit pipe' Physical Layer to send packets

Packet Formats - Generic: Framing (Layer 1), Addresses andcontrol information (layer 2), and data (info from layer 3 and up)

Point-to-Point vs Broadcast - Key idea is that not allpacket formats are alike. One needs to look at particluar technologiesto see what is needed.

Page 130: CPSC 463  Networks and Distributed Processing

130

Data Link Services

• Unacknowledged Connectionless Service– Most LANs

– Upper layers handle error recovery

• Acknowledged Connectionless Service– Odd duck. Example?

• Connection-oriented Service– Reliable Delivery ...

Page 131: CPSC 463  Networks and Distributed Processing

131

Link Protocols

Used to provide reliability. Basic idea can be used at any layer

ABP

SRP

GoBack N

Windowing & Flow Control

Don't need to know details at this time, but know general operationand that they provide assured delivery.

Page 132: CPSC 463  Networks and Distributed Processing

132

Performance

• Overhead vs Frame Length

• Error rate (bit error vs block error)

• Physical Layer– distance

– propagation delay

Page 133: CPSC 463  Networks and Distributed Processing

133

Error Control

Error Detection - Methods: Parity, Checksum, CRC --generically Frame Check Sequences

Error Correction - The basic idea is to add redundant informationso that the receiver can deocde the message even if some (specified)number of bits are damaged (e.g., Hamming codes)

Error Recovery includes error correction but also includes actions takento get a message retransmitted

Page 134: CPSC 463  Networks and Distributed Processing

134

Connection Oriented Services

• Two modes of operation:

– Operational

– Non-operational

• Operational mode incorporates three functions:

– Link establishment.

» A source station sends a frame to a destination station requesting a connection.

» The destination station may accept or reject the connection request.

– Information transfer.

» Allows information to be transferred after a connection is set up and the required handshaking has taken place.

» Reliable information is transferred between the two stations.

– Link termination.

» Either side of the connection may terminate the connection at any time.

Page 135: CPSC 463  Networks and Distributed Processing

135

IEEE & OSI {again}

PHY

MAC

LLC 2

1

LLC = Logical Link ControlMAC = Media Access ControlPHY = Physical

Page 136: CPSC 463  Networks and Distributed Processing

136

IEEE 802.2 Fields

Destinationaddress

Source address

Lengthfield

IEEE 802.2 field CRC

DSAPaddress

SSAPaddress

Control Information

1 byte 1 byte 1 or 2 bytes

Length of the Information fieldis access method dependent

I/G D D D D D D D D C/R S S S S S S S

Bit 0

Page 137: CPSC 463  Networks and Distributed Processing

137

SAP Types

• E0 - Novell NetWare

• F0 - NetBIOS

• 06 - TCP/IP

• 42 - Spanning Tree BPDU

• FF - Global SAP

• F4 - IBM Network Management

• 7F - ISO 802.2

• 00 - NULL LSAP

• F8, FC - Remote Program Load

• 04, 05, 08, 0C - SNA

• AA - SNAP

• 80 - XNS

• FE - OSI

Page 138: CPSC 463  Networks and Distributed Processing

138

SubNetwork Access Protocol (SNAP)• Most common implementation of LLC1 is from a subsection of the IEEE 802.2

standard known as SNAP.

• At the time of IEEE 802.2’s introduction, most network protocols were designed to use the Ethernet packet format.

• SNAP allows for the migration of the standard network protocols to the IEEE 802.2 format.

• Supported by TCP/IP, NetWare, OSI, AppleTalk, and many other protocols.

• The second purpose for the SNAP protocol is to allow those protocols that do not support the IEEE 802 standard to be able to traverse IEEE 802 LANs.

• SNAP uses a reserved SAP: AA (for both the DSAP and SSAP).

– It uses the unnumbered frame format: control field equal to 03.

– Actual SNAP header consumes 5 bytes:

» Three bytes for the Organizationally Unique Identifier (OUI) field, and

» Two bytes for an Ethernet Type field.

Page 139: CPSC 463  Networks and Distributed Processing

139

Protocol Discriminator

OUIType field

3 bytes 2 bytes

Length field DSAP SSAP Control SNAP

header Data Pad CRC-32Sourceaddress

Destinationaddress

AA AA 03

Protocol discriminator

00-00-00 08-00

Page 140: CPSC 463  Networks and Distributed Processing

140

Verification

• Finite State Machines

• Estelle & Other Languages

• Petri Nets

• Blind Faith (or, code it in C...)

Page 141: CPSC 463  Networks and Distributed Processing

141

Naming Conventions{and Confusion}

Segment

Segment

Segment

Segment

Bridge

Repeater

Router

Link Layer Subnet

Link Layer NetworkNetwork Layer Subnet

Network Layer Network

Page 142: CPSC 463  Networks and Distributed Processing

142

Naming Conventions {cont}

Application

Presentation

Session

Transport

Network

Data/Link

Physical

Application

Presentation

Session

Transport

Network

Data/Link

PhysicalRepeater

Bridge

Router

Page 143: CPSC 463  Networks and Distributed Processing

143

Intro to ATM

• Asynchronous Transfer Mode

• Text References– Sect 2.6

– Sect 3.6.3

– Sect 5.6

– Sect 6.5

Page 144: CPSC 463  Networks and Distributed Processing

144

ATM Background

• Outgrowth of TELCO transition to integrated services

• Only “real” >100Mbit standard

• Offers multiservice (voice video data) potential

• Switched architecture familiar to TELCOs, not to high speed data networks

Page 145: CPSC 463  Networks and Distributed Processing

145

What is ATM?

AAL

ATM

PLPhysical

Data/Link

Network

Transport

Session

Presentation

Application Note: Tanenbaum considersthis more a network layertechnology.

Page 146: CPSC 463  Networks and Distributed Processing

146

ATM - A layered standard

AAL - ATM Adaptation Layer • Assembles and disassembles broadband servicesinto a stream of cells • Each cell has a header that contains routing information

ATM - Asynchronous Transfer Mode • Switches the cells around the network based on the routing information in the header

Physical Layer • Provides the physical transportation of cells across the network

(Note: CCITT reference model, p. 63)

Page 147: CPSC 463  Networks and Distributed Processing

147

ATM - A Switched Architecture

• Cells (small, fixed length packets) are switched in a connection-oriented manner but not using circuits like today’s voice.

Switch Switch

Edge Device

Edge Device

Page 148: CPSC 463  Networks and Distributed Processing

148

What is ATM Switching?

• Why small cells?– (32+64)/2=48 + 5 header bytes

– Mixed Traffic

• Packet (random)vs Circuit (TDM) Switching

• Q.2931– SVC, PVC

Page 149: CPSC 463  Networks and Distributed Processing

149

Physical Layer Options

• SONET (US)/ SDH (Europe)• SMDS• DQDB

• Speeds from DS3 on up! (45Mbs to Gbps)• OC-3c => 155.52Mbps => 149.76Mbps ^ optical carrier ^ 3rd level in heirarchy ^ full duplex (two strands of fiber)• Also OC-12c (622Mbps), OC-48c (2048Mbps)

[Look at the interesting way to frame cells]

Page 150: CPSC 463  Networks and Distributed Processing

150

ATM Adaptation Layer(AAL)

• Classes of Service: 1, 2, 3/4, 5 1: circuit emulation 2: variable bit rate service 3/4: connection oriented data service 5: connectionless data service

• SAR - Segmentation and Reassembly

• Convergence Sublayer the miscellaneous category

Page 151: CPSC 463  Networks and Distributed Processing

151

ATM Cell

• ATM cells are constant size packets of 53 bytes size. -- 48 bytes payload, 5 bytes header/overhead.

(8 bits wide)VPI

VPI VCI

VCI

VCI

HEC

Type Res CLP

VPI - Virtual Path IDVCI - Virtual Channel IDType - Payload type (internal)Res - reservedCLP- Cell loss priorityHEC- Header Error Control

Page 152: CPSC 463  Networks and Distributed Processing

152

VCI/VPI Operation

• A Virtual Channel exists between two switching points

VCI = a VCI = b

• A Virtual Path contains 'bundles' of VCs

Page 153: CPSC 463  Networks and Distributed Processing

153

ATM Switch Architecture

• Crossbar

• Banyan

• TDM busses

• Buffering– Input

– Output

– Both?

Page 154: CPSC 463  Networks and Distributed Processing

154

ATM Protocols

• UNI, NNI

• Services

• “LAN” Stuff

Page 155: CPSC 463  Networks and Distributed Processing

155

ATM Services

• CBR

• VBR (RT, NRT)

• UBR

• ABR

Page 156: CPSC 463  Networks and Distributed Processing

156

ATM Quality of Service

• QoS: A contract

• Traffic Descriptors

• Cell Rate Options (pg 462)

• Traffic Shaping

• Traffic Policing

Page 157: CPSC 463  Networks and Distributed Processing

157

ATM Congestion Control

• Admission Policy

• Reservation System

• Rate Based Control

• Other

Page 158: CPSC 463  Networks and Distributed Processing

158

ATM Flow Control

• The leaky bucket algorithm

• CLP in ATM header

• Frame Relay comparisons

Page 159: CPSC 463  Networks and Distributed Processing

159

Routing

•IISP (Interim Inter-switch Signaling Protocol)

•PNNI (Private Network-Network Interface)

•Phase 1•Phase 2

Page 160: CPSC 463  Networks and Distributed Processing

160

IISP

• Interim– Allowed multi-vendor interoperability before

completion of NNI

• Signaling

• Routing via manually configured NSAP prefixes

Page 161: CPSC 463  Networks and Distributed Processing

161

PNNI

• Topology abstraction

• Peer group(group of nodes)– One switch elected Peer Group Leader

– All nodes in group have identical view of group

• Hierarchy of logical groups– Up to 105 levels of hierarchy

Page 162: CPSC 463  Networks and Distributed Processing

162

PNNI Routing

A117

A13

A12

A11

B25

A1BA2

B3

B2B1A23

A22

A21

NSAP Domain

A11

A12

A13

A2 B

View from A117 at A11

Page 163: CPSC 463  Networks and Distributed Processing

163

Sequence of Events

• A117 -> B25• Forward to switch (A11)

– Switch knows topology of A1 group

– B reachable by A2 - A2 reachable by either A12 or A13

• DTL (Designated Transit List)– [A12][A2][B]– [A22][A23][B]– [B2]

Page 164: CPSC 463  Networks and Distributed Processing

164

ATM “LAN” Stuff

• LAN == Link Layer Domain

• ELANs & VLANs

• LANE & MPOA– LECS, LES, BUS

Page 165: CPSC 463  Networks and Distributed Processing

165

LANE v1

• LAN Emulation

• No QoS (Quality of Service) Support

• Uses AAL5 signaling optimized for data transport

entire cell payload available for user data

• LEC - LAN Emulation Client

• LAN Emulation Service LECS - LAN Emulation Configuration Server LES - LAN Emulation Server BUS - Broadcast and Unknown Server

• STP (Spanning Tree Protocol) supported

Page 166: CPSC 463  Networks and Distributed Processing

166

LEC - LAN Emulation Client

• Software process on any ATM-connected LAN switch, router, PC, or workstation

• Layer 2 process

• Prior knowledge of certain parameters LEC’s ATM address LAN type to be emulated maximum data frame size any route descriptors (for SR bridging) whether it is willing to proxy (respond to LE-ARP) LAN name - SNMPv2 display string

Page 167: CPSC 463  Networks and Distributed Processing

167

LECS - LAN Emulation Configuration Server

• One per administrative domain

• Gives identity of ELAN (Emulated LAN)

• Returns ATM address of LES, type of LAN emulated, and maximum PDU size of ELAN

• Controls which physical LANs are combined to form VLANs (Virtual LAN)

• LECS address known via ILMI or its well-known NSAP address

Page 168: CPSC 463  Networks and Distributed Processing

168

LES- LAN Emulation Server

• Adds LEC’s to ELAN

• Assigns LECID to joining LEC

• Table of address information of LEC MAC address proxy for MAC address Token Ring route descriptors

• LECs can communicate directly with each other only when they are connected to the same LES

• Multiple LESs on the same physical ATM LAN

• Answers LE-ARP requests from LECs

Page 169: CPSC 463  Networks and Distributed Processing

169

BUS- Broadcast and Unknown Server

• During address resolution LEC forwards all frames to the BUS floods frames to all LECs after address resolved flush protocol used to guarantee order of cells

• All multicast and broadcast traffic sent through BUS

• Traffic limited to 10 frames/second

• Intelligent BUS resolve destinations CLS- connectionless server

Page 170: CPSC 463  Networks and Distributed Processing

170

LANE Setup

Page 171: CPSC 463  Networks and Distributed Processing

171

Connections

• All SVC (switched virtual circuits)

• SVCs required: LECs and LECS LES and LECS Control Direct - LECs and LES pt-mpt Control Distribute - LES to LECs Multicast Send - LECs and BUS pt-mpt Multicast Forward - BUS to LECs Data Direct - LEC and LEC

• PVC (permanent virtual circuit) possible to connect LEC and LECS

Page 172: CPSC 463  Networks and Distributed Processing

172

Virtual Channel ConnectionsVirtual Channel Connections

LANE Client (LEC) LANE Client

(LEC)

LANE Server (LES)

LANE Configuration Server (LECS)

ATM Host

LAN Switch

Configuration Direct VCC

Configuration Direct VCC

Control Direct VCC

Control Direct VCC

Control Distribute VCC

LAN Switch

ATM Host

LANE Client (LEC) LANE Client

(LEC)

Multicast Forward VCC

Data Direct VCC

Multicast Send VCC

Multicast Send VCC

Broadcast and Unknown Server (BUS)

Page 173: CPSC 463  Networks and Distributed Processing

173

NHRP

• Next Hop Resolution Protocol

• Grew out of ATMARP

• Only IP

• Allows shortcut routes (pt-pt) direct VCCs across ATM network

• Address resolution across multiple IP networks

• If network unknown, request forwarded to other NHSs (Next-hop Server) NHS with knowledge will forward response to source router

• Router must have ability to bypass default route

Page 174: CPSC 463  Networks and Distributed Processing

174

RSVP

• Resource Reservation Protocol

• Provides QoS (Quality of Service) guarantees

• Operates in simplex each direction has separate reservation maps well to ATM (two individual VCCs)

• Built on IP, but no data transport built-in

• Only if resources available and does not conflict with policy

• Flowspec (bandwidth and delay) and filterspec (type of packets) transmitted downstream hop by hop

Page 175: CPSC 463  Networks and Distributed Processing

175

MPOA

• Multiprotocol over ATM

• EDFG (Edge Device Functional Groups) existing LAN segments via LAN switches

• AHFG (ATM-attached Host Functional Groups) ATM-connected host

• Layer 3

• Only supports IP for now

• Uses LANE for Layer 2 forwarding within a single Layer 3 subnet

• Adaptation of NHRP to provide connectivity between hosts in different subnets

Page 176: CPSC 463  Networks and Distributed Processing

176

MPOA Operation

Page 177: CPSC 463  Networks and Distributed Processing

177

Competing Technologies

• “Fast Ethernet”– 100BASE-TX, 100BASE-FX,100BASE-T4, 100BASE-VG

• FDDI, FDDI- II

• HPPI

• Gigabit Ethernet (IEEE 802.3z)

Page 178: CPSC 463  Networks and Distributed Processing

178

ATM Issues

• SONET/SDH duplication of services

• ATM overhead

• ATM granularity and bandwidth management

• ATM & connectionless service

• End point synchronization

• Flow Control !!! (bandwidth allocation, correlated traffic)

• ATM Forum

Page 179: CPSC 463  Networks and Distributed Processing

179

“Internetworking”

• Bridges– Transparent bridges

– Source Routing - Transparent Bridges

• Routers (Network Layer)

• Brouters

1 1

2

3

2 2

1 1

Page 180: CPSC 463  Networks and Distributed Processing

180

Why Bridges

• Isolation of Physical Layer Effects

• Bandwidth Multiplication

• Security or Traffic Isolation

Page 181: CPSC 463  Networks and Distributed Processing

181

Segmenting Traffic

Workstations

File server

Terminals

Terminal server

LAN traffic

LAN traffic

Host

Bridge

Page 182: CPSC 463  Networks and Distributed Processing

182

Transparent Bridges• Interconnect multiple cable segments to allow

for extension of a network.

• Can be used to interconnect different access methods (Ethernet to Token Ring) and different physical layers.

• Operate at the data link layer.

• They are protocol transparent.

–They are designed to operate regardless of the upper-layer protocol.

–They operate on the source and destination address in the MAC header.

Page 183: CPSC 463  Networks and Distributed Processing

183

T-L-F Bridges

• Bridges only forward traffic destined for other cable segments.

• They operate transparently to any stations that are active on the network.

• Packet formats and software drivers on the workstations remain the same.

• Bridges do not have to be programmed with the addresses of all the devices on the network.

Page 184: CPSC 463  Networks and Distributed Processing

184

Learning, Filtering, and Forwarding

Terminals

Node A Node B

Node C

Node D

Cable segment 2

Cable segment 1

Node E

Forwarding table

Node C, D and F are on this cable segment through port 2.

Nodes A, B, and E are on thiscable segment though port 1.

Port 2

Port 1

Node F

Bridge

Page 185: CPSC 463  Networks and Distributed Processing

185

Filtering - An Example

A 1B 1

C 2 D 2

Node A Node B

Node C Node D

Fowarding Table

Filtered

Cable segment 1

Cable segment 2

Port ID 1

Port ID 2

Packet transmitted

Page 186: CPSC 463  Networks and Distributed Processing

186

Forwarding - An Example

Node A Node B

Node C Node D

Forwarded

Cable segment 1

Cable segment 2

Forwarding tableA 1B 1

C 2 D 2

Port ID 1

Port ID 2

Page 187: CPSC 463  Networks and Distributed Processing

187

Forwarding Beyond One Bridge

Node A

Node D

Node B

Node C

Cable segment Z

Cable segment Y

Cable segment X

Cable segment V

A B

A B

A B

C D

C D

C D

Bridge table

Bridge 3

Bridge 2

Bridge 1

Page 188: CPSC 463  Networks and Distributed Processing

188

Loops• Complexity of bridging arises when two or more

bridges interconnect the same two cable segments.

• This is called providing redundancy or providing a loop.

• There are problems with this type of design including:

–duplicate packets,

–broadcast packets, and

–unknown destination packets.

Page 189: CPSC 463  Networks and Distributed Processing

189

Duplicate Packets

Node A Node B

Node C Node D

Single packet transmitted

Two packets received

Cable segment 1

Cable segment 2

Bridge 2Bridge 1

Page 190: CPSC 463  Networks and Distributed Processing

190

Broadcasts

Node A Node B

Node C Node D

Broadcast packet transmitted

Cable segment 1

Cable segment 2

Packet received andtransmitted back by

second bridge

Loop

Bridge 2Bridge 1

Page 191: CPSC 463  Networks and Distributed Processing

191

Unknown Destination Address

Node A Node B

Node C Node D

Destination Z packet transmitted

Cable segment 1

Cable segment 2

Packet received andtransmitted back by

second bridge

Loop

Bridge 2Bridge 1

Page 192: CPSC 463  Networks and Distributed Processing

192

Spanning Tree Algorithm

• Bridged networks must allow for redundancy. Only one path should be enabled to any destination on the network.

• STA is a protocol unto itself. Don’t confuse it with the transparent bridge protocol. IEEE 802.1d

• In an active STA topology certain bridges are allowed to forward packets.

–Other bridges will participate in the STA but do not forward packets.

–These are backup bridges that dynamically become available.

• Bridges that do not forward packets are placed in blocking mode.

–These bridges still participate in the spanning tree protocol.

Page 193: CPSC 463  Networks and Distributed Processing

193

Source Routing Bridges• Developed as a bridge protocol for Token Ring LANs.

• Source routing gained popularity due to IBM’s support of it.

– It is easy to install a source route network.

– It is not easy to grow a source route network into a large network.

• Invented due to technical limitations of the source route chip set.. Early source route chip sets could not be set for promiscuous mode.

• Source routing was also invented to allow two non-routing protocols to be placed on a LAN: NetBIOS and SNA.

• Source Routing does not build forwarding tables based on MAC addresses.

• Most of the intelligence for this algorithm is found in the network stations.

• Each frame carries complete route information with it.

Page 194: CPSC 463  Networks and Distributed Processing

194

Source Routing Features

• Source routing requires split intelligence to be carried in the node and the bridge.

• All frames contain routing information, which does produce more overhead.

• Uses STA to configure which bridges will forward single route broadcast frames.

• All paths are active which legally allows loops to be designed.

• Provided a routing solution for those protocols that could not be routed (NetBIOS).

• Easy to follow ring/MAC address for troubleshooting.

Page 195: CPSC 463  Networks and Distributed Processing

195

Source Routing Features (cont.)

• Source Routing originated as an alternative to transparent bridging

• Originally, Token Ring could not be placed in promiscuous mode ( requirement for transparent bridging) and therefore an alternative model was created

• Allowed for SNA and NetBIOS traffic an attempt to enjoy the benefits of routing

–As a data link layer implementation.

Page 196: CPSC 463  Networks and Distributed Processing

196

Source Routing Overview

• Each separate ring is assigned a unique ring number, assigned on the source route bridge port and not on the ring station.

• Each bridge is assigned a bridge number. There is a single number for the whole bridge, no matter how many ports it has.

• End stations try to find destination ring stations by broadcasting special discovery frames.

• A frame will contain source route information based on one bit in the source address.

• A source route frame may not cross more than seven bridges.

–At the eighth bridge, the frame is discarded.

Page 197: CPSC 463  Networks and Distributed Processing

197

Source Routing Example

Ring 4 Ring 3

Node 1 Node 2

MAU

Find a station on

the local ring

Find a station off

ring

1

2

MAU

Bridge 5

Bridge 6

Bridge 7

Page 198: CPSC 463  Networks and Distributed Processing

198

Routing Information Field

Starting Delimiter

AccessControl

Frame Control

Destination Address

Source Address

OptionalRouting

Information Field

Destination ServiceAccess Protocol

(DSAP)

Source ServiceAccess Protocol

(SSAP)

Rest of TokenRing frame

RoutingControl

RouteDesignator

RouteDesignator . . . . . .

B B B L L L L L D F F F r r r r Ring number Bridgenumber

12 bits 4 bits1 - F

bridge IDs

2 bytes Up to 8 RD fields

Routing Information Indicator (RII)

1 - 4095

rings

Page 199: CPSC 463  Networks and Distributed Processing

199

The Route Designator

Ring B Ring A

Routing Control

TokenFrame Header

Token FrameTrailer

RoutingInformation

Field

Routing Control

TokenFrame Header

Token FrameTrailer

RoutingInformation

Field

00B1 00A0

RD1 RD2RCRC

Discoveryframe

Bridge 1

Page 200: CPSC 463  Networks and Distributed Processing

200

Source Route Frame Types• Four types of Source Route frames:

–Single Route Explorer (SRE)

»Also known as Spanning Tree Explorers (STE)

•So named by the IEEE 802.5 working group

–All Routes Explorer (ARE)

–Specifically Routed Frame (SRF)

–Single Route Explorer with a specific route return.

Page 201: CPSC 463  Networks and Distributed Processing

201

Token Ring to Ethernet Conversion

SD AC FC DA SA RIF DSAP SSAP CTRL OUI Type Info FCS ED FS

DA SA Type Info FCSPreamble

Copy andbit reverse

CopyDiscard

Token Ring frame

Ethernet frame

SNAP header

Page 202: CPSC 463  Networks and Distributed Processing

202

Ethernet to Token Ring Conversion

DA SA Type Info FCSPreamble

SD AC FC DA SA RIF DSAP SSAP CTRL OUI Type Info FCS ED FS

Copy andbit reverse

Copy

Insert

Ethernet frame

Token Ring frame SNAP header

Page 203: CPSC 463  Networks and Distributed Processing

203

Token Ring to IEEE 802.3 Conversion

Copy andbit reverse Token Ring frame

CutInsert Copy

IEEE 802.3 frame

DA SA Info FCSPreamble SFD Length DSAP SSAPCTRL PAD

SD AC FC DA SA RIF DSAP SSAP CTRL Info FCSED FS

Page 204: CPSC 463  Networks and Distributed Processing

204

IEEE 802.3 to Token Ring Conversion

Copy andbit reverse

Token Ring frame

CutInsert Copy

IEEE 802.3 frame

SD AC FC DA SA RIF DSAP SSAP CTRL Info FCSED FS

DA SA Info FCSPreamble SFD Length DSAP SSAPCTRL PAD

Page 205: CPSC 463  Networks and Distributed Processing

205

Network Layer Functions

• Key Layer in Internet Architecture

• End-to-end Packets

• Adapt to lower layers

1 12 2

3

Page 206: CPSC 463  Networks and Distributed Processing

206

Network Layer

• Design Goals– ‘Independent’ of layer 1 & 2 implementations

– Hide layer 1 & 2 details from upper layers

• Architecture– Connection oriented

– Connectionless

– (where should reliability be done?)

• Services– Routing (Path selection)

– Adaptation to different lower layers

Page 207: CPSC 463  Networks and Distributed Processing

207

Routing Algorithms

• Goals– Optimality

– Fairness

– Stablility

– Robustness

– Correctness

– Simplicity

• Adaptive vs Static

• Congestion Control

Page 208: CPSC 463  Networks and Distributed Processing

208

Adaptive Routing

• Centralized

• Isolated

• Distributed

Page 209: CPSC 463  Networks and Distributed Processing

209

Distributed Routing

• Metric - Vector Algorithms– sometimes called shortest path

– Bellman-Ford most famous

– Knowledge of immediate neighbors

– Result is “first step” in path to ultimate destination

• Link State Algorithms– OSPF {Open Shortest Path First}

– Knowledge of network layer map (connectivity)

Page 210: CPSC 463  Networks and Distributed Processing

210

Congestion Control

RESEARCH ISSUE!

• Resource Reservation

• Packet Discarding

• Flow Control

Page 211: CPSC 463  Networks and Distributed Processing

211

Routers - Directly Attached Networks

Node A

Node D

Network 1

Network 100

B

CSend packetto router Z

Packet is given to the router

Find network 100

Router forwards packetto network station D

Step 1

Step 2

Step 3

Step 4

Router Z

Page 212: CPSC 463  Networks and Distributed Processing

212

Routers - Non-Directly Attached Networks

• If the destination network is not directly attached to the router, the router will forward the packet to another router in the forwarding path of the destination network.

• Router-to-router communication is directly MAC addressed.

• Will all routers in the path perform the same decisions as the previous router?

• The last router in the path to the destination will forward the packet directly to the destination.

• Important to note that the data link MAC headers will constantly change while the packet is being forwarded.

– Very little information in the network header will change.

» The network layer header in the packet will contain the originator’s full address and final destination address of the packet.

» The full address of a network station is the combination of the network ID and its MAC address.

• This uniquely identifies any station on the internet.

Page 213: CPSC 463  Networks and Distributed Processing

213

Multiprotocol Routers• LANs currently operate with many different types of protocols.

–Apple Computers can use AppleTalk.

–UNIX workstations use TCP/IP.

–Client/Server applications could use Novell NetWare.

• To require one router for each protocol on the LAN is not efficient.

• Multiprotocol routers were invented to handle this.

–Arrived around 1986.

–Routes not only based on the network IDs but are able to pass the packet to the correct protocol processor by examining the Type of packet.

Page 214: CPSC 463  Networks and Distributed Processing

214

Multiprotocol Routers - A Block Diagram

Bridge Router

Route onnetwork IDs

Forward on MAC address

Incoming packet Bridged or routed packet

Combine both into one

box

Can packet be routedbased on protocol type?

Bridge packet if not

Page 215: CPSC 463  Networks and Distributed Processing

215

Routing Diagram

Network 1

Network 2

Network 3

Network 4

A

B

C

D

E

F

G

H

MAC addresses Router Z

Router Y

Router X

Page 216: CPSC 463  Networks and Distributed Processing

216

Routing Information Protocol (RIP)

• Known as a routing table update protocol

• Developed by Xerox and gained widespread acceptance by the proliferation of TCP/IP’s implementation of it in UNIX.

• Other protocols (AppleTalk, NetWare) adopted RIP as their standard routing update protocol.

• Known as a distance vector protocol.

– Vector is an adjacent router and the distance is how far away (hops) the

network is.

– One hop is considered one router traversed.

• Devised for relatively stable, small-to-medium size networks (less than 16 routers in diameter) .

Page 217: CPSC 463  Networks and Distributed Processing

217

Calculating the Cost

Network 1

Network 2

Network 3

Network 4

Network Hops

2 1

3 1

1 2

Network Hops

1

1

1

2

Network Hops

1

1

2

3

3

4

2

1

3 2

Transmittedroutingtable

Transmittedroutingtable

Internal routingtable

Router A

Router B

Router C

Page 218: CPSC 463  Networks and Distributed Processing

218

IP Routing

• Making Decisions

• Gathering Information

• ICMP

Page 219: CPSC 463  Networks and Distributed Processing

219

Routing Table

Network Mask Router Hops Age Port ID 3 255 C 1 30 1 4 255 C 1 30 2 2 255 B 2 15 2 1 255 B 3 45 2

Page 220: CPSC 463  Networks and Distributed Processing

220

Example: TCP/IP

• Not the only way to do things ...

• But well tested in the field

• Brief History

• TCP/IP vs ISO protocols

Page 221: CPSC 463  Networks and Distributed Processing

221

References TCP/IP

• Overall -- Douglas Comer– Internetworking with TCP/IP, Vol I, 3d ed.

– Internetworking with TCP/IP, Vol II

– Internetworking with TCP/IP, Vol III (Sockets)

– Internetworking with TCP/IP, Vol III (TLI)

• Unix Programming -- W. Richard Stevens– Unix Network Programming

– Advanced Unix Network Programming

• Stevens & Wright– TCP/IP Illustrated Vol I

– TCP/IP Illustrated Vol II

– TCP/IP Illustrated Vol III

Page 222: CPSC 463  Networks and Distributed Processing

222

TCP/IP Stack

1

2

3

4

5 -7

OSI

DIX Ethernet or ...

ARP

ICMPIP

TCP UDP

DNSTELNET

FTP

Page 223: CPSC 463  Networks and Distributed Processing

223

Notes on TCP/IP Suite

• TCP/IP preceded the OSI Reference Model

• Layers 1 & 2 are not part of the standard

• Functions above the Transport Layer are consolidated

Page 224: CPSC 463  Networks and Distributed Processing

224

Brief Definitions

• ARP -- Address Resolution Protocol

• IP -- Internet Protocol

• ICMP -- Internet Control Message Protocol

• UDP -- User Datagram Protocol

• TCP -- Transmission Control Protocol

• DNS -- Domain Name System

• FTP -- File Transfer Protocol

• TELNET -- remote terminal

Page 225: CPSC 463  Networks and Distributed Processing

225

Other TCP/IP Protocols

• Routing Protocols -- RIP, OSPF, EGP, GGP

• BOOTP - Bootstrap Protocol

• RARP - Reverse ARP

• TFTP - Trivial FTP

• HTTP - Hyper Text Transfer Protocol

• SMTP - Simple Mail Transfer Protocol

• SNMP - Simple Network Management Protocol

Page 226: CPSC 463  Networks and Distributed Processing

226

Layer Protocols

DNSQuery DNS

Reply

SYN

SYN/ACK

ACKCaller Callee

{TCP Establishment}

ARPRequest ARP

Reply

Page 227: CPSC 463  Networks and Distributed Processing

227

IP Functionality

• Presents single, virtual network to user

• Connectionless Delivery

• Packet Routing

• Interface to Lower Layers

Page 228: CPSC 463  Networks and Distributed Processing

228

IP Addresses

• “Dotted Decimal”

32 bit (4 byte) address, written by taking each byte as an unsigned number

• Address Classes [first octet]

– A - <net> < > <host> < > 1-126

– B - <net> < > <host> < > 128-191

– C -< > <net> < > <host> 192-223

– D - special subset of C 224-239 multicast

– E - reserved 240-254

• Netmask – a 32 bit value which, when ANDed with an address, selects

only the network part

Page 229: CPSC 463  Networks and Distributed Processing

229

Netmask Usage

“Do a bitwise AND then compare for equality of results”

<src addr> & netmask =?= <dst addr> & netmask

if comparison is equal, then both src & dst are on same (sub)net.

Same netmask

Page 230: CPSC 463  Networks and Distributed Processing

230

Netmask Examples

S= 128.194.100.10M= 255.255.255.0result 128.194.100.0

D= 128.194.200.10M= 255.255.255.0result 128.194.200.0

Not Equal

S= 128.194.12.10M= 255.255.255.0result 128.194.12.0

S= 67.194.18.10M= 255.255.240.0result 67.194.16.0

D= 128.194.12.110M= 255.255.255.0result 128.194.12.0

D= 67.194.10.10M= 255.255.240.0result 67.194. 0.0

?

?

Page 231: CPSC 463  Networks and Distributed Processing

231

Special Address Conventions

• This host

• Host on this net

• Limited broadcast

• Directed broadcast

• Loopback

all 0’s

127 anything (usually 1)

net

hostall 0’s

all 1’s

all 1’s

Page 232: CPSC 463  Networks and Distributed Processing

232

IP Header0 16 31

VERS HLEN SERVICE TYPE TOTAL LENGTH

FLAGS FRAGMENT OFFSETIDENTIFICATION

TIME TO LIVE PROTOCOL HEADER CHECKSUM

SOURCE IP ADDRESS

DESTINATION IP ADDRESS

1984

IP OPTIONS (IF ANY) PADDING

DATA

...

24

Page 233: CPSC 463  Networks and Distributed Processing

233

IP Packet Handling (rcv)

receiving

Transport Layer (TCP or UDP)

Sockets

IP

Link {DIX Type or 802.3 DSAP}

Other

Physical

Page 234: CPSC 463  Networks and Distributed Processing

234

IP Packet Handling (xmit)

sending Local or Non-Local ?

ARP

Search RoutingTable

Found! Missing!

ICMP Error

Send locally...

Page 235: CPSC 463  Networks and Distributed Processing

235

A

Bridges or Routers

B C

D

1

2

3

4

5

Address & Netmask1: 131.122.24.12 255.255.255.02: 131.122.31.253 255.255.255.03: 131.121.18.12 255.255.240.04: 131.121.24.18 255.255.240.05: 131.121.31.254 255.255.240.0

Page 236: CPSC 463  Networks and Distributed Processing

236

ICMP

• ping– ECHO Request/Reply

• traceroutetraceroute to falcon.ece.utexas.edu (128.83.196.10),

30 hops max, 40 byte packets

1 exit_133 (128.194.133.254) 2 ms 2 ms 2 ms

2 exit_128 (128.194.128.254) 2 ms 3 ms 2 ms

3 FDDI-T3.TAMU.EDU (128.194.1.13) 3 ms 3 ms 3 ms

4 FDDI-WAN.TAMU.EDU (165.91.128.17) 5 ms 4 ms 6 ms

5 sprint-gw-h1-0.the.net (129.117.16.161) 20 ms 5 ms 5 ms

6 ut8-h1-0.the.net (129.117.16.241) 8 ms 9 ms 21 ms

7 129.117.20.12 (129.117.20.12) 7 ms 11 ms 7 ms

8 ens.gw.utexas.edu (128.83.7.132) 16 ms 23 ms 21 ms

9 ece-e0.gw.utexas.edu (128.83.249.251) 12 ms 9 ms 9 ms

10 * * *

Page 237: CPSC 463  Networks and Distributed Processing

237

Project

• Purpose

• Options– Network Design

– Software (?)

• Approach {customer/boss/professor}

• Teams {prefered size is 3}

Page 238: CPSC 463  Networks and Distributed Processing

238

Project Phases

1. Enthusiasm

2. Disillusionment

3. Panic

4. Search for the Guilty

5. Punishment of the Innocent

6. Praise and Honors for the Non-participants

"almost a joke, but too often true!"

Page 239: CPSC 463  Networks and Distributed Processing

239

Project Schedules

EndStart*

* A miracle occurs

"don't let yourself plan like this"

Page 240: CPSC 463  Networks and Distributed Processing

240

Network Design

• An iterative, interactive process"you have to ask questions, & you'll never get it all in onemeeting with the customer"

• More than just selecting the media"remember you're designing a system -- make sure you look atsomething for all 7 layers of the OSI model"

• More than one right answer"don't be dogmatic. stay open to other soltuions than the one youfeel is technically best."

Page 241: CPSC 463  Networks and Distributed Processing

241

Network Design,cont

• What does the customer want to do?• What does the customer want to use?

{tentative design time}

• What are the customer's desires (biases)?

• Check for completeness...

• Check for integration...

• Implementation Plan

Time"Do them in order. Each step is important"

Page 242: CPSC 463  Networks and Distributed Processing

242

Functions

"the 2 main reasons for a network are connectivity and resource sharing"

Electronic Mail

File Sharing • Transfer • Virtual disk/files

Resource Sharing • Printers/plotters etc • Modems • CPU • Disk

Connectivity • Remote login

Software Management

Page 243: CPSC 463  Networks and Distributed Processing

243

Resources

"Remember to be precise!"

Systems Qty Mfg Version Software

Geography Distances Constructions Standards

Page 244: CPSC 463  Networks and Distributed Processing

244

Tentative Design

• Meant to bring out Key features ...

• ... and Decision points ...

with the Customer.

• Provide your “best” solution, and be ready with alternatives.

– Features vs “Costs”

• CYA, or “say it with memos”

Page 245: CPSC 463  Networks and Distributed Processing

245

User Input

"listen.

understand that you are the expert, responsible for making sure both sides understand each other.

But there are many different solutions to any networking problem."

Page 246: CPSC 463  Networks and Distributed Processing

246

Completeness

Integration

"Have you covered all the functions needed?"

"Does it all work together?"

Page 247: CPSC 463  Networks and Distributed Processing

247

Implementation"Make sure it can be built."

Sequence of actions

(1) Identify key points in schedule

(2) Provide alternative plans for problems

• Plan • Build • Test • Turn over

Page 248: CPSC 463  Networks and Distributed Processing

248

Project “Hints”

• READ the lecture slides– Ask the user closed end questions

– Don’t try to ask too much at one session

– No preconceived scenarios

• Remember Inventory (equip., s/w, space)

• Tentative Design– Informal

– High Level

– Drawings are “Good Things”

Page 249: CPSC 463  Networks and Distributed Processing

249

More Hints

• Look in catalogs

• Report Format;– Problem statement: don;t just repeat what I said

– Solution HIghlights

» Alternatives considered

» Word Description (logical, physical)

• Bill of Materials– Specific Items (model, brand)

– Costs aren;t very important

Page 250: CPSC 463  Networks and Distributed Processing

250

Transport Layer

• Services– Reliable Delivery

– or Not!

• Protocols– Internet: TCP, UDP

– ISO: TP0 thru TP4

Page 251: CPSC 463  Networks and Distributed Processing

251

Transport Services

Framing

Link Header

Data

Data

Data

Data

Data

Data

Data

Network Header

Transport Header

Session Header (?)

Presentation “Header”

Application “Header”

User

Provider

{see page 481}

Page 252: CPSC 463  Networks and Distributed Processing

252

Delivery Services

• First layer that can really provide reliability

• Reliability means sequencing, error recovery, acknowledgements

• Not every application needs (wants) reliability

Page 253: CPSC 463  Networks and Distributed Processing

253

Quality of Service

• New idea from the voice, video folk

• Not (yet) part of Internet protocols– RSVP in process

• Unclear which layer guarantees QoS

Page 254: CPSC 463  Networks and Distributed Processing

254

Generic Transport Service Primitives

• Listen– notify Transport layer a call is expected

• Connect– establish Transport layer connection

• Send (or Write)

• Receive (or Read)– Both could be connectionless

• Disconnect (or Close)

Page 255: CPSC 463  Networks and Distributed Processing

255

Berkeley Sockets

• ‘Sockets’ are one of the 2 major Unix network programming application programming interfaces.

• The other is the System V Transport Layer Interface (TLI).

• Sockets are biased towards Unix and C.

• Good references are Doug Comer’s Vol III– both of them!

Page 256: CPSC 463  Networks and Distributed Processing

256

Unix File I/O

• Unix treats a file as a ‘stream of bytes’

• API calls: open, creat, read, write, lseek, close

• All operate on file descriptors

• File descriptors are int’s, but represent a more complex structure

Page 257: CPSC 463  Networks and Distributed Processing

257

Socket I/O

• Transport layer also provides ‘stream of bytes’ type service to the upper layers

• API calls:– socket: Initialize data structure

– bind: set addresses

– listen: specify a queue

– accept: wait for connection

– connect: initiate a connection

– read, write, recv, send: transfer data

– close, shutdown: terminate connection

– recvfrom, sendto: datagrams

Page 258: CPSC 463  Networks and Distributed Processing

258

Overview -- connection

Server

Client

socket() bind() listen() accept() read()

connect()socket() bind() write()

server blocks

Optional(!!)

Page 259: CPSC 463  Networks and Distributed Processing

259

Overview -- connectionless

Server

Client

socket() bind() recvfrom() sendto()

sendto()socket() bind() recvfrom()

server blocks

Page 260: CPSC 463  Networks and Distributed Processing

260

Socket Paradigm

• Setup is ‘client/server’ because someone has to start the conversation

• BUT, communication is bidirectional (either end can read or write)

• Sockets (in Unix) are multiprotocol:– TCP/IP, UNIX, XNS {address families}

Page 261: CPSC 463  Networks and Distributed Processing

261

Server Types

• Iterative– Receive request, process it, go to next on queue

– Best in connection-less environment

• Concurrent– Receive request, fork process, reset socket

– Best when extended interaction is needed

Page 262: CPSC 463  Networks and Distributed Processing

262

Socket ‘Details’

• If you don’t want to block on a read, look at the select system call.

• You’ll need the following includes:– #include <sys/types.h>

– #include <sys/socket.h>

• Program examples are available on net.

Page 263: CPSC 463  Networks and Distributed Processing

263

Managing Connections

• Addressing

• Identifying duplicate TPDUs

• Three-way handshakes

• Flow control

• Crash recovery (largely ignored)

Page 264: CPSC 463  Networks and Distributed Processing

264

TCP

• Reliable, sequenced stream of bytes

• Virtual circuit

• Buffered transfer

• Unstructured

• Full Duplex

Page 265: CPSC 463  Networks and Distributed Processing

265

TCP - How it Works

• Positive Acknowledgements w/ Retransmission

• Sliding Windows

• Pages 531, 532 give the programmer’s state machine info

Page 266: CPSC 463  Networks and Distributed Processing

266

TCP Features

• A protocol, not a package

• Ports (Well Known Ports)

• Out of Band, or URGENT, data

• Timeouts– RTT Estimation (Karn’s Algorithm) (pg 541)

• Congestion– Slow-Start Methodolgy

• Limitations

Page 267: CPSC 463  Networks and Distributed Processing

267

TCP Header0 16 31244 10

HLEN RESERVED CODE BITS

DATA

...

PADDINGOPTIONS (IF ANY)

CHECKSUM URGENT POINTER

WINDOW

ACKNOWLEDGEMENT NUMBER

SEQUENCE NUMBER

SOURCE PORT DESTINATION PORT

Page 268: CPSC 463  Networks and Distributed Processing

268

TCP Connection Management

• Three Way Handshake– SYN, SYN/ACK, ACK

• May be viewed as two Simplex connections

• Window management– Advertising Zero Window Size

– Nagle’s algorithm

– Silly Window Syndrome

Page 269: CPSC 463  Networks and Distributed Processing

269

UDP

DATA

...

0 16 31

SOURCE PORT DESTINATION PORT

MESSAGE LENGTH CHECKSUM

• Your basic datagram

• No acknowledgements, no reliability

• Why use it?

Page 270: CPSC 463  Networks and Distributed Processing

270

Transport Layer Performance

• Timeout Values

• Inadvertent Synchronized Loads

• Latency (Bandwidth-delay product)

• MTU, MSS values

• Router impact

Page 271: CPSC 463  Networks and Distributed Processing

271

Performance Hints

• CPU normally is the bottleneck– most time is spent in protocol stacks, not on the wire

• Per-packet overhead means big packets are much more efficient…

• But delays to create big packets impact interactive applications

• Easy to increase bandwidth, impossible (?) to reduce propagation delay

Page 272: CPSC 463  Networks and Distributed Processing

272

Performance Challenges

• Gigabit networks

• Satellites

Page 273: CPSC 463  Networks and Distributed Processing

273

Packet Tracing -- Putting it all together

• Packet tracing: the actions of observing packets as they appear on the media and deriving the activities occuring on hosts; or, knowing the top-level commands issued and predicting the packets that will appear on the media.

Page 274: CPSC 463  Networks and Distributed Processing

274

Motivations for Packet Tracing

• Understanding network protocols

• Debugging your network

• Debugging applications that work over the network

Page 275: CPSC 463  Networks and Distributed Processing

275

Layer Protocols

DNSQuery DNS

Reply

SYN

SYN/ACK

ACKCaller Callee

{TCP Establishment}

ARPRequest ARP

Reply

Page 276: CPSC 463  Networks and Distributed Processing

276

Examples - 1

• Assumptions:Host A, IP Address 128.194.1.2

Host B, IP Address 128.194.1.3

netmask 255.255.255.0

ARP caches and bridge tables are empty

All hosts know DNS Server is 128.194.1.3

Trace command “DNS Query” initiated on Host A

A B

1

Page 277: CPSC 463  Networks and Distributed Processing

277

Answer - 1

Seg DAE SAE “type” SAIP DAIP

1 FF EA ARP Req 1.2 1.3

1 EA EB ARP Reply 1.3 1.2

1 EB EA DNS Q 1.2 1.3

1 EA EB DNS R 1.3 1.2

Page 278: CPSC 463  Networks and Distributed Processing

278

Examples - 2

• Assumptions:Host A, IP Address 128.194.1.2

Host B, IP Address 128.194.1.3

Host C, IP Address 128.194.1.4

netmask 255.255.255.0

ARP caches and bridge tables are empty

All hosts know DNS Server is 128.194.1.3

Trace command “DNS Query” initiated on Host AB

A

1

C

2

Page 279: CPSC 463  Networks and Distributed Processing

279

Answer - 2

Seg DAE SAE “type” SAIP DAIP

1 FF EA ARP Req 1.2 1.3

2 FF EA ARP Req 1.2 1.3

1 EA EB ARP Reply 1.3 1.2

1 EB EA DNS Q 1.2 1.3

1 EA EB DNS R 1.3 1.2

Page 280: CPSC 463  Networks and Distributed Processing

280

Examples - 3

• Assumptions:Host A, IP Address 128.194.1.2

Host B, IP Address 128.194.1.3

netmask 255.255.255.0

ARP caches and bridge tables are empty

All hosts know DNS Server is 128.194.1.3

Trace command “telnet 128.194.1.3” initiated on Host A

A B

1

Page 281: CPSC 463  Networks and Distributed Processing

281

Answer - 3

Seg DAE SAE “type” SAIP DAIP

1 FF EA ARP Req 1.2 1.3

1 EA EB ARP Reply 1.3 1.2

1 EB EA TCP SYN 1.2 1.3

1 EA EB SYN/ACK 1.3 1.2

1 EB EA TCP ACK 1.2 1.3

Page 282: CPSC 463  Networks and Distributed Processing

282

Examples - 4

• Assumptions:Host A, IP Address 128.194.1.2

Host B, IP Address 128.194.1.3

netmask 255.255.255.0

ARP caches and bridge tables are empty

All hosts know DNS Server is 128.194.1.3

Trace command “telnet B” initiated on Host A

A B

1

Page 283: CPSC 463  Networks and Distributed Processing

283

Answer - 4

Seg DAE SAE “type” SAIP DAIP

1 FF EA ARP Req 1.2 1.3

1 EA EB ARP Reply 1.3 1.2

1 EB EA DNS Q 1.2 1.3

1 EA EB DNS R 1.3 1.2

1 EB EA TCP SYN 1.2 1.3

1 EA EB SYN/ACK 1.3 1.2

1 EB EA TCP ACK 1.2 1.3

Page 284: CPSC 463  Networks and Distributed Processing

284

Examples - 5

• Assumptions:Host A, IP Address 128.194.1.1

Host B, IP Address 128.194.2.2

Host X, IP Address 128.194.1.254 on segment 1

Host X, IP Address 128.194.2.254 on segment 2

netmask 255.255.255.0

ARP caches and bridge tables are empty

All hosts know DNS Server is 128.194.1.3

Trace command “telnet 128.194.2.2” initiated on Host A

1 2

BAX

3

2 2

1 1

Page 285: CPSC 463  Networks and Distributed Processing

285

Examples - 5 cont.

Routing table on A:

Net Mask Router

0.0.0.0 0.0.0.0 128.194.1.254

Routing table on B:

Net Mask Router

0.0.0.0 0.0.0.0 128.194.2.254

Routing table on X:

Net Mask Router

Page 286: CPSC 463  Networks and Distributed Processing

286

Answer - 5

Seg DAE SAE “type” SAIP DAIP

1 FF EA ARP Req 1.1 1.254

1 EA EX1 ARP Reply 1.254 1.1

1 EX1 EA TCP SYN 1.1 2.2

2 FF EX2 ARP Req 2.254 2.2

2 EX2 EB ARP Reply 2.2 2.254

2 EB EX2 TCP SYN 1.1 2.2

2 EX2 EB SYN/ACK 2.2 1.1

1 EA EX1 SYN/ACK 2.2 1.1

1 EX1 EA TCP ACK 1.1 2.2

2 EB EX2 TCP ACK 1.1 2.2

Page 287: CPSC 463  Networks and Distributed Processing

287

Problem A -1

Use the data and diagram to show the packets resulting from the command "telnet B" being

executed on host C. Assumptions: The diagram consists of 8 numbered ethernet segments,

5 bridges (unlabeled rectangles), two routers (X, Y) and hosts A, B, C. ARP caches are

empty. Tables on bridges are empty. Routing entries are as shown below. Host A is the

DNS nameserver and its IP address is known to all machines.

Netmask for 128.194 is 255.255.255.0.

A- 128.194.15.1, ethernet e1

B- 128.194.99.2, ethernet e2

C- 128.194.12.3, ethernet e3

X- seg 7:128.194.15.100, ethernet e5

seg 3:128.194.12.100, ethernet e6

Y- seg 8:128.194.99.101, ethernet e7

seg 4:128.194.12.101, ethernet e8

Page 288: CPSC 463  Networks and Distributed Processing

288

Problem A - 2

Page 289: CPSC 463  Networks and Distributed Processing

289

Problem A - 3

Host Network Netmask Router

A: 0.0.0.0 0.0.0.0128.194.15.100

B: 128.194.12.0 255.255.255.0128.194.99.101

128.194.15.0 255.255.255.0128.194.99.101

C: 128.194.15.0 255.255.255.0128.194.12.100

0.0.0.0 0.0.0.0128.194.12.101

X: 128.194.99.0 255.255.255.0128.194.12.101

0.0.0.0 0.0.0.0128.194.12.101

Y: 128.194.15.0 255.255.255.0128.194.12.100

0.0.0.0 0.0.0.0128.194.12.100

Page 290: CPSC 463  Networks and Distributed Processing

290

Decode Example - 1

33 cfl02 -> h-207-200-71-52.netscape.com TCP D=80 S=1977 Syn Seq=1011631 Len=0 Win=0

0: 0000 ef03 efb0 00a0 2435 5343 0800 4500 ........$5SC..E.

16: 002c 6f03 0000 3c06 f2c2 80c2 8547 cfc8 .,o...<......G..

32: 4734 07b9 0050 000f 6faf 0000 0000 6002 G4...P..o.....`.

48: 0000 036d 0000 0204 05a0 0000 ...m........

Page 291: CPSC 463  Networks and Distributed Processing

291

Decode Example - 2

36 h-207-200-71-52.netscape.com -> cfl02 TCP D=1977 S=80 Syn Ack=1011632 Seq=1144453529 Len=0 Win=49152

0: 00a0 2435 5343 0000 ef03 efb0 0800 4500 ..$5SC........E.

16: 002c 914c 4000 3206 9a79 cfc8 4734 80c2 .,[email protected]..

32: 8547 0050 07b9 4436 f999 000f 6fb0 6012 .G.P..D6ù...o.`.

48: c000 0577 0000 0204 05b4 15f8 ...w.......ø

Page 292: CPSC 463  Networks and Distributed Processing

292

Decode Example - 3

37 cfl02 -> h-207-200-71-52.netscape.com TCP D=80 S=1977 Ack=1144453530 Seq=1011632 Len=0 Win=2880

0: 0000 ef03 efb0 00a0 2435 5343 0800 4500 ........$5SC..E.

16: 0028 6f04 0000 3c06 f2c5 80c2 8547 cfc8 .(o...<......G..

32: 4734 07b9 0050 000f 6fb0 4436 f99a 5010 G4...P..o.D6ù.P.

48: 0b40 d1f4 0000 0204 05a0 0000 .@..........

Page 293: CPSC 463  Networks and Distributed Processing

293

Decode Example - 4 56 cfl02 -> h-207-200-71-52.netscape.com TCP D=80 S=1977 Ack=1144453530 Seq=1011632 Len=374 Win=2880

0: 0000 ef03 efb0 00a0 2435 5343 0800 4500 ........$5SC..E.

16: 019e 6f08 0000 3c06 f14b 80c2 8547 cfc8 ..o...<..K...G..

32: 4734 07b9 0050 000f 6fb0 4436 f99a 5018 G4...P..o.D6..P.

48: 0b40 a905 0000 4745 5420 2f65 7363 6170 [email protected] /escap

64: 6573 2f73 6561 7263 682f 696d 6167 6573 es/search/images

80: 2f68 6f72 697a 6f6e 7461 6c62 6172 2e67 /horizontalbar.g

96: 6966 2048 5454 502f 312e 300d 0a49 662d if HTTP/1.0..If-

112: 4d6f 6469 6669 6564 2d53 696e 6365 3a20 Modified-Since:

128: 5765 646e 6573 6461 792c 2031 362d 4170 Wednesday, 16-Ap

144: 722d 3937 2030 303a 3430 3a31 3620 474d r-97 00:40:16 GM

160: 543b 206c 656e 6774 683d 3534 0d0a 5265 T; length=54..Re

176: 6665 7265 723a 2068 7474 703a 2f2f 686f ferer: http://ho

192: 6d65 2e6e 6574 7363 6170 652e 636f 6d2f me.netscape.com/

208: 6573 6361 7065 732f 7365 6172 6368 2f6e escapes/search/n

224: 7473 7263 6872 6e64 2d31 2e68 746d 6c0d tsrchrnd-1.html.

240: 0a43 6f6e 6e65 6374 696f 6e3a 204b 6565 .Connection: Kee

256: 702d 416c 6976 650d 0a55 7365 722d 4167 p-Alive..User-Ag

272: 656e 743a 204d 6f7a 696c 6c61 2f32 2e30 ent: Mozilla/2.0

288: 2028 5769 6e31 363b 2049 290d 0a48 6f73 (Win16; I)..Hos

304: 743a 2068 6f6d 652e 6e65 7473 6361 7065 t: home.netscape

320: 2e63 6f6d 0d0a 4163 6365 7074 3a20 696d .com..Accept: im

336: 6167 652f 6769 662c 2069 6d61 6765 2f78 age/gif, image/x

352: 2d78 6269 746d 6170 2c20 696d 6167 652f -xbitmap, image/

368: 6a70 6567 2c20 696d 6167 652f 706a 7065 jpeg, image/pjpe

384: 670d 0a43 6f6f 6b69 653a 204e 4554 5343 g..Cookie: NETSC

400: 4150 455f 4944 3d31 3030 3065 3031 302c APE_ID=1000e010,

416: 3132 3336 3139 6130 0d0a 0d0a 123619a0....

Page 294: CPSC 463  Networks and Distributed Processing

294

Decode Example - 5

58 h-207-200-71-52.netscape.com -> cfl02 TCP D=1977 S=80 Ack=1012006 Seq=1144453530 Len=280 Win=49152

0: 00a0 2435 5343 0000 ef03 efb0 0800 4500 ..$5SC........E.

16: 0140 92eb 4000 3206 97c6 cfc8 4734 80c2 .@[email protected]..

32: 8547 0050 07b9 4436 f99a 000f 7126 5018 .G.P..D6ù...q&P.

48: c000 3e23 0000 4854 5450 2f31 2e31 2032 ..>#..HTTP/1.1 2

64: 3030 204f 4b0d 0a53 6572 7665 723a 204e 00 OK..Server: N

80: 6574 7363 6170 652d 456e 7465 7270 7269 etscape-Enterpri

96: 7365 2f33 2e30 0d0a 4461 7465 3a20 5375 se/3.0..Date: Su

112: 6e2c 2032 3420 4175 6720 3139 3937 2030 n, 24 Aug 1997 0

128: 383a 3135 3a33 3820 474d 540d 0a43 6f6e 8:15:38 GMT..Con

144: 7465 6e74 2d74 7970 653a 2069 6d61 6765 tent-type: image

160: 2f67 6966 0d0a 4c61 7374 2d6d 6f64 6966 /gif..Last-modif

176: 6965 643a 2054 7565 2c20 3135 2041 7072 ied: Tue, 15 Apr

192: 2031 3939 3720 3233 3a34 303a 3136 2047 1997 23:40:16 G

208: 4d54 0d0a 436f 6e74 656e 742d 6c65 6e67 MT..Content-leng

224: 7468 3a20 3534 0d0a 4163 6365 7074 2d72 th: 54..Accept-r

240: 616e 6765 733a 2062 7974 6573 0d0a 436f anges: bytes..Co

256: 6e6e 6563 7469 6f6e 3a20 6b65 6570 2d61 nnection: keep-a

272: 6c69 7665 0d0a 0d0a 4749 4638 3961 0b00 live....GIF89a..

288: 1400 9100 00ff ffff 6699 9900 0000 0000 ........f.......

304: 002c 0000 0000 0b00 1400 0002 0f8c 8f01 .,..............

320: cbed 0fa3 9cb4 da8b b3de 9c17 003b .............;

Page 295: CPSC 463  Networks and Distributed Processing

295

Decode Example - 6

59 cfl02 -> h-207-200-71-52.netscape.com TCP D=80 S=1977 Ack=1144453810 Seq=1012006 Len=0 Win=2880

0: 0000 ef03 efb0 00a0 2435 5343 0800 4500 ........$5SC..E.

16: 0028 6f09 0000 3c06 f2c0 80c2 8547 cfc8 .(o...<......G..

32: 4734 07b9 0050 000f 7126 4436 fab2 5010 G4...P..q&D6..P.

48: 0b40 cf66 0000 0204 05a0 0000 [email protected]........

Page 296: CPSC 463  Networks and Distributed Processing

296

Decode Example - 7

60 h-207-200-71-52.netscape.com -> cfl02 TCP D=1977 S=80 Fin Ack=1012006 Seq=1144453810 Len=0 Win=49152

0: 00a0 2435 5343 0000 ef03 efb0 0800 4500 ..$5SC........E.

16: 0028 92ec 4000 3206 98dd cfc8 4734 80c2 .([email protected]..

32: 8547 0050 07b9 4436 fab2 000f 7126 5011 .G.P..D6ú...q&P.

48: c000 1aa5 0000 6915 9192 0000 ......i.....

Page 297: CPSC 463  Networks and Distributed Processing

297

Decode Example - 8

61 cfl02 -> h-207-200-71-52.netscape.com TCP D=80 S=1977 Ack=1144453811 Seq=1012006 Len=0 Win=2880

0: 0000 ef03 efb0 00a0 2435 5343 0800 4500 ........$5SC..E.

16: 0028 6f0a 0000 3c06 f2bf 80c2 8547 cfc8 .(o...<......G..

32: 4734 07b9 0050 000f 7126 4436 fab3 5010 G4...P..q&D6ú.P.

48: 0b40 cf65 0000 0204 05a0 0000 [email protected]........

Page 298: CPSC 463  Networks and Distributed Processing

298

Top Three Layers

• Session Layer

• Presentation Layer

• Application Layer

Page 299: CPSC 463  Networks and Distributed Processing

299

Session Layer Design

• Marks the division between “upper layers and lower layers”

– lower layers:= end to end communications

– upper layers:= user-oriented services

• Invented by ISO

• Can support transport layer QoS

• Not explicitly used by TCP/IP

• “Generally connection-oriented”

Page 300: CPSC 463  Networks and Distributed Processing

300

Mission of the Session Layer

• Provides a way for the session users to establish connections, called sessions, and transfer data over the sessions in an orderly way.

• Examples: – remote logins

– file transfers

– Remote Procedure Calls

Page 301: CPSC 463  Networks and Distributed Processing

301

Session Layer & Transport Layer

• Usually a transport connection is required to establish a session

• Session Layer provides Control. It says what to do, not necessarily how to do it.

• Can provide redundancy and multiplexing of transport layer resources

• Administrative control point

Page 302: CPSC 463  Networks and Distributed Processing

302

Data Exchange• Same three phases as transport layer

– establishment

– use

– release

• In many cases the session layer simply passes the primitive requests to the transport layer.

• orderly (graceful) release vs. abrupt release– abrupt release is analogous to hanging up the phone

– orderly release uses a full handshake, (not provided in transport layer)

Page 303: CPSC 463  Networks and Distributed Processing

303

Dialog Management

• In principle, all OSI connections are full duplex

• Some upper layer software is structured to be half-duplex

• This is to simplify the software and has nothing to do with hardware limitations

• The session layer supports data token schemes to support half-duplex transmissions

Page 304: CPSC 463  Networks and Distributed Processing

304

Synchronization

• Transport layer provides error recovery only from communication errors

• Synchronization in the transport layer provides for returning the session entries back to the last known correct state.

• Example: Session established and large file transmitted; receiving end has no storage and directly prints the incoming data. The printer dies and data is lost.

• Session users could split the text into pages and insert a synchronization point between each page.

Page 305: CPSC 463  Networks and Distributed Processing

305

Activity Management

• Users split the message stream into activities

• delimiters are added in the session to separate activities

FirstFileSent

Start Stop

Start Stop

Second File SentSession

Page 306: CPSC 463  Networks and Distributed Processing

306

Remote Procedure Calls

• Based on the connectionless model

• Generally outside the OSI model

• Can be implemented in the application layer

• Multiple Flavors– {Sun} ONC RPC

– {OSF} DCE RPC

Page 307: CPSC 463  Networks and Distributed Processing

307

“RPC School of Thought”

• Clients sending messages are viewed as procedure calls with the reply being the return from the procedure

• Contrast this to the more “conventional” school which views I/O with primitives such as X-DATA.request and X-DATA.return as I/O and interrupts respectively.

Page 308: CPSC 463  Networks and Distributed Processing

308

RPC Invocation

Client Client Stub Network {Portmapper} Server Stub Server

1

2

3

4

5

7

6

Page 309: CPSC 463  Networks and Distributed Processing

309

RPC Semantics and Orphans

• Operations– exactly once

– at most once

– at least once

• Handling crashes:– 1. Hang forever, waiting for reply that never comes

– 2. Time out and raise an exception

– 3. Time out and retransmit

• Orphans– extermination

– expiration

– reincarnation (kill & restart)

– gentle reincarnation (selectively kill and restart)

Page 310: CPSC 463  Networks and Distributed Processing

310

Session Layer Conclusions

• Not used in ARPANET or USENET

• Some debate on including it in the ISO modelClosest Internet example of an OSI (not ISO) stack:

NFS

XDR

RPC

UDP

IP

whatever

Page 311: CPSC 463  Networks and Distributed Processing

311

Presentation Layer

NetworkFormat

LocalFormat

InformationTransformation

“few standards, but a lot of ideas”

Page 312: CPSC 463  Networks and Distributed Processing

312

Presentation Functions

These are examples!

• Syntax (format) conversion

• Compression

• Encryption– Sub-issue: Does it belong here?

Page 313: CPSC 463  Networks and Distributed Processing

313

Presentation Layer, cont.

• Providing a way to specify complex data structures

• Managing the set of data structures required

• Converting data between internal and external form

Page 314: CPSC 463  Networks and Distributed Processing

314

Data Representation

• ASCII vs. EBCDIC

• two’s complement vs. one’s complement

• FFF0 hex is -15 1’s complement; -16 2’s complement

• byte order right left vs. left right

• Text File formats

Page 315: CPSC 463  Networks and Distributed Processing

315

Abstract Syntax Notation 1 (ASN.1)

• Data Structures

• Abstract Syntax

• Transfer Syntax

• International Standard 8825

• Notation used to encode, transfer and decode data structures across a wide range of applications

• Both connection-oriented and connectionless primitives

Page 316: CPSC 463  Networks and Distributed Processing

316

Data Compression

• Encoding a Finite Set of Equally Likely Symbols

– Finiteness of the set of symbols.

• Frequency Dependent Coding– The relative frequencies with which the symbols are

used.

• Context Dependent Encoding– The context in which a symbol appears.

Page 317: CPSC 463  Networks and Distributed Processing

317

Compression

• Elimination of Redundancy– (increased susceptibility to error)

• Examples– Run Length Encoding

– Predictive Codes

– Huffman

– LZW

Page 318: CPSC 463  Networks and Distributed Processing

318

Frequency Dependent Coding

• In English, “E” occurs ~100 times more than the letter “Q”

• So give common symbols short codes and longer symbols longer codes.

• Theoretical minimum encoding often requires fractional bits, but close approximations available.

Page 319: CPSC 463  Networks and Distributed Processing

319

Huffman Coding

• 1. Write down all symbols and associated probability of each. Eventually a binary tree is built on these nodes, with the symbols representing terminal nodes.

• 2. Find the two smallest nodes and mark them. Add a new node with arcs to each of the nodes just marked. Set the probability of the new node to the sum of the probabilities of the two nodes connected to the new node.

• 3. Repeat until all symbols are marked except one. The probability of the unmarked node will always be 1.0.

• 4. The encoding for each symbol is found by tracing the path from the unmarked symbol to that symbol, recording the sequence of left and right branches taken. The code is the path, left = 0, right = 1.

Page 320: CPSC 463  Networks and Distributed Processing

320

Context Dependent Encoding

• Uses conditional probability instead of independent probability.

• What is P(u|q)?

• So determine the conditional probability for each possible predecessor and store in a table.

• For k symbols this requires k2 entries.

Page 321: CPSC 463  Networks and Distributed Processing

321

Network Security and Privacy

• Protecting data from being read by unauthorized persons.

• Preventing unauthorized persons from inserting and deleting messages.

• Verifying the sender of each message.

• Allowing electronic signatures on documents.

Page 322: CPSC 463  Networks and Distributed Processing

322

Cryptography

• Traditional Cryptography– Substitution Ciphers

– Codes

– Transposition Ciphers

• Data Encryption Standard

• Key Distribution

• Public Key Crytography– MIT Algorithm

• Authentication & Digital Signatures– Federal Standards

Page 323: CPSC 463  Networks and Distributed Processing

323

Cryptography Users

• Military

• Diplomatic

• Diarists

• Lovers

• Curmugdeons

Page 324: CPSC 463  Networks and Distributed Processing

324

Cyptography Terms

• Ciphertext or Cryptogram -- encrypted message

• Cryptanalysis -- breaking ciphers

• Cryptography -- devising ciphers

• Cryptology := Cryptanalysis and Cryptography

Page 325: CPSC 463  Networks and Distributed Processing

325

Encryption Model

Plaintext Plaintext

Key-1Key-2

Ciphertext

Passive Listener

Active Intruder

Page 326: CPSC 463  Networks and Distributed Processing

326

Keys

• If Key-1 is the same as Key-2, then it has to be a secret key process. They can differ, making it a Public Key Process.

• Big Problems: key distribution and key security

Page 327: CPSC 463  Networks and Distributed Processing

327

Fundamental Truths of Cryptology

• Potential intruders know the general encryption method.

• Message contents may be guessed.

• Cryptographic systems may be changed, but rarely are.

• Non-technical compromises always outnumber successful cryptanalysis.

Page 328: CPSC 463  Networks and Distributed Processing

328

Ciphers

• Substitution (preserve order, disquise)– Caesar code = “shift 4”

– Alphabet shifted by k letters --”enigma”

– Exhaustive search infeasible

– Words and phrases may be guessed

• Codes– Purple code, Japanese translated into Latin

– Navajo talkers

• Transposition Ciphers (reorder, do not disguise)

– Game is up when key length is guessed

– Once close, easy to guess

Page 329: CPSC 463  Networks and Distributed Processing

329

Data Encryption Standard

• Developed by IBM in 1977

• Implemented in hardware

• Widely used

• 128 bit key proposed, 56 bit key specifiedAny guesses why?

Page 330: CPSC 463  Networks and Distributed Processing

330

Public Key Encryption

• Applying the decryption key to an encrypted message must return the plaintext message.

• The decryption key can’t be guessed from an encyption key.

• The encryption key cannot be broken by a plaintext attack.

• Key Point: the decryption key must be privately held.

Page 331: CPSC 463  Networks and Distributed Processing

331

RSA Algorithm

• 1. Choose two large primes, p and q, each greater than 10100

.

• 2. Compute n = p * q and z = (p - 1) * (q - 1).

• 3. Choose a number relatively prime to z and call it d.

• 4. Find e such that e * d = 1 mod z.

Page 332: CPSC 463  Networks and Distributed Processing

332

Implementation of the MIT Algorithm

• To encrypt– divide plaintext P into k bits where k is the largest integer

for 2k < n.

– compute C = Pe(mod n)

• To decrypt– P = Cd

(mod n)

• Encryption requires e and n (public key)

• Decryption requires d and n (private key)

• If n can be factored, then this yields p an q, then z.

• Euclid’s Algorithm will derive e and d from z.

Page 333: CPSC 463  Networks and Distributed Processing

333

Digital Signatures

• A’s secret key must remain secret

• B has A’s public key and A has B’s public key

• B received a encypted message from A that he decypts with A’s public key

• B can later show that lacking A’s private key that he could not have produced the encrypted message

Page 334: CPSC 463  Networks and Distributed Processing

334

Politics of Cryptography

• Software as Munition

• “Clipper” Chip

• Digital Telephony Bill

• Digital Signature Standard

• Other Countries

• Current Legislation

Page 335: CPSC 463  Networks and Distributed Processing

335

Application Layer

• File Transfer, Access and Management– virtual file store

– file servers and requesting clients

• Electronic Mail– process to process traffic expected to dominate Internet

– actually email dominates the Internet

• Virtual Terminals– representing the abstract state of the real terminal

• Remote Job Execution– JTM: Job Transfer and Manipulation

Page 336: CPSC 463  Networks and Distributed Processing

336

ISO Applications

• FTAM ~ FTP File Transfer, Access & Manipulation

• VTS ~ TELNET Virtual Terminal Service

• JTM ~ ??? Job Transfer & Manipulation {maybe rsh, RPC?}

• MHS ~ SMTP Message Handling System (X.400)

Page 337: CPSC 463  Networks and Distributed Processing

337

ISO Terminology

SASE SASE

CASE

“applications”

[Specific|Common] Application Service Elements

“think of them as programming libraries or APIs”

Page 338: CPSC 463  Networks and Distributed Processing

338

ISO Service Elements(examples)

• Association Control Service Element (primitives)

• Commitment, Concurrency and Recovery– atomic actions

– two phase commit

Page 339: CPSC 463  Networks and Distributed Processing

339

File Servers

• 1. File Structure

• 2. File Attributes– e.g. identifier, size of storage, access control

• 3. File Operations– create, delete move

– OSI has defined virtual filestore operations

Page 340: CPSC 463  Networks and Distributed Processing

340

Replicated Files

• Why multiple file servers?– 1. To split the workload over multiple servers.

– 2. To allow file access to occur even if one file server is down

– 3. To increase reliability by having independent backups of each file

• Updates

• Voting

Page 341: CPSC 463  Networks and Distributed Processing

341

Electronic Mail

• Motis and X.400CCITT has aligned them for compatibilityMay replace SMTP

• The user agentuser interface

• Message transfer agentpost office

Page 342: CPSC 463  Networks and Distributed Processing

342

Virtual Terminals

• Scroll mode terminalsno local resources; dumb display and transmission

• Page mode terminals25 x 80 character displayscreen editing via termcap

• Form mode terminalslocal processing enabled

• Bitmapped terminals

like X stations

• Browsers!

Page 343: CPSC 463  Networks and Distributed Processing

343

Case Study: Internet

• File Transfer

• Electronic Mail

• Virtual Terminals

Page 344: CPSC 463  Networks and Distributed Processing

344

Getting Started

• RARP

• BOOTP

• TFTP

• DHCP

Page 345: CPSC 463  Networks and Distributed Processing

345

Domain Name System

• A heirarchial, distributed database

• A service primarily aimed at mapping names to IP addresses

• Partitioned for ease of administration

Page 346: CPSC 463  Networks and Distributed Processing

346

DNS Structure (partial)

.

edu comgov

utexas tamu ibm

cs austin

mac1 mac1solar

Page 347: CPSC 463  Networks and Distributed Processing

347

DNS -- How it Works

• DNS Servers in a logical tree

• DNS clients on every host

• Iterative Queries

• Recursive Queries

Page 348: CPSC 463  Networks and Distributed Processing

348

ARP

• Address Resolution Protocol {translate network layer address to physical address}

• Part of general resolution procedure:

name {e.g., neuron.cs.tamu.edu}

IP Address {e.g., 128.194.133.1}

Ethernet address {e.g., 08:00:20:08:58:78}

DNS

ARP

Page 349: CPSC 463  Networks and Distributed Processing

349

File Transfer Protocol

• FTP recognizes four file types:

• 1. Image– bit by bit transfer

• 2. ASCII

• 3. EBCDIC

• 4. Logical Byte files– binary files which use byte size other than 8 bits

Page 350: CPSC 463  Networks and Distributed Processing

350

Electronic Mail

• Pioneered by ARPANET

• RFC 822 (widely used)

• Simple Mail Transfer Protocol (SMTP)

• Supports only ASCII text

• name@domain addressing

Page 351: CPSC 463  Networks and Distributed Processing

351

Virtual Terminals - TELNET

• Designed for scroll mode terminals

• Hit a key , 8-bit bytes are sent

• 95 ASCII and 7 control characters legal

Page 352: CPSC 463  Networks and Distributed Processing

352

USENET--HOW TO AVOID GRADUATION

• Internet compatible (now)

• Variety of newsgroups

• Moderated newsgroups

• NNTP, Network News Transfer Protocol, allows selective downloading of messagesto multiple sites

Page 353: CPSC 463  Networks and Distributed Processing

353

The Web

• “the” killer application for the Internet

• Two components for popularity– http combines multiple access (gopher, ftp, etc) methods

– hypertext interface supports point-and-click interface

• Who will organize the information?– No one...

– Database experts

– Librarians (!)

Page 354: CPSC 463  Networks and Distributed Processing

354

Web Terminology

• Web Browsers– Netscape

– Mosaic

• Web Servers– http daemon

» httd.conf - main server config file

» srm.con - server resource config file

» access.conf - global access control file

• Home Page– Eg., www.cs.tamu.edu

• HTML– HyperText Markup Language

Page 355: CPSC 463  Networks and Distributed Processing

355

HTML Document

<HTML>

<HEAD>

<TITLE>Willis Marti’s Homepage</TITLE>

<LINK REV=“OWNER” HREF=“mailto:[email protected]”>

</HEAD>

<BODY>

<IMG SRC=“my-logo.gif” ALT=“logo”>

<H1> Sample HTML Document</H1>

<EM> To demonstrate HTML </EM>

<HR>

....

Page 356: CPSC 463  Networks and Distributed Processing

356

Web Future Directions

• HTML Enhancements

• Secure Transactions

• Uniform Naming

• Librarians & Brokers

• Information “push” or “pull”

Page 357: CPSC 463  Networks and Distributed Processing

357

Layer 7 Summary

• Service Element Model

• Not all Apps belong here...

• Common Network Services

Page 358: CPSC 463  Networks and Distributed Processing

358

What is a Distributed System?

Computing(CPU)

MassStorage

UserInterface

Just insert a network?

Page 359: CPSC 463  Networks and Distributed Processing

359

Distributed System

Network

Servers (Storage, Compute)

Services

User InterfacesUsers

Users

Page 360: CPSC 463  Networks and Distributed Processing

360

D.S. Design Issues

• Transparency

• Flexibility

• Reliability

• Performance

• Scalability

Page 361: CPSC 463  Networks and Distributed Processing

361

More Design Issues

• Global Clocks?

• Causality

• Information Consistency

Page 362: CPSC 463  Networks and Distributed Processing

362

Distributed Control

• Master/Slave (Issue: Response Time)

– Polled

– Command -> <-Response

– Schedule under control of server

• Client/Server (Issue: Server Size)

– Interrupt, or Event, Driven

– Aperiodic Scheduling

• Peer-to-Peer (Issue: Coordination)

– No single critical node

– Hard to describe or predict

Page 363: CPSC 463  Networks and Distributed Processing

363

Distributed System:Why or Why not?

• Performance

• Economics

• Reliability

• Security

Page 364: CPSC 463  Networks and Distributed Processing

364

D. S. Architectures

• Cooperating Peers

• Client-Server

• Tiered Client-Server– Data Repository

– Compute Servers

– Client Stations

Page 365: CPSC 463  Networks and Distributed Processing

365

“Intranets”

• Definition– Using Internet protocols, especially Web tools, for

internal MIS

• Motivation– Information “push” vs “pull”

• Problems– User Capabilities

– Corporate Policy or Personal Opinion

Page 366: CPSC 463  Networks and Distributed Processing

366

Key Protocol Areas

• Directory Services

• RPCs

• Security/Authentication

• (Performance) Management

• Programming Models

Page 367: CPSC 463  Networks and Distributed Processing

367

References

• ISO RM-ODP – ITU-T X.901/ISO 10746-1/2/3/4

• Amjad Umar Distributed Computing: A Practical Synthesis– PTR Prentice-Hall, Englewood Cliffs, NJ, 1993

• Sape Mullender Distributed Systems, 2d ed.– Addison Wesley, 1993

Page 368: CPSC 463  Networks and Distributed Processing

368

Network ManagementDefinition

"...deploying and coordinating resources in order to plan, operate, administer, analyze, evaluate,design and expand communication networks tomeet service-level objectives at all times, at a reasonable cost, and with optimum capacity."

Page 369: CPSC 463  Networks and Distributed Processing

369

Network ManagementFunctional Areas

• Fault Management detect -- diagnose -- repair•Configuration/Name Mgmt a database problem...•Performance Mgmt measure and predict•Accounting Mgmt look at individual usage•Security Mgmt access control and encryption

Page 370: CPSC 463  Networks and Distributed Processing

370

Management Protocols

• SNMP - Simple Network Management Protocol

– Internet

• CMIP - Common Management Information Protocol

– ISO

• TMN - Telecommunications Management Network

– ITU-T

Page 371: CPSC 463  Networks and Distributed Processing

371

Management ProtocolsPhilosophy

• SNMP - Simple Network Management Protocol

– keep it simple! (cf the Internet toaster)

• CMIP - Common Management Information Protocol

– the bazaar: whatever you want

• TMN - Telecommunications Management Network

– actually a separate network specification

Page 372: CPSC 463  Networks and Distributed Processing

372

SNMP vs CMIP {round 1}

Requirements fromvarious vendors and user communities

SNMP CMIP

Page 373: CPSC 463  Networks and Distributed Processing

373

ISO Management Overview

FaultManagement

AccountingManagement

SecurityManagement

PerformanceManagement

ConfigurationManagement

System Management Functions

Object Mgmt Alarm Mgmt Event Report Mgmt Workload MonitoringState Mgmt Log Control Security Alarm Security ReportingMeasurement Summarization Bill Verification BillingResource Utilization Test Mgmt Relation Mgmt

CMISE ServicesInitialize Event Report Terminate Action Create AbortSet Get Delete Cancel Confirmed Event Report Confirmed Get

Page 374: CPSC 463  Networks and Distributed Processing

374

SNMP Architecture

• Keep the agent as simple as possible

• Support remote management operations to the fullest extent possible

• Plan for future additions & expansion

• Be independent of specific hosts or devices

• Operate at the Application level

Page 375: CPSC 463  Networks and Distributed Processing

375

Internet Management Model

NetworkManagement

Managed Entities

Managed Entities

Agent

Proxy Agent

Page 376: CPSC 463  Networks and Distributed Processing

376

SNMP

• Intersection of vendor/user requirements

• Few ‘verbs’:– get / get-next

– get-bulk {SNMPv2}

– set

– trap

• Polled, Master-Slave, Request-Response

Page 377: CPSC 463  Networks and Distributed Processing

377

SNMP Format

• <header><verb><value><variable>[<verb><value><variable>]

• ASN.1 subset to describe value format

• MIB-II{Management Information Base} to identify variables

• UDP as a Transport layer

• Now out! SNMPv2

Page 378: CPSC 463  Networks and Distributed Processing

378

The MIB

• Standard set of data for managing network devices

• Variable names are part of the ISO/CCITT object identifier namespace

• Provides globally unique identifiers

• Variables governed by Structure of Management Information (SMI) specification

Page 379: CPSC 463  Networks and Distributed Processing

379

Accessing MIB Data

• SNMP Communities

• SNMP Views

• SNMP Authentication

Page 380: CPSC 463  Networks and Distributed Processing

380

Abstract Syntax Notation 1 (ASN.1)

• Data Structures

• Abstract Syntax

• Transfer Syntax

• International Standard 8825

• Notation used to encode, transfer and decode data structures across a wide range of applications

• Both connection-oriented and connectionless primitives

Page 381: CPSC 463  Networks and Distributed Processing

381

Example SNMP PDU using ASN.1

SEQUENCE len=41 INTEGER len=1 vers=0

30 29 02 01 00

string len=6 p u b l i c

04 06 70 75 62 6C 69 63

getreq. len=28 INTEGER len=4 -------request ID----------------

A0 1c 02 04 05 AE 56 02

INTEGER len=1 status INTEGER len=1 error index

02 01 00 02 01 00

SEQ. len=14 SEQ len=12 objectid len=8

30 0E 30 0C 06 08

1.3 6 1 2 1 1 1 0

2B 06 01 02 01 01 01 00

null len=0

05 00

Page 382: CPSC 463  Networks and Distributed Processing

382

SNMP vs SNMPv2

• History in Brief

• More features (more complex)

• BIG increase in security– authentication and integrity

– access controls

– security and privacy

• Better access controls in Views

• Trap confirmations

• Knowledge of multiple managers

Page 383: CPSC 463  Networks and Distributed Processing

383

Enterprise Architecture

• SNMP is designed for simple, manager-to-agent communications

• CMIP is complex and bulky, but complete

• Most Enterprise networks can’t be managed directly from a single place

Page 384: CPSC 463  Networks and Distributed Processing

384

Enterprise Management

LocalNetworks

SNMPManagers

CMIPManagers Separate

Organization

Page 385: CPSC 463  Networks and Distributed Processing

385

Management Tools

• Packet Analyzer

• Media Analyzers (TDR, OTDR, BER Tester)

• RMON devices

• Hosts (?)

Page 386: CPSC 463  Networks and Distributed Processing

386

Software Tools

• Hosted on PCs

• Hosted on Unix Workstations

• Commercial Packages

Page 387: CPSC 463  Networks and Distributed Processing

387

Decent Books

• Network Management Standards 2d ed– Uyless Black

• The Simple Book, 2d ed– Marshall T. Rose

• Communication Networks Management, 2d ed– Kornel Terplan

• Internetworking with TCP/IP, Vol I, 3d ed– Douglas E. Comer

Page 388: CPSC 463  Networks and Distributed Processing

388

Defining Network Security

Security is prevention of unwanted information transfer

• What are the components?– ...Physical Security

– …Operational Security

– …Human Factors

– …Protocols

Page 389: CPSC 463  Networks and Distributed Processing

389

Areas for Protection

• Privacy

• Data Integrity

• Authentication/Access Control

• Denial of Service

Page 390: CPSC 463  Networks and Distributed Processing

390

Regulations and Standards

• Computer Crime Laws

• Encryption

• Government as “Big Brother”

Page 391: CPSC 463  Networks and Distributed Processing

391

Security

Threat, Value and Cost Tradeoffs

• Identify the Threats

• Set a Value on Information

• Add up the Costs (to secure)

Cost < Value * Threat

Page 392: CPSC 463  Networks and Distributed Processing

392

Threats

• Hackers/Crackers (“Joyriders”)

• Criminals (Thieves)

• Rogue Programs (Viruses, Worms)

• Internal Personnel

• System Failures

Page 393: CPSC 463  Networks and Distributed Processing

393

Network Threats

• IP Address spoofing attacks

• TCP SYN Flood attacks

• Random port scanning of internal systems

• Snooping of network traffic

• SMTP Buffer overrun attacks

Page 394: CPSC 463  Networks and Distributed Processing

394

Network Threats (cont.)

• SMTP backdoor command attacks

• Information leakage attacks via finger, echo, ping, and traceroute commands

• Attacks via download of Java and ActiveX scripts

• TCP Session Hijacking

• TCP Sequence Number Prediction Attacks

Page 395: CPSC 463  Networks and Distributed Processing

395

Threat, Value and Cost Tradeoffs

• Operations Security

• Host Security

• Firewalls

• Cryptography: Encryption/Authentication

• Monitoring/Audit Trails

Page 396: CPSC 463  Networks and Distributed Processing

396

Host Security

• Security versus Performance & Functionality

• Unix, Windows NT, MVS, etc

• PCs

• “Security Through Obscurity”

Page 397: CPSC 463  Networks and Distributed Processing

397

Host Security (cont)

• Programs

• Configuration

• Regression Testing

Page 398: CPSC 463  Networks and Distributed Processing

398

Network Security

• Traffic Control

• Not a replacement for Host-based mechanisms

• Firewalls and Monitoring, Encryption

• Choke Points & Performance

Page 399: CPSC 463  Networks and Distributed Processing

399

Access Control

• Host-based:– Passwords, etc.

– Directory Rights

– Access Control Lists

– Superusers

• Network-based:– Address Based

– Filters

– Encryption

– Path Selection

Page 400: CPSC 463  Networks and Distributed Processing

400

Network Security and Privacy

• Protecting data from being read by unauthorized persons.

• Preventing unauthorized persons from inserting and deleting messages.

• Verifying the sender of each message.

• Allowing electronic signatures on documents.

Page 401: CPSC 463  Networks and Distributed Processing

401

FIREWALLS

• Prevent against attacks

• Access Control

• Authentication

• Logging

• Notifications

Page 402: CPSC 463  Networks and Distributed Processing

402

Types of Firewalls

• Packet Filters– Network Layer

• Stateful Packet Filters– Network Level

• Circuit-Level Gateways– Session Level

• Application Gateways– Application Level

Presentation

Transport

Network

Session

Data Link

Physical

Application

Page 403: CPSC 463  Networks and Distributed Processing

403

Packet Level

• Sometimes part of router

• TAMU “Drawbridge”

Campus

ROTW

RouterDrawbridge

Page 404: CPSC 463  Networks and Distributed Processing

404

Circuit Level

• Dedicated Host

• Socket Interfaces

ROTW

Local FW

Page 405: CPSC 463  Networks and Distributed Processing

405

Application Level

• Needs a dedicated host

• Special Software most everywhere

telnet

ROTW

Firewall

Page 406: CPSC 463  Networks and Distributed Processing

406

Firewall Installation Issues

DNS

Router

FTP Web Mail

INTERNET

Page 407: CPSC 463  Networks and Distributed Processing

407

Firewall Installation Issues

• DNS Problems

• Web Server

• FTP Server

• Mail Server

• Mobile Users

• Performance

Page 408: CPSC 463  Networks and Distributed Processing

408

Address Transparency

• Need to make some addresses visible to external hosts.

• Firewall lets external hosts connect as if firewall was not there.

• Firewall still performs authentication

Page 409: CPSC 463  Networks and Distributed Processing

409

Network Address Translation

10.0

.0.0

128.

194.

103.

0

FirewallInternet

Gateway

Page 410: CPSC 463  Networks and Distributed Processing

410

Network Address Translation

ftpd

TCP

IP

Data Link

Hardware

ftp

TCP

IP

Data Link

Hardware

proxy ftp

TCP

IP

Data Link

Hardware

gw control

Host A: Internal HostGateway HostHost B: External Host

DatagramA GW DatagramA B

Page 411: CPSC 463  Networks and Distributed Processing

411

IP Packet Handling

• Disables IP Packet Forwarding

• Cannot function as a insecure router

• eg. ping packets will not be passed

• Fail Safe rather than Fail Open

• Only access is through proxies

Page 412: CPSC 463  Networks and Distributed Processing

412

DNS Proxy Security

finance.xyz.com marketing.xyz.comsales.xyz.com

Eagle Gatewayeagle.xyz.com

DNSd

INTERNET

External DNS Server

Page 413: CPSC 463  Networks and Distributed Processing

413

INTERNET

Virtual Private Tunnels

Hello

Hello

Hello

Hello

Hello

Hello!@@%* !@@%* !@@%*

Encapsulate

Authenticate

Encrypt

Decapsulate

Authenticate

Decrypt

Creates a “ Virtual Private Network “

Page 414: CPSC 463  Networks and Distributed Processing

414

VPN Secure Tunnels

• Two types of Tunnels supported– SwIPe and IPsec tunnels

• Encryption– DES, triple DES and RC2

• Secret key used for used for authenticatio and encryption

• Trusted hosts are allowed to use the tunnel on both ends

Page 415: CPSC 463  Networks and Distributed Processing

415

Designing DMZ’s

INTERNET

Web

FTP

Mail

DMZ

ScreeningRouter

CompanyIntranet

Page 416: CPSC 463  Networks and Distributed Processing

416

Firewall Design Project

Wide Area RouterDallas

Raptor RemoteHawk Console

INTERNET

Mail Server

San Jose

Raptor Eagle

File Server

InternetRouter

Page 417: CPSC 463  Networks and Distributed Processing

417

Monitoring

• Many tools exist for capturing network traffic.

• Other tools can analyze captured traffic for “bad” things.

• Few tools are real-time.

Page 418: CPSC 463  Networks and Distributed Processing

418

Summary

• Security must be comprehensive to be effective.

• Remember threat, value, cost when implementing a system.

• Security is achievable, but never 100%.

• Make your system fault tolerant.

Page 419: CPSC 463  Networks and Distributed Processing

419

Where Do the 7 layers “fit”?

Application

Presentation

Session

Transport

Network

Data/Link

Physical 1

2

3

4

5

6

7

Or, where isthe dividing linebetween hdw & s/w?

?

?

Page 420: CPSC 463  Networks and Distributed Processing

420

Implementing the Model

User Space Software

OS SpaceSoftware

Firmware

Hardware

Page 421: CPSC 463  Networks and Distributed Processing

421

Some More Definitions

• User Space Software - Code that executes as any program that a normal user could compile and run

• OS Space Software - Code that executes on the host CPU but in a mode or with special access that normal users can not use

• ‘Firmware’ - Code that executes on a processor (special or general purpose) that is different from the host CPU; may be in PROM or RAM downloaded from another source

• Hardware - Generally special purpose VLSI and analog/linear interface components

Page 422: CPSC 463  Networks and Distributed Processing

422

Assigning the 7 layers

• Performance

• vs

• Flexibility