CSC358 - Introduction Computer Networks - Peter Marbach ...marbach/COURSES/CSC358_F19/l2.pdf ·...

Preview:

Citation preview

Review

CSC358 - Introduction to Computer Networks

Review

CSC358 - Introduction to Computer Networks

Review

CSC358 - Introduction to Computer Networks

How to Send a Message over a Network?

RoutingAddressingReliable Data TransferCongestion Control

CSC358 - Introduction to Computer Networks

How to Master Complexity?

Computer networks are very complex; many issues toaddress:

connection setup, message segmentation, multiplexing,routing, flow control, security, error control, encoding,addressing, ....

Useful method for dealing with complexity is using“modularity”.

break complex problem into simpler sub-problemsuse “black box” (input/output) abstraction for sub-problems

CSC358 - Introduction to Computer Networks

How to Master Complexity?

Computer networks are very complex; many issues toaddress:

connection setup, message segmentation, multiplexing,routing, flow control, security, error control, encoding,addressing, ....

Useful method for dealing with complexity is using“modularity”.

break complex problem into simpler sub-problemsuse “black box” (input/output) abstraction for sub-problems

CSC358 - Introduction to Computer Networks

How to Master Complexity?

Computer networks are very complex; many issues toaddress:

connection setup, message segmentation, multiplexing,routing, flow control, security, error control, encoding,addressing, ....

Useful method for dealing with complexity is using“modularity”.

break complex problem into simpler sub-problemsuse “black box” (input/output) abstraction for sub-problems

CSC358 - Introduction to Computer Networks

How to Master Complexity?

Computer networks are very complex; many issues toaddress:

connection setup, message segmentation, multiplexing,routing, flow control, security, error control, encoding,addressing, ....

Useful method for dealing with complexity is using“modularity”.

break complex problem into simpler sub-problemsuse “black box” (input/output) abstraction for sub-problems

CSC358 - Introduction to Computer Networks

How to Master Complexity?

Computer networks are very complex; many issues toaddress:

connection setup, message segmentation, multiplexing,routing, flow control, security, error control, encoding,addressing, ....

Useful method for dealing with complexity is using“modularity”.

break complex problem into simpler sub-problemsuse “black box” (input/output) abstraction for sub-problems

CSC358 - Introduction to Computer Networks

SMTP (Simple Mail Transfer Protocol)S: 220 sf.com

C: HELO toronto.eduS: 250 Hello toronto.edu, pleased to meet you

C: MAIL FROM: <alice@toronto.edu>S: 250 alice@toronto.edu... Sender ok

C: RCPT TO: <bob@sf.com>S: 250 bob@sf.com ... Recipient ok

C: DATAS: 354 Enter mail, end with "." on a line by itself

C: How are you?C: See you soon.C: .

S: 250 Message accepted for deliveryC: QUIT

S: 221 sf.com closing connection

CSC358 - Introduction to Computer Networks

Modularity for Computer Networks

Hierarchical Layering: The type of functional modularityused for computer networks is hierarchical layering. Whatis special about this architecture is that it is distributed andconnected through unreliable links with delays.Example: Postal Service

When I bring a letter to the post office, I don’t know how itgets delivered from there. The office clerk doesn’t know theexact details either, and so on.

CSC358 - Introduction to Computer Networks

Modularity for Computer Networks

Hierarchical Layering: The type of functional modularityused for computer networks is hierarchical layering. Whatis special about this architecture is that it is distributed andconnected through unreliable links with delays.Example: Postal Service

When I bring a letter to the post office, I don’t know how itgets delivered from there. The office clerk doesn’t know theexact details either, and so on.

CSC358 - Introduction to Computer Networks

Modularity for Computer Networks

Hierarchical Layering: The type of functional modularityused for computer networks is hierarchical layering. Whatis special about this architecture is that it is distributed andconnected through unreliable links with delays.Example: Postal Service

When I bring a letter to the post office, I don’t know how itgets delivered from there. The office clerk doesn’t know theexact details either, and so on.

CSC358 - Introduction to Computer Networks

Layered Network Architecture

Application LayerTransport LayerNetwork LayerData Link LayerPhysical Layer

CSC358 - Introduction to Computer Networks

Layered Network Architecture

