Section 4116 6:45p - 9:50p Thu remotely via Zoom
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.
Grades - have been updated,
link entitled "Grade information" at left. They
include the "IP packet
delivery" assignment, featuring Sally and Harry. Please call
any anomalies to my attention. (10/15)
do - the activities in the "Homework" column of
course outline section 9
turning in "error detection,"
exercise there, due
on sputnik by end of day Wednesday 10/21,
listen - to the narrated slide presentation about
the very important topic of internetworking. Find the link to it in
course outline section 7. The link is entitled "(narrated
version)". I will not make this presentation in our (Zoom)
class. Instead I'll leave it to you to listen to it on your own. In class I will summarize these slides but you will need
to see them fully, on your own, my abbreviated summary will not be
enough. It is the foundatin for the major lab exercise homework
coming up in about a week.
listen - if you did not do it as assigned in the
posting below, listen to the "packet delivery" podcast snippet in
the "Homework" column of course outline section 6
(relating to Sally & Harry and the 2 golden rules)
listen - to the "how it works" podcast snippet in
the "Homework" column of course outline section 12
(relating to traceroute; Windows has command "tracert"
while linux and apple have "traceroute") (10/15)
Upcoming homework - preview it if you wish, will be
assigned next week
do - the "exercise on internetworking on VirtualBox"
in the "Homework" column of
course outline section 8. A hands-on counterpart of this exercise,
very similar, has been done in the classroom in the past. It
involves making addressing and routing choices. I recorded the
students' choices on the whiteboard. Here is a photo of the whiteboard
map of a class internetwork built by a previous class. We/you
will do similarly. due
on sputnik by...TBD (10/15)
A real-world DSL order - We have been emphasizing what a
"network" is in technical, mathematical terms. It's a
range of numbers that people express by telling other people what
the first number in the range is (network address), and how many
numbers there are in it (netmask). This surfaces in the commnuique I
received once when I ordered a subnet from an ISP. Please see the
links in the column at left under the heading "Real world
DSL." Read the analysis. (10/15)
Who was IANA?
What about now? Where
are they? What is their job? (10/15)
Grades - have been updated,
link entitled "Grade information" at left. The current
"subnet partitioning" assignment is not due till the end
of the day. For those who have already turned it in, I graded it and
posted those assignment grades. However they have not yet been
incorporated into the overall cumulative average grades. Also new
are the individual grades I have entered or changed in response to
email communication with some of you in the past week. Please check your grades and let me know of any anomalies.
Golden rules for deciding how to ship a packet
Systems "IP packet delivery"):
We reviewed the concept behind the "IP packet delivery": if
IP thinks a destination IP address is local it arps for that IP address,
if not it arps for the IP address of its default router (which comes from
the routing table). Everything hinges on what "local" means.
That is a function of the given destination address, the local address,
and the local netmask. Network calculators and/or the linux "ipcalc"
command can help you recreate IP's "thinking process" in this
regard for particular subnets, addresses, and netmasks.
description of the thinking process comes from our textbook, Computer Networks and
Internets, Douglas Comer (see p. 368 fifth edition). (10/8)
read - everything in the Reading column of course outline
listen - to the recorded demo of forwarding behavior
differences of hubs vs switches, Homework column of course outline
section 6 (do this at your convenience over the next 2 weeks).
During the demo I drew a
sketch. It's of poor
quality but available if you want to review it.
listen - to the podcast segment at the link entitled
"packet delivery" in the Homework column of course outline
do - "IP packet delivery," course outline section 7
Homework column. It was originally an on-paper assignment. Please do it on paper
per the instructions, then scan the resulting 4 pages into 4 image
files. Name them:
(or alternatively use
.png instead of .jpg filename extensions) and upload them to your
assignments directory on the server. Don't use any other format. due
on server by end-of-day Wednesday October 14
do - "MAC vs IP addresses," course outline section 7
Homework column. due on server by end-of-day
Sunday Octoberl 18
(Both these assignments focus on the same understanding.)
- NASA Community College Aerospace Scholars (10/8)
Home network map - because sometimes in class I refer to
my home network for illustration of certain points, I've made a
diagram of it. (10/3)
read - material in course outline sections 5 and 7
do - "subnet partitioning," course outline section
7 Homework column. You can
do it on paper and send a scan or photo of the paper as a jpg or png
file. Or you can put the same information into a text file using txt
file extension. Turn in to
spunik by end-of-day Thursday 10/7 (10/1)
Double match?? - what would
happen if an IP packet's destination address matched two
entries in the routing table. To which of the two interfaces would
it be sent? Is this even possible? (10/1)
Packet capture files for you from the "wireshark"
I performed the exercise while running Wireshark and saved the
traffic into capture files. You can open my files in Wireshark, to
replay and analyze what I did.
The IP addresses of the machines I used were 192.168.1.10 and 192.168.1.12.
Those are reflected in the captures. Get
the files (unzip) then open them in Wireshark. You can then ponder the questions the exercise asks and use the captures to help
you understand. The files are:
for section 4: echo-udp.cap echo-tcp.cap
for section 7: login-telnet.cap login-ssh.cap
for section 8: http.cap
Satisfy yourself you have a pretty good idea what you
are looking at. In particular, compare the header structures you see
in the captured frames with the ones mapped out in the TCP/IP Pocket
Reference Guide. And, practice using Wireshark's "Follow TCP
stream" feature, found by right-clicking on packets in the
packet list pane. It will starkly and unmistakably extract the
password used in the telnet login session. And it will reveal the
content of the web page obtained in the http browse session. There is nothing to turn in.
Grades - have been posted,
link entitled "Grade information" at left. Grades include
the upload of "introduction.txt" (or any other file) and
upload of the wireshark capture screen printout.
Please check your grades and let me know of any anomalies. (9/23)
Network Address + Netmask
It's useful to think of a network (a.k.a. subnet) as being defined by a position,
and an extent measured from that position, on the continuum of IP
addresses represented as a number line. A network is definitively identified by
a 2-component ID. The first is its network address and the second is
is the network address that establishes the position or starting point
of the address range or block that is the network. And it is the netmask that establishes its extent
or size. As an example consider a network whose network address is 126.96.36.199 and
whose netmask is
255.255.255.224 (the one that signifies "thirty-two" as size). The number line below
is a microscopic segment of the number line for the whole internet. That number
line is 4 billion addresses in length (because with 32 bits 4 billion is the
number of distinct address values that can be composed). Here, with the first 24
bits of our address (64.52.25) we are narrowing in
on a particular little 256-address segment within that number line. Within the
segment, the network address further positions us with final precision. This
idea of sectioning off the 4 billion addresses into separately addressable
subordinate pieces is called subnetting, and the resulting pieces or address
groups are called subnets.
short accompanying, explanatory recorded
explanation of performing subnetting.
see/do - the homework column of course
outline, section 5 ("netmask legality"). due on sputnik
in the "assignments" subdirectory of your home directory end-of-day
Wednesday 9/30 (and see also the
9/17 Homework posting below, other assignment also due 9/30)
read, specifically - the write-up at the link entitled
"Masks, routing, and subnets" in course outline section 7
view - videos in course outline section 4 homework column
read, generally - readings shown in the course outline and link entitled
"Reading list, per chapter." The latter is what I want you
to read, from the textbook, for the whole course. Read
forward to succeeding sections to prepare for upcoming topics. I
will not further specify which items to read when. Read them all,
for the entire course, in concert with in-class coverage as we
By now you should have done the readings for sections 1-4 in the course outline. From that point, keep going independently
week by week.
anticipate - our next subject, for next week, the arp
protocol (address resolution protocol). arp interrelates the
addresses of the internet and ethernet protocols in networks that
use both (all our common networks do). See course outline topic 5
readings. If you read before next week, next week's lecture will be
clearer to you.
Routing - important formulations of
the "route" command
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. One is
for the case where the routed-to network is the one you yourself are
plugged into, the other for the case where that network is
"foreign" or "elsewhere" to you.
Add route to a machine (host route):
route add -host 192.168.4.2 eth0
Add route to a group of machines (network route -
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
Study these commands intently and try to internalize the semantic meaning they embody.
route command - differs in syntax and scope somewhat from
the linux command of the same name. But it is kindred in spirit and
operates on the very same internet protocol (though not the same
coded implementation of it). The internet protocol is defined
outside Microsoft and outside linux. Both Microsoft and linux
programmers have taken their hand to writing programs that do
what the protocol defines. Including a "route" command to
manipulate the protocol's route table. In Windows, open a command
box and execute "route print" if you wish to see the route
Network size for common netmasks:
||# of one bits:
||# of zero bits:
||Implied network size:
Lego project - make a router
for your toy trains. (How is this an applicable analogy to the
processing of frames within a computer router?) (9/24)
Wireshark, protocols, and people
--how many protocols does it support? - Apparently the number
of protocols supported has reached about 3000.
--who pays these open-source people, anyway? - in most
cases nobody. Open source is a labor of love and mostly programmers
don't get paid. As for who they are in the case of Wireshark, a list
of "contributors" appears at the bottom of the Wireshark
man page (that means "manual" page, the traditional form
of unix/linux documentation-- give the command "man wireshark"
on a linux computer to see it). To my surprise it lists about 1300 people.
view and listen
- to the several video and audio links in course outline section
4 homework column.
view, listen, read - about undersea cabling at the
several links in the post below.
read - get started, readings shown in the course outline through section
4; also read
forward to succeeding sections as you have time, to prepare for upcoming topics.
do - the "ethernet frames" assignment in course
outline section 4 homework column.
due on sputnik
in the "assignments" subdirectory of your home directory end-of-day
Wednesday 9/30 (9/17)
Undersea cabling - former
student Philip Postovoit did the service of researching cabling quite
thoroughly. Of the many links
about it he sent me, I found particularly interesting:
submarine cable map
(click individual cables)
shipboard loading, seabed laying youtube video
Haut debit en eau profonde
Transatlantic data cable by
"Contrary to conventional wisdom, satellites play a minimal role in the operation of the internet. Nearly 99% of international phone and data traffic goes through [submarine
cables] like ours." Patricia Boulanger, Alcatel Submarine Networks
What other data link protocols
besides ethernet are out there? You might instead have
protocol ("dial up")
transfer mode (ATM)
802.11 ("wi-fi") in
What's the difference?
ARPANet, Leonard Kleinrock's network (now, the Internet),
used dedicated connections between computer nodes. He made a phone
call to Stanford from UCLA. The wire employed belonged to the phone
company. The wire was not used by any other nodes, during the phone
call. It was not shared. It was dedicated. Nodes that used it owned
it and did not have to compete for it with any other nodes.
ALOHAnet, Norm Abrahamson's satellite based network among
islands in Hawaii, used a satellite that could service only one
connection at a time, and that all participating computer nodes
had to use. So necessarily, nodes had to share it. It was
non-dedicated. Nodes that used it did not own it and had to compete
for it with all other nodes.
Ethernet was derived from ALOHAnet, and relied on a shared
medium too. But while the ALOHAnet medium was radio to the satellite, the ethernet medium was
a copper wire. (9/17)
Homework update - green light
for homework in 9/10 posting below
The instructions for the Wireshark homework have been updated for
our VirtualBox environment. As well, and importantly, new material
about "provided scripts" has been added to the original
and installing" instructions. Please read the additional
instructions, get the scripts they refer to from Google Drive, and
proceed with the instructions in the course outline's section 3 for
doing the wireshark exercise. The result will be 3 screenshot files
that you produce in the course of performing the exercise:
statistics-udp.jpg (or .png)
I ask you to place these into a zip file named "wireshark-homework.zip"
and upload it to your assignments directory. (Please ignore the
questions you will see at the bottom of the assignment page. They
are not for you. I only want the screenshots.)
Please start this assignment before Thursday's class. At class I
will spend a little time making sure the assignment and steps to
perform it are understood. We will also decide a due date then. due on sputnik
in the "assignments" subdirectory of your home directory end-of-day
Friday, September 25 (9/15)
- for homework this past week you made a screenshot of Wireshark
after it had captured some network traffic. Please upload that file
to the "assignments" directory under your home directory
on the remote server, using your remote Unix
system account. (This is how you will routinely submit
do - the exercise at the link on the course outline's section
3 entitled "wireshark" It is labeled as "in-class
exercise" but becomes homework you will do outside of class. Please
wait to do this until I have a chance to edit the instructions,
so that they will accord with our remote environment and the virtual
machines. After I have done that I plan to send you a "green
light" email message. (9/10)
VM files on Google Drive - I have asked students to
download some files from OneDrive. Some of you have not yet done so
or encountered problems in doing so that we have not solved. I
have placed a second copy of the files elsewhere, namely on Google
Drive. I have also emailed you an access link today. Please copy it
into a browser. It should take you directly to a
screen offering you the files. If you have not yet obtained the
files from OneDrive as originally instructed, please try to get them
from Google Drive now instead. (9/10)
RFC process -
how protocols get created. Here is a
current example, HTTP
2 which was published as an RFC in May, 2015. See in particular
timeline that has led it to this point. (9/10)
of Microsoft Network Monitor. Compare the interface with
Wireshark's. It demonstrates the product category (network
"sniffers") to which both products belong.
Link to tonight's class (This is
hosted at my home. I don't know if upload speed will be a problem
for you to listen to the recording. Let me know if so please.) (9/3)
[ see link at left entitled "Zoom meeting
with approximate weekly topic coverage corresponded to related
readings, homework assignments, and in-class slides I will use.
Please follow this outline as we move through the topics, for assignments and reading
I want to assign.
1) read all the announcements below and follow all the
links they contain. I will expect you to be familiar with the
information they convey.
2) do the reading and homework shown in the "Reading" and
"Homework" columns of the course outline's topic #1.
A virtual machine (VM) for you
- hands-on lab exercises will be performed on a virtual machine that
you can run in your own computer.
and installing your VM
- Transferring files
in and out of it if necessary
- Your VM's configuration
networking "complete guide" - a good website on the
A Remote Unix system
account is available for your use.
- a link I have been asked to publicize to students. (8/30)
Using ssh (secure shell). ssh is an important tool you will use
for interacting with remote computers. For that you will need an ssh
client. There are a number of ssh
Distributing files from sputnik to the class as a whole,
publicly - the above file transfer discussion describes file movement
to and from your own home directory, exclusive to you. Sometimes I will
want to have someplace to put a file so everybody can get to it and
download it. When I do that, here's
how to download them.
Cover art on Tannenbaum textbook:
What is it??
asks the switchboard operator. The switchboard is a board. It's for
switching. Switching changes a circuit between you and somebody. It can
complete a circuit to your Aunt Bheulah in Iowa City so you can
thank her for the knit socks. After you hang up if you want to call
your uncle in Waco you'll need to switch circuits, to get a circuit
to him instead of her. That's what the operator does for you. The
"switch"ing in "switch"board is circuit
switching. Nowadays in computer networks it's not circuit switching
anymore, it's packet switching.
Functional layering - the famous "Open Systems
Interconnect" model is depicted below. Somebody once had the
idea that maybe there could be a way to get independent computer
systems of different types to be able to exchange information with
one another. The diagram blueprints the idea for "how in the
world are we going to make that work??" That idea is the
subject of this course.
First-day administrative information you will
need to know:
Running linux at home.
Slides available online - for
most if not all slides I will show in class. Links to them can be
found in the "Slides" column of the course outline.
Course-long textbook reading -
a chapter-by-chapter list ( 6th edition,
5th edition ). The textbook is divided into chapters and they in turn into numbered
sections. The list tells you which sections to read for this
course when chapters are assigned. For example if I assigned chapter
10 and it had 17 sections, if this list specifies "10.1-100.5,
10.7, 10.12-17" it means I didn't feel sections 10.6 nor
10.8-11 were relevant enough so I only list the balance of the
chapter. Read unlisted portions for your own interest if you wish,
but the listed sections are what's officially assigned to you.
Textbook - Computer
Networks and Internets,
sixth edition, Douglas Comer, Pearson Prentice Hall , 2015.
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 Wireshark's