Chapter 1
Linux and TCP/IP
Networking
TCP/IP Essentials
A Lab-Based Approach
Spring 2010
Linux and TCP/IP Implementations
•The first widely available release of TCP/IP implementation
- 4.2 Berkeley Software Distribution (BSD)
•Unix TCP/IP implementations
– Solaris
– FreeBSD
– Linux
zjzhao
Polytechnic Institute of NYU Slide 2
Networking Code Organization
• Most applications are
implemented as user space Application Processes
processes.
System Calls
• Protocols are implemented
Socket Layer
in the system kernel
Protocol Layer
– Socket layer TCP, UDP, ICMP, IGMP
Interface Layer
– Protocol layer Ethernet, PPP, Wi-Fi, etc.
– Interface layer
Media
zjzhao
Polytechnic Institute of NYU Slide 3
Network Daemons and Services
• Daemon: a process running in the background of the system. Popular network
daemons are managed by
– inetd (most TCP/IP applications, xinetd in Red Hat Linux 9)
– Httpd (web service)
– Named (DNS service)
• Port numbers
– Well-known port numbers, used by servers
– Ephemeral port numbers, used by clients
– The port number and IP address pairs of the server and client preserve the
uniqueness of a communication session
zjzhao
Polytechnic Institute of NYU Slide 4
Network Configurations Files
• When a host is configured to boot locally, TCP/IP configuration
parameters are stored in files.
– /etc/services (well-known port numbers)
– /etc/inetd.conf (inetd daemon parameters)
– /etc/sysconfig/network (host name, default gateway IP address)
– /etc/resolv.conf (IP addresses of DNS servers)
• When the system boots up, parameters are read from the files and
used to configure the daemons and the network interface.
• A parameter may be changed by editing the corresponding
configuration file.
zjzhao
Polytechnic Institute of NYU Slide 5
Linux Commands and Tools
•Basic Linux commands: man, passwd, ls, … many more
•Text editor
– vi
– Other text editors: Emacs, gedit, OpenOffice.org
•Window Dump using PrintScreen key
•Using floppy disk, USB memory stick, …
zjzhao
Polytechnic Institute of NYU Slide 6
Diagnostic Tools
Tcpdump – a network traffic sniffer
Ethereal – a network protocol analyzer
zjzhao
Polytechnic Institute of NYU Slide 7