Application LayerTransport LayerNetwork LayerData Link LayerPhysical Layer

There are several ways to define a layered network architecture.In this course, we consider the 5 Internet layers. Another modelconsists of the 7 OSI layers.

CSC358 - Introduction to Computer Networks

Outline

Description of the different network layersIssues in layered network architecture

− > Read Chapter 1 in Textbook

CSC358 - Introduction to Computer Networks

Goals

Know what the different layers doKnow how layers interactTerminology: peer process, protocol, service

CSC358 - Introduction to Computer Networks

Application Layer

Service: Supports applicationsTasks:

Connection SetupFlow controlError control

Protocols: HTTP to support Web, SMTP to support email,FTP to support file transfer.Location: End Systems/Hosts

CSC358 - Introduction to Computer Networks

Application Layer

Service: Supports applicationsTasks:

Connection SetupFlow controlError control

Protocols: HTTP to support Web, SMTP to support email,FTP to support file transfer.Location: End Systems/Hosts

CSC358 - Introduction to Computer Networks

Application Layer

Service: Supports applicationsTasks:

Connection SetupFlow controlError control

Protocols: HTTP to support Web, SMTP to support email,FTP to support file transfer.Location: End Systems/Hosts

CSC358 - Introduction to Computer Networks

Application Layer

Service: Supports applicationsTasks:

Connection SetupFlow controlError control

Protocols: HTTP to support Web, SMTP to support email,FTP to support file transfer.Location: End Systems/Hosts

CSC358 - Introduction to Computer Networks

SMTP (Simple Mail Transfer Protocol)S: 220 sf.com

C: HELO toronto.eduS: 250 Hello toronto.edu, pleased to meet you

C: MAIL FROM: <alice@toronto.edu>S: 250 alice@toronto.edu... Sender ok

C: RCPT TO: <bob@sf.com>S: 250 bob@sf.com ... Recipient ok

C: DATAS: 354 Enter mail, end with "." on a line by itself

C: How are you?C: See you soon.C: .

S: 250 Message accepted for deliveryC: QUIT

S: 221 sf.com closing connection

CSC358 - Introduction to Computer Networks

Transport Layer

Service: Prepares messages for being transported overthe network.Tasks:

Message fragmentation and reassemblyFlow ControlCongestion controlError controlConnection setup

Protocols: TCP (Transmission Control Protocol), UDP(User Datagram Protocol)Location: End Systems/Hosts

CSC358 - Introduction to Computer Networks

Transport Layer

Service: Prepares messages for being transported overthe network.Tasks:

Message fragmentation and reassemblyFlow ControlCongestion controlError controlConnection setup

Protocols: TCP (Transmission Control Protocol), UDP(User Datagram Protocol)Location: End Systems/Hosts

CSC358 - Introduction to Computer Networks

Transport Layer

Service: Prepares messages for being transported overthe network.Tasks:

Message fragmentation and reassemblyFlow ControlCongestion controlError controlConnection setup

Protocols: TCP (Transmission Control Protocol), UDP(User Datagram Protocol)Location: End Systems/Hosts

CSC358 - Introduction to Computer Networks

Transport Layer

Service: Prepares messages for being transported overthe network.Tasks:

Message fragmentation and reassemblyFlow ControlCongestion controlError controlConnection setup

Protocols: TCP (Transmission Control Protocol), UDP(User Datagram Protocol)Location: End Systems/Hosts

CSC358 - Introduction to Computer Networks

Network Layer

Service: Sends data units over the networkTasks:

RoutingAddressingCongestion control

Protocols: IP (Internet Protocol)Location: End Systems/Hosts + Routers

CSC358 - Introduction to Computer Networks

Network Layer

Service: Sends data units over the networkTasks:

RoutingAddressingCongestion control

Protocols: IP (Internet Protocol)Location: End Systems/Hosts + Routers

CSC358 - Introduction to Computer Networks

Network Layer

Service: Sends data units over the networkTasks:

RoutingAddressingCongestion control

Protocols: IP (Internet Protocol)Location: End Systems/Hosts + Routers

CSC358 - Introduction to Computer Networks

Network Layer

Service: Sends data units over the networkTasks:

RoutingAddressingCongestion control

