csc358 - introduction computer networks - peter marbach ...marbach/courses/csc358_f19/l2.pdf ·...
TRANSCRIPT
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: <[email protected]>S: 250 [email protected]... Sender ok
C: RCPT TO: <[email protected]>S: 250 [email protected] ... 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: <[email protected]>S: 250 [email protected]... Sender ok
C: RCPT TO: <[email protected]>S: 250 [email protected] ... 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