Table of Contents

Introduction

Ethernet Basics

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

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
Port Numbers

Network Protocol Layers

4.1 Layering Models
4.2 TCP/IP Protocol Stack

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
TCP Connection/Socket
TCP Header
5.4.3 ICMP
5.5 The Application Layer
5.5.1 DNS
DCRTCP.LIB Implementation of DNS

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
Example of Passive Open
6.3.2 Active Open
6.3.3 TCP Socket Functions
Control Functions
Status Functions
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

References