FALL
2021
Section 1793 Online
This
Website (http://classpage.dmorgan.us/)
will be used extensively to communicate with you.
Announcements, grade reports, and assignments will be posted here. You
are responsible for awareness of the information posted here.
Announcements/grades/current topics
Grades - have been updated, link entitled "Grade
information" at left. They include the tcp interactive telnet
assignment. These grades cover the full set of assignments for
the semester plus the first test. Please check your grades and let me know of
any anomalies. (12/20)
Test reschedule - per your request during class last
night. The test will be available throughout the two day period
Sunday 12/19 and Monday 12/20. It is a 2-hour test, closing 2 hours
after you start it. Take it any time at your convenience, on one of
those two days. (You shouldn't start after 10:00pm Monday, as you will be cut off
at midnight and not have a full 2 hours.) (12/10)
Images from/for the test - Canvas does not display some images if you use browsers that are not
"up to
date." A few of my questions do contain images. Depending
on your browser you might not be able to see them. In case that happens to you
during the test, I have made the images alternatively available here.
You are free to look at them in advance of and during the test.
(12/9)
Test - will be given on Canvas under
"Quizzes" as "Test2" next Thursday, December 16,
from 6:45pm. It is timed, giving you 120 minutes within which to answer the
questions. The test will terminate at 8:45 regardless when you start.
(12/9)
Second test - our final class meeting will be tonight Thursday
12/9. The SMC
College District Calendar shows a final exam period December
14-21. We will have an online, non-cumulative Test2 on
current topics, similar to our recent Test1 on
the earlier topics. (12/9)
Important name service files on linux
computers -
/etc/hosts gives "mappings" that pair IP
addresses with names
/etc/resolv.conf gives hard-coded IP addresses of
one or two name servers to use
/etc/services holds name-to-number mappings for udp and tcp
ports (12/9)
Grades - have been updated,
link entitled "Grade information" at left. They include
the "reconnect to internet" exercise. Please check your grades and let me know of any anomalies.
(12/8))
Class question answered - you asked a question about udp in class last Thursday. It refers to the 2nd slide in
this presentation. Although the slide addresses tcp, "udp" could
just as well replace that in the labeling and remain accurate.
Again, technically I should avoid the word "tcp [or
udp] process." Maybe "operation" would be better, because "process" has a technical meaning for the operating system and
tcp (like the OS itself for that matter) is code that is not embodied in any formal OS process. I'll call it "udp entity" here. I digress.
The question was, what about regulation of the passage of data from the
udp entity up to the receiving application process on the data receiver B? While there is a lot of discussion about regulation of horizontal data movement between the transport entities (a major story in tcp's case, and a non-story in udp's), what about the vertical inter-layer handoff? The answer is that the application, and not udp, controls that. Recall the structure of a socket program and that such a program obtains data by calling functions for the purpose named
read( ), recv( ), or recvfrom( ). When data arrives at udp for an application, udp puts it into a buffer queue. Each application using udp has its own port number, there is a queue per port number, and the right queue is chosen for an incoming datagram's
payload in accordance with the number seen in the datagram's destination port field. Data passage from the front of this FIFO queue to the applicaion is by an application pull, not a udp push. When the application asks for data it gets it in the order in which it was received. If the application doesn't make the call to drain the udp buffer as fast as the network delivers data that fills it, overflow occurs and the data is lost.
(12/5)
Homework - per this posting below, we didn't have time to
show this during class so please listen to it.
Demo - recording
(36m) offering wireshark observations of an ftp file transfer of
between computers. The file in question contains the Moby Dick
datastream. This will be played over Zoom as part of tonight's
class. It is also placed here in case you wish to listen to it
separately. (12/2)
No class Thursday Nobember 25. SMC observes
Thanksgiving holiday. (11/23)
Remaining calendar - beyond today there are 2
upcoming Thursday class
meetings:
December 2 - tcp and udp, main topic
December 9 - http and apache web server, main topic
The SMC
College District Calendar shows a final exam period December
14-21. I anticipate giving an online non-cumulative Test2 on
current topics. It will be similar to our recent Test1 on
the earlier topics. It will probably be scheduled for our class time
Thursday, December 16. The posts below give all the homework for the
rest of the semester. (11/24)
Homework
- for this week
in relation to December 2 lecture:
listen - to the podcast segment at course outline section 11's
link entitled "tcp getting connected" which is a general
description of the operation of tcp.
read - course outline reading column section 11 about udp and
tcp
and also
do - the exercise at course outline section 7's link entitled
"connect a classroom to the internet." This goes back to
the network layer. due
on sputnik by end of day Monday December 6. (11/24)
Homework
-for next week
in relation to December 9 lecture:
read - course outline reading column section 13 about
"traditional internet applications
in particular web, mail, and name (dns) service.
and also
do - the exercise at course outline section 11's link entitled
"tcp interactive dataflow tracking." due
on sputnik by end of day Monday December 13 (11/24)
Homework
- for the remainder of the semester, timing at your
convenience
listen - these discussions about 5 widespread networking
utilities, from course outline section 12 Slides column
ping - "narrated version 24m" link
traceroute - "narrated version 32m" link
(optionally, also "how it works" link in Homework column)
nmap - "narrated version 43m" link
netstat - "narrated version 47m" link (optionally,
also "discussion of netstat" link in Homework column)
netcat - "narrated version 39m" link (11/24)
Some test
review (20m) covering a series of related questions from your
recent test (21m). (11/19)
Addresses, functions - you
know them. Don't get them mixed up.
(11/19)
Class schedule and ICANN
recording - a link to last night's talk by David Huberman can be
found on the "Zoom meeting recordings" page. I had
intended to convene class following his talk, when we had an hour of
scheduled time remaining. I wanted to make some review comments on
questions in the recent test. It was inopportune to do so. I plan to
record my comments on the test and ask you to listen later. Next
Thursday is Thanksgiving and we do not meet. I will also publish
further homework to occupy you between now and our next meeting
December 2. (11/19)
Grades - have been updated,
link entitled "Grade information" at left. They include
the BIND/dns name service exercise plus the test. (Grades for a few
individual cases may not yet be included.) To help interpret the
test grade, please see this general
explanation. Please check your grades and let me know of any anomalies.
(11/16)
ICANN talk on Thursday - it
was asking a lot for you to do the BIND/dns assignment at the same
time as the test. But as a result of the exercise I think you have
enough grasp of what name service is and how it works to let you
follow a further conversation about it, which is what we expect from
ICANN's David Huberman on Thursday. I think he's going to talk about
ways and means of 1) encrypting and/or 2) authenticating dns
traffic. This will involve the public-key cryptography concepts I
tried to introduce in the supporting video (link below). The
specific technologies he talks about might include RPKI and BGP, DoH
(dns over https), dns over tls, DNSSEC, possibly others. If you
wish, search for those and read a description of each. (11/16)
Supporting
video - for the upcoming ICANN talk. I discuss public-key
cryptography, digital signatures, and certificates. They are related
to each other. I offer them because I think they are also related to
the kinds of topics I understand ICANN to be presenting to us on
Thursday. (11/12)
Homework
-
Please concentrate on dns in preparation for the talk by ICANN guest
speaker David Huberman in our November 18 class meeting. His topic
will be about DNS abuse, no doubt dealing with the protocol's
vulnerabilities and perhaps specific past exploits. To understand
what can go wrong with a protocol one must in the first place
understand how it works (or is supposed to). So the work suggested
below seeks to bring you to the starting line for the talk,
and position you to understand and therefore benefit from it.
listen - to these recordings from course outline section 13
in the following suggested order
recording at link "dns training video" course
outline section 13
slides at link "DNS protocol" (narrated version)
slides at link "BIND name server" (narrated version)
recording at link "managing dns mappings"
recording at link "Windows dns server"
read - dns coverage in the textbook's chapter 4, pp 69-77
do - the exercise at course outline section 13's link entitled
"dns name server -VirtualBox version" due
on sputnik by end of day Sunday November 14.
I may locate and recommend to you
other resources between now and November 18. I may offer an
(optional) office hours meeting following the assignment due date
(since by then you are going to be dns-intelligent, beyond even your
usual level) and before the November 18 talk.
(11/6)
Test - is published on Canvas. It will be available Sunday and
Monday, November 14 and 15. It is timed, allowing 105 minutes
from the time it is started. Take it any time Sunday or Monday.
(You shouldn't start after 10:15pm Monday, as you will be cut off
at midnight and not have a full 105 minutes.) (11/4)
Grades - have been updated,
link entitled "Grade information" at left. They include
the xinetd/chomper and internetworking assignments. They do not yet include the
internetworking assignment. Please check your grades and let me know of any anomalies.
(11/5)
No class meeting next week
- November 11, SMC observes Veteran's Day. (11/4)
Homework
listen - tbd
do - tbd
read forward - upcoming topics
course outline reading column section 11 about udp and
tcp
course outline reading column section 10 about socket API
programming
Deferred in favor of DNS - please
see 11/6 Homework posting above
(11/4)
Manufacture
of first 4 nodes of the internet - Computers from different
manufacturers could never communicate. By a deliberate indirect
means, the internet enabled them to do that. The particular makes and models of the
original four computers knit together in the original
"Internet" were:
at UCLA - a Sigma
7 made by Scientific Data Systems of Santa Monica, CA
at Stanford - a 940
by Scientific Data Systems of Santa Monica, CA
at UC Santa Barbara - an IBM
360 by International Business Machines of Armonk, NY
at University of Utah - a PDP
10 by Digital Equipment Corp. of Maynard, MA
It remains heterogeneous today. It's why your Android on Samsung and my
Windows on Hewlett-Packard can both access the same credit card or
airline reservation databases on somebody's mainframe. (11/4)
Letter-upgrader variants
- They bestow a protocol on the
otherwise protocol-less original letter upgrader pair. The original
client sends a letter to the original server, which robotically and
single-mindedly sends the next letter of the alphabet back. The new
versions allow either the next or previous
letter to be returned. The client now has to tell the server which,
and the server has to differentially respond accordingly. That's a
protocol. (10/28)
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 |
server4 |
none, really |
letter upgrade |
letter upgrade v2 |
server4-with-protocol |
batp* |
*batp - bidirectional alphabet
traversal protocol ?
(10/28)
Alternative internetworks - here are 3 variations
on the theme of our "internetworking" assignment's
topology. And here is an extended
version of the "linear" internetwork that featured in
our "internetworks" slides. There are some questions based
on both these images and their topologies on the upcoming test.
(10/28)
Test - for the upcoming test (see 10/21 posting below), here
are some questions for you to consider. See also the links under the
heading "Reading list, per chapter" in the column at left.
That list designates the portions of the textbook whose content can
be covered in the test. (10/28)
Homework
do - the "xinetd" exercise. Mimic my performance of
that exercise, whose written instructions are in course outline
section 12. I expect to do the exercise step-by-step during our class
meeting October 28. You may be able to complete it during the
class, following along with me. If not, with aid of the Zoom class
recording and the written instructions you can do it on your own.
Submit a screenshot from CLIENT in which you access the "byteme"
non-network program (networked with the aid of xinetd) at
192.168.1.1 to show its "GIGA-BYTE ME!" output
on CLIENT's screen. Please name your
screenshot file "xinetd.jpg" (or png). The exercise is done with the same two
machines you used to do the earlier "sniffing" homework.
Re-use the scripts from that assignment to produce the two machines
needed for this one. due
on sputnik by end of day Wednesday November 3.
read - course outline reading column section 10 about socket API
programming (10/28)
Student participation lab tomorrow - I'd like to do a joint, guided exercise in class tomorrow night. I will perform it while you can follow along and do it yourself. It requires two VirtualBox VMs, so you should prepare by having VirtualBox available. I will use the same pair of machines that was created for our earlier Wireshark exercise (CLIENT and SERVER). If you have not deleted those, they will do nicely. Or, it's easy to make two fresh clones of the base machine for this purpose.
The exercise in question is the one found in the course outline section 12 at the link entitled "xinetd". It is supported by the last half of the slides in section 10 at the link entitled "Networks" services". (I presented the first half of those last week.) I will present the relevant slides before we do the exercise.
I plan to do the exercise slowly enough for you to be able to keep up with me. I expect you will want to interrupt me for help if things don't work. Your performance of this lab will not be evaluated in any way. If you can't or don't do it you can just watch me. However I think people get more out of it when they have hands on themselves. So please if you can, have your VB environment available during class and we will have a lab party.
(10/27)
Grades - have been updated,
link entitled "Grade information" at left. They include
the error detection asssignment. Please check your grades and let me know of any anomalies.
(10/27)
Linux virtual terminals in VirtualBox VMs - in linux you can normally switch from one virtual terminal to another with the simultaneous triple keystroke combination of
Ctrl, plus Alt, plus the function key having the number of the virtual terminal you
want. If you wanted virtual terminal 5 it would be ctrl-alt-F5 for example.
But that doesn't work in VirtualBox, as I encountered in class last night. However
it does work if I replace ctrl-alt with the right Ctrl key, or either
Alt key. If you wanted virtual terminal 5 it would be Alt-F5 for example. Experiment with it. It's a useful trick.
(10/22)
Dropped students - I dropped non-participating students.
That's reversible, but of questionable advisability this late in the
semester, upon request. If you think completing the course is not
infeasible for you please tell me about it and request a reinstate
code. (10/22)
Homework -
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 Sunday October 31
don't forget - "error detection" per 10/14 Homework
posting below (10/21)
1972
explanation of the Arpanet - the ARPA (Advanced Research
Projects Agency) network which became the Internet. Listen to it
optionally. I came upon it and found it very interesting. See
if you can grade these internet inventors on the accuracy of their
predictions about the potential of their network. (10/21)
Grades - have been updated,
link entitled "Grade information" at left. They include
the MAC-vs-IP-addresses asssignment. Please check your grades and let me know of any anomalies.
(10/21)
Test - it will be time for a test once you have performed the
internetworking homework exercise, which is due October 31.. So the test looks likely to fall
in roughly the first week of November. I will talk more about the
test contents in class before the test date. See the notations in the
"Reading list, per chapter" (left-hand column of this
page) indicating which portions of the textbook can be covered in
the test. (10/21)
IPv4
Address Depletion - listen to these 2009-10 perspectives
Steve Gibson says it's no
big deal. (6 min.)
John Curran says it's a huge,
inevitable, immediate problem. (19 min.)
Address depletion rates were diminished by the advent of 1) CIDR as
opposed to classfull address block assignments, 2) widespread use of
NAT, 3) use of dynamic (recoverable) addresses. Steve says these solutions exceed
the problem. John says the problem exceeds these solutions. (10/15)
Grades - have been published, at the link entitled
"Grade reports" at left. They include the packet delivery
("Sally and Harry") assignment. Please call any anomalies to my attention.
(10/14)
Homework -
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 Saturday 10/24,
don't forget - "MAC vs IP addresses" per 10/7 Homework
posting below
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 foundation for the major lab exercise homework
coming up in about a week. (10/14)
A real-world order for IP addresses from an ISP - 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/14)
Who was IANA?
What about now? Where
are they? What is their job?
(see also, RIRs)
(10/14)
Homework -
read - everything in the Reading column of course outline
section 7
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
section 6
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:
packet-delivery-harry.jpg
packet-delivery-jim.jpg
packet-delivery-sue.jpg
packet-delivery-alice.jpg
(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 13
do - "MAC vs IP addresses," course outline section 7
Homework column. due on server by end-of-day
Tuesday October 19
(Both these assignments focus on the same understanding.)
(10/7)
Grades - have been published, at the link entitled
"Grade reports" at left. They include the subnet
partitioning assignment. Please call any anomalies to my attention.
Soon I would like to drop those students who have submitted no work.
(10/7)
Golden rules for deciding how to ship a packet
(Fore
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.
A related
description of the thinking process comes from our textbook, Computer Networks and
Internets, Douglas Comer (see p. 368 fifth edition). (10/7)
Grades - have been published, at the link entitled
"Grade reports" at left. They include the "netmask
legality" assignment. Please look yourself up by the same anonymous 5-digit value you derived in calculating your sputnik
remote server password. Please call any anomalies to my attention.
Soon I would like to drop those students who have submitted no work.
(10/4)
Homework -
read - material in course outline sections 5 and 7
listen - physical layer, narrated slides, links entitled
"Transmission media" in course outline section 4, and
"Signals" in section 5.
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 Wednesday 10/6 (9/30)
Grades - I will defer posting grades (and grading) until
Monday. The netmask legality assignment was due but you did not have
benefit of last week's related lecture until last night. So please
take additional time if you need it, finish and uploading that
assignment by Monday. (The grades shown currently are those that I
posted last week. Individual changes I made since are not yet
reflected.) (9/30)
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? (Hint: it's called "longest
prefix match." Longest prefix equates to smallest network. You
can look it up.) (9/30)
Packet capture files for you from the "wireshark"
in-class exercise
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.
(9/30)
Packet encapsulation clarification - one of the slide
presentations we viewed about ethernet has provoked questions. It was about the relationship in a frame among the various protocols that appear within it. The word is "encapsulation." Think Russian dolls.
Think one-inside-the-other. Please revisit the
slide presentation and view the two slides shown on its page 8. The first one shows the general
concept. The second one shows a real-world frame from a Wireshark capture, and breaks its content down into the protocol components within it. This real-world frame is one that was captured while performing the Wireshark sniffing homework making a telnet connection.
(9/30)
Grades - have been published, at the link entitled
"Grade reports" at left. They include the "ethernet
frames" assignment. (The majority of student haven't done it.)
Please look yourself up by the same anonymous 5-digit value you derived in calculating your sputnik
remote server password. Students are free and independent and I
expect you to be aware of the grade you are earning, in particular
your cumulative average, and that each student's grade will be that
of his or her conscious choice. Please call any anomalies to my attention.
(9/23)
Network Address + Netmask
= Subnet
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
its netmask.
It
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 64.52.25.224 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.
64.52.25.224/255.255.255.224:
A
short accompanying, explanatory recorded
explanation of performing subnetting.
(9/23)
Homework -
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/29
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
proceed.
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.
(9/23)
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 -
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
Study these commands intently and try to internalize the semantic meaning they embody.
(9/23)
Windows
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
table. (9/23)
Small networks: sizes for some common netmasks:
Netmask: |
# of one bits: |
# of zero bits: |
Implied network size: |
255.255.255.0 |
24 |
8 |
256 (254) |
255.255.255.128 |
25 |
7 |
128 (126) |
255.255.255.192 |
26 |
6 |
64 (62) |
255.255.255.224 |
27 |
5 |
32 (30) |
255.255.255.240 |
28 |
4 |
16 (14) |
255.255.255.248 |
29 |
3 |
8 (6) |
255.255.255.252 |
30 |
2 |
4 (2) |
(9/23)
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/23)
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.
(9/23)
Homework -
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/22 (9/16)
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)
manufacture,
shipboard loading, seabed laying youtube video
Haut debit en eau profonde
(French)
Transatlantic data cable by
Microsoft/Facebook/Telexius
completed.
"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
|
Undersea fiberoptic cable landing point (Spain) |
(9/16)
What other data link protocols
besides ethernet are out there? You might instead have
point-to-point
protocol ("dial up")
frame
relay
asynchronous
transfer mode (ATM)
802.11 ("wi-fi") in
part
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/16)
Packet
traffic composition - some of it is nugget, some is dross.
Some of it is kernel, some is chaff. "...traffic is
composed of user and app oriented information [nugget] augmented by
protocol information inserted for the benefit of network operation
[chaff]." When we communicate information, why do we carry a
lot of deadweight extra information around with it? When we mail
paper letters, why do we send a lot of extra envelope paper along
with it? For benefit of the delivery operation. (10/21)
Norm
Abramson 4/1/1932 - 12/1/2020
(9/16)
Grades - have been published, at the link entitled
"Grade reports" at left. They include the "exercising
wireshark" assignment in addition to the initial wireshark
screenshot upload. There is a cumulative (weighted) average of these
two. The cumulative average will be maintained to incorporate future
work, assignment by assignment as they are completed, over the
semester. Please look yourself up by the
same anonymous 5-digit value you derived in calculating your sputnik
remote server password. Please call any anomalies to my attention.
(9/16)
Grades - have been published, at the link entitled
"Grade reports" at left. Please look yourself up by the
same anonymous 5-digit value you derived in calculating your sputnik
remote server password. Please call any anomalies to my attention.
(9/13)
By popular demand - at least 2 students in class tonight
expressed interest in this bash cheat
sheet (summary by a former student of things you can do using
the command line in linux or mac). (9/9)
Green light - go ahead and download
the vmconfigure scripts for your platform ("bash"
version for linux/apple, "batch" version for Windows). In
class tonight I had asked you to wait till I could test and confirm
them. I did. They are OK. They serve to set up machines for your
wireshark homework, below. (9/9)
Homework
upload
- 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
homework.) due on sputnik in the
"assignments" subdirectory of your home directory
end-of-day Sunday, September 12
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. When
you perform it the result will be 3 screenshot files
that you produce in the course of performing the exercise:
statistics-udp.jpg (or .png)
statistics-tcp.jpg
exposed.jpg
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.) due on sputnik
in the "assignments" subdirectory of your home directory end-of-day
Wednesday, September 15
(9/9)
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
the development
timeline that has led it to this point. (9/9)
Screenshot
of Microsoft Network Monitor. Compare the interface with
Wireshark's. It demonstrates the product category (network
"sniffers") to which both products belong.
(Network Monitor comes with the Server editions of Windows and
won't be found in our consumer editions.) (9/9)
Remote server access how-to
video. Several programs that provide login connection to a remote server, file
transfer connection, or both, are discussed and demonstrated. These are the
tools for accessing sputnik.smc.edu. (9/3)
Homework -
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.
3) make progress in installing VirtualBox on your computer, and my
delivered VM in VirtualBox (see link below entitled "Obtaining
and installing". (9/2)
Opportunity - ICANN
(Internet Corporation for Assigned
Names and Numbers) "Shaping the Future of the Internet: ICANN's Newcomer Programs"
(8/30)
Opportunity - NASA community
college aerospace scholars program (8/30)
Course outline
-
with rough 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.
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.
- Obtaining
and installing your VM
(direct
link to fedora31-spring21.ova file on Google Drive)
- Transferring files
in and out of it if necessary (accompanying howto
video)
- Your VM's configuration
- VirtualBox
networking "complete guide" - a good website on the
subject
A Remote Unix system
account is available for your use.
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
client alternatives.
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.
Dates and deadlines
Class Census Day: SEP 13, 2021
Class 60% Day: NOV 4, 2021
Last Day to Withdraw to Receive a Refund: SEP 12, 2021
Last Day to Withdraw to Avoid a "W": SEP 12, 2021
Last Day to Withdraw to Guarantee a "W": NOV 20, 2021
Last Day to Request for Pass/No Pass Grade: NOV 20, 2021
Cover art on Tannenbaum textbook:
What is it??
"Number please?"
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
home page.
|