EE4272: Computer Networks...2 EE4272 Spring 2004 Communication & Computer/Data Networks What are the...
Transcript of EE4272: Computer Networks...2 EE4272 Spring 2004 Communication & Computer/Data Networks What are the...
1
Spring 2004EE4272
EE4272: Computer Networks
Instructor: Dr. Tricia ChiganDept.: Elec. & Comp. Eng.
Spring 2004EE4272
Introduction of Computer Networks
Communication & Computer/Data NetworksApplications of Computer NetworksRequirementsNetwork ArchitecturesImplementing Network SoftwareNetwork Performance
2
Spring 2004EE4272
Communication & Computer/Data Networks
What are the differences between…Applications
Underline technologies
Spring 2004EE4272
Applications of Computer Networks (e.g. …)Surfing the Web
of Client/ServerStreaming Audio & Video
Video-on-demand: ( )Video Conference: ( )
Different requirements for various applications
.
3
Spring 2004EE4272
Requirements from Perspectives…Application programmer: services that their applications need, e.g.,
Network designers: cost-effective designe.g.,
Network providers: system that is easy to administer and manage e.g.,
Spring 2004EE4272
High-level Major Requirements- Network Designers’ Perspectives
ConnectivityCost-Effective Resource SharingReliability
4
Spring 2004EE4272
Nodes: PC, special-purpose hardware…Host: edge node for .Switch: node to .Router/Gateway: node connects two/more different .
Links: coaxial cable, …Direct connectivity
point-to-pointmultiple access
Building Blocks & Connectivity
(a)
(b)
Spring 2004EE4272
Indirect ConnectivitySwitched networks
switch
Internetworksroutergateway
5
Spring 2004EE4272
Switching Strategiescircuit switching ( ): dedicated circuit; send/receive .packet switching ( ): store-and-forward; shared channel; send/receive .
Addressing and Routingaddress: byte-string that a node; usually uniquerouting: process of messages towards the destination node based on its types of addresses
cast: node-specificcast: all nodes on the networkcast: some subset of nodes on the network
Issues Related to Connectivity
Spring 2004EE4272
Cost-Effective Resource SharingMust share (multiplex) network resources (nodes and links) among multiple users
L2
L3
R2
R3
L1 R1
Switch 1 Switch 2
6
Spring 2004EE4272
Conventional Multiplexing Strategies
Synchronous Time-Division Multiplexing (STDM)
Frequency-Division Multiplexing (FDM)
Spring 2004EE4272
Statistical MultiplexingOn-demand (not predetermined) time-divisionSchedule link on a basis (fairness): FIFO, Round-robin… .Packets from different sources on link
What about if only one source has data?Why is needed?
Buffer packets that are contending for the link: .Buffer (queue) overflow is called .
■ ■ ■
7
Spring 2004EE4272
What Goes Wrong in the Network?-Reliability Issue
(light, power, microwave interference -> error detection/correction): single or burst error
depend on transmission med.: coaxial cable, optical fiber?
(congestion control)(network survivability)
Spring 2004EE4272
Client
Server
process-to-process
Network ArchitectureUse abstractions (unified model) .Abstraction naturally lead to .Can have at each layer
Hardware
Host-to-host connectivity
Request/replychannel
Message streamchannel
Application programs
8
Spring 2004EE4272
Layering & ProtocolsAdvantages of Layering
ManageableModular design
Protocolsbuilding blocks of a network architecture layerEach protocol object has two different interfaces
service interface: operations .peer-to-peer interface: messages exchanged with .
Term “protocol” is overloadedModule (various) that implements this interface: . specification of peer-to-peer interface ( )
Spring 2004EE4272
Interfaces
Host 1 Host 2
High-levelobject
High-levelobject
Protocol Protocol
9
Spring 2004EE4272
Host 1 Host 2
Fileapplication
Digitallibrary
applicationVideo
applicationFile
applicationDigitallibrary
applicationVideo
application
Protocol MachineryProtocol Graph
most peer-to-peer communication is .peer-to-peer is only at hardware level
Spring 2004EE4272
Host 1 Host 2
Applicationprogram
Applicationprogram
RRP
Data Data
HHP
RRP
HHP
Applicationprogram
Applicationprogram
RRP Data RRP Data
HHP RRP Data
Protocol Machinery (cont)Encapsulation ( : control infor., e.g. seq. num) Multiplexing & Demultiplexing ( ): share logical channel at each protocol layer
10
Spring 2004EE4272
One or more nodeswithin the network
End host
Application
Presentation
Session
Transport
Network
Data link
Physical
Network
Data link
Physical
Network
Data link
Physical
End host
Application
Presentation
Session
Transport
Network
Data link
Physical
/aggregation
OSI (open systems interconnection) Architecture
Spring 2004EE4272
TCP UDP
IP
Network
Application
Ethernet, ATM, FDDI…
■ ■ ■
FTP
TCP UDP
IP
NET 1 NET 2 NET n
HTTP NV TFTP Application
TCP UDP
IP
Network
Internet ArchitectureDefined by ( )
DesignApplication vs Application Protocol (e.g.,HTTP)
11
Spring 2004EE4272
Some Protocols in TCP/IP Suite
Source: book by William Stallings
Spring 2004EE4272
Software Protocol ImplementationService Interface (e.g. Socket API)
socket: the point where a local applications process attaches to the networkbuilt in most of the Unix OS, common library routines (socket, listen, accept, client, server, connect, send, recv…)reference: W. Richard Stevens, Unix Network Programming, 2nd edition, Prentice Hall 1998
Protocol Implementation Issues (difference between Socket & protocol- protocol interface)
Process ModelMessage Buffers
12
Spring 2004EE4272
Performance MetricsBandwidth (throughput) :
data transmitted per time unitlink vs. end-to-end
Latency (delay)time to send message from point A to point Bone-way versus round-trip time (RTT)components
Latency = Propagation + Transmit + QueuePropagation = .Transmit = .
Throughput (end-to-end) = TransferSize / TransferTimeTransferTime = RTT + 1/Bandwidth x TransferSize (w/o queue)
Spring 2004EE4272
Delay x Bandwidth ProductAmount of data “in flight” or “in the pipe”Example: 100ms x 45Mbps = 560KB
Application Needsrequirements ( ): burst with
peak rate: variance in latency ( )
Bandwidth
Delay