Protocols: IP (Internet Protocol)Location: End Systems/Hosts + Routers

CSC358 - Introduction to Computer Networks

Data Link Layer

Service: Sends data units over a linkTasks:

FramingError controlRetransmissions

Protocols: ARQ (Automatic Repeat Request), CSMA/CDfor Ethernet and Wave LAN.Location: End Systems/Hosts + Routers

CSC358 - Introduction to Computer Networks

Data Link Layer

Service: Sends data units over a linkTasks:

FramingError controlRetransmissions

Protocols: ARQ (Automatic Repeat Request), CSMA/CDfor Ethernet and Wave LAN.Location: End Systems/Hosts + Routers

CSC358 - Introduction to Computer Networks

Data Link Layer

Service: Sends data units over a linkTasks:

FramingError controlRetransmissions

Protocols: ARQ (Automatic Repeat Request), CSMA/CDfor Ethernet and Wave LAN.Location: End Systems/Hosts + Routers

CSC358 - Introduction to Computer Networks

Data Link Layer

Service: Sends data units over a linkTasks:

FramingError controlRetransmissions

Protocols: ARQ (Automatic Repeat Request), CSMA/CDfor Ethernet and Wave LAN.Location: End Systems/Hosts + Routers

CSC358 - Introduction to Computer Networks

Physical Layer

Service: Sends bits over a linkTasks:

Modem (Modulator/Demodulator)

Location: End Systems/Hosts + Routers

CSC358 - Introduction to Computer Networks

Physical Layer

Service: Sends bits over a linkTasks:

Modem (Modulator/Demodulator)

Location: End Systems/Hosts + Routers

CSC358 - Introduction to Computer Networks

Physical Layer

Service: Sends bits over a linkTasks:

Modem (Modulator/Demodulator)

Location: End Systems/Hosts + Routers

CSC358 - Introduction to Computer Networks

“The Roller-Coaster Ride of a Message”

CSC358 - Introduction to Computer Networks

A Closer Look

CSC358 - Introduction to Computer Networks

Terminology

Peer or Peer Processes:Members of the same layer at different locationsProtocol:Set of rules for how peers interactProtocol Stack:Set of protocol used (one per layer)Network Architecture or Network Reference Model:Set of layers that used for a network.

CSC358 - Introduction to Computer Networks

Terminology

Peer or Peer Processes:Members of the same layer at different locationsProtocol:Set of rules for how peers interactProtocol Stack:Set of protocol used (one per layer)Network Architecture or Network Reference Model:Set of layers that used for a network.

CSC358 - Introduction to Computer Networks

Terminology

Peer or Peer Processes:Members of the same layer at different locationsProtocol:Set of rules for how peers interactProtocol Stack:Set of protocol used (one per layer)Network Architecture or Network Reference Model:Set of layers that used for a network.

CSC358 - Introduction to Computer Networks

Terminology

Peer or Peer Processes:Members of the same layer at different locationsProtocol:Set of rules for how peers interactProtocol Stack:Set of protocol used (one per layer)Network Architecture or Network Reference Model:Set of layers that used for a network.

CSC358 - Introduction to Computer Networks

“Growing” Data Units

Protocol Data Unit (PDU)Protocol Control Information (PCI) or HeaderService Data Unit (SDU)

CSC358 - Introduction to Computer Networks

“Growing” Data Units

Protocol Data Unit (PDU)Protocol Control Information (PCI) or HeaderService Data Unit (SDU)

CSC358 - Introduction to Computer Networks

“Growing” Data Units

Protocol Data Unit (PDU)Protocol Control Information (PCI) or HeaderService Data Unit (SDU)

CSC358 - Introduction to Computer Networks

“Growing” Data Units

Protocol Data Unit (PDU)Protocol Control Information (PCI) or HeaderService Data Unit (SDU)

CSC358 - Introduction to Computer Networks

Question: Why Layers?

CSC358 - Introduction to Computer Networks

Layer Functions

Error Control: makes the logical channel between twopeer processes reliable.Flow Control: avoids overwhelming a slower peer processwith protocol data units.Segmentation and Reassembly of Data UnitsMultiplexing: allows several higher-level sessions toshare a single lower-level connection.Connection Setup: provides handshaking between peerprocesses.

