Serving Eastern Massachusetts
| Course Name: | C12 - Embedded Linux Networking |
| Time & Date: | 6:00 - 9:00 PM, Thursdays, May 10, 17, 24, 31 |
| Location: | Holiday Inn Select Hotel, 15 Middlesex Canal Park Road, Woburn, MA |
| Speaker: | Mike McCullough, CEO, RTETC |
This 4-day technical training course provides advanced training in Embedded Linux Networking and the design of networking applications in Embedded Linux. The first part of the course focuses on the BSD Stack and Socket applications development in an Embedded Linux context with a focus on application performance measurement and improvement. The latter part of the course covers Packet Management in UDP and TCP, IPv6 and integrating open-source network protocols in Embedded Linux.
The course is designed for real-time engineers who are developing advanced networked Linux applications for Embedded Linux distributions. It is also targeted at experienced developers requiring a refresher course on Linux Network Device Driver development.
Getting Started with Linux Networking
Networking Basics
The OSI Model
Networking in Embedded Linux
Other Networking Models
Embedded Linux Networking Code Layout
Linux Networking References (Books and Online)
Creating and Managing UDP and TCP Sockets
Socket Types and Socket Options
IO System Calls and Sockets
Other Linux Socket Capabilities
Netlink and Rtnetlink
Other Interconnects Using Sockets
Packet Handler Glue
TCP/IP Stack Initialization
Kernel Threading
Packet Queueing and the NET_RX_SOFTIRQ
Transport Layer De-Multiplexing
Internal Packet Routing
The in_device Structure
Security, Stackable Destination and XFRM
Some Practical Considerations
The sk_buff struct
Other Networking Structs
Heap-Based and Pre-Allocated Memory
Mbufs in BSD 4.4
Slab Allocations
Socket Buffer Management
Fragmentation and Segmentation
Allocation and Lists
Utility Functions
UDP Client-Server Applications
TCP Client-Server Applications
The Socket Layer
The Transport Layer
Initiating a Connection
Sending Data from a Socket via UDP
Sending Data from a Socket via TCP
TCP Output
Key TCP Data Structures
TCP Timers
Receive-Side Packet Handling
Packet Reception in UDP
UDP Socket-level Receive
Receiving Data in TCP
TCP Receive State Processing
TCP Processing Data Segments in ESTABLISHED State
TCP TIME_WAIT State
TCP Socket-Level Receive
Routing Theory
IPv4 Routing and the Routing Cache
The Routing Policy Database
IP Protocol Initialization
The Route Cache
The RPDB, the FIB and the FIB Rules
Routing Input and Output Packets
Internet Peers and the Inet_peer Structure
The Address Resolution Protocol (ARP)
The Internet Control Message Protocol (ICMP)
Multicast and IGMP
Sending Packets from IP
Receiving Packets in IP
MAC and PHY Device Drivers
net_device and net_device_stats
Network Device Initialization
Device Discovery and Dynamic Initialization
Network Interface Registration
Network Interface Service Functions
Receiving and Transmitting Packets
Notifier Chains and Device Status Notification
Configuring and Booting Embedded Linux
TFTP and NFS
BOOTP and DHCP
Ad Hoc Approaches
Duplexing and Routing Considerations
The Netperf and Netserver Application
Other Linux Networking Tools
Monitoring, Measurement & Optimization
Addressing and Packet Format
IPv6 Socket Implementation in Linux
Fragmentation and Segmentation
IPv6 Output and Input
UDP and TCP in IPv6
ICMPv6
Neighbor Discovery
Multicasting in IPv6
AutoConfiguration and Routing
FTP
Telnet
RSH
Rlogin
Rexec
NTP and SNTP
PTP
SSL
PRNGD
SSH
What’s Missing?
Mike McCullough is President and CEO of RTETC, LLC. Mike has a BS in Computer Engineering and an MS in Systems Engineering from Boston University. A 20-year electronics veteran, he has held various positions at Tilera, Embedded Planet, Wind River Systems, Lockheed Sanders, Stratus Computer and Apollo Computer. RTETC, LLC is a provider of Eclipse-based software development tools, training and consulting services for the embedded systems market.
Payment received by April 26 : IEEE Members $390
Payment received by April 26 : Non-members $410
Payment received after April 26 : IEEE Members $410
Payment received after April 26 : Non-members $435