You are on page 1of 23

UNIX Tools

G22.2245-001, Fall 2000


Danielle S. Lahmani
email: lahmani@cs.nyu.edu
Lecture 10
2000 Copyrights, Dan

UNIX Networking
UNIS was one of the first OS to provide
access to widely distributed local networks
as well as Internet networks.
1990's: huge explosion in the use of UNIX
networks, because of UNIX networking
capabilities using a client-server paradigm.

2000 Copyrights, Dan

UNIX Networking
Designed to allow different computers to
communicate easily.
provided ranges of communication and networking
capabilities:

electronic mail
file transfer
logging in on remote system
remote execution of cmds
file sharing

2000 Copyrights, Dan

Networking Terminology
A computer network is a communication
system for connecting end-systems.
A host is a name used to refer to an endsystem:
can range in size
dedicated such as a file or print servers
or general purpose time-sharing systems

2000 Copyrights, Dan

Types of networks
LAN: Local Area Network connects computer systems
that are close together (single-building or a few kilometers
apart)

WAN: Wide Area Network connects computers in


different cities or countries (referred sometimes as Long
Haul Network)

Internet or Internetworking is the connection of two or


more networks so that computers on one network are
able to communicate with computers on another network .

2000 Copyrights, Dan

Local Area Networks


popular technologies: token ring or Ethernet
Ethernet standard: sending a message using a
broadcast mechanism with possibility of a
collision.

LANs operate at high speeds:


10Mbps (million bits per second) using Ethernet
100 Mbps using FDDI (Fiber Distributed Data
Interface)

2000 Copyrights, Dan

Network Definition
Different entities in an internet must
agree on:
Protocols to communicate, (e.g., TCP/IP
protocol suite.)
Addressing scheme
Naming scheme
Routine scheme

2000 Copyrights, Dan

OSI Model
protocols are often complex and are designed in layers
The OSI Reference Model:
Application
Presentation
Session
Transport
Network
Data Link
Physical

2000 Copyrights, Dan

UNIX UUCP
serial-line based or dial-up networking
older than TCP/IP
point to point communication: store and
forward type networking
for many years, primary means of
networking in UNIX
provides basic networking utilities
2000 Copyrights, Dan

UUCP Usage Today


viewed as second class alternative to the
Internet:batch mode usage
not adequate for high-speed networking
UUCP connections are non-interactive
not available on many OS:
therefore, cannot be used in
heterogeneous environment

2000 Copyrights, Dan

Unix TCP/IP Internet Package


is ethernet-based, supports high-speed
connections
bundled with BSD UNIX since 1982
TCP is the Transmission Control Protocol
and IP is the Internet Protocol

2000 Copyrights, Dan

TCP/IP Protocol Suite


IP networks are packet-switched
high-speed IP networking offers interactive
connections between remote hosts
implemented on different platforms and OS:
used in heterogenous environments
networking based on TCP/IP is the basis for
the Internet
2000 Copyrights, Dan

TCP/IP
TCP is a connection-oriented protocol that provides
a reliable, full-duplexed byte-stream for a user
process.
IP is the internet protocol that provides the packet
delivery service for TCP, UDP or ICMP. It provides
a connection-less and unreliable delivery system.
IP datagrams contain source and destination
addresses. Each can be routed and delivered
independently.

2000 Copyrights, Dan

Internet Addresses using IP


32 bits IP addresses encode the network ID and the
Host ID. The Host ID is relative to the Network ID.
Every host on a network must have a unique ID
assigned by a central authority
internet addresses are written as four decimal
numbers, separated by decimal points
example: spunky

128.122.80.31

These addresses are being extended to 128 bits


quantities in IPv6 standard.

2000 Copyrights, Dan

IP Naming
correlation can be assigned between a
host name and an IP address.
Mapping is kept in a file called
/etc/hosts on local host.

2000 Copyrights, Dan

UNIX TCP/IP Internet Package


establishes TCP/IP networking
provides set of user-level commands for
networking tasks
DARPA commands
Berkeley Remote commands (aka as r*
commands)
Unix System to Unix System commands
2000 Copyrights, Dan

The r* commands
rcp :remote copy: allows you to copy files between
your local UNIX host and another remote UNIX host
scp: secure remote copy
rlogin: allows you to login on a remote UNIX host
rsh: allows you to execute a command on a remote
UNIX host. Security issue
ssh: secure shell client (remote login program )
provides secure encrypted communications between two
untrusted hosts over an insecure network .

2000 Copyrights, Dan

Security Issues with r* commands


host equivalence: based on the idea that if the
user has been authenticated on one trusted
computer (host), then there is no reason to
reauthenticate the user on a second computer.
host equivalence: extended through use of
.rhost, .netrc and /etc/hosts.equiv files.
host level security: /etc/host.equiv
user level security: .rhosts file

2000 Copyrights, Dan

Security Pitfalls of the r* cmds


An ordinary user can create a file .rhost in her
$HOME directory and extend host equivalence
to herself when accessing the computer without
any intervention from a system administrator.
In Sun systems, the r* commands have been
modified to run on top of ssh (secure shell)
which requires a password and ignores .rhosts
equivalence.

2000 Copyrights, Dan

DARPA commands
ftp: (file transfer protocol) allows you to
copy files between your local UNIX host
and any other host (possibly non-UNIX)
that support the ftp protocol.
telnet: allows you to execute on any
remote host that has a telnet server.

2000 Copyrights, Dan

Obtaining Information about


other users and hosts
rwho :
finger: get information on a particular user
on any machine in your network
ruptime: to get status of all machines on
the network
ping: to check if remote machine is up

2000 Copyrights, Dan

The Client/Server Model


Server is a process that is waiting to be contacted
by a client process so that server can do
something for the client.
Server is started, sleeps waiting for a service request
from a client
Client processes started on same system or another
system within a network.
Client process sends a request across the network to the
server requesting service of some form.

2000 Copyrights, Dan

Unix Client/Server Model


Implemented using sockets.
One process, a server, creates a socket whose name is
known by other client processes
Client first creates an unnamed socket and then requests
that it be connected to the server's named socket.
Successful connection returns one file descriptor to the
client and another one to the server, both of which may
be used for reading and writing.

2000 Copyrights, Dan

You might also like