Page 1
EEC-484/584EEC-484/584Computer NetworksComputer Networks
Lecture 3Lecture 3
Wenbing ZhaoWenbing Zhao
[email protected] @ieee.org(Part of the slides are based on Drs. Kurose & Ross’s slides (Part of the slides are based on Drs. Kurose & Ross’s slides
for their for their Computer Networking Computer Networking bookbook))
Page 2
Spring Semester 2006Spring Semester 2006 EEC-484/584: Computer NetworksEEC-484/584: Computer Networks Wenbing ZhaoWenbing Zhao
22
Second Session IssueSecond Session Issue• Available time slot
– M W 4-5:50pm– T Th 6-7:50pm– M W 8-9:50pm– M W 2-3:50pm– T Th 2-3:50pm– F 4-7:50pm
• 1st option: to have a second session with at least 16 students
• 2nd option: common lecture time, but 3 sessions of labs and discussions
Page 3
Spring Semester 2006Spring Semester 2006 EEC-484/584: Computer NetworksEEC-484/584: Computer Networks Wenbing ZhaoWenbing Zhao
33
OutlineOutline
• Mock quiz
• Reference models
• Networking Standards
• Application layer protocols– Overview
• Change of schedule– Next time will be lecture– Lab 1 will be deferred to Sept 12
Page 4
Spring Semester 2006Spring Semester 2006 EEC-484/584: Computer NetworksEEC-484/584: Computer Networks Wenbing ZhaoWenbing Zhao
44
Reference ModelsReference Models
• The OSI Reference Model– ISO – International Standards Organization– OSI – Open Systems Interconnection
• Open: open for communication with other systems
• The TCP/IP Reference Model
Page 5
Spring Semester 2006Spring Semester 2006 EEC-484/584: Computer NetworksEEC-484/584: Computer Networks Wenbing ZhaoWenbing Zhao
55
The OSI Reference ModelThe OSI Reference Model
Page 6
Spring Semester 2006Spring Semester 2006 EEC-484/584: Computer NetworksEEC-484/584: Computer Networks Wenbing ZhaoWenbing Zhao
66
Principles Applied in Deriving LayersPrinciples Applied in Deriving Layers
• A layer should be created where a different level of abstraction is needed
• Each layer should perform a well-defined function
• The layer boundaries should be chosen to minimize info flow across interfaces
• The number of layers should be – large enough to separate distinct functions – small enough to have a manageable architecture
Page 7
Spring Semester 2006Spring Semester 2006 EEC-484/584: Computer NetworksEEC-484/584: Computer Networks Wenbing ZhaoWenbing Zhao
77
TCP/IP Reference ModelTCP/IP Reference Model
• TCP – Transmission Control Protocol
• IP – Internet Protocol
• Used in Internet and its predecessor ARPANET
• TCP/IP invented by Cerf and Kahn in 1974, became official protocol of ARPANET in 1983
Page 8
Spring Semester 2006Spring Semester 2006 EEC-484/584: Computer NetworksEEC-484/584: Computer Networks Wenbing ZhaoWenbing Zhao
88
TCP/IP Reference ModelTCP/IP Reference Model
Page 9
Spring Semester 2006Spring Semester 2006 EEC-484/584: Computer NetworksEEC-484/584: Computer Networks Wenbing ZhaoWenbing Zhao
99
TCP/IP Reference ModelTCP/IP Reference Model
• Internet Layer– Connectionless (packet switched)– Injects packets into the network; delivers them
to the destination– May be delivered out-of-order– Packet routing and congestion control are key
issues– Uses Internet Protocol
Page 10
Spring Semester 2006Spring Semester 2006 EEC-484/584: Computer NetworksEEC-484/584: Computer Networks Wenbing ZhaoWenbing Zhao
1010
TCP/IP Reference ModelTCP/IP Reference Model
• Transport layer, two protocols• TCP – Transmission Control Protocol
– Point-to-point– Connection-oriented– Reliable (no message loss or corruption)– Source ordered (sequenced)– Flow control– Byte stream, does not maintain message
boundary
Page 11
Spring Semester 2006Spring Semester 2006 EEC-484/584: Computer NetworksEEC-484/584: Computer Networks Wenbing ZhaoWenbing Zhao
1111
TCP/IP Reference ModelTCP/IP Reference Model
• UDP – User Datagram Protocol– Point-to-point– Connectionless– Unreliable– Not source ordered– No flow control– Preserve message boundary
Page 12
Spring Semester 2006Spring Semester 2006 EEC-484/584: Computer NetworksEEC-484/584: Computer Networks Wenbing ZhaoWenbing Zhao
1212
TCP/IP Reference ModelTCP/IP Reference Model
• Application Layer – contains higher-level protocols– DNS – Domain Name Service
• Maps host names onto their network addresses
– HTTP – HyperText Transfer Protocol• Fetches pages on the World Wide Web
– FTP – File Transfer Protocol• Allows user to transfer files efficiently from one
machine to another
Page 13
Spring Semester 2006Spring Semester 2006 EEC-484/584: Computer NetworksEEC-484/584: Computer Networks Wenbing ZhaoWenbing Zhao
1313
TCP/IP Reference ModelTCP/IP Reference Model
• Host-to-Network Layer– Host has to connect to the network using
some protocol so it can send IP packets to it– No protocol is defined
Page 14
Spring Semester 2006Spring Semester 2006 EEC-484/584: Computer NetworksEEC-484/584: Computer Networks Wenbing ZhaoWenbing Zhao
1414
Network StandardizationNetwork Standardization
• Why standard?– Only way to achieve interoperability– Standards also increase the market for
products adhering to them– Two kinds of standards
• De facto – from the fact (standards that just happened)
• De jure – by law (formal, legal standards adopted by authorized organization)
Page 15
Spring Semester 2006Spring Semester 2006 EEC-484/584: Computer NetworksEEC-484/584: Computer Networks Wenbing ZhaoWenbing Zhao
1515
Treaty Organization between Treaty Organization between NationsNations
United Nations
ITU - International Telecommunications Union
CCITT/ITU-T – telephone and data communications
Page 16
Spring Semester 2006Spring Semester 2006 EEC-484/584: Computer NetworksEEC-484/584: Computer Networks Wenbing ZhaoWenbing Zhao
1616
Voluntary, Nontreaty OrganizationVoluntary, Nontreaty Organization
ISO (International Standards Organization)issues standards on wide range of topics
200 TC (Technical Committees)
TC97 – computers and info processing
SC (Subcommittees)
WG (Working Groups)
ANSI (American National Standards Institute)
Page 17
Spring Semester 2006Spring Semester 2006 EEC-484/584: Computer NetworksEEC-484/584: Computer Networks Wenbing ZhaoWenbing Zhao
1717IEEE 802 StandardsIEEE 802 Standards
Page 18
Spring Semester 2006Spring Semester 2006 EEC-484/584: Computer NetworksEEC-484/584: Computer Networks Wenbing ZhaoWenbing Zhao
1818
Internet Standard BodyInternet Standard Body• Internet Society (used to be Internet Architecture
Board)– Internet Research Task Force (IRTF)
• Concentrate on long term research
– Internet Engineering Task Force (IETF)• Deal with short term engineering issues
• Standardization process– Proposed standard: request for comments (RFCs)– Draft standard: > 4 month test– Internet standard: if convinced the idea is sound
Page 19
Spring Semester 2006Spring Semester 2006 EEC-484/584: Computer NetworksEEC-484/584: Computer Networks Wenbing ZhaoWenbing Zhao
1919
Application Layer ProtocolsApplication Layer Protocols
• Principles of networked applications– Client server model– Sockets– Addressing– Protocol– What do we need from transport layer?
• WWW and HTTP
Page 20
Spring Semester 2006Spring Semester 2006 EEC-484/584: Computer NetworksEEC-484/584: Computer Networks Wenbing ZhaoWenbing Zhao
2020
Creating a Network ApplicationCreating a Network Application
• Write programs that– run on different end
systems and– communicate over a
network
• No need to write code for devices in subnet– Subnet devices do not run
user application code– application on end systems
allows for rapid app development, propagation
application
transportnetworkdata linkphysical
application
transportnetworkdata linkphysical
application
transportnetworkdata linkphysical
Page 21
Spring Semester 2006Spring Semester 2006 EEC-484/584: Computer NetworksEEC-484/584: Computer Networks Wenbing ZhaoWenbing Zhao
2121
Inter-Process CommunicationsInter-Process Communications
• Process: program running within a host
• Processes in different hosts communicate by exchanging messages
• Client process: process that initiates communication
• Server process: process that waits to be contacted
Page 22
Spring Semester 2006Spring Semester 2006 EEC-484/584: Computer NetworksEEC-484/584: Computer Networks Wenbing ZhaoWenbing Zhao
2222
SocketsSockets
• Process sends/receives messages to/from its socket
• For each point-to-point connection, there are two sockets, one on each side
• API: (1) choice of transport protocol; (2) ability to fix a few parameters
process
TCP withbuffers,variables
socket
host orserver
process
TCP withbuffers,variables
socket
host orserver
Internet
Controlledby OS
Controlled byapp developer
Page 23
Spring Semester 2006Spring Semester 2006 EEC-484/584: Computer NetworksEEC-484/584: Computer Networks Wenbing ZhaoWenbing Zhao
2323
AddressingAddressing• To receive messages, process must have
identifier• Host device has unique 32-bit IP address• Question: Does IP address of host on which
process runs suffice for identifying the process?
Page 24
Spring Semester 2006Spring Semester 2006 EEC-484/584: Computer NetworksEEC-484/584: Computer Networks Wenbing ZhaoWenbing Zhao
2424
AddressingAddressing• Identifier includes both IP address and port
numbers (16-bit) associated with process on host
• Example port numbers:– HTTP server: 80– SSH server: 22
• To send HTTP request to academic.csuohio.edu Web server:– IP address: 137.148.49.46– Port number: 80
Page 25
Spring Semester 2006Spring Semester 2006 EEC-484/584: Computer NetworksEEC-484/584: Computer Networks Wenbing ZhaoWenbing Zhao
2525
Application Layer Protocol DefinesApplication Layer Protocol Defines
• Types of messages exchanged – e.g., request, response
• Message syntax– what fields in messages & how
fields are delineated
• Message semantics – meaning of information in fields
• Rules for when and how processes send & respond to messages
Public-domain protocols:• defined in RFCs• allows for
interoperability• e.g., HTTP, SMTP
Proprietary protocols:• e.g., KaZaA
Page 26
Spring Semester 2006Spring Semester 2006 EEC-484/584: Computer NetworksEEC-484/584: Computer Networks Wenbing ZhaoWenbing Zhao
2626
What Transport Service Does an What Transport Service Does an Application Need?Application Need?
Data loss• some apps (e.g., audio) can
tolerate some loss• other apps (e.g., file
transfer, telnet) require 100% reliable data transfer
Timing• some apps (e.g.,
Internet telephony, interactive games) require low delay to be “effective”
Bandwidth• some apps (e.g.,
multimedia) require minimum amount of bandwidth to be “effective”
• other apps (“elastic apps”) make use of whatever bandwidth they get
Page 27
Spring Semester 2006Spring Semester 2006 EEC-484/584: Computer NetworksEEC-484/584: Computer Networks Wenbing ZhaoWenbing Zhao
2727
Transport Service Requirements of Transport Service Requirements of Common ApplicationsCommon Applications
Application
file transfere-mail
Web documentsreal-time audio/video
stored audio/videointeractive gamesinstant messaging
Data loss
no lossno lossno lossloss-tolerant
loss-tolerantloss-tolerantno loss
Bandwidth
elasticelasticelasticaudio: 5kbps-1Mbpsvideo:10kbps-5Mbpssame as above few kbps upelastic
Time Sensitive
nononoyes, 100’s msec
yes, few secsyes, 100’s msecyes and no