CSC358 - Introduction to Computer Networks

Layer Functions

Error Control: makes the logical channel between twopeer processes reliable.Flow Control: avoids overwhelming a slower peer processwith protocol data units.Segmentation and Reassembly of Data UnitsMultiplexing: allows several higher-level sessions toshare a single lower-level connection.Connection Setup: provides handshaking between peerprocesses.

CSC358 - Introduction to Computer Networks

Layer Functions

Error Control: makes the logical channel between twopeer processes reliable.Flow Control: avoids overwhelming a slower peer processwith protocol data units.Segmentation and Reassembly of Data UnitsMultiplexing: allows several higher-level sessions toshare a single lower-level connection.Connection Setup: provides handshaking between peerprocesses.

CSC358 - Introduction to Computer Networks

Layer Functions

Error Control: makes the logical channel between twopeer processes reliable.Flow Control: avoids overwhelming a slower peer processwith protocol data units.Segmentation and Reassembly of Data UnitsMultiplexing: allows several higher-level sessions toshare a single lower-level connection.Connection Setup: provides handshaking between peerprocesses.

CSC358 - Introduction to Computer Networks

Layer Functions

Error Control: makes the logical channel between twopeer processes reliable.Flow Control: avoids overwhelming a slower peer processwith protocol data units.Segmentation and Reassembly of Data UnitsMultiplexing: allows several higher-level sessions toshare a single lower-level connection.Connection Setup: provides handshaking between peerprocesses.

CSC358 - Introduction to Computer Networks

Service Types

Connection-Oriented: Connection setup throughhandshaking. After connection setup, data messages canbe exchanged. During the handshaking, parameters usedin the protocol can be exchanged/negotiated (to providereliable data transfer, flow control, congestion control, etc.).Connectionless: No connection setup. Data messagesare sent immediately. A connectionless service is by itsnature unreliable.

CSC358 - Introduction to Computer Networks

Service Types

Connection-Oriented: Connection setup throughhandshaking. After connection setup, data messages canbe exchanged. During the handshaking, parameters usedin the protocol can be exchanged/negotiated (to providereliable data transfer, flow control, congestion control, etc.).Connectionless: No connection setup. Data messagesare sent immediately. A connectionless service is by itsnature unreliable.

CSC358 - Introduction to Computer Networks

Distributed Protocols

CSC358 - Introduction to Computer Networks

Issues

ReliabilityPerformance/Quality-of-Service (QoS)

CSC358 - Introduction to Computer Networks

Issues

ReliabilityPerformance/Quality-of-Service (QoS)

CSC358 - Introduction to Computer Networks

Issues

ReliabilityPerformance/Quality-of-Service (QoS)

CSC358 - Introduction to Computer Networks

Quality of Service

Factors Determining the Quality of Service

DelayPacket LossTransmission Rate

CSC358 - Introduction to Computer Networks

Quality of Service

Factors Determining the Quality of Service

DelayPacket LossTransmission Rate

CSC358 - Introduction to Computer Networks

Quality of Service

Factors Determining the Quality of Service

DelayPacket LossTransmission Rate

CSC358 - Introduction to Computer Networks

Quality of Service

Factors Determining the Quality of Service

DelayPacket LossTransmission Rate

Why is Quality of Service Important?

CSC358 - Introduction to Computer Networks

Delay

Processing DelayQueueing DelayTransmission DelayPropagation Delay

CSC358 - Introduction to Computer Networks

Delay

Processing DelayQueueing DelayTransmission DelayPropagation Delay

CSC358 - Introduction to Computer Networks

Delay

Processing DelayQueueing DelayTransmission DelayPropagation Delay

CSC358 - Introduction to Computer Networks

Delay

Processing DelayQueueing DelayTransmission DelayPropagation Delay

CSC358 - Introduction to Computer Networks

Queueing Delay

CSC358 - Introduction to Computer Networks

Transmission Delay vs. Propagation Delay

CSC358 - Introduction to Computer Networks

Approach

1 Reliable Data Transfer2 Tools for Performance Analysis/QoS Evaluation3 Modelling and Analysis of Protocols4 Implementation Issues

CSC358 - Introduction to Computer Networks

Recommended