1. An Intro to networking technologies
Introduction to Networking
- Computing Basics
- Networking Fundamentals
- Network Devices
- Network Topologies
Network Types
- Local-Area Networks
- Wide-Area Networks
- Other Types of Network
Network Media
- Network Media Types
- Cabling the LAN
- Cabling the WAN
TCP/IP
- TCP/IP Overview
- Transport Layer
- Establishing a TCP Connection
- TCP/IP Internet Layer Overview
IP Addressing and Routing
- IP Networking Addressing
- IP Subnetting and Calculation
- Routing Basics
- Routing Protocols
Labs/Exercise with IP address and routing
2 TCP/IP Protocol Services
- What is TCP/IP?
- Transport Services
- Connection-less Services: UDP
- Connection-oriented Services: TCP
- Deciding on a Transport: UDP versus TCP
- Network services
- IP Services
- ICMP Services
- Support Protocols & Services
- Domain Name Service (DNS)
- Address Resolution Protocol (ARP)
- Other Support Protocols
- Labs/Exercises on TCP/IP, DNS and related commands
3. Network Program Mechanics
- Client-Server Model
- Client & Server Association
- Network Program Sketch
- Open a Socket
- socket()
- Name the Socket
- Associate with Another Socket
- Send and Receive Between Sockets
- Sending Data on a "connected" Socket
- Sending Data on an "unconnected" Socket
- Receiving Data
- Association as Socket Demultiplexer
- Close the Socket
- Client & Server Sketches
- Connection-oriented (TCP) Network Applications
- Connection-less (UDP) Network Applications
- Labs/Exercises on Socket operations and related packet handling
4. Operation Modes
- What are Operation Modes?
- Wait on Hold: Blocking
- Call Again Later: Non-blocking
- Request a Call Back: Asynchronous
- Blocking
- Blocking Sockets
- Blocking Functions
- Blocking is Fake
- Blocking Hook Functions
- Canceling Blocking Operations
- Timeouts on Blocking Operations
- No Receive Minimum
- Code Example
- Non-Blocking
- How Do You Make a Socket Non-blocking?
- Success and failure are not absolutes!
- Polling Instead of Blocking
- Explicit Yielding
- Code Example
- Asynchronous
- What Are the Asynchronous Functions?
- Performance Differences
- Platform Differences
Labs/Exercises of packet handling Blocking, Non-Blocking, and
asynchronous modes.
5. Advance Topics Client Server / BSD Socket
- Client /Server model using Sockets
- BSD Berkeley Socket Data Structure
- Socket Setup and Communication
- Byte Ordering , Alignment, and Padding in Socket Programming
- Framing and Parsing in Socket Programming
- Any other left out topics and doubts
Labs/Exercises related to advance topics
* Outline is subject to slight modification and change.
|