BSDCan2010 - Final Release

BSDCan 2010
The Technical BSD Conference

Speakers
George Neville-Neil
Schedule
Day Tutorials - 1 - 2010-05-11
Room DMS 1110
Start time 09:00
Duration 03:00
Info
ID 187
Event type Workshop
Track Tutorial

Networking from the Bottom Up: IPv6

All of the BSDs have had rich support for version 6 of the Internet Protocols from the very beginning of the work to specify a new set of network layer protocols for the Internet. While many references exist for engineers interested in version 4 of the IP protocols, to date, very little has been published describing the newer code. This tutorial will present an in depth discussion and code walk through of version 6 of the IP protocols, describing and dissecting the paths that packets take from the driver layer up to the socket layer of the network stack.

All of the BSDs have had rich support for version 6 of the Internet Protocols from the very beginning of the work to specify a new set of network layer protocols for the Internet. While many references exist for engineers interested in version 4 of the IP protocols, to date, very little has been published describing the newer code. This tutorial will present an in depth discussion and code walk through of version 6 of the IP protocols, describing and dissecting the paths that packets take from the driver layer up to the socket layer of the network stack.

The tutorial will follow the four paths packets travel through the network stack: reception, transmission, forwarding, and error.

Outline:

1) Introduction

An introduction to IPv6, including new terms and addressing modes as well as a brief overview of common structures seen in the BSD IPv6 stack.

2) Packet Reception

A code walk through of packet reception including how and where packets might be diverted or modified in flight.

3) Packet Transmission

Starting from the socket layer we will trace packets as they leave the system, showing all the major subsystems that are dealt with as packets are sent from a user program to the network. Differences in how transport layer protocols, such as TCP and UDP, interact with IPv6 will be highlighted.

4) Packet Forwarding

A key component of BSD network stacks is their ability to forward packets. At this point in the deployment of IPv6 there are still many networks that use off the shelf hardware, rather than high end routers, to create IPv6 networks and understanding how forwarding is achieved in the stack is important for proper performance tuning.

5) Error Handling

How and where do errors occur and get reported in the stack. In order to diagnose issues with IPv6 networks it is necessary to know where the errors are occurring and what they mean. Differences between the errors seen in IPv4 and IPv6 will be highlighted in this section.