The Internet and Its Protocols
Computer Engineering: 240-574
Lecture 1:
- Introduction to the Subject
- Teaching methods, etc.
- Assessment
- Books
- ISO Reference Model
Lecture 2:
- Addresses
- Overview of the Internet Protocols
- TFTP
- -- protocol purpose
- -- protocol definition
- -- protocol details
- UDP
- -- protocol purpose
- -- protocol specification
- Pseudo Header
- UDP (IP) checksum algorithm
Lecture 3:
- Evaluation of TFTP
- Performance possible from TFTP
- Improving throughput
Lecture 4:
- TCP
- TCP Sequence Numbers
- TCP Window
- TCP Acknowledgments
- TCP Push
- TCP Urgent Data
- Problems with natural language specifications
Lecture 5:
- Finite State Machines
- TCP connection FSM
- TCP Open
- TCP Close
- The final packet
Lecture 6:
- Protocol Extensions
- TCP options
- - End, NOP, MSS
- TCP window size RTT/bandwidth limitation
- The WSCALE option
- Retransmission and RTT measurement
- The Timestamp option
- Overheads of using TCP
- TCP vs UDP
- Minimal TCP transaction
Lecture 7:
- TCP for Transactions (T/TCP)
- Maximum TCP transaction rate
- Avoiding 3 way handshake
- Handing old duplicate SYN
- Resynchronisation
- Forcing 3 way handshake
- Internet Protocol
- IP Header
- The simple fields
- -- Header Length
- -- Length
- -- TTL
- -- Protocol
- -- Checksum
Lecture 8:
- IP Addresses (IPv4)
- IP Address evolution
- IP Subnets
- Need for IPv6
- IPv4 compared to IPv6
Lecture 9:
- IPv6 header chains
- IP options
- IPv6 options header
- IPv6 addresses
- -- Loopback & Link Local
Lecture 10:
- IPv6 Address Types
- -- Site Local
- -- Global
- -- IPv4 Compatible
- -- Multicast
- IP Fragmentation
Lecture 11:
- IP fragment reassembly
- Path MTU Discovery
- IPv6 Fragmentation
Lecture 12:
- ICMP
- Purpose
- General ICMP Header
- ICMP types
- Information requests & replies
- -- Echo
- -- Timestamp
- -- Information (net number)
- -- Address Mask
- -- Router Solicitation/Advertisement
- ICMP Error messages
- -- General form
- -- Destination Unreachable
- -- Source Quench
- -- Redirect
- -- Time Exceeded
- -- Parameter Problem
- ICMP error processing rules
Lecture 13:
- ICMP Error Packet Rule
- ICMPv6
- -- error messages
- -- information messages
- -- -- differences from IPv4 ICMP
- redirect
- Router Advertisement
- Router Solicitation
Lecture 14:
- ICMPv6 Echo example
- Neighbour Discovery (purpose)
- IPv4: Address Resolution Protocol (ARP)
- -- ARP examples
- ICMPv6 Neighbour Solicitation
- ICMPv6 Neighbour Advertisement
- -- examples
- Duplicate Address Detection
- Neighbour Unreachability Detection
Lecture 15:
- Course review (so far) for mid term exam
Lecture 16:
- Defining protocols using grammars
- Augmented Backus-Naur Form (ABNF)
- ABNF defined in ABNF
- Examples of ABNF for e-mail addresses
Lecture 17:
- E-Mail
- Structure and Limitations
- Extending E-Mail
- -- The X- headers
- MIME extensions
- SMTP - mail transport
- EHLO vs HELO
Lecture 18:
- FTP
- -- Client and two servers
- -- Merging client with one server
- Control & Data connections
- Active & Passive FTP
- Upgrading FTP for IPv6
- -- FOOBAR
- Problems caused by NAT
- EPRT & EPSV
- HTTP
- -- Virtual Hosts
Lecture 19:
- Network Management
- SNMP (Simple Network Management Protocol)
- Abstract Syntax Notation One (ASN.1)
- -- defines data
- Data types
- -- primitive & constructed
- Object Identifiers
- Structure of Management Information
- Textual Conventions
- The SNMP Protocol
- -- Protocol Data Units
- SNMP operations
- The Management Information Base
Lecture 20:
- The Management Information Base
- MIB Variables
- MIB Tables
- Instances of MIB Variables
- Index into Table
- ASN.1 as a protocol definition tool
- Host Configuration
- DHCP
- DHCP Relay Agents
Lecture 21:
- DHCP and Multiple Servers
- DHCP Protocol
- DHCPv6
- Enabling DHCP - configuration
- -- v6 - via Router Advertisement
Lecture 22:
- Domain Name System
- DNS Protocols
- DNS Database
- DNS Queries
- DNS Message Formats
- Resource Records
Lecture 23:
- DNS Replies
- DNS Examples
- DNS Limits (restrictions)
- Name Compression
Lecture 24:
- Zone Transfer
- Zone Serial Numbers
- Incremental Zone Transfer
- DNS Notify
- DNS Dynamic Update
- Reverse Translation
Lecture 25:
- Finding the Root Nameservers
- Extending the DNS (EDNS)
- DNS Security
- Well Known Names (& DNS Issues)
- Well Known Ports
- Dynamic Service Discovery
- Service Location Protocol
Lecture 26:
- SLP Scaling
- Directory Agents
- TELNET
- TELNET Option Negotiation
- TELNET Commands
Lecture 27:
- TELNET Synch
- Telnet use of TCP Urgent Data
- Routing
- Routing vs Forwarding
- Distance Vector Protocols
- Counting to Infinity
- RIP
Lecture 28:
- Link State Protocols
- Shortest Path First Algorithm
- Distributing Link Information
- Shared Links
- OSPF
- Area Routing
- Exterior Gateway Protocols
- BGP
- CIDR
Lecture 29:
- Multicast
- Multicast on a LAN
- Joining a Multicast Group
- IP Multicast
- IP Multicast & Multicast Join
- IGMP
- Multicast Forwarding
- Multicast Routing
- DVMRP
- Core Based Trees
- PIM (Sparse & Dense)
Lecture 30:
- Course Overview
- Protocol Design
- -- What matters?