Systems Engineering Lab Manual
Travis L. Guckert
Boston Publishing
EDUCATION
Systems Engineering Lab Manual
curriculum11,692 words69 chapters
Published by Boston 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 Boston 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