|
CS 580 Client-Server Programming
Fall Semester, 2002
Networks
|
|
|
Previous   
Lecture Notes Index
   Next    
© 2002, All Rights Reserved, SDSU & Roger Whitney
San Diego State University -- This page last updated 23-Sep-02
|
|
Contents of Doc 8, 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
Computer
Networks and Internets, Comer, 1997
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
UDP
Fast
Client
& Server must handle
- Lost
packets
- Packets
arriving out of order
Used
by:
TCP
Handles
- Lost
packets
- Packet
order
Receiver
acknowledges each packet
Sender
resends packet if it is lost
TCP
has delays in
- Startup
of connection
- Closing
of connection
Addresses
and Names
IP
address is currently a 32-bit number
130.191.3.100 (Four 8 bit numbers)
IPv6
uses 128 bit numbers for addresses
105.220.136.100.0.0.0.0.0.0.18.128.140.10.255.255
69DC:8864:0:0:0:1280:8C0A:FFFF
69DC:8864::1280:8C0A:FFFF
Machines
on a network need a unique IP address
127.0.0.1
(localhost)
Common
loopback address
Refers
to the current computer
Messages
sent to 127.0.0.1 to not reach the network
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
- ->host
rohan.sdsu.edu
- rohan.sdsu.edu
has address 130.191.3.100
- ->host
130.191.3.100
- 100.3.191.130.IN-ADDR.ARPA
domain name pointer rohan.sdsu.edu
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
Examples
to Try
Day
Time
Type:
telnet sdsu.edu 13
Course
Web Site
Type
telnet www.eli.sdsu.edu 80
-
- then
type:
GET /courses/fall02/cs580/index.html HTTP/1.0 <CR>
<CR>
Note
<Cr> indicates were you need to hit return
Copyright ©, All rights reserved.
2002 SDSU & Roger Whitney, 5500 Campanile Drive, San Diego, CA 92182-7700 USA.
OpenContent license defines the copyright on this document.
Previous   
visitors since 23-Sep-02
   Next