CS 335
-
Computer Networks
Dr. Randy L. Ribler
103 Hobbs
ribler@lynchburg.edu
Introduction
Read Chapter 1 in Kurose and Ross
How do we design networks?
•
Use layers of “abstractions”
–
Each layer provides a set of “services”
–
Upper layers implement the services in terms of
lower layer services
–
Each layer treats the layer above it and below it
as an abstraction
Sentence
Word
Net
Talk
Sentence
Net
Talk
Send sentence
Send Word
Route Word
Alphanumeric
Transmission
Word
•
Classroom Demonstration Protocol
•
Talk
•
Talk
•
Talk
•
Talk
•
Talk
•
Talk
•
Net
•
Word
•
Sen
-
tence
•
Net
•
Net
•
Net
•
Net
•
Net
•
Word
•
Word
•
Word
•
Word
•
Word
•
Sen
-
tence
•
Sen
-
tence
•
Sen
-
tence
•
Sen
-
tence
•
Sen
-
tence
•
Host 0
•
Host 1
•
Host 2
•
Host 3
•
Host 4
•
Host 5
ISO OSI Reference Model
•
International Standards Organization
•
Open Systems Interconnection (OSI)
•
The ISO OSI contains 7 layers
OSI Reference Model
Application
Layer
Session Layer
Transport Layer
Network Layer
Data Link Layer
Physical Layer
Presentation
Layer
Application
Layer
Session Layer
Transport Layer
Network Layer
Data Link Layer
Physical Layer
Presentation
Layer
Application
Layer
Session Layer
Transport Layer
Network Layer
Data Link Layer
Physical Layer
Presentation
Layer
•
Adapted from p34, Tanenbaum
Sending Process
Receiving Process
OSI Reference Model
Terminology
•
Services
-
What the layer does
–
like public member functions in OOP
•
Interface
-
Parameters and results
–
like the parameter lists and return values in
OOP
•
Protocols
-
the communication between
peer levels
–
like the hidden implementation of class in OOP.
Physical Layer
•
Transmission of “raw” bits
•
Hardware level concerns
–
voltages, pins
–
mechanical, electrical, and procedural
interfaces
•
Communicates between a pair of nodes
•
Provided by modems and other point
-
to
-
point transmission hardware
Data Link Layer
•
Imposes a structure on the bit stream
–
data
frames
(100’s or 1000’s of bytes long)
•
Acknowledge receipt of frames
•
Handle damaged, lost, or duplicate frames
•
Flow regulation
–
Don’t overflow buffers
The Network Layer
•
Routing “packets”
•
Congestion Control
•
Accounting
•
Heterogeneous network interconnects
The Transport Layer
•
Provides multiplexing/demultiplexing
between network traffic and individual
processes.
•
Establishes/deletes network connections
•
End
-
to
-
end flow control.
•
Not needed on routers (unless router is also
a host).
•
Often provides a reliable bit stream.
•
Transport layer protocols handle
“messages.”
The Session Layer
•
Information about where to obtain service
•
Access Rights/permissions
–
establish “sessions” (login or ftp)
•
Traffic Control ( half/full duplex
connections)
•
The Session Layer is generally under
utilized
Presentation Layer
•
General Purpose Application Utilities
•
Utilities that operate on data
•
Data word sizes
•
Encryption
•
Data Compression
•
Code conversions
•
e.g., ASCII <
-
> EBCDIC
Application Layer
•
Application specific code
–
ftp
–
telnet
–
http
•
Anything not implemented elsewhere in the
protocol stack.
Internet Protocol (IP)
•
Internet protocol has been revised
–
IP version 4 (IPv4) is the most widely used.
–
IP version 6 (IPv6) will eventually replace it.
•
IPv4 uses 32
-
bit host addresses
•
IPv6 uses 128
-
bit host addresses
TCP/IP Reference Model
Application
Layer
Session Layer
Transport Layer
Network Layer
Data Link Layer
Physical Layer
Presentation
Layer
Application
Layer
Transport Layer
Internet Layer
Host
-
to
-
network
Layer
OSI Model
TCP/IP Model
IP
TCP or UDP
Talk
Authorize Talk
Break Message
Apart
Route Message
Manage Frames
Send Bit Stream
ASCII
-
EBCDIC
Talk
Authorize Talk
Reassemble
Message
Route Message
Manage Frames
Receive
Bit Stream
You
Your Friend
Application
Presentation
Session
Transport
Network
Data Link
Physical
Internet Protocol (IPv4)
•
32
-
bit IP addresses
–
Store internally as a single word
–
Usually expressed to user’s using “dotted
decimal notation” (e.g., 161.115.147.1) where
each of the four numbers range from 0 to 255.
–
Usually aliased to host name of the system (e.g.
mail.lynchburg.edu
Domain Name System (DNS)
•
How can we map host names to IP
addresses?
•
Domain Name Servers provide names in
response to client requests.
•
A hierarchical representation provides name
management at each level of domain name.
Client/Server Models
•
Network interaction is based on an
asymmetrical relationship
–
Server
•
provides services to authorized clients
•
typically handles many clients simultaneously
•
works passively, driven by client requests
–
Client
•
requests services
•
typically initiates
Port Numbers
•
IP addresses identify host machines only.
•
Port numbers identify services on machines.
–
16
-
bit port numbers provide values (0
-
65535)
•
“Well
-
known ports” (0
-
1023)
•
Registered ports (1024
-
49151) (49152 is 75% of
available port numbers)
•
Dynamic or private ports
•
Internet Assigned Number Authority (IANA)
–
Determines (0
-
1023)
–
Registers (1024
-
49151)
–
Does not control (49151
-
65535)
Some Well Known Port Numbers
•
23 (telnet)
•
21 (ftp)
•
13 (daytime)
•
25 (smtp (mail))
•
43 (whois)
•
144 (news)
•
80 (http web server)
Telnet Client
•
telnet <hostname> <port number>
–
provides a general interface to request a service
and return a text response.
Ping
•
See if there is a connection between two
machines
•
See if a particular host is running
ping <hostname>
Trace Route
•
traceroute <hostname> (unix)
•
tracert <hostname> (dos/windows)
Internetworking
•
161.115
•
lynchburg.edu
•
161.115.100.22
•
acavax.lynchburg.edu
•
161.115.147.1
•
161.115.100.27
•
161.115.100.29
•
208.22.66
•
networkvirginia.net
•
128.100.200.123
•
128.173
•
cs.vt.edu
•
128.100
•
cns.vt.edu
•
128.173.133.44
•
161.115.144.
2
•
128.100.200.145
•
208.22.66.1
•
208.22.66.145
•
208.22.66.100
•
208.22.66.101
•
208.22.66.102
•
128.100.200.165
•
128.100.201.155
•
128.100.230.156
•
128.173.133.155
•
128.173.133.102
•
lasi
-
main
•
150.123.23.1
•
GATEWAYS
Network Protocols Must Adopt
One of the Two Byte Orders
•
Network Byte Order
–
The protocol byte order
•
Host Byte Order
–
The native machine byte order
•
Conversion Functions
–
htons : convert 16
-
bit value from host byte order to
network byte order. (ntohs provides the inverse)
–
htonl: convert 32
-
bit value from host byte order to
network byte order. (ntohl provides the inverse)
Domain Name Management
•
Each level is responsible for assigning its
own names
–
.edu is the top
-
level domain for educational
institutions in the US. We need to get
permission from the managers of the .edu
domain before we can use lynchburg.edu
–
lynchburg.edu is the Lynchburg College
domain name. We can name our computers
anything we want, (e.g., acavax.lynchburg.edu).
–
If we wanted to we could create a
cs.lynchburg.edu subdomain
Lavender
Army
Magenta
Army
Magenta
Army
Distributed processing
problem from Data
Networks, by Dimitri
Bertsekas and Robert
Gallager
Enter the password to open this PDF file:
File name:
-
File size:
-
Title:
-
Author:
-
Subject:
-
Keywords:
-
Creation Date:
-
Modification Date:
-
Creator:
-
PDF Producer:
-
PDF Version:
-
Page Count:
-
Preparing document for printing…
0%
Comments 0
Log in to post a comment