Table of Contents

1. Introduction

2. Ethernet Basics

2.1 Ethernet Address
2.2 Physical Connections
2.2.1 Cables
2.3 Frames
2.3.1 Collisions

3. Networks

3.1 LAN
3.1.1 Repeaters and Bridges
3.2 WAN
3.2.1 Packet Switches
3.2.2 Forwarding a Packet
3.3 VPN
3.4 Network Devices
3.4.1 Routers
3.4.2 Firewalls
3.4.3 Gateways
3.5 Network Architecture
3.5.1 Client/Server Networks
3.5.1.1 Port Numbers

4. Network Protocol Layers

4.1 Layering Models
4.2 TCP/IP Protocol Stack

5. TCP/IP Protocols

5.1 IP
5.1.1 IP Address
5.1.2 IP Address Classes
5.1.3 Netmasks
5.1.4 Subnet Address
5.1.5 Directed Broadcast Address
5.1.6 Limited Broadcast Address
5.2 IP Routing
5.3 ARP
5.4 The Transport Layer
5.4.1 UDP
5.4.2 TCP
5.4.2.1 TCP Connection/Socket
5.4.2.2 TCP Header
5.4.3 ICMP
5.5 The Application Layer
5.5.1 DNS
5.5.1.1 DCRTCP.LIB Implementation of DNS

6. Dynamic C TCP/IP Implementation

6.1 TCP/IP Configuration Macros
6.1.1 IP Addresses Set Manually
6.1.2 IP Addresses Set Dynamically
6.1.3 Default Buffer Size
6.1.4 Delay a Connection
6.1.5 Runtime Configuration
6.2 Skeleton Program
6.3 TCP Socket
6.3.1 Passive Open
6.3.1.1 Example of Passive Open
6.3.2 Active Open
6.3.3 TCP Socket Functions
6.3.3.1 Control Functions
6.3.3.2 Status Functions
6.3.3.3 I/O Functions
6.4 UDP Interface
6.4.1 Opening and Closing
6.4.2 Writing
6.4.3 Reading
6.4.4 Checksums
6.5 Program Design
6.5.1 State-Based Program Design
6.5.2 Blocking vs. Non-Blocking
6.5.3 Blocking Macros
6.6 Multitasking and TCP/IP

7. Other References