1 Fundamentals
+ y. c9 @0 E, N2 m/ h7 W' M( }1.1 Requirements of Networking ' G, K& T8 @3 K& ~6 ]' }
1.2 Underlying Principles {3 J4 l0 T1 j$ A; l6 G7 \5 `4 q8 _
1.3 The Internet Architecture
( m8 E: i4 X' r- @+ n1.4 Open Source Implementations
' D+ p7 l# J# T* ]1.5 Book Roadmap: A Packet’s Life
8 w9 o# P" s0 w8 u g% k' pAppendix B Linux Kernel Overview 9 W; j0 r; `% T4 Z
B.1 Kernel Source Tree
2 O( y' O. o7 \2 UB.2 Source Code of Networking
6 D; z3 I) D4 Z# E- {- _B.3 Tools for Source Code Tracing . B1 D0 Z `( f$ C6 t
Appendix C Development Tools
Z' Q' h- f% B! b6 s/ l: kC.1 Programming ! `; j3 X: T) l) d& Q
C.2 Debugging
0 B2 C. S/ O+ h) v g$ I0 Y$ uC.3 Maintaining ) z& Q+ y6 C, z# K5 L/ s
C.4 Profiling
G4 U; x* T1 @; v1 |% lC.5 Embedding
+ N m1 E7 H' E T, w0 I0 r; ~Appendix D Network Utilities
; K+ u( X9 H* x" f" o. q* i" QD.1 Name-Addressing
" j6 h. o# |. A+ I i" s* b/ ED.2 Perimeter-Probing 7 v9 F) F# z! w( b
D.3 Traffic-Monitoring . ~1 j9 S4 Z3 f- q* x& x2 m8 H
D.4 Benchmarking
- u' D6 ~2 R( Z7 E0 N \D.5 Simulation and Emulation . w7 u x8 l- ^+ F9 Q
D.6 Hacking + `3 _' M( {5 [+ w% `# B
2 Physical Layer 2 y Y5 P1 f; |/ m! ?- X
General Issues
; t+ S3 U1 ~! T7 X! I5 [2 gOpen Source Implementation 2.1: 8B/10B Encoder
. B. D2 z( ~$ t. b5 n' AOpen Source Implementation 2.2: IEEE 802.11a Transmitter with OFDM ( N* Q& }2 V9 g% ]$ x( p/ U2 z
3 Link Layer 8 m; C. F. G# @# ?$ H# f V
General Issues
) c+ v/ H( M ]) P- y* U0 P" AOpen Source Implementation 3.1: Checksum
# i* [$ G7 i. q4 V% h u+ B+ lOpen Source Implementation 3.2: Hardware CRC32 % s/ j$ ~) \# z/ F9 {* B( i
Open Source Implementation 3.3: Link-Layer Packet Flows in Call Graphs
2 b F/ R7 I: F, e+ b: G W+ x9 s- QOpen Source Implementation 3.4: PPP
$ j7 v% I; t! G5 d9 pOpen Source Implementation 3.5: CSMA/CD
- b: B3 T- N9 X+ T/ X5 r2 |Open Source Implementation 3.6: IEEE 802.11 MAC Simulation with NS-2 / q& X- n- s% M4 x0 u' Q+ n: p
Open Source Implementation 3.7: Self-Learning Bridging
4 ?" M l; d) Y3 p* c w& COpen Source Implementation 3.8: Spanning Tree ; x$ l2 v% q8 G- f6 c
Open Source Implementation 3.9: Probing I/O ports, Interrupt Handling and DMA
' K# s$ S7 i* }* F& q' S/ r7 |* VOpen Source Implementation 3.10: The Network Device Driver in Linux 4 V( {8 G4 F; E( ]6 C
4 Internet Protocol Layer - ~8 [0 G% `. b# a; o
General Issues 4 ^0 h" B$ ^0 @2 _1 R
Open Source Implementation 4.1: IP-Layer Packet Flows in Call Graphs 6 I1 q7 l' I1 E
Open Source Implementation 4.2: IPv4 Packet Forwarding
) m, w; r3 \; Q3 A9 fOpen Source Implementation 4.3: IPv4 Checksum in Assembly 7 @7 e4 |' ~0 G+ H9 F+ X/ V
Open Source Implementation 4.4: IPv4 Fragmentation 1 ^- V3 ?- K0 H* K3 N8 c
Open Source Implementation 4.5: NAT 4 @% H0 c! F1 ?! f' N- T( M
Open Source Implementation 4.6: ARP ' `" b8 W& D, q9 R# v8 X( x* c
Open Source Implementation 4.7: DHCP ; ]7 t6 l0 k1 W6 v F
Open Source Implementation 4.8: ICMP ' w3 s* d( u7 n0 W- G0 y* a r( O
Open Source Implementation 4.9: RIP , d2 ~3 N) V% ] i/ O u
Open Source Implementation 4.10: OSPF
' z/ S3 Y: D' V) s* n) P& DOpen Source Implementation 4.11: BGP
, X( O6 `3 I8 @' W6 k5 V7 LOpen Source Implementation 4.12: Mrouted
5 ^( E O- r# q, I% F1 a5 Transport Layer
, ?) I, d$ P9 q/ K3 e7 p$ @General Issues
7 t( E! {! ?# J6 r' w- wOpen Source Implementation 5.1: Transport-Layer Packet Flows in Call Graphs
) Y7 }* Q& o& h E, IOpen Source Implementation 5.2: UDP and TCP Checksum
+ l( f6 S$ y7 h4 M. fOpen Source Implementation 5.3: TCP Sliding Window Flow Control
) e! h& p; _2 S) q8 pOpen Source Implementation 5.4: TCP Slow Start and Congestion Avoidance
0 w: Q' O! U5 Y- h5 s! nOpen Source Implementation 5.5: TCP Retransmit Timer
( O+ M" P+ ~" w0 s5 `: w; {7 kOpen Source Implementation 5.6: TCP Persistence Timer and Keepalive Timer 0 C! {0 F6 a- D- s8 K+ p: Q
Open Source Implementation 5.7: Socket Read/Write Inside out
5 m& l9 u7 p- _5 QOpen Source Implementation 5.8: Bypassing the Transport Layer ; E! i W" W6 j5 O! j
Open Source Implementation 5.9: Making Myself Promiscuous
- P; Q5 h7 @( [0 s3 ^" jOpen Source Implementation 5.10: Linux Socket Filter
; z( X: y1 U6 m4 |/ y6 Application Layer 5 e; O% c8 l% v, L$ r% q) ^# q7 B
General Issues ; D& B! }) S9 H1 m$ [% @, |2 a
Open Source Implementation 6.1: BIND 5 [, l" T- k0 o* y& y, {8 \
Open Source Implementation 6.2: qmail
$ C$ l, W& i! VOpen Source Implementation 6.3: Apache
( Y! G8 \' B" @! f2 O5 m8 i' N/ uOpen Source Implementation 6.4: wu-ftpd
/ x% S" x" V3 H; ]Open Source Implementation 6.5: Net-SNMP
4 ]7 N' E5 Z7 A7 {+ j$ [Open Source Implementation 6.6: Asterisk
2 g: l `" g% C/ `9 e+ ?- X* VOpen Source Implementation 6.7: Darwin
, C3 U5 `" N1 b( {' POpen Source Implementation 6.8: BitTorrent
: ^: B( R- N& r; Q( S7 Internet QoS
& G: U8 l) p" G& F! g) fGeneral Issues
2 g* o' ~$ g" c, U4 _Open Source Implementation 7.1: Traffic Control Elements in Linux ) p3 I0 j- i- s
Open Source Implementation 7.2: Traffic Estimator
( E% v6 F3 i- m+ e7 W8 p6 `: VOpen Source Implementation 7.3: Flow Identification
/ J1 d, n S# ?" k6 oOpen Source Implementation 7.4: Token Bucket 7 Y7 {. R" c, p0 \4 t L1 ^
Open Source Implementation 7.5: Packet Scheduling ' i) [# Q: j& U0 |1 B7 q" ^* p7 N k( `
Open Source Implementation 7.6: Random Early Detection (RED)
D' t" H! h( H, h" Q. O4 M8 Network Security 0 G! p( ~" j0 |/ f# V
General Issues
, |' ~) C- K: H2 j' {* n, k- {Open Source Implementation 8.1: Hardware 3DES / p$ |; }4 A9 L- I- }( _
Open Source Implementation 8.2: MD5 * H, {! S: N4 ?/ J/ V7 b6 J1 l
Open Source Implementation 8.3: AH and ESP in IPSec
- E9 M3 E7 z( n: Y* dOpen Source Implementation 8.4: Netfilter and iptables 3 M. J: k; N. V: J" s
Open Source Implementation 8.5: FireWall Toolkit (FWTK)
0 h: z1 _- `1 Z2 G0 `4 x: S. yOpen Source Implementation 8.6: ClamAV
) H3 l" ?% l6 H+ \7 W& AOpen Source Implementation 8.7: Snort
$ L; a( B/ o" A8 B6 k- YOpen Source Implementation 8.8: SpamAssassin
" a6 s+ S0 S- F | 2小時 2 a5 D5 [4 U7 V; Y0 Z1 |
3 z" J# u# Q& Z9 k2 a6 o" Q+ K2 J
; R! _' C4 {5 V3 g
, Q. d1 z w3 ^4 s t. m9 e! b( @# S* X7 M
+ q$ d) D' c$ r# h2 Q; {5 z/ N0.5小時
$ h3 P0 ]0 {8 J, ^ m: X1 M, U }% n- L7 O4 M1 c# ^
( N& p/ m, |" i/ T5 ~
" o# m5 Q5 L0 y5 r% Y0.25小時 7 R2 s+ {7 @9 B0 P
^; I+ V7 w% I, h' }$ h2 c% Z( K$ r; y% r8 g. ~" V
0 v8 \, _( {, ]+ T- S
& w2 M+ h1 p+ M/ X
0 d4 T( X6 B" m
0.25小時 * m+ E& [! z1 O
8 b' s# ~9 q, F8 t
% }" d/ v9 G. e
% E2 U, a3 ]. i$ O X' t# S6 r1 y* [% _
, k) b1 C7 ]- B* n3 y& D6 h, M+ C8 Y
6 }8 m. H" f9 s* O# t( w% C# \8 |0.5小時 # o5 s l; p6 B
/ Z4 G: n9 i3 O" I
0 x; r, a1 {1 K3 F* o
\* p% F1 q6 N0 n9 s' ~8 m1小時
" K0 E/ ]# U' e! X3 l: R: W! J/ P/ b0 b
7 V6 G% o4 u( z- U& Z4 Y
! l- ~& W: R& e9 h& ?6 L8 }( P3 w: a7 f9 p j
" o: g) s, m0 L0 ^% b
% H0 @1 e w! s0 w, ^2 L: X8 q9 n, S# ~( s0 q& R
5 O8 N- l& v5 @0 ~, [; e, ~. L
( Y3 L) x5 h+ l( ]$ U: z3 k* I& X6 m4 T8 o
9 ~. e1 _: L' z/ o; l& N6 F
! k% b% d) u, E( x) j7 S1.5小時 : E9 Q5 n5 `- |2 O: X' F( R2 [
" K- }4 E* A/ ]/ o$ ], M" ~ E3 y9 L# V: i
7 L3 z$ f7 }4 i N% q O
3 p- D0 o! p5 C) e, w
. i7 X+ U0 [4 f
$ g8 l! T L/ C3 ~( w3 v
0 n; C# w9 D2 y" P) L9 v. J+ H
( {/ O, U! ^. b
: V6 s% ]% E' e4 t2 v$ @2 u% K5 r: L% E( `0 ]- W5 q: ` x0 D
4 W- i9 R8 j; L0 g( f& W
: h5 Z. w( U7 z% x7 c3 H0 }, S
* K2 R, B3 o% U1小時
; R* }2 x' S7 G# ^2 f. {4 f1 Q, r0 K+ P" I# d/ X; B
3 v. o6 I u$ S/ d
, \7 }: m8 r, ^3 I- D
: q* [7 `% n S% L7 f0 ?
5 q* ~& B: c1 n$ ~5 U; f
7 b# t" e3 F8 I$ ~& _( ?
% {% H, h8 `! M, v X9 J. m2 v4 R( \
9 i O X8 L4 \' E* o& ]. [' S: O
0 A4 E2 y& r4 ?2 Z2 O, j" H+ g9 T! p# Y) n
# A. [5 U* m/ {5 ^$ b2 x2 q6 z
2小時 - E, ? d; Y) s+ d C4 k
/ y, R# {5 y' i
7 i) w2 E* k1 s- C; N: W
8 g) u' a7 l% Y" F8 t. o3 T/ G: K
; a4 P8 Z4 T* z) ^! [' w
2 V' o8 W# o& E7 F( l0 R) S2 [0 F2 k( @1 ?5 F2 m, z2 m8 j
2 d9 Y# c' f- ]: y3 n8 s+ y
' c9 I! j- v+ [% {8 A
/ ~6 ^2 P6 m& u1小時
) c8 R8 Q- L& w4 u: D% l/ A a0 A
) j% |) K% h" `; S0 G, Y P
' }; e% k4 t, c" A- k6 \! n7 E3 A( a, L$ Z/ L# p/ u
+ I% ]4 q0 T$ Q3 I" h6 H' i
# w0 F2 N# z- o6 V
1 ]! G, H/ H% ]2 U
1 C7 A2 F' }) A/ i4 e+ \2小時 - a! Q' c& n. h
8 u2 e' K! P" \- U |