1 Fundamentals
# F* X, k! E/ n" \1 W* T( ~: d( `- J1.1 Requirements of Networking
) } q3 O6 B; m" u; x7 B1.2 Underlying Principles
7 y( n: J3 O* N. X& g, U3 v6 p1.3 The Internet Architecture
3 X- B* p0 O$ [9 ~3 U. i$ l1 E8 R1.4 Open Source Implementations
! ^4 `4 h, X4 k- v& W! l1.5 Book Roadmap: A Packet’s Life
- [& U1 Q) x' m' M+ w# jAppendix B Linux Kernel Overview
4 {# r2 I5 ]9 T% ]: F8 @B.1 Kernel Source Tree - |! F8 d# \: j
B.2 Source Code of Networking M$ k: x; I8 e/ d
B.3 Tools for Source Code Tracing
1 b/ }! Y& J! Y6 P# ] }6 i. yAppendix C Development Tools 9 d8 M! ]2 j, W! d) u x% ^, q
C.1 Programming
8 u$ s( q$ R; A; S2 K: x3 z5 CC.2 Debugging
1 T0 i2 \ E: M( M; j% e7 xC.3 Maintaining 8 }4 h' C3 A+ g+ G2 Y# i
C.4 Profiling ' p( B$ H* y! G# w! ]+ \9 e
C.5 Embedding
O: {! U/ K$ { f! s$ T: k) ?Appendix D Network Utilities
* C3 \9 y5 F/ z4 g. d3 M1 }D.1 Name-Addressing
" C0 T+ v( `- W' M1 s$ g( w+ DD.2 Perimeter-Probing 7 ?) O o' K5 R' p& u( Z& m
D.3 Traffic-Monitoring 5 k5 |5 d8 N T+ e8 |
D.4 Benchmarking & L& R- g/ w. i' R( R
D.5 Simulation and Emulation _% L* O4 G, g/ l9 }0 @; d A
D.6 Hacking 5 X3 U9 x. Q, M0 y! S$ n
2 Physical Layer 0 {6 \+ p. C! D8 _
General Issues
- M; W( A) M, T" s5 H, ]Open Source Implementation 2.1: 8B/10B Encoder
9 ]1 ]+ p* k1 n1 G v, kOpen Source Implementation 2.2: IEEE 802.11a Transmitter with OFDM 5 u+ H1 X! B, i! K
3 Link Layer
: ?7 r- k: [' J! Y( |; [# pGeneral Issues
{# y) d* n6 D1 n3 EOpen Source Implementation 3.1: Checksum & ^+ O3 N) }- r9 a# V: f
Open Source Implementation 3.2: Hardware CRC32
5 R% K5 l3 Z5 x5 c& C( aOpen Source Implementation 3.3: Link-Layer Packet Flows in Call Graphs # o8 r6 r' ^: e$ m1 `; a" b
Open Source Implementation 3.4: PPP
0 Q, U1 W9 J, z8 Y" I9 OOpen Source Implementation 3.5: CSMA/CD % O. K" O4 n" A' q V
Open Source Implementation 3.6: IEEE 802.11 MAC Simulation with NS-2 - W; A! o: o) E3 ~# u; e/ H
Open Source Implementation 3.7: Self-Learning Bridging
9 j; o/ x1 K/ |" U+ u* x" U3 u% AOpen Source Implementation 3.8: Spanning Tree
+ r; f+ ~; W: ]4 V6 ]7 F/ j9 I; |Open Source Implementation 3.9: Probing I/O ports, Interrupt Handling and DMA ! }5 Y8 z, c4 h( [0 D9 p
Open Source Implementation 3.10: The Network Device Driver in Linux
8 W' i/ h5 a/ B4 C4 x% z- e. i4 Internet Protocol Layer
# d; ]# B5 u- j1 f- P# O/ iGeneral Issues
. C4 O7 P# T' S/ v- }Open Source Implementation 4.1: IP-Layer Packet Flows in Call Graphs
0 D( @+ @$ Q* b$ E7 X5 }$ h3 QOpen Source Implementation 4.2: IPv4 Packet Forwarding 4 c/ M" m3 ~ e* J
Open Source Implementation 4.3: IPv4 Checksum in Assembly 4 i; |% ~' `5 g# c5 _/ s( J. g( y
Open Source Implementation 4.4: IPv4 Fragmentation
+ i& s( l/ l% k( rOpen Source Implementation 4.5: NAT ' W2 c7 M' A, I0 ~0 A& Z
Open Source Implementation 4.6: ARP m r9 N2 r9 f! C Z. l2 Y" N
Open Source Implementation 4.7: DHCP ; ?% @4 A. I5 S
Open Source Implementation 4.8: ICMP
6 x, o6 N* d6 }Open Source Implementation 4.9: RIP
7 r7 ]% \& u8 ~1 \Open Source Implementation 4.10: OSPF
. u& ~# i4 n9 f- m9 w ~. _; {7 @0 OOpen Source Implementation 4.11: BGP % }! u; N8 Z7 t/ [, j. E8 H0 V
Open Source Implementation 4.12: Mrouted
; b1 U# u3 R9 P! L9 k! X4 l8 ?5 Transport Layer + { l/ C: ~6 q- J& l7 H
General Issues
1 |- u7 I* e9 DOpen Source Implementation 5.1: Transport-Layer Packet Flows in Call Graphs
1 D2 y9 @+ Z/ AOpen Source Implementation 5.2: UDP and TCP Checksum + \+ i1 Q, u& F( O
Open Source Implementation 5.3: TCP Sliding Window Flow Control
% Y1 `6 N% \7 o" b4 z+ D( b7 GOpen Source Implementation 5.4: TCP Slow Start and Congestion Avoidance 6 C) y+ H% z x& u; @( a6 T% Y
Open Source Implementation 5.5: TCP Retransmit Timer
; _3 Z1 {! V/ K7 p9 ?% R; LOpen Source Implementation 5.6: TCP Persistence Timer and Keepalive Timer ) P) B# u. w$ O
Open Source Implementation 5.7: Socket Read/Write Inside out % H5 s# r# A2 i2 F1 k* K3 i8 |: \# t6 |' j
Open Source Implementation 5.8: Bypassing the Transport Layer % Q9 M) w/ d5 x
Open Source Implementation 5.9: Making Myself Promiscuous 6 ]; F4 N N: T
Open Source Implementation 5.10: Linux Socket Filter
; s' @5 D" T* g# A6 Application Layer
9 R7 C% D# E# Z! aGeneral Issues 6 O* H3 c0 u7 Y* K$ U7 t( _0 b
Open Source Implementation 6.1: BIND ( d- P3 \; h k2 j# B" Z9 O
Open Source Implementation 6.2: qmail
6 J2 E- ~8 S# N0 L4 n9 c3 F7 ROpen Source Implementation 6.3: Apache " Y& l* O$ H# x
Open Source Implementation 6.4: wu-ftpd " B. @. G q- @" p; N
Open Source Implementation 6.5: Net-SNMP
7 f0 { j+ h! zOpen Source Implementation 6.6: Asterisk
! m- \( Y- l4 X& BOpen Source Implementation 6.7: Darwin 6 T$ i) I! ]3 z* S( h: b
Open Source Implementation 6.8: BitTorrent 7 R: ~! W- }; O& n( U8 Q
7 Internet QoS " y2 i6 v7 R3 ]2 g. X
General Issues / N$ ~+ l' L3 I% c, z! `' H& Q7 e
Open Source Implementation 7.1: Traffic Control Elements in Linux
: Y- Z/ z% d# @5 D; o3 b% [Open Source Implementation 7.2: Traffic Estimator ; j+ f* K7 N5 U) i9 ~' e5 i. R
Open Source Implementation 7.3: Flow Identification
3 Q6 E* U3 D* Q/ IOpen Source Implementation 7.4: Token Bucket ' |) o( h4 ?4 u0 K) ?( ?# Y6 N
Open Source Implementation 7.5: Packet Scheduling
6 p2 `, K `9 V' K1 E# N. k# WOpen Source Implementation 7.6: Random Early Detection (RED) ; q: q ?9 [& X; R& n" O6 {4 ?
8 Network Security * B3 \6 l: ?4 n
General Issues
2 a% X, g" L" [' g! {( }+ jOpen Source Implementation 8.1: Hardware 3DES 4 H' Q$ R/ e+ Q7 z: y! h$ x
Open Source Implementation 8.2: MD5 % k$ x; T% B, Z! Q9 ]) f
Open Source Implementation 8.3: AH and ESP in IPSec
3 b7 k4 R3 {9 @4 \' L% XOpen Source Implementation 8.4: Netfilter and iptables
: ~4 k/ j; O9 ^0 COpen Source Implementation 8.5: FireWall Toolkit (FWTK)
* P# m1 j. @3 }Open Source Implementation 8.6: ClamAV
7 K6 |& T$ X! eOpen Source Implementation 8.7: Snort # C5 U( G9 u: K1 e3 q4 w0 U: V4 p
Open Source Implementation 8.8: SpamAssassin
+ U; c7 Q, ?9 r: B- l | 2小時 ; N% U; [: C! {5 w; Y/ u8 K
( m9 R% A6 {9 o2 x; m ]
1 \9 Z8 x: F# C/ e% e! D, \
/ q' x" l1 F3 e2 m* Y: l- p% a2 M
/ m" }- Y8 O+ C. C+ B! A% w% h% t) t/ N+ m8 a/ n/ T/ g4 o6 Z
0.5小時 6 z, |! }& K8 ?+ d
7 ?+ F' X. Q3 O
- G2 w! U2 h; d* i' x6 ^
7 S; N3 V' R* G, P/ [0.25小時 % o: V5 X+ Z8 V/ J) Y8 Y
# l: \) j8 [5 v' j3 T+ {: B
0 B9 u+ K& e1 h Y: ]5 v. _3 M
3 M- g" r) x4 f/ U4 B# g
% u0 ?; M: m1 s0 M% A+ S# S% I
$ t2 @. j/ g! q0 Q0 h0.25小時 + N$ }+ k9 Q( y5 @4 X' P% `
% D3 ^( g+ {. Y& H3 `/ ?; p8 j L; j
1 Y N5 [1 `5 r0 \
( r4 Z1 m( h4 Q! K+ M: S- K+ `' U5 q+ z6 E, n4 J6 c1 H
2 V1 U: S) Y9 X6 ? H9 ~0.5小時
+ D8 Z e) I- U+ O! ?
! J+ D+ i2 k4 p. U
# Z8 s4 ?2 i, o/ \2 X
3 p! p$ F( b, ?/ n5 b \' r1小時
% f0 X- J( e5 X' N( f2 n; ^6 C0 X6 [3 `4 Q
9 n) F( n( `9 c8 o
- l4 |$ s5 Q% F, M! Z! F' U/ _2 x
/ [) q" P7 ^1 o7 b6 `
2 T9 w2 b3 |" L! d% k3 n* r c
/ w% @, l N! p3 K! V+ c( A8 C
2 B; O$ B$ K+ o3 `& ?7 c* o
$ x i/ _$ u+ }$ l
9 c" K6 w2 {+ r+ Z; [
* S( Z5 n Y" ^& q j L2 J; P8 g1 q" `: I9 M9 k! G4 }
) Y" M+ \; I( A! k4 T- x1.5小時 0 O- S+ Y8 b, G9 F+ c0 Y
. v2 D7 P8 z& n/ R
) L! w: L& a8 |) l
2 J- O5 @; D- f$ _' h0 y" ?
7 |7 w/ S. j5 w* s+ ]
! n9 D4 B8 f* E' c/ m: K5 m2 u# h2 z" r6 D
& @# H2 Q4 ^8 q& ^! V! }9 z0 j2 }% B3 ]8 t. |! ]4 G
/ B+ G! {9 q) V- r8 i F
# k8 K# r2 }) w U( s- B+ y8 M, K
3 B; O3 J0 G4 ]4 D/ _6 q6 {3 d
E! @) W3 S$ E/ h' s% `1小時
, `) N+ N* g$ j2 J- o( X* y) t7 e0 b, i* w; ^# W# a
[# L2 _2 }) n, W; N/ H* z& \) i1 X5 k: \- E4 m4 ~
4 y# P, D% U- A+ S- }' ?- N I# `
' Q1 i1 r G3 m/ f6 `% @6 j5 G2 s2 i* B; T) |; Q5 B
6 m% [" s; @9 s* K% [: i2 e
2 _5 U) K$ t3 Y6 L8 l/ o0 ^9 I5 u& ]7 w3 L, m4 I
2 Z$ o9 O/ e8 g4 ~
7 L1 E; g* v6 ?" m' V2小時 : y, L. C4 ~% `# T% d$ \! k, n
/ O Y/ X2 I( L' |2 h; q
. F8 K5 u! l) C' N/ n3 }4 O# R" j! I; S0 E0 ~+ K$ |+ X
! ~: M2 R1 O7 }
v2 c3 M' V: x+ T. ~7 B) u$ X1 U
) l# u3 T5 ^+ V0 W
5 l4 R: ]0 R0 h- E5 F2 y1 D- D% x: d: O) e3 i
|, _2 P9 e& T) g1 x( u, F* [1小時 " }7 K3 L8 ]" H! P; e$ T+ i
6 m% n. ^( S+ V6 X E$ L( S! P
7 @8 k! q- j1 k+ q& Z( X% l6 A7 x q% m4 e8 |
( l O7 D/ a: q
5 v2 r7 K, c' V1 }7 X2 {6 b' S+ ^4 d
, L$ h7 X3 ]/ B+ w3 _
2小時 ) L. `7 d. E1 S5 _+ f9 F. |" R1 j
' A' G& ? Y& A7 g7 E
|