1 Fundamentals
' T( Q) {) V" ^: b1 v) u1.1 Requirements of Networking ! ~' ]" I9 ?9 a3 B& s$ U
1.2 Underlying Principles * U5 B7 R* n: g& E+ }, s
1.3 The Internet Architecture
* V4 Y: B `; G3 ^1.4 Open Source Implementations
! g2 k0 Q( W9 M; f0 M/ _' P0 y1.5 Book Roadmap: A Packet’s Life $ g6 p. j/ z2 ]$ X
Appendix B Linux Kernel Overview
% h' z$ m9 n' D$ jB.1 Kernel Source Tree
: |& L' t9 s3 I& ^) @( eB.2 Source Code of Networking ^* x1 ]7 n1 a% E
B.3 Tools for Source Code Tracing
1 H- R H9 d4 C) W3 FAppendix C Development Tools / D; D& \1 @: S( F
C.1 Programming 8 T! c( }4 n; S; N1 V
C.2 Debugging
" w9 i4 |* b" g' c4 W k# cC.3 Maintaining " O2 P/ H- E0 f$ b- K& \& i3 c, `
C.4 Profiling $ }) H' D4 J5 b* m8 {! q3 u
C.5 Embedding
. U0 y' _0 a8 z e/ U' o+ sAppendix D Network Utilities
7 P4 @( v. ~+ r% E! e+ V8 ^D.1 Name-Addressing
! _" s) M$ b2 E9 r( ZD.2 Perimeter-Probing
- }9 s% E$ c y5 A8 aD.3 Traffic-Monitoring ( b- k- g' l5 c8 b: \3 [
D.4 Benchmarking
2 I/ T. [2 V0 L$ b0 q- ND.5 Simulation and Emulation
8 K, O1 y8 t6 n$ q( @( r3 z. Q" o- gD.6 Hacking
% V) N' L: t( b, f5 C/ b2 Physical Layer
: X, k+ W: e* R" ~) G7 Q4 i/ dGeneral Issues
$ J3 r- }4 x% X, SOpen Source Implementation 2.1: 8B/10B Encoder
, `: y" D8 a; l4 {5 ZOpen Source Implementation 2.2: IEEE 802.11a Transmitter with OFDM $ Y" m1 R9 _2 G* S$ W' o3 V
3 Link Layer 1 D# {9 w8 }8 [' l* m. ~. x
General Issues 5 b0 n7 N8 n5 u: f# D2 V* g% m; n. r
Open Source Implementation 3.1: Checksum
; |8 d: h' ^6 s& j$ TOpen Source Implementation 3.2: Hardware CRC32 . A! i9 s! B; l: J0 U
Open Source Implementation 3.3: Link-Layer Packet Flows in Call Graphs
* h* u" G9 G! pOpen Source Implementation 3.4: PPP 9 [- F- a2 N, K: h& G
Open Source Implementation 3.5: CSMA/CD
* ~* R" J* I4 `8 e X/ F: _9 w3 b+ FOpen Source Implementation 3.6: IEEE 802.11 MAC Simulation with NS-2
* r, l* A/ P: T. n! aOpen Source Implementation 3.7: Self-Learning Bridging
( K8 j# l$ D' X, T) mOpen Source Implementation 3.8: Spanning Tree 8 z* |7 A2 U( K0 }, p& ~% }
Open Source Implementation 3.9: Probing I/O ports, Interrupt Handling and DMA
8 t9 D# O- n$ G) C! |8 ?& IOpen Source Implementation 3.10: The Network Device Driver in Linux 6 E' {" ^4 e4 C: U9 E; d, K. r6 I5 @
4 Internet Protocol Layer 8 b3 w. T; C6 s
General Issues " y8 T) G* D4 k# j
Open Source Implementation 4.1: IP-Layer Packet Flows in Call Graphs
. J/ N/ w5 \4 pOpen Source Implementation 4.2: IPv4 Packet Forwarding 5 T( @2 M: E- r4 S( A A
Open Source Implementation 4.3: IPv4 Checksum in Assembly 3 w/ ^% ~2 w8 }) c
Open Source Implementation 4.4: IPv4 Fragmentation Z# _ i* O0 r+ s
Open Source Implementation 4.5: NAT 5 s8 e* G" y9 `, B
Open Source Implementation 4.6: ARP
6 J# u$ ]. l9 l2 J- P. x- m1 iOpen Source Implementation 4.7: DHCP
$ e3 E: l- T" z* w- b( d1 fOpen Source Implementation 4.8: ICMP
1 d' d- r6 E7 Q/ pOpen Source Implementation 4.9: RIP , ?/ P% ?$ J# i% B! A) y
Open Source Implementation 4.10: OSPF
4 e9 k: n3 K# k3 o( @Open Source Implementation 4.11: BGP $ H6 b0 `0 c0 Q, t
Open Source Implementation 4.12: Mrouted 9 n% S% k3 o3 A C, R
5 Transport Layer : K. _* E* h6 h) t. D a
General Issues
* n7 B5 l6 ?, \* `9 `Open Source Implementation 5.1: Transport-Layer Packet Flows in Call Graphs 7 M7 A2 V! }) R
Open Source Implementation 5.2: UDP and TCP Checksum
" Q5 h/ _, W( ~2 U# p) `Open Source Implementation 5.3: TCP Sliding Window Flow Control
_+ S/ \4 z* yOpen Source Implementation 5.4: TCP Slow Start and Congestion Avoidance ! e" B/ w" _6 B8 i9 K& o. A3 w6 U
Open Source Implementation 5.5: TCP Retransmit Timer
. [2 {4 T, l$ |# Z4 B( y; L1 m; WOpen Source Implementation 5.6: TCP Persistence Timer and Keepalive Timer 8 x& w" s$ q5 D
Open Source Implementation 5.7: Socket Read/Write Inside out
: _! r" ?8 O% B2 W3 ^" eOpen Source Implementation 5.8: Bypassing the Transport Layer
/ K9 k0 ] T7 v2 w2 WOpen Source Implementation 5.9: Making Myself Promiscuous ; Z8 K6 X9 t. X3 f
Open Source Implementation 5.10: Linux Socket Filter
) ?* {; r8 A! W5 ]! f6 d/ \8 {3 `6 Application Layer
& e7 g) m$ l( H; V/ L, x/ WGeneral Issues ' c+ \$ s" h8 J1 u2 M
Open Source Implementation 6.1: BIND + q7 a% ~+ F8 j" |
Open Source Implementation 6.2: qmail ( U4 N* o/ b* g: O+ M: |9 b! d* n
Open Source Implementation 6.3: Apache 1 V9 N, |' ~' w
Open Source Implementation 6.4: wu-ftpd ' G) h& t4 c4 d3 r
Open Source Implementation 6.5: Net-SNMP 0 w7 n5 E- `6 }8 Q! E
Open Source Implementation 6.6: Asterisk + p- _0 v$ f2 g* B
Open Source Implementation 6.7: Darwin 7 K3 \0 k! w( a
Open Source Implementation 6.8: BitTorrent
2 e# b6 o. |/ D n8 C/ [+ i' j7 Internet QoS
7 E& M, n5 g& Y+ w3 _8 c KGeneral Issues ' F ~' s- U4 U$ I0 ^% H) E9 X
Open Source Implementation 7.1: Traffic Control Elements in Linux
% E' K4 G1 M9 e/ P8 |9 h6 e& FOpen Source Implementation 7.2: Traffic Estimator $ m9 C: s2 P& B0 j7 w# m- q
Open Source Implementation 7.3: Flow Identification 2 ?% B* \+ N+ o3 \1 y: I1 Z
Open Source Implementation 7.4: Token Bucket
8 u; a* `# U, x* A+ a) v$ u9 D, ?Open Source Implementation 7.5: Packet Scheduling
1 ^( o8 q0 R2 M cOpen Source Implementation 7.6: Random Early Detection (RED)
% ~9 |- r2 P" x, ]+ {" Z$ w8 Network Security ( }$ ?, P3 v& e, j5 I( C2 l% ]
General Issues
9 N9 P' Z# ]) l& S2 B8 EOpen Source Implementation 8.1: Hardware 3DES
# H4 ~+ P6 s- J) j1 c- t N4 }Open Source Implementation 8.2: MD5
3 }$ a7 f& Y. q6 {7 R4 ?Open Source Implementation 8.3: AH and ESP in IPSec
' {9 C9 \. [- U1 ^) r# }Open Source Implementation 8.4: Netfilter and iptables
# u" N+ Z) z# y+ jOpen Source Implementation 8.5: FireWall Toolkit (FWTK)
9 U( K; z# o3 P/ A6 cOpen Source Implementation 8.6: ClamAV $ Y7 z& V$ d0 \6 M4 W
Open Source Implementation 8.7: Snort / t. H( j1 g$ e8 V- L1 |5 z7 n
Open Source Implementation 8.8: SpamAssassin ( K/ R6 I' c$ F" e$ `
| 2小時 6 S3 ~5 D2 x/ y+ Q1 s" }3 f
" v/ h' A* A6 V* f' H. r
: `5 P6 Y7 M* I( }5 R4 Z1 A. j* S* [! i8 i5 b
+ x4 W, K' z/ O" |* Z) W. b3 a- y9 U8 a! H+ z% F& ^7 b% H$ q
0.5小時
4 w5 S# d2 g% C- }' K' U/ N- I
' |( q6 C5 Z8 W0 `& r& B" C
& }, ?( q! H% F0 V7 V$ u4 U0 ^
3 v- Z5 w+ N3 ^3 S- B, Z0.25小時
3 G$ f# {% x1 G( ~: M: ~/ C: j k" R
X' M6 a% F/ y+ Q$ `5 y1 _6 @+ K
* Y6 R& l7 u" x; c5 K- w r( |4 e; P n
, j! n* u7 Z+ Q0 l/ Q$ g0.25小時
; A6 J+ i3 G1 X; O0 J% T( P2 O5 d( Y# [4 {: q5 J
, D. P$ N: _. T% n& m7 T8 L- _0 A
/ Y0 J: F& k8 r
* _2 [9 Y4 ~4 Z; `% v3 x5 R. A/ I
& X3 k: s! Z8 _1 N5 ?* M4 d+ E1 B
0.5小時
: j8 t9 d1 G# v" |) R% D) b8 h9 h% r% h5 G
7 \; r4 {" F" a' Y2 a; r! o- v
# q) A- X7 E& k; }' [7 }1小時
6 k; v* V3 j7 J8 ?$ V6 t$ n+ o, g) J* y7 Z3 O- `4 r( r' w
& }% H8 ?* H& h/ ~8 \6 o. x! ?2 D; g5 [ v, ~$ s
+ D. U/ y+ V3 K; r0 e
) e- k; k8 H- @* p1 C5 {$ q6 N4 |* g: P3 E' E
( O4 X% H. {3 v6 l; |
/ I' Q( R1 ?1 {8 a: q% t' T6 |, u0 n6 u% X4 M! _5 F+ j
+ P6 |+ W7 i/ _. X6 f# n( Z- A; B
# I& V- u) t0 q D6 T1 Y$ b6 {) s
1.5小時 ; ?$ A. H# l" K' R
7 a% V4 t. H; x5 O
1 f4 Y2 q* E2 U9 |4 T6 z+ D* K. B, Q; R- F% s
L# G- q k7 N- B* b7 v$ h: Y- I% s1 k# H
) z1 ^1 k7 f9 U: ?0 s! N* c
. o6 p- h3 }! L( j
& i/ q! U3 O1 X; f+ X1 h& x, Q
7 Q6 z8 X' [0 Y( X( y7 X( ]& M6 O# {4 r
5 o8 G! S6 Q* Q' b: \
( C8 u8 n; D, U' {: w1 Z
( j; }; g$ R0 ?. x) v1小時
2 N/ j, ` o# R4 k5 p5 H0 Y& G; y- ]
+ P: a8 q' B5 J. d+ _
3 O8 B- L; ^+ }
3 q' {$ g, g, J+ b
, B4 K* Z2 b9 w- J$ L( V7 E
# O( h6 u: ^( N, w
" S* ]9 |1 G d3 M$ P
; ^, C8 u5 w" c) p& G/ b4 l
! q) j8 P3 q( M4 r0 {# ]) w6 X/ D6 M4 z9 i2 `; a6 \$ D; k9 Z
* c2 T" X+ r6 i" O+ `' `; p
9 [# Z9 N+ d( j3 G
2小時
! B. Z( _3 r, @: w- h( T4 w( W8 V7 e4 e9 _# }* p+ _
, z( R3 z; K6 H. p h' W: k4 x
6 N5 E( ^5 A; D! |9 Z$ Q
5 B% S: ]/ y: L
* a; e {( I0 X: x! V, M/ X/ ~6 ? e; c
% q0 B- P& k' Q3 w3 z& ?! S5 f/ I, M) h; Z
3 }! L( z& b* C
1小時
8 i; P% s' p- f: T9 Q) P
) m8 i0 U4 B- e; O3 {3 m1 ?* b8 o1 k/ L" {4 M) z
% u$ ]1 u( r0 A$ L
% `; m& D3 S1 o2 E: S( c% {7 g; ~. f
1 Y4 N; O1 W1 E& o
8 I! z1 s7 n' z6 C$ f" X5 h2小時
$ Q( f; j T0 p
8 M: H4 j0 w+ f4 m$ i& Q |