![Page 2: CS 335 - Computer Networks Dr. Randy L. Ribler 103 Hobbs ribler@lynchburg.edu](https://reader038.vdocument.in/reader038/viewer/2022110208/56649dde5503460f94ad6590/html5/thumbnails/2.jpg)
Introduction
Read Chapter 1 in Kurose and Ross
![Page 3: CS 335 - Computer Networks Dr. Randy L. Ribler 103 Hobbs ribler@lynchburg.edu](https://reader038.vdocument.in/reader038/viewer/2022110208/56649dde5503460f94ad6590/html5/thumbnails/3.jpg)
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
![Page 4: CS 335 - Computer Networks Dr. Randy L. Ribler 103 Hobbs ribler@lynchburg.edu](https://reader038.vdocument.in/reader038/viewer/2022110208/56649dde5503460f94ad6590/html5/thumbnails/4.jpg)
Sentence
Word
Net
Talk
Sentence
Net
Talk
Send sentenceSend Word
Route Word
Alphanumeric Transmission
Word
•Classroom Demonstration Protocol
![Page 5: CS 335 - Computer Networks Dr. Randy L. Ribler 103 Hobbs ribler@lynchburg.edu](https://reader038.vdocument.in/reader038/viewer/2022110208/56649dde5503460f94ad6590/html5/thumbnails/5.jpg)
•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
![Page 6: CS 335 - Computer Networks Dr. Randy L. Ribler 103 Hobbs ribler@lynchburg.edu](https://reader038.vdocument.in/reader038/viewer/2022110208/56649dde5503460f94ad6590/html5/thumbnails/6.jpg)
ISO OSI Reference Model
International Standards Organization
Open Systems Interconnection (OSI)
The ISO OSI contains 7 layers
![Page 7: CS 335 - Computer Networks Dr. Randy L. Ribler 103 Hobbs ribler@lynchburg.edu](https://reader038.vdocument.in/reader038/viewer/2022110208/56649dde5503460f94ad6590/html5/thumbnails/7.jpg)
OSI Reference Model
Application
Layer
Session Layer
Transport Layer
Network Layer
Data Link Layer
Physical Layer
Presentation Layer
![Page 8: CS 335 - Computer Networks Dr. Randy L. Ribler 103 Hobbs ribler@lynchburg.edu](https://reader038.vdocument.in/reader038/viewer/2022110208/56649dde5503460f94ad6590/html5/thumbnails/8.jpg)
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
![Page 9: CS 335 - Computer Networks Dr. Randy L. Ribler 103 Hobbs ribler@lynchburg.edu](https://reader038.vdocument.in/reader038/viewer/2022110208/56649dde5503460f94ad6590/html5/thumbnails/9.jpg)
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.
![Page 10: CS 335 - Computer Networks Dr. Randy L. Ribler 103 Hobbs ribler@lynchburg.edu](https://reader038.vdocument.in/reader038/viewer/2022110208/56649dde5503460f94ad6590/html5/thumbnails/10.jpg)
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
![Page 11: CS 335 - Computer Networks Dr. Randy L. Ribler 103 Hobbs ribler@lynchburg.edu](https://reader038.vdocument.in/reader038/viewer/2022110208/56649dde5503460f94ad6590/html5/thumbnails/11.jpg)
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
![Page 12: CS 335 - Computer Networks Dr. Randy L. Ribler 103 Hobbs ribler@lynchburg.edu](https://reader038.vdocument.in/reader038/viewer/2022110208/56649dde5503460f94ad6590/html5/thumbnails/12.jpg)
The Network Layer
Routing “packets”
Congestion Control
Accounting
Heterogeneous network interconnects
![Page 13: CS 335 - Computer Networks Dr. Randy L. Ribler 103 Hobbs ribler@lynchburg.edu](https://reader038.vdocument.in/reader038/viewer/2022110208/56649dde5503460f94ad6590/html5/thumbnails/13.jpg)
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.”
![Page 14: CS 335 - Computer Networks Dr. Randy L. Ribler 103 Hobbs ribler@lynchburg.edu](https://reader038.vdocument.in/reader038/viewer/2022110208/56649dde5503460f94ad6590/html5/thumbnails/14.jpg)
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
![Page 15: CS 335 - Computer Networks Dr. Randy L. Ribler 103 Hobbs ribler@lynchburg.edu](https://reader038.vdocument.in/reader038/viewer/2022110208/56649dde5503460f94ad6590/html5/thumbnails/15.jpg)
Presentation Layer
•General Purpose Application Utilities•Utilities that operate on data
•Data word sizes•Encryption•Data Compression•Code conversions
•e.g., ASCII <-> EBCDIC
![Page 16: CS 335 - Computer Networks Dr. Randy L. Ribler 103 Hobbs ribler@lynchburg.edu](https://reader038.vdocument.in/reader038/viewer/2022110208/56649dde5503460f94ad6590/html5/thumbnails/16.jpg)
Application Layer
Application specific code ftp
telnet
http
Anything not implemented elsewhere in the protocol stack.
![Page 17: CS 335 - Computer Networks Dr. Randy L. Ribler 103 Hobbs ribler@lynchburg.edu](https://reader038.vdocument.in/reader038/viewer/2022110208/56649dde5503460f94ad6590/html5/thumbnails/17.jpg)
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
![Page 18: CS 335 - Computer Networks Dr. Randy L. Ribler 103 Hobbs ribler@lynchburg.edu](https://reader038.vdocument.in/reader038/viewer/2022110208/56649dde5503460f94ad6590/html5/thumbnails/18.jpg)
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
![Page 19: CS 335 - Computer Networks Dr. Randy L. Ribler 103 Hobbs ribler@lynchburg.edu](https://reader038.vdocument.in/reader038/viewer/2022110208/56649dde5503460f94ad6590/html5/thumbnails/19.jpg)
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 FriendApplication
Presentation
Session
Transport
Network
Data Link
Physical
![Page 20: CS 335 - Computer Networks Dr. Randy L. Ribler 103 Hobbs ribler@lynchburg.edu](https://reader038.vdocument.in/reader038/viewer/2022110208/56649dde5503460f94ad6590/html5/thumbnails/20.jpg)
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
![Page 21: CS 335 - Computer Networks Dr. Randy L. Ribler 103 Hobbs ribler@lynchburg.edu](https://reader038.vdocument.in/reader038/viewer/2022110208/56649dde5503460f94ad6590/html5/thumbnails/21.jpg)
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.
![Page 22: CS 335 - Computer Networks Dr. Randy L. Ribler 103 Hobbs ribler@lynchburg.edu](https://reader038.vdocument.in/reader038/viewer/2022110208/56649dde5503460f94ad6590/html5/thumbnails/22.jpg)
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
![Page 23: CS 335 - Computer Networks Dr. Randy L. Ribler 103 Hobbs ribler@lynchburg.edu](https://reader038.vdocument.in/reader038/viewer/2022110208/56649dde5503460f94ad6590/html5/thumbnails/23.jpg)
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)
![Page 24: CS 335 - Computer Networks Dr. Randy L. Ribler 103 Hobbs ribler@lynchburg.edu](https://reader038.vdocument.in/reader038/viewer/2022110208/56649dde5503460f94ad6590/html5/thumbnails/24.jpg)
Some Well Known Port Numbers 23 (telnet)
21 (ftp)
13 (daytime)
25 (smtp (mail))
43 (whois)
144 (news)
80 (http web server)
![Page 25: CS 335 - Computer Networks Dr. Randy L. Ribler 103 Hobbs ribler@lynchburg.edu](https://reader038.vdocument.in/reader038/viewer/2022110208/56649dde5503460f94ad6590/html5/thumbnails/25.jpg)
Telnet Client telnet <hostname> <port number>
provides a general interface to request a service and return a text response.
![Page 26: CS 335 - Computer Networks Dr. Randy L. Ribler 103 Hobbs ribler@lynchburg.edu](https://reader038.vdocument.in/reader038/viewer/2022110208/56649dde5503460f94ad6590/html5/thumbnails/26.jpg)
Ping
See if there is a connection between two machines
See if a particular host is running
ping <hostname>
![Page 27: CS 335 - Computer Networks Dr. Randy L. Ribler 103 Hobbs ribler@lynchburg.edu](https://reader038.vdocument.in/reader038/viewer/2022110208/56649dde5503460f94ad6590/html5/thumbnails/27.jpg)
Trace Route traceroute <hostname> (unix)
tracert <hostname> (dos/windows)
![Page 28: CS 335 - Computer Networks Dr. Randy L. Ribler 103 Hobbs ribler@lynchburg.edu](https://reader038.vdocument.in/reader038/viewer/2022110208/56649dde5503460f94ad6590/html5/thumbnails/28.jpg)
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
![Page 29: CS 335 - Computer Networks Dr. Randy L. Ribler 103 Hobbs ribler@lynchburg.edu](https://reader038.vdocument.in/reader038/viewer/2022110208/56649dde5503460f94ad6590/html5/thumbnails/29.jpg)
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)
![Page 30: CS 335 - Computer Networks Dr. Randy L. Ribler 103 Hobbs ribler@lynchburg.edu](https://reader038.vdocument.in/reader038/viewer/2022110208/56649dde5503460f94ad6590/html5/thumbnails/30.jpg)
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
![Page 31: CS 335 - Computer Networks Dr. Randy L. Ribler 103 Hobbs ribler@lynchburg.edu](https://reader038.vdocument.in/reader038/viewer/2022110208/56649dde5503460f94ad6590/html5/thumbnails/31.jpg)
Lavender Army Magenta
ArmyMagenta Army
Distributed processing problem from Data Networks, by Dimitri Bertsekas
and Robert Gallager