CS 335 - Computer Networks

warmersafternoonNetworking and Communications

Oct 23, 2013 (4 years and 16 days ago)

59 views

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