SDSU Client-Server Programming
Spring Semester, 2005
Networks
Previous     Lecture Notes Index         
© 2005, All Rights Reserved, SDSU & Roger Whitney
San Diego State University -- This page last updated 08-Feb-05

CS 580 Client-Server Programming Spring Semester, 2005 Doc 5 Networks

Contents

Networks

How information is transmitted in a network

Classes of Communication Services

Our View of Network Communication with TCP/IP

Ports

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

Copyright ©, All rights reserved. 2005 SDSU & Roger Whitney, 5500 Campanile Drive, San Diego, CA 92182-7700 USA. OpenContent ( http://www.opencontent.org/opl.shtml) license defines the copyright on this document.

Networks

Communication Network

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

Packets are delivered in order System confirms delivery and put packets in order Error free

Packets are treated individually Program has to worry about order, error and lost packets

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

Used by:

TCP

Handles

Receiver acknowledges each packet

Sender resends packet if it is lost

TCP has delays in

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

->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

Domain Names
Meaning
COM
Commercial organizations
EDU
Educational institutions
GOV
Government institutions
MIL
Military groups
NET
Major network support groups
ORG
Organizations not list above
ARPA
obsolete
INT
International organizations

CN,IN,MX,US

http://www.iana.org/domain-names.htm

biz

Business

info

Information

name

For individuals

pro

For professionals

aero

Forviation

coop

For coopertives

museum

For museums

More top level domains will be added later this year

Dealing for applications is March 15, 2004 at 23.59 UTC

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 - 65535

A connection between two machines is uniquely defined by:

Well known ports
1 - 1023
Registered Ports1024 - 49151Dynamic/Private ports49152 - 65535

Some Interesting Server Port Numbers

Service
Port Number
echo
7
discard
9
daytime
13
character generation
19
ftp
21
ssh
22
telnet
23
smtp
25
time
37
http
80
nntp
119
https
443
doom
666
mysql
3306
postgresql
5432
gnutella
6346, 6347

For a local list of services

file://rohan.sdsu.edu/etc/services

For a complete list see:

http://www.iana.org/assignments/port-numbers

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

Telnet Client and other ports

Examples to Try

Day Time

Type:

telnet   sdsu.edu    13

Course Web Site

Type

telnet www.eli.sdsu.edu 80

GET  /courses/spring04/cs580/index.html   HTTP/1.0 <CR>
<CR>
   

Note <Cr> indicates were you need to hit return


Previous     visitors since 08-Feb-05