1 Fundamentals
& `' i8 Q0 m i6 b2 I" t: r4 _& R1.1 Requirements of Networking ( F$ x, @4 I$ B6 Y# c
1.2 Underlying Principles 1 h S+ W; k I1 i5 Z
1.3 The Internet Architecture
% x5 A% Y- y- q4 }7 E! l9 |6 G" i1.4 Open Source Implementations
# k9 Z2 y/ O) v4 [6 b1.5 Book Roadmap: A Packet’s Life # N8 G* _- _. s3 h# H* ]
Appendix B Linux Kernel Overview
/ \% `! ?: P0 ]B.1 Kernel Source Tree
# T( h* d9 K* LB.2 Source Code of Networking
: w3 e' l3 h' S. c- Q6 r. eB.3 Tools for Source Code Tracing
0 V* Z4 q) N' r4 ?! iAppendix C Development Tools
, k' d- Q: y' f1 q5 ~/ Z! |; z2 QC.1 Programming
4 j1 H: H. _' F+ N6 b6 B: aC.2 Debugging " {: d% _# \9 t% Z& f' H m
C.3 Maintaining ! F7 I8 h }" \% j8 p( R# B
C.4 Profiling 2 y0 e6 ]4 s$ z" u0 x
C.5 Embedding 7 r! M5 }* x7 G& O M7 o( k8 `
Appendix D Network Utilities % [* }( e; j/ z5 ^- I
D.1 Name-Addressing
- |& A; e' G( wD.2 Perimeter-Probing
) w. a$ \# P( Z2 q% mD.3 Traffic-Monitoring ' f! t8 @7 V- p8 g m2 m: a
D.4 Benchmarking 7 n1 Q# y! W* E! c
D.5 Simulation and Emulation \! @; Z) }2 _- b2 s
D.6 Hacking
: M9 a* K. s. T9 _/ j2 Physical Layer
) l( E8 U5 ?3 fGeneral Issues 5 C5 e+ a0 H3 z& Y E
Open Source Implementation 2.1: 8B/10B Encoder
( I9 ~& h, `7 \, n) G; lOpen Source Implementation 2.2: IEEE 802.11a Transmitter with OFDM 6 n5 ]. e0 u, z w3 b
3 Link Layer ! ]6 Z$ [( \( u1 w/ V( d
General Issues ( G8 | T9 Y& V( P3 F% U
Open Source Implementation 3.1: Checksum
4 O' X# c8 m3 \. C2 O, ROpen Source Implementation 3.2: Hardware CRC32 % h4 s7 B- H4 y: }
Open Source Implementation 3.3: Link-Layer Packet Flows in Call Graphs ( c O' `& K1 p1 x$ w
Open Source Implementation 3.4: PPP : ^, l5 W9 W5 a/ e, u& h
Open Source Implementation 3.5: CSMA/CD # ^) v# h# a, S8 Q+ I
Open Source Implementation 3.6: IEEE 802.11 MAC Simulation with NS-2 / E* r* n( s& E3 \5 P# {: p) L
Open Source Implementation 3.7: Self-Learning Bridging
+ m+ s7 t9 u7 m% h" UOpen Source Implementation 3.8: Spanning Tree , [5 U9 S2 l0 _3 V5 M3 g0 A2 B
Open Source Implementation 3.9: Probing I/O ports, Interrupt Handling and DMA
) g5 {( k* b2 g3 ?% Y2 NOpen Source Implementation 3.10: The Network Device Driver in Linux
4 l) z! @, {1 Z5 g4 Internet Protocol Layer 1 z2 g/ t( m6 |9 q2 w9 G
General Issues ! L- u2 ^/ Z5 U" G' P) q7 J6 ^
Open Source Implementation 4.1: IP-Layer Packet Flows in Call Graphs
- ]& u' I$ @; G) i `Open Source Implementation 4.2: IPv4 Packet Forwarding
) [( J0 Z6 P2 H3 Q9 W8 YOpen Source Implementation 4.3: IPv4 Checksum in Assembly
- k# h X( O1 H; v; w# J ^3 cOpen Source Implementation 4.4: IPv4 Fragmentation ; D2 j+ p6 s7 }( |8 R
Open Source Implementation 4.5: NAT
" {- M( }; W* o7 R& @Open Source Implementation 4.6: ARP
( Z- j( j6 U% J) Z- `3 COpen Source Implementation 4.7: DHCP - b: S9 v. k1 g/ z3 t! H U: s5 S
Open Source Implementation 4.8: ICMP
9 [4 N! ?& F* d5 _; qOpen Source Implementation 4.9: RIP
2 Q/ z1 D) W* j% |- F. ]) y; P3 QOpen Source Implementation 4.10: OSPF ; P. _6 i+ Q% G; [ S" t5 ^
Open Source Implementation 4.11: BGP / z# P# F1 E7 V s2 f2 t" ` h
Open Source Implementation 4.12: Mrouted + K1 a+ G+ m! c( i) @; C
5 Transport Layer / ]$ N6 T; L, {. Q9 e
General Issues ( A# O3 a8 w8 I( b }, A( W
Open Source Implementation 5.1: Transport-Layer Packet Flows in Call Graphs
6 D( }- o4 K3 O6 dOpen Source Implementation 5.2: UDP and TCP Checksum z( _, U9 E# T9 \" s8 f/ ?; q# j
Open Source Implementation 5.3: TCP Sliding Window Flow Control . O9 h2 P5 A4 a. }) C
Open Source Implementation 5.4: TCP Slow Start and Congestion Avoidance
* y+ L0 A+ \0 K# \, ZOpen Source Implementation 5.5: TCP Retransmit Timer ; B0 K7 }1 ^! d) Z. n/ w
Open Source Implementation 5.6: TCP Persistence Timer and Keepalive Timer
: @# G* ]1 [: z( d" KOpen Source Implementation 5.7: Socket Read/Write Inside out ! T) c1 ?) @2 u, S
Open Source Implementation 5.8: Bypassing the Transport Layer
' a- O5 e9 G* T+ J: f$ mOpen Source Implementation 5.9: Making Myself Promiscuous 4 `3 N% `& z) p8 {0 x( e4 D: y+ {
Open Source Implementation 5.10: Linux Socket Filter
! h. { s y1 ?6 Application Layer $ v* Z- S2 |/ m. S; f
General Issues ; ?+ {' e8 p5 j. b- P1 K: a+ E
Open Source Implementation 6.1: BIND 8 m5 R: y# X' r. c9 V( w
Open Source Implementation 6.2: qmail
1 t$ l" C5 A' g" ~# }4 A: ZOpen Source Implementation 6.3: Apache
( l- c8 ~/ y3 c3 NOpen Source Implementation 6.4: wu-ftpd ) m1 e" j. }( p
Open Source Implementation 6.5: Net-SNMP 8 ?4 Y7 \5 u% Y$ y) C4 e4 H1 h
Open Source Implementation 6.6: Asterisk 4 V7 `/ }, ~# l) Z
Open Source Implementation 6.7: Darwin
% W: j4 O+ Y* gOpen Source Implementation 6.8: BitTorrent
9 J0 b W; \; F; i7 Internet QoS 7 M' F" l0 m5 w( i; R/ F8 y
General Issues 1 p4 i- s, @/ V# L5 v. [; @- V
Open Source Implementation 7.1: Traffic Control Elements in Linux
g3 {+ F: e8 t5 `+ JOpen Source Implementation 7.2: Traffic Estimator
: ]! v& P/ r4 K R2 ^Open Source Implementation 7.3: Flow Identification
9 k+ B B% g# C6 ~0 }: |Open Source Implementation 7.4: Token Bucket
, g% n5 G% h5 L, F7 xOpen Source Implementation 7.5: Packet Scheduling 5 O9 n2 ?+ r# l- l
Open Source Implementation 7.6: Random Early Detection (RED)
& ~% [6 }; g4 U/ A) J8 Network Security : ~' K; L5 [2 h M7 T {
General Issues
% o8 O" w3 C" l9 m& e, mOpen Source Implementation 8.1: Hardware 3DES
) T6 z; _) A9 r( L" R6 A2 [Open Source Implementation 8.2: MD5 & ?4 t* o8 R5 J7 C6 S, t( y3 C
Open Source Implementation 8.3: AH and ESP in IPSec : g' s- H' N; C! }0 D! O7 K
Open Source Implementation 8.4: Netfilter and iptables ; Y( S- `' E5 \3 I$ v
Open Source Implementation 8.5: FireWall Toolkit (FWTK)
+ ?+ r4 d: i0 y+ ]8 @' M5 EOpen Source Implementation 8.6: ClamAV
! w& L$ B* B9 u" wOpen Source Implementation 8.7: Snort + n& k2 K1 V5 N4 T) k
Open Source Implementation 8.8: SpamAssassin . q4 i5 a; h( b, w" j
| 2小時 & O5 V/ p! _) H8 f% B
( U: w/ T9 U5 a9 [
' M! L0 j8 ]( H9 e% o
9 J" h2 j/ x6 H
( i8 ^& Y% r8 k
; |% r/ R4 \, |1 F f7 I0.5小時 $ m' P: Y7 ^& [
|, U! j3 J7 p
" c. ~8 s$ k3 f4 }' C/ P! {, B7 R$ Z4 Q+ j
0.25小時
% W9 x. h( _8 R9 P/ P" s8 n' H; `$ S
9 j7 S% i* S7 n8 `* b! p3 j
3 v6 ?$ n! [) H$ E8 r
$ R' `, h0 `$ ?: s' g$ ?/ `7 @% W/ _; z
0.25小時 7 ^( I5 o) k! \- J, G
' v9 w1 \: H; X
0 \' H$ X; n1 u8 m4 N U0 O! z! u. [
- z" a3 @' |( f' g. z$ C$ L
& R. @! m! U# m( Y. Y
4 i, x6 m: Z$ b" _
+ S3 A, ~8 ?( P6 G0.5小時
: U# k1 U4 V; D( o$ Y
4 H3 ~3 o% C( S( l: y0 I4 U* b
7 A9 P; u6 P1 P, d% W( \2 c: G* t
0 J4 l; i) m9 S7 Y. F9 b1小時 0 H, B8 U' ~* I8 ?+ W4 G
4 }# Q9 l& c3 d- `0 n
* S7 |5 I: j* F. ~ Z. |/ e9 _& T3 i8 w6 u
$ y3 A5 k: n( ?
& M4 W% i5 C* h+ Z
- F2 s4 ~" l& [# D4 w
7 A# c5 o8 R- [+ d, O) A4 i- m2 R6 o
/ N9 @* K- t3 G# n# x6 c2 x
i% W6 U1 L/ |& B) ?# |) W( x
' e% u8 S* x# W0 k6 r: D" ?3 Y
1.5小時
M9 x" Q2 g; v% Q2 A% Y0 R
/ q! G" @* k7 Q4 U- F1 E4 D
2 h0 y5 X. V4 J2 h2 w: ?9 E
- a" G) Y! i" Z C% S9 ^4 g
& y, K6 M* P4 d( \- K" H2 j3 x5 ]
% n( F3 g& }8 w/ A+ |1 Q2 E0 ?9 @% v
# g$ Q2 W7 D% i7 M2 ~( s! b- q% Q
# |- }8 X9 L' M/ k9 l2 F% \4 f5 e s
( s: S9 O0 T* v, ^1 \$ _2 d' s$ I | Z( C+ q+ M6 Q
# _7 H! {9 m0 P3 l) q8 ?7 a5 z( r1 D7 `2 A6 H
& n( v, x$ |1 q' [) o
1小時 8 x5 j& F- H( b2 R& G% d" H# q$ a9 \
& }7 j" q( D J+ Z0 d
7 U* A: i* _% j R5 h
& J/ d2 {8 x; U; V4 g' s7 v( k
, H( b8 Z8 ^+ T. j; V8 G# |, A3 g1 Q1 R8 Y0 T" L
7 e/ G- k/ q' z, a" ^0 | x7 [& R w5 k7 E% {
. E+ F7 b* f. L! v$ V( \
0 ]+ x( U; R' ]
. V5 {+ \# L. c3 l" W4 i T5 S' f, G/ g1 X2 S2 h7 K
& k% i" o, W6 N7 h) k
2小時
V- O& Y+ ^% v2 W. {6 l3 v5 V0 Y7 A/ K! |6 S
' L7 s0 _2 r. I4 Z( V- L; [% \
, \7 O, ?* T2 K1 L8 i& d6 Y* Q/ h, [* Z& V
8 J& f$ d/ V" S, J( Z, }0 S. Q# a1 }5 }: B7 I
. i. o2 ]# N3 r+ l, e" y+ b( m; H8 M1 T* m1 X
* m: u5 N ^& s0 P( t# K3 P* U1小時 7 _: }4 ?1 ~( g
; Z8 j. }* ]: N" k! g* `" ]4 z6 A' l7 |, s0 r
7 |; D: _: m, }2 r* p( ^
# T# L9 K0 E* m/ g) a
7 t! d; |9 w2 E3 ~
4 ]' g& |+ N0 W
- J( Y/ j9 U+ p% ~2 b! e; b3 r: P& a
2小時
0 e5 }- c7 A2 ] O! I& G; w
' u. P% c! t, r3 n( C" x% ~0 V |