CS70 Networking Theory and Essentials

David Morgan
Santa Monica College
see syllabus for email address


Administrativa

Syllabus
Grade information

Information

Textbook's website

RFC lookup

Remote Unix access with telnet

Using the knoppix boot CD

Fundamental Unix Commands

Protocols: non-cyber examples

MAC address assignments
 - listing
 - search

TCP/IP - Intro to the IP Protocols

TCP/IP Pocket Reference Guide

IP addresses

IP packet delivery

Network calculators:
  here's one
  and another

Real world DSL
 - Order #1
 - Order #2
 -
Analysis

- Order #3

Masks, routing, subnets

Subnet mask chart

A commercial router

DNS - various resources

Windows networking
 
WindowsNetworking
 Practically networked

Using Samba book

Linux Network Administrator's Guide

Playing client
with telnet and netcat

Client/server sample:
 - echoserver.c
 - echoclient.c

Sockets: socket programming

Sockets: sample programs
 - letter-upgrader server
 - letter-upgrader's client

 - upper-echoback server
 - client for echo-back server

 - web (file-send) server
 - client for file-send server

Linux links
Linux man pages

Virtual Private Net

Slide presentations

Concepts

Design

Media

NICs

Protocol layering & suites

Ethernet, a protocol example

HTTP, a protocol example

Interfaces and routes

ping

ARP address resolution

tcpdump

Wires, hubs, switches

IP network addresses

traceroute

Networks: services 

Networks: sockets

internetworks

bridging

udp protocol

tcp protocol

nmap - port scanner

netstat

netcat (nc)

Apache (web server)

Apache CGI

BIND (name server)

DNS protocol

dhcpd (address server)

DHCP protocol

Samba (MS fileshare client) 

SMB (MS fileshare) protocol

stunnel

Networks: protocol interrelationships

Networks:
some details

Networks: modems & Point-to-Point Protocol

Networks: firewalls

 


 

SPRING 2008
Section 1623 1:00p - 4:05p Sat Bus 259

