password lmm qs lmm
|
|
Topics Covered
The objectives of the course in Networks is to provide an understanding
of the following concepts:
A. Multi-Tasking Environments
B. The Seven Layers of the OSI Model
1. The Physical Layer
a. access methods
1) token ring ( and token recovery)
2) csma/cd
protocols for collisions
binary exponential backoff
collision free protocols
a bit map protocol
binary countdown
b. hardware communication
Communication using null modems
Communication using RJ45 cables
Parity Bit for error detection (xor)
Gray Codes
Manchester Encoding
2. The Data Link Layer
a. frame composition
b. bit or character stuffing
c. timeouts & retransmissions - ignoring duplicate frames
d. acks & nacks
e. error detection and recovery
Trimodular redundancy
LRC/VRC Longitudinal and Vertical Redundancy Check
Hamming Code
Derivation of Hamming Code from Even parity
hadamard codes
hadamard codes - example
hadamard derivation graphic
hadamard derivation to 7 levels
Cyclic Redundancy Check
Dynamic Finite State Diagram for 1011
Static Finite State Diagram for 10011
Static Finite State Diagram for 11001
f. byte protocols
g. Socket Programming
UDP vs TCP
socket() - bind() - listen() - accept() - sendto() -
recvfrom() - close()
Stop and Wait protocols
Protocols 1, 2 and 3 from the text
Petri Nets & Markings
Two state petrinet
udptime.c (a UDP client probing port 1400)
tcptimeserver.c (a looping TCP server)
tcpslave.c - tcpslav.c - tcpslav1.c
talker and listen in a Windows environment
3. The Network Layer
Network Layer algorithms
a. messages vs packets
b. sequencing
c. error free routines
d. congestion and decongestion
e. addressing schemes
f. routing - message switching vs circuit switching
Output from Floyds Algorithm
Warshall's Algorithm
g. topologies
4. The Transport layer (end to end)
a. multiplexing
b. flow control between hosts
The Bankers Algorithm
c. end to end error detection
d. functions
e. reliability and quality of service
1) error free, point to point, orders packets
2) datagrams
3) windows
f. Talker and Listen
5. The Session layer
a. Establishing connections
b. Manage Dialogues
6. The Presentation layer
The ASCII Character Set
a. text compression
compression algorithms
- Huffman Codes (static and dynamic)
- Shannon-Fano codes - example 1
- Shannon-Fano codes - example 2
- Shannon-Fano codes - example 3
b. extended precision arithmetic
- Trachtenberg Multiplication in c++
- Russian Peasant Method of Multiplication
- Russian Peasant Method in C++
- Multiplication in ruby
- Multiplication of 128 bit integers in c++11
- grn in c++
- gcd in c++
- modPow in ruby
- modPow in C++
- modPow in C using the gmp package
- Extended Euclid's Algorithm in C++
- modInverse in C using the gmp package
- modInverse & modPow in Java
- modinv in python
- bc arithmetic operations in php
- bc functions from the php website
c. encryption
- xor
- modulo tables
- two locks using modulo arithmetic
- Public and Private Keys using Modulo arithmetic
- matrix multiplication
- linear feedback shift register
- formulas to calculate pow(x,n) fast
- Diffie-Hellman
- test out Diffie-Hellman with random numbers
- Find Diffie-Hellman Primitive Roots
- Diffie-Hellman with paint
- some small primes
- 5 digit primes
- 6 digit primes
- 7 digit primes
- 8 digit primes
- 9 digit primes to 500,000,000
- some random 9 digit primes
- some random 10 digit primes
- misc large primes
- get large primes using miller-rabin
- factoring numbers up to 2^70 (up to 22 digit numbers)
- factoring (up to) 38 digit numbers
- factoring 60 digit numbers
- rsa
- Testing Shamir's Three Pass Protocol
- test out rsa in C++ (10 digit primes)
- test out rsa in C++ (20 digit primes)
- test out rsa with prime numbers (select or key in the numbers)
- find singles and doubles
- rsa in practice
- test out double encryption using 2 prime numbers (and a 3 way handshake)
- powMod Table using 7 and 11
- multiple decryption keys
- double key table using 7 and 11
- multiple key test using 11 and 23
d. ascii to ebcdic conversions
e. file format conversions
7. The Application layer
Browsers
HTML
- HTML markup tags for a quiz
- The HTTP protocol: Jon Crowcroft
- Voting over the internet
C. Terminology
D. Network Services that may include (but is not limited to) text
searching, word processing, electronic mail, distributed databases,
data transfer, and...
1. e-mail
2. the Client/Server model
BSD Sockets
sockaddr structures
a. File Transfer
b. Chat programs
Assignments:
1. Create an HTML page using a regular text editor. Do NOT use an
automatic page maker like Front Page. You must have, at least, 25
different markup commands on your page(s). Copy the file(s) over to
a flash drive (or a floppy disk or a cd) and take it to the instructors
office. The name of the main page should be index.htm.
HTML markup tags
Due: February 26, 2021
Click here to get a list of valid tags.
Click here
to get the HTML code that can be used to count your tags.
2. Key in the socket programming examples onto cs: talker and listen
(given below), and get them running. You will have to come
to my office and give me a demo to get full credit.
Become familiar with the key statements and what
they do. A short oral quiz may be part of the demo.
This assignment is in 2 parts. Part 1 is the demo and
Part 2 is a hard copy listing of talker & listen with comments
about the key statements explaining what the statements do.
Due Dates:
Listing: March 12, 2021
listing of talker.c (a UDP client)
listing of listen.c (a UDP server)
In ALL of your programming assignments, your program should contain
a prologue at the top of the listing. The prologue should appear as
comments. Click here to see an example.
You will also be required to find a URL that pertains to socket
programming (no pdf files), that is NOT in the following list.
url's already selected
The URL should be in the listing of 'talker.c' on the cs computer.
3. Write a CGI script that will provide 'added value'.
The user is to key in a value (or select a value) in
an HTML page and then run the CGI program. The
program is to return a page containing different and useful
information than what was keyed in.
When you turn in your listing, be sure to include:
The C or C++ source code that will be compiled and executed
A prologue at the top of your program that is to have:
your name, the class, the due date, a program name and
a short description of the program.
The pages rendered on your computer
The code for the HTML pages rendered.
Listing Due: April 2, 2021
A quick blurb on CGI programming in general
Notes on the CGI programming assignment
A c routine to pick off fields from a form
A c++ routine to pick off fields from a form
A c routine to pick off 'multiple fields with the same name' from a form
4. Sending an encrypted message across the internet using the
Diffie-Hellman Key Agreement Algorithm. --
listing Due: April 28, 2021
This following assignment is for students taking Networks for
GRADUATE CREDIT only.
Find the program hidden.php - run it - write a 1 page report
describing just where the word BOOKMARK came from. Put the
report on the internet in your account. Name the file 'report'.
Due: on or before April 29, 2020
Other assignments
Decryption Program - decrypt quote using xor
Change 'tcptalker.c'
to connect to 204.154.117.80, port 14000, send a message which has
'wmxxx', and you will get an encrypted phrase. Decrypt the phrase then
turn in a page with your name and the phrase.
Implement 2 programs that communicate over the Internet.
They can be 2 File Transfer programs or 2 Chat programs.
The actual data going across the internet must be encrypted.
Exams
|
Midterm
Wednesday, March 8, 2017 - 50 minutes The exam will be multiple choice. The student is required to bring a scantron to the exam (form 882-E or SC882-E or 25110-RR). Topics for the Midterm Midterm Answers |
|
Final
Wednesday, May 4, 2016 - 1:00 PM Bring a scantron (form 882-E ). Topics for the Final final answers |