|
CS 580 Client-Server Programming
Fall Semester, 2000
Networks
|
|
|
Previous   
Lecture Notes Index
   Next    
© 2000, All Rights Reserved, SDSU & Roger Whitney
San Diego State University -- This page last updated 04-Sep-00
|
|
Contents of Doc 4, Networks
References
Dr.
Vinge's CS580 class notes, Spring 2000,
http://www-rohan.sdsu.edu/faculty/vinge/courses/spring00/cs580/
Unix
Network Programming by W. Richard Stevens, 1990, selected pages
Internetworking
with TCP/IP Volume 1 Principles, Protocols, and Architecture, Third Edition, by
Douglas E. Comer, selected pages
Networks
Communication
Network
- A
set of communication nodes that are interconnected to permit the exchange of
information
How
information is transmitted in a network
Information
is transformed into electrical or optical signals
All
signals are corrupted during transmission
Transmission
adds
noise
to the signal
Digital
data helps over come noise
-
- Slightly
corrupted 1's are distinguishable from slightly corrupted 0's
- Digital
data allows for error-control
Dynamic
data like audio or video normally requires continuous transmission
Packets
Stream
of bits is divided into separate packets
Kermit
Packet Structure
Classes
of Communication Services
End-to-end
services as seen by the users:
Synchronous
communications
- Bit
stream is delivered with a fixed delay and given error rate
- Each
bit reaches the destination with the same time delay after leaving the source
Asynchronous
communications
- Bit
stream is divided into packets
- Packets
are received with varying delays, so packets can arrive out of order
- Some
packets are not received correctly
- Connection-oriented
- Packets
are delivered in order
- System
confirms delivery and put packets in order
- Error
free
-
- Connectionless
- Packets
are treated individually
- Program
has to worry about order, error and lost packets
- Expedited
Data
- Faster
delivery than normal
Our
View of Network Communication with TCP/IP
TCP
-
Connection-oriented
UDP
-
Connectionless
TCP
gives us a "pipe" between machines to allow us to send messages between machines
Addresses
and Names
IP
address is currently a 32 bit number
IPv6
uses 128 bit numbers for addresses
Machines
on a network need a unique IP address
Domain
Name System
( DNS
)
- Maps
machine names to IP addresses
- rohan.sdsu.edu
<-> 130.191.143.100
Unix
"host" command
- Shows
mapping between machine names and IP address
Top
Level DomainsCurrent
TLD
More
top level domains will be added later this year
Internet
Corporation for Assigned Names and Numbers (ICANN
http://www.icann.org/)
oversees assigning TLDs
Ports
TCP/IP
supports multiple logical communication channels called ports
Ports
are numbered from 0 - 65536
A
connection between two machines is uniquely defined by:
- the
protocol (TCP or UDP)
- the
IP address of local machine
- the
port number used on the local machine
- the
IP address of remote machine
- the
port number used on the remote machine
reserved port numbers | 1 - 1023 |
port numbers used by system | 1024 - 5000 |
Some
Interesting Server Port Numbers
See
file://rohan.sdsu.edu/etc/services
for a local list of services
See
http://www.isi.edu/in-notes/iana/assignments/port-numbers
for more complete list
See
IANA
numbers page
http://www.iana.org/numbers.html
for more information about protocol numbers and assignment services
Telnet
is Your Friend
Telnet
& port 23
- A
server is running on port 23 on rohan
- The
server asks you log in
Telnet
Client and other ports
- Can
send ASCII to a server
Things
to Try
A
- telnet
sdsu.edu 13
B
- telnet
rohan 80
- then
type
- GET
/<CR>
C
- telnet
www-rohan 80
- then
type:
- GET
/ HTTP/1.0 <CR>
- <CR>
- <CR>
Copyright ©, All rights reserved.
2000 SDSU & Roger Whitney, 5500 Campanile Drive, San Diego, CA 92182-7700 USA.
OpenContent license defines the copyright on this document.
Previous   
visitors since 04-Sep-00
   Next