This Website (http://homepage.smc.edu/morgan_david/)  will be used extensively to communicate with you. Announcements, grade reports, and assignments will be posted here. Please access the website from any SMC computer lab. Alternatively, it can be viewed from an internet-connected browser anywhere. You are responsible for awareness of the information posted here.

Homework -
read - link entitled "Playing client with telnet and netcat" and links it contains
do - related assignment at link entitled "Assgt 9 false telnet". due 5/10 on sputnik
read - textbook chapters 35,36 about web service, and 31 about name service. (5/4)

Ports - what normally uses port 25? what normally uses port 110? (5/4)

Slides posted - from last week's discussion, at links entitled "netstat" and "nmap." (5/3)

Test - April 26. Please bring a scantron. (4/18)

TCP Ports you should know
Q: where do the "well-known port" numbers come from?
A: IANA (Internet Assigned Numbers Authority) 

Q: what are the well-known port assignments?
A: the list is long (cf., /etc/services on any linux box) 

Q: which ones should we know for this class?
A: 21, 23, 25, 53, 80, 110, 137-39 (look up what service each belongs to, above)
(4/18)

Various services and the server programs and protocols they use.

Service Server Linux executable Protocol used
name BIND /usr/sbin/named dns
web APACHE /usr/sbin/httpd http
MS sharing SAMBA /usr/sbin/smbd smb
address DHCP /usr/sbin/dhcpd dhcp
socket demo CHOMPER /opt/socketdemo/byteme none
letter upgrade letter upgrade server3 none, really

(4/18)

Student internship - at Sun Microsystems El Segundo. (4/16)

Spring break April 12 - no class that day. (3/28)

Homework -
do - assignment 7.5. due 3/29
do - assignment 7.7. I will talk a little further about it 3/29. due 4/5

Homework
anticipate - in-class internetworking lab/demo we will collectively perform
 - read chapters 17 (internetworking) and 20 (datagram forwarding)
 - read page at link entitled "Masks, routing, subnets" at left
 - print out worksheet at link entitled "internetworking" at right. Bring to class.
read - the other chapters dealing with the topics we've been discussing. They haven't been explicitly assigned on an individual basis so far, only in the reading list below. You'll be responsible for them come test time soon. They are all the chapters up through 16. Read only those portions indicated in the reading list below, as your schedule allows, by test time.
(3/18)

Slides we viewed recently were the ones at the link entitled "Interfaces and routes" and portions of "IP network addresses" in the lefthand column. We also looked at the Forte Systems presentation featuring Sally and Harry (golden rules: "if local ARP it, if remote ARP the gateway instead"), found at the link entitled "IP packet delivery" at left. (3/18)

Routing
Three kinds of routes can appear in a routing table: host route for a specified individual machine, network route for a specified grouping of them, default route as catch-all for everything (unspecified) else. Here are the four key linux command formulations by which you add such routes to a routing table. Though there are 3 kinds of routes, note that 4 command formulations appear. We mentioned the concept of gateways (machines other than the destination, to which you would send the destination's packets for forwarding).  That accounts for there being 2 network route formulations below.

Add route to a machine (host route):
  route add –host 192.168.4.2 eth0 
Add route to a group of machines (network route - local) 
  route add –net 192.168.4.0 netmask 255.255.255.0 eth0 
Add route to a group of machines (network route - gatewayed) 
  route add –net 192.168.5.0 netmask 255.255.255.0 gw 192.168.4.1 
Add route to “any and all” (default route) 
  route add default gw 192.168.4.1

You will employ these commands in the future. Study them intently and try to grasp the semantic meaning they embody. (3/18)

Network size for common netmasks:

Netmask: # of zero bits: Implied network size:
255.255.255.128 7 128 (126)
255.255.255.192 6 64 (62)
255.255.255.224 5 32 (31)
255.255.255.240 4 16 (14)
255.255.255.248 3 8 (6)
255.255.255.252 2 4 (2)

Request - please don't change the root account passwords on the lab computers, as 3 different classes use them. (3/2)

Accounts on sputnik.smc.edu were created today - see "Remote Unix system" paragraph below. (2/24)

Slides we view initially are the ones at the links entitled "Concepts, " "Design," "Media," and "NICs" in the lower section of the lefthand column headed "Slide presentations". Source code for the textbook's Chapter 3 demo programs "echoserver.c" and "echoclient.c" are at the links of the same name (as well as in Chapter 3). (2/15)

Homework - 
read - textbook Chapters 1-3. I will demonstrate the client and server programs featured in chapter 3.
print out - the document at the link entitled "TCP/IP Pocket Reference Guide"
print out - the document at the link entitled "TCP/IP - Intro to the IP Protocols"
  the links are all in the column at left; bring both printouts to the next class. (2/15)

Remote Unix system
Your username - your last name as it appears on my class list, all lowercase.
Your password - is 5 digits extracted from your phone number. If your phone number is 123-456-9876, then your password will be 56987 (final 2 digits from the 3-digit exchange, plus first 3 digits of the 4-digit number).
The target computer - is sputnik.smc.edu
Log in method - the assignment asks you to "log in." Translation: use telnet as discussed in class and described in the "Remote Unix access with Telnet" link at left. (2/15)

Reading portions of textbook for you to read
Part I Introductory
Chapters 1-3 all
Part II Data Transmission
Chapter 4 media all
Chapter 5 signaling 5.1-5.3
Chapter 6 modulation/multiplexing 6.1-6.5
Part III Packet Transmission
Chapter 7 packets 7.1-7.4
Chapter 8 topologies 8.1-8.9
Chapter 9 hardware/ethernet addressing 9.1-9.5, 9.8-9.10, 9.12
Chapter 10 wiring all
Chapter 12 dsl/cable 12.13, 12.15-12.18
Chapter 13 switching/routing 13.1-13.12
Chapter 16 protocol layering 16.1-16.9
Part IV Internetworking
Chapter 17 internetworking concepts all
Chapter 18 ip all
Chapter 19 arp all except 19.6
Chapter 20 ip forwarding/routing all
Chapter 23 icmp all
Chapter 24 udp all
Chapter 25 tcp all
Chapter 26 network address translation all
Part V Network Applications
Chapter 28 client-server model all
Chapter 29 socket interface 29.1-29.9
Chapter 31 name service (dns) 31.1, 31.6-31.11
Chapter 35 web service (http) 35.12-35.14
Chapter 36 dynamic web (cgi, php...) 36.4-36.7
Chapter 40 network security 40,10-40.12
Chapter 41 address service (dhcp) all

TCP/IP and tcpdump Pocket Reference Guide - from SANS Institute. Please print it out 2-sided, fold it in 3 panels triptych style, and carry it with your materials for this class. The link to it is at left; it is an Adobe Acrobat .pdf file. (2/15)

"Live linux" CDs - here's a list of various self-contained bootable linux CDs. They typically convert memory into a RAM-disk, populate it with foundation files for the operating system, and proceed to boot linux. They do not molest your hard disk. The best known is probably knoppix (remarkable). FYI. (2/15)

Wireshark - is an excellent free packet capture utility. What is a packet, and why caputre it? We'll talk about that later. I will ask you to install and use Wireshark later in the semester, assuming you have a linux or windows computer available on which to do so. Please visit http://www.wireshark.org/. (2/15)

 

 

Eniac - 1946

Milestone in the history of computation

 

Assignments/due

Assgt. 1 telnet 

Assgt 1.5 review 

Assgt. 2 reading 

Assgt 2.5 review 

Assgt. 3 cmds 

Assgt 4  mansion 

Assgt 5 route

Assgt 6 gateway 

Assgt 7  masks 

Assigt 7.5 subnets 

Assgt 7.7 IP trans

Assgt 8  firewall

Assgt 9  false telnet

Assgt 10 gibson

Assgt 11 sessions

ethernet frames

meet knoppix (in-class)

MAC addresses

tcpdump/ethereal (in-class)

ifconfig/route (in-class)

internetworking
(in-class)

xinetd (in-class)

capture arp/ping session (in-class)

capture browse session (in-class)

firewall constrction
 - native iptables
- via webmin tool

stunnel
(in-class)