Skip to main content
LeMay Publishing

Systems Engineering Lab Manual

Travis L. Guckert

LeMay Publishing

EDUCATION

Systems Engineering Lab Manual

by Travis L. Guckert

Lab Manual11,692 words69 chapters

Published by LeMay Publishing. 11,692 words across 69 chapters.

About This Publication

Hands-on lab exercises in protocol implementation, infrastructure deployment, and systems integration testing.

Published by LeMay Publishing, a division of LeMay. Massachusetts.

ISBN: 979-8-0000-5169-6

Chapters

1SYSTEMS ENGINEERING LAB MANUAL
2Hands-On Exercises in Protocol Implementation, Infrastructure Deployment, and Systems Integration Testing
3PREFACE
4TABLE OF CONTENTS
5PART I: PROTOCOL IMPLEMENTATION
6LABORATORY 1
7TCP State Machine Implementation and Verification
8LABORATORY 2
9Constructing an HTTP/1.1 Server from Socket Primitives
10Basic GET
11HEAD request
12404 response
13Persistent connection (multiple requests on one connection)
14Chunked transfer for large file
15Concurrent connections
16LABORATORY 3
17DNS Resolver Implementation and Recursive Query Tracing
18LABORATORY 4
19TLS Handshake Analysis and Certificate Chain Validation
20Start capture
21Initiate TLS connection with key logging
22Stop capture
23PART II: INFRASTRUCTURE DEPLOYMENT
24LABORATORY 5
25Linux Network Namespace Isolation and Virtual Bridge Construction
26Create namespaces
27Create veth pairs
28Assign interfaces to namespaces
29Configure addresses in ns-web
30Configure addresses in ns-router
31Configure addresses in ns-db
32LABORATORY 6
33Container Runtime Internals — Building a Minimal Container from Scratch
34Create cgroup
35Set memory limit to 64MB
36Set CPU limit to 50% of one core (50ms of every 100ms period)
37Set PID limit to 64
38Inside the container shell
39Memory test — attempt to allocate 128MB
40(This may trigger OOM kill depending on the allocation pattern)
41PID limit test — fork bomb should be constrained
42(The pids.max limit prevents runaway process creation)
43After clone() returns with the child PID:
44Inside the container:
45LABORATORY 7
46Infrastructure as Code — Declarative Service Deployment with Configuration Management
47inventory.ini
48site.yml
49Expected: {"status": "ok", "db": "connected"}
50LABORATORY 8
51Load Balancer Design — Implementing Layer 4 and Layer 7 Traffic Distribution
52Terminal 1
53Repeat for ports 8002 and 8003 with Backend-2 and Backend-3
54PART III: SYSTEMS INTEGRATION TESTING
55LABORATORY 9
56Chaos Engineering — Fault Injection in Distributed Service Meshes
57docker-compose.yml
58Expected: {"status": "ok", "order": {"order_id": "ORD-12345", ...}, "latency_ms": ...}
59LABORATORY 10
60End-to-End Latency Profiling and Bottleneck Identification
61LABORATORY 11
62Data Pipeline Integration Testing with Schema Evolution
63Add to docker-compose.yml
64LABORATORY 12
65Capstone — Multi-Service Deployment, Integration, and Failure Recovery
66APPENDIX A: LAB ENVIRONMENT SETUP AND CONFIGURATION
67APPENDIX B: REFERENCE COMMAND GLOSSARY
68APPENDIX C: RECOMMENDED READING AND SPECIFICATIONS
69ABOUT LEMAY ENGINEERING DIVISION