Transcript Lecture 14

CIT 140: Introduction to IT
Networking
CIT 140: Introduction to IT
Slide #1
Topics
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
What are Networks?
Why do we want Networks?
Social Issues
Sizes and Types of Networks
Circuit vs Packet Switching
Network Structures: Peer-to-peer and Client-server
Performance Issues
Network Protocols and Models
TCP/IP
History of Networks
UNIX Network Commands
CIT 140: Introduction to IT
Slide #2
What is a Computer Network?
When two or more computer hardware resources
are connected they form a computer network.
CIT 140: Introduction to IT
Slide #3
Why Networks?
Resource Sharing
Physical resources: printers, scanners, faxes
Information: files, databases, web pages
Communication
E-mail
Collaborative work
E-commerce
Instant messaging
CIT 140: Introduction to IT
Slide #4
Social Issues
Controversial topics
Politics, religion, sex
Employers vs employees
Monitoring
Censorship
Government vs citizens
FBI Carnivore System
National Security Letters
CIT 140: Introduction to IT
Slide #5
Sizes of Networks
PANs: Personal Area Networks
LANs: Local Area Networks
WLANs: Wireless LANs
MANs: Metropolitan Area networks
WANs: Wide Area networks
CIT 140: Introduction to IT
Slide #6
Types of Networks
Subnetworks are parts of individual networks,
often connected through a single switch.
Network can refer to any size network.
Internetworks are larger networks composed
of multiple networks.
CIT 140: Introduction to IT
Slide #7
Computer Networks and Internetworks
CIT 140: Introduction to IT
Slide #8
Circuit vs Packet Switching
Circuit-switched: A connection called a circuit
is set up between two devices and used for
the whole communication.
Packet-switched: Data is chopped up into
small pieces called packets and sent over the
network. Each packet may follow a different
path between the communicating parties.
CIT 140: Introduction to IT
Slide #9
Circuit vs Packet Switching
CIT 140: Introduction to IT
Slide #10
Network Structure
Peer-to-Peer: Every computer is an equal peer,
running similar software with no special
roles. Requests can be from any computer to
any other computer.
Client-Server: A small number of computers
are designed as central servers to provide
services to a larger number of user machines
called clients.
CIT 140: Introduction to IT
Slide #11
Client/Server Computing
CIT 140: Introduction to IT
Slide #12
Performance Issues
Throughput
– Amount of data that can be sent per unit time.
– ex: 56Kbps cable modem
– ex: 4000Kbps cable modem
Latency
– Amount of time from request to response.
– ex: 2 PCs on a network have a latency ~ 10ms
– ex: Satellite internet has a latency ~1000ms
CIT 140: Introduction to IT
Slide #13
Throughput vs Latency
An Ultrium3 tape holds 400GB.
A 60cm3 box holds 100 tapes.
The box contains 3200 terabits!
FedEx can ship it anywhere in US in 24 hrs.
Throughput is 3200 terabits / 86400 seconds
= 38 Gbps!
NetFlix transfers more data than Internet!
Latench is 24 hours though.
CIT 140: Introduction to IT
Slide #14
Network Protocols
A protocol is an agreement between
communicating parties on how
communication is to proceed.
CIT 140: Introduction to IT
Slide #15
Protocol Example: HTTP
> telnet www.google.com 80
Trying 72.14.203.99...
Connected to www.l.google.com.
Escape character is '^]'.
GET / HTTP/1.1
HTTP/1.1 200 OK
Cache-Control: private
Content-Type: text/html
Set-Cookie: PREF=ID=e812e6c7ead517fe:TM=1131846389:LM=1131846389:S=rD8WNplszt1Ko8A; expires=Sun, 17-Jan-2038 19:14:07 GMT; path=/;
domain=.google.com
Server: GWS/2.1
Transfer-Encoding: chunked
Date: Sun, 13 Nov 2005 01:46:29 GMT
a46
<html><head><meta http-equiv="content-type" content="text/html; charset=ISO-88591"><title>Google</title><style>
CIT 140: Introduction to IT
Slide #16
Protocol Example: HTTP
> telnet www.google.com 80
Trying 72.14.203.99...
Connected to www.l.google.com.
Escape character is '^]'.
GET /foo HTTP/1.1
HTTP/1.1 404 Not Found
Content-Type: text/html
Server: GWS/2.1
Content-Length: 1244
Date: Sun, 13 Nov 2005 01:47:47 GMT
CIT 140: Introduction to IT
Slide #17
Protocol Stacks
Protocols are stacked together in layers
High level protocols are application protocols.
Medium level ones perform tasks like routing
packets through the network.
Low level protocols deal with cabling and
electrical signaling.
CIT 140: Introduction to IT
Slide #18
Network Models
CIT 140: Introduction to IT
Slide #19
Application Layer
User applications
– Web (http)
– E-mail (smtp)
CIT 140: Introduction to IT
Slide #20
Transport Layer
The transport layer is an end-to-end protocol that
transports application data from your machine to a
remote machine and vice versa.
User Datagram Protocol (UDP) offers the best
effort delivery service.
Transmission Control Protocol (TCP) offers the
completely reliable, in-sequence delivery. It
provides a virtual circuit for the communication.
CIT 140: Introduction to IT
Slide #21
Network Layer
IP protocol routes packets from source to destination.
Uses IP addresses for source and destination.
ex: 10.11.32.10
Does not guarantee delivery.
Responsibility of transport or application layer.
Uses special purpose computers called routers.
CIT 140: Introduction to IT
Slide #22
IP Routing
CIT 140: Introduction to IT
Slide #23
IP Addresses
32-bit binary numbers
IP addresses are given in dotted decimal notation (DDN)
> ifconfig hme0
hme0:
flags=1000843<UP,BROADCAST,RUNNING,MULTI
CAST,IPv4> mtu 1500 index 2
inet 172.20.20.40 netmask ffffff00 broadcast
172.20.20.255
CIT 140: Introduction to IT
Slide #24
DNS Names
Symbolic names are easier to remember
Remain same even if the numeric address changes
Must be unique for a host on the Internet
Format: hostname.domain_name
Example: www.nku.edu
mail.nku.edu
cs.nku.edu
CIT 140: Introduction to IT
Slide #25
The Domain Name System
Domain Name System (DNS) translates DNS
names from application layer to IP addresses for
network layer.
DNS implements a distributed database of name-toaddress mappings.
A set of dedicated hosts run name servers that take
requests from the application software and work
together to map domain names to the
corresponding IP addresses
CIT 140: Introduction to IT
Slide #26
The Domain Name System
CIT 140: Introduction to IT
Slide #27
Dig: DNS Lookup
dig [options]
Purpose
Interact with name servers specified in
/etc/resolv.conf and display their
responses
Output
Responses of name servers for queries
sent to them
Commonly used option/features:
-f file For batch operation , take domain names
(or IP addresses) from ‘file
-p port Interact with a name server at ‘port’
instead of the default port53
CIT 140: Introduction to IT
Slide #28
Dig Example
> dig www.google.com
; <<>> DiG 8.3 <<>> www.google.com
;; res options: init recurs defnam dnsrch
;; got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 2
;; flags: qr rd ra; QUERY: 1, ANSWER: 3, AUTHORITY: 5,
ADDITIONAL: 0
;; QUERY SECTION:
;;
www.google.com, type = A, class = IN
;; ANSWER SECTION:
www.google.com.
14m40s IN CNAME www.l.google.com.
www.l.google.com.
4m40s IN A
72.14.203.104
www.l.google.com.
4m40s IN A
72.14.203.99
CIT 140: Introduction to IT
Slide #29
Data Link Layer
Break up transmission into small enough
packets (often called frames) and send them
sequentially.
Traffic regulation: ensure fast transmitter
doesn’t overwhelm slow receiver.
CIT 140: Introduction to IT
Slide #30
Physical Layer
How many volts is a 1?
How many volts is a 0?
How long does a bit last?
CIT 140: Introduction to IT
How many pins does
connector have?
What is each pin used for?
Slide #31
Internet Standards
IETF (Internet Engineering Task Force)
– Open group responsible for Internet standards.
RFC (Request for Comments)
– Internet standard documents.
– IETF archives RFCs at www.ietf.org.
IANA (Internet Assigned Numbers Authority)
– Coordinates unique network numbers.
– IP addresses, protocol numbers, etc.
ICANN (Inet. Corp. for Assigned Names & Numbers)
– Manages DNS top level domains (TLDs) like .com, .gov
– Gives domain registrars responsibilities over domains.
CIT 140: Introduction to IT
Slide #32
History of Internet
1969 ARPAnet created (4 hosts)
1984 DNS deployed
1986 Cleveland Freenet offers free Internet access
1987 Number of hosts reaches 10,000
1988 Morris Worm
1989 Number of hosts reaches 100,000
1990 First commercial dialup ISP
1991 WWW released at CERN
1992 Number of hosts reaches 1,000,000
1993 Mosaic, graphical web browser, released
1994 First banner ads appear on the web
1995 AOL offers Internet access
1996 Telcos try to ban Internet telephones
1996 Number of hosts reaches 10,000,000
2000 Number of hosts reaches 100,000,000
CIT 140: Introduction to IT
Slide #33
Displaying the Hostname
> hostname
zappa
> uname -n
zappa
> uname -a
SunOS zappa 5.9 Generic_112233-07 sun4u
sparc SUNW,Ultra-250
CIT 140: Introduction to IT
Slide #34
Testing a Network Connection
ping [options] hostname
Purpose: Send packet to hostname. If hostname is up,
packet is echo’ed back and ping records that host is alive.
Commonly used options/features:
-s
Send one packet/second and
record latency statistics.
CIT 140: Introduction to IT
Slide #35
Ping Example
> ping www.uc.edu
no answer from www.uc.edu
> ping www.google.com
www.google.com is alive
> ping -s www.google.com
PING www.google.com: 56 data bytes
64 bytes from 72.14.203.104: icmp_seq=0. time=17. ms
64 bytes from 72.14.203.104: icmp_seq=1. time=20. ms
64 bytes from 72.14.203.104: icmp_seq=2. time=17. ms
64 bytes from 72.14.203.104: icmp_seq=3. time=21. ms
64 bytes from 72.14.203.104: icmp_seq=4. time=16. ms
^C
----www.google.com PING Statistics---5 packets transmitted, 5 packets received, 0% packet loss
round-trip (ms) min/avg/max = 16/18/21
> ping -s www.muohio.edu
PING www.muohio.edu: 56 data bytes
64 bytes from w8zr.net (134.53.7.73): icmp_seq=0. time=43. ms
64 bytes from w8zr.net (134.53.7.73): icmp_seq=1. time=1260. ms
64 bytes from w8zr.net (134.53.7.73): icmp_seq=2. time=263. ms
64 bytes from w8zr.net (134.53.7.73): icmp_seq=3. time=43. ms
64 bytes from w8zr.net (134.53.7.73): icmp_seq=4. time=42. ms
^C
----www.muohio.edu PING Statistics---5 packets transmitted, 5 packets received, 0% packet loss
round-trip (ms) min/avg/max = 42/330/1260
CIT 140: Introduction to IT
Slide #36
Traceroute
> traceroute www.google.com
traceroute: Warning: www.l.google.com has multiple addresses; using 72.14.203.104
traceroute to www.l.google.com (72.14.203.104), 30 hops max, 40 byte packets
1 172.20.20.253 (172.20.20.253) 0.550 ms 0.332 ms 0.307 ms
2 192.122.237.10 (192.122.237.10) 0.715 ms 0.690 ms 0.731 ms
3 h13.188.140.67.ip.alltel.net (67.140.188.13) 1.234 ms 1.192 ms 1.066 ms
4 h6.31.213.151.ip.alltel.net (151.213.31.6) 3.515 ms 3.710 ms 3.705 ms
5 h212.33.213.151.ip.alltel.net (151.213.33.212) 3.547 ms 3.491 ms
h208.33.213.151.ip.alltel.net (151.213.33.208) 3.558 ms
6 so-1-0.hsa2.Cincinnati1.Level3.net (4.78.218.5) 5.506 ms 29.589 ms 12.175 ms
7 4.68.124.241 (4.68.124.241) 6.038 ms ae-1-54.bbr2.Chicago1.Level3.net (4.68.101.97)
62.243 ms 19.935 ms
8 4.68.124.202 (4.68.124.202) 19.798 ms 19.855 ms so-2-0-1.bbr2.Chicago1.Level3.net
(64.159.0.162) 16.263 ms
9 francetelecom-level3-oc48.Chicago1.Level3.net (4.68.111.2) 19.930 ms 4.68.124.202
(4.68.124.202) 15.908 ms francetelecom-level3-oc48.Chicago1.Level3.net (4.68.111.2)
19.779 ms
10 * * *
11 66.249.95.253 (66.249.95.253) 20.204 ms * *
12 72.14.238.89 (72.14.238.89) 20.886 ms 66.249.95.253 (66.249.95.253) 16.119 ms 16.023
ms
13 72.14.238.89 (72.14.238.89) 17.237 ms 16.971 ms 17.030 ms
14 72.14.203.104 (72.14.203.104) 21.288 ms 64.233.175.94 (64.233.175.94) 19.653 ms 27.886
ms
CIT 140: Introduction to IT
Slide #37
Displaying User Information
finger [options] [user_list]
Purpose: Display information about the users in the
‘user_list’; without a ‘user_list’, the command displays
a short status report about all the users currently logged
on to the specified hosts
Output: User information extracted from the
~/.project and ~/.plan files
Commonly used options/features:
-m
Match ‘user_list’ to login names only
-s
Display output in a short format.
CIT 140: Introduction to IT
Slide #38
Finger Example
> finger waldenj
Login name: waldenj
Directory: /export/home0/waldenj
Shell: /bin/bash
On since Nov 13 09:39:18 on pts/2 from 23.112.19.41
No unread mail
Plan:
Fall 2005 Class Schedule
CSC 382 Computer Security
CIT 140
Introduction to IT
CSC 501 Int. Prog. Workshop
> finger -s waldenj
Login
Name
TTY
waldenj
???
pts/2
CIT 140: Introduction to IT
MW 1:40-2:55
TR 2:00-3:15
TR 4:50-6:05
Idle When Where
Sun 09:39 23.112.19.41
Slide #39
Remote Login: telnet (Obsolete)
telnet host [port]
Purpose: Obsolete, insecure protocol for logging into a
remote system. Superseded by ssh.
Currently used to demonstrate network protocols by
connecting to their ports, as we did for HTTP earlier.
Ports for common protocols are listed in the file
/etc/services.
CIT 140: Introduction to IT
Slide #40
Telnet Port Example: 80
> telnet www.google.com 80
Trying 72.14.203.99...
Connected to www.l.google.com.
Escape character is '^]'.
GET /foo HTTP/1.1
HTTP/1.1 404 Not Found
Content-Type: text/html
Server: GWS/2.1
Content-Length: 1244
Date: Sun, 13 Nov 2005 01:47:47 GMT
CIT 140: Introduction to IT
Slide #41
Remote Login: ssh
ssh [options] host [command]
ssh [options] user@host [command]
Purpose: Secure login to remote host.
Commonly used options/features:
-l user
Login as specified username.
-p port
Specifies remote port to connect to
-v
Verbose output
CIT 140: Introduction to IT
Slide #42
ssh: secure shell
> ssh [email protected] who
Password:
jw
:0
Oct 15 14:11
jw
pts/0
Nov 10 08:58 (:0.0)
jw
pts/1
Oct 22 12:46 (:0.0)
jw
pts/2
Oct 21 23:02 (:0.0)
jw
pts/7
Oct 15 14:20 (:0.0)
> ssh [email protected] "ps -ef | grep ssh"
Password:
jw
7779 7733 0 Oct15 ?
00:00:00 /usr/bin/ssh-agent /usr/bin/dbuslaunch --exit-with-session /usr/bin/gnome-session
root
1890 1 0 Oct21 ?
00:00:02 /usr/sbin/sshd
root
5882 1890 0 Nov10 ?
00:00:00 sshd: jw [priv]
jw
5886 5882 0 Nov10 ?
00:00:00 sshd: jw@notty
jw
25660 25659 0 21:49 ?
00:00:00 bash -c ps -ef | grep ssh
jw
25674 25660 0 21:49 ?
00:00:00 grep ssh
CIT 140: Introduction to IT
Slide #43
The scp Command
Securely copy files from machine to
machine across the network
> scp prog.c zappa.nku.edu:~/classes/cit140/programs/
Password:
> scp -r zappa.nku.edu:classeses .
Password:
CIT 140: Introduction to IT
Slide #44
The sftp Command
Securely copy files from machine to machine across the
network using an interactive session.
> sftp [email protected]
Connecting to zappa.nku.edu...
[email protected]'s password:
sftp> ls
bash-3.0.tar.gz
cit140
csc382
csc501
mail
public_html
sftp> get bash-3.0.tar.gz
Fetching /export/home0/waldenj/bash-3.0.tar.gz to bash3.0.tar.gz
/export/home0/waldenj/bash-3.0.tar.gz
100%
2362KB 472.3KB/s
00:05
sftp> quit
CIT 140: Introduction to IT
Slide #45
File Transfer
ftp [options] [host]
Purpose:
To transfer files from or to a remote machine.
Commonly used options/features
-d
Enable debugging
-i
Disable prompting during
transfers of multiple files
-v
Show all remote responses
CIT 140: Introduction to IT
Slide #46
FTP Example
> ftp ftp.gnu.org
Connected to ftp.gnu.org.
220 GNU FTP server ready.
Name (ftp.gnu.org:waldenj): ftp
230-Due to U.S. Export Regulations, all cryptographic software on this
230-site is subject to the following legal notice:
230 Login successful.
Remote system type is UNIX.
Using binary mode to transfer files.
ftp> cd gnu/bash
250 Directory successfully changed.
ftp> dir bash-3.0*
200 PORT command successful. Consider using PASV.
150 Here comes the directory listing.
drwxr-xr-x 2 1003 1003
4096 Feb 14 2005 bash-3.0-patches
-rw-r--r-- 1 1003 65534 2418293 Aug 03 2004 bash-3.0.tar.gz
-rw-r--r-- 1 1003 65534
65 Aug 03 2004 bash-3.0.tar.gz.sig
226 Directory send OK.
remote: bash-3.0*
224 bytes received in 0.0074 seconds (29.39 Kbytes/s)
CIT 140: Introduction to IT
Slide #47
Automating Ftp
> wget ftp://ftp.gnu.org/gnu/bash/bash-3.0.tar.gz
--21:42:24-- ftp://ftp.gnu.org/gnu/bash/bash-3.0.tar.gz
=> `bash-3.0.tar.gz'
Resolving ftp.gnu.org... done.
Connecting to ftp.gnu.org[199.232.41.7]:21... connected.
Logging in as anonymous ... Logged in!
==> SYST ... done. ==> PWD ... done.
==> TYPE I ... done. ==> CWD /gnu/bash ... done.
==> PORT ... done. ==> RETR bash-3.0.tar.gz ... done.
Length: 2,418,293 (unauthoritative)
100%[====================================>] 2,418,293
579.54K/s ETA 00:00
21:42:29 (579.54 KB/s) - `bash-3.0.tar.gz' saved [2418293]
CIT 140: Introduction to IT
Slide #48
Automating Web Transfers
> wget http://greenend.org.uk/~sgtatham/putty/latest/x86/putty.exe
--21:44:51--http://greenend.org.uk/~sgtatham/putty/latest/x86/putty.exe
=> `putty.exe'
Location: http://the.earth.li/~sgtatham/putty/0.58/x86/putty.exe [following]
--21:44:52-- http://the.earth.li/%7Esgtatham/putty/0.58/x86/putty.exe
=> `putty.exe'
Connecting to the.earth.li[193.201.200.66]:80... connected.
HTTP request sent, awaiting response... 200 OK
Length: 421,888 [application/x-msdos-program]
100%[====================================>] 421,888
307.46K/s ETA 00:00
21:44:54 (307.46 KB/s) - `putty.exe' saved [421888/421888]
CIT 140: Introduction to IT
Slide #49
Interactive Chat
talk user
Purpose: to initiate interactive chat with user
who is logged in on a specific terminal
> talk bob
[Waiting for your party to respond]
Message from [email protected] at 13:36 ...
talk: connection requested by [email protected].
talk: respond with: talk [email protected]
> talk sarwar@upibm7
CIT 140: Introduction to IT
Slide #50