1 Fundamentals
( I9 }3 w5 F) C1.1 Requirements of Networking , j. s9 y* K$ j9 \, t' ^: C' ~
1.2 Underlying Principles
3 w$ M `; a5 C' i2 [" J7 u1 `1.3 The Internet Architecture . t9 @8 R/ V, p- |+ E8 [
1.4 Open Source Implementations
+ w B5 F$ o0 K) f/ \5 p1.5 Book Roadmap: A Packet’s Life : D& p$ ]3 e* b$ W! L
Appendix B Linux Kernel Overview
- R! i; C6 j5 a2 c& `1 ZB.1 Kernel Source Tree
* }1 Y) k/ h/ g1 Q1 VB.2 Source Code of Networking
* C: W: b# u; @: d" p o' T9 I% B2 EB.3 Tools for Source Code Tracing 5 o# V/ b; n3 E, c5 @
Appendix C Development Tools
% D; F% x' M( A/ uC.1 Programming ( ]2 z9 ]& D! |% X9 i" ?7 T& f) Z
C.2 Debugging 9 H5 T5 \5 Y* \) B% c
C.3 Maintaining 7 p* r1 r U+ h2 s3 J% M1 l5 i
C.4 Profiling
# L: K5 p# H7 b! kC.5 Embedding ; P* r# E5 V. d7 g
Appendix D Network Utilities
% o3 B- g; \ P! @" P1 ?9 aD.1 Name-Addressing ! O Z2 F+ b6 G, H1 d$ z, a
D.2 Perimeter-Probing ; i7 \0 r5 _4 f* j3 J& F9 p
D.3 Traffic-Monitoring
3 r7 y2 c" Q4 `3 i* X4 {8 WD.4 Benchmarking
$ I" c- [6 j5 t; j, n' ~1 q9 `% cD.5 Simulation and Emulation 5 S7 `2 ]! _5 q. R# X% C+ k3 f
D.6 Hacking
. s; ~8 K% A9 B: P9 J+ w2 Physical Layer % ^5 t5 U& u& S, e+ X5 e
General Issues - Z* k: l- W7 }6 _2 @
Open Source Implementation 2.1: 8B/10B Encoder 9 z% r, `4 u) {; `& L
Open Source Implementation 2.2: IEEE 802.11a Transmitter with OFDM 4 K, u. A+ O1 S) N: |/ D4 o
3 Link Layer " v! H. g( n/ p" w9 a
General Issues % R4 g% H6 Z. i$ u) |+ R! W
Open Source Implementation 3.1: Checksum
, Y3 o1 R! I. q/ S1 M) G1 KOpen Source Implementation 3.2: Hardware CRC32
! X3 j* |* M) P* ]% t! c2 t8 vOpen Source Implementation 3.3: Link-Layer Packet Flows in Call Graphs
/ F* H, g& v bOpen Source Implementation 3.4: PPP 1 _7 Z' Q5 n: \/ b k9 v
Open Source Implementation 3.5: CSMA/CD / R) C- C3 ]4 `; n$ c; E+ T
Open Source Implementation 3.6: IEEE 802.11 MAC Simulation with NS-2 y6 k! R& f/ B2 N" j
Open Source Implementation 3.7: Self-Learning Bridging
' x1 E1 j, k$ I" s6 Y6 UOpen Source Implementation 3.8: Spanning Tree % r7 m6 Y- r5 u# X0 E, X
Open Source Implementation 3.9: Probing I/O ports, Interrupt Handling and DMA ( B: Z+ H$ q. m* [) @
Open Source Implementation 3.10: The Network Device Driver in Linux ) q$ R% {2 Q" N! @: W
4 Internet Protocol Layer
& ]6 n6 O# p# Q% \: iGeneral Issues
5 Q: K$ R# E1 I$ DOpen Source Implementation 4.1: IP-Layer Packet Flows in Call Graphs 6 \+ K" X5 k) p
Open Source Implementation 4.2: IPv4 Packet Forwarding % i1 {( j: T7 `( [
Open Source Implementation 4.3: IPv4 Checksum in Assembly 0 a1 M; m3 y% M+ Q' B+ u
Open Source Implementation 4.4: IPv4 Fragmentation 4 c. c) s8 q7 f) v% Y6 N
Open Source Implementation 4.5: NAT
' t6 U4 l/ B7 o! [8 vOpen Source Implementation 4.6: ARP
" M# |5 [% Y3 @1 R: J- n3 Q: w. U$ ZOpen Source Implementation 4.7: DHCP 0 ]- Y; u% r7 P9 _" M" P
Open Source Implementation 4.8: ICMP
+ m; k1 O6 ?0 }: vOpen Source Implementation 4.9: RIP . x# ]/ a/ Z" l5 t" j( c
Open Source Implementation 4.10: OSPF
/ }, \! k3 V5 q, i3 ~3 ^, JOpen Source Implementation 4.11: BGP 7 R% z$ Q, W5 V* U4 @7 G
Open Source Implementation 4.12: Mrouted . ^, X9 a4 y% }: B* y' k
5 Transport Layer - S0 ^4 N- H' k0 v
General Issues
* g8 R0 m% ]3 u- jOpen Source Implementation 5.1: Transport-Layer Packet Flows in Call Graphs
- w+ n2 M( t* @2 D' K9 ~Open Source Implementation 5.2: UDP and TCP Checksum % }; n4 x- T, L; S8 Y Z
Open Source Implementation 5.3: TCP Sliding Window Flow Control
. {) b2 j* ]( p& \! x/ BOpen Source Implementation 5.4: TCP Slow Start and Congestion Avoidance
# G: ]5 t+ W. Q9 VOpen Source Implementation 5.5: TCP Retransmit Timer
2 I9 k- L: ~4 v' MOpen Source Implementation 5.6: TCP Persistence Timer and Keepalive Timer + _% \& i5 j" h9 A M! [
Open Source Implementation 5.7: Socket Read/Write Inside out
- ^6 r! W J% J' T' hOpen Source Implementation 5.8: Bypassing the Transport Layer
- W8 E2 e! H" y1 g! @Open Source Implementation 5.9: Making Myself Promiscuous
M# p Y8 B9 j1 T- s) WOpen Source Implementation 5.10: Linux Socket Filter
, V4 P6 t; q- ? Z8 O6 Application Layer
% c) \ S5 ^- c/ T' PGeneral Issues 3 _$ g0 O& c+ w+ E8 i2 `4 Q4 w# e& [
Open Source Implementation 6.1: BIND % j/ ? b, i! R! Z ?
Open Source Implementation 6.2: qmail & \; |$ T) K' p9 C
Open Source Implementation 6.3: Apache
. Y# }( y) U# x. kOpen Source Implementation 6.4: wu-ftpd - N3 R, J. L1 k6 h5 K% e E8 @
Open Source Implementation 6.5: Net-SNMP
- d7 _* L9 d" _/ U$ c4 O1 O. d7 OOpen Source Implementation 6.6: Asterisk 3 p( T. g& u1 D4 w9 a5 ^
Open Source Implementation 6.7: Darwin $ g# m/ a- M H4 U5 w9 ~
Open Source Implementation 6.8: BitTorrent
6 z! j- y4 j5 w9 Y- M, \8 e7 Internet QoS
- Z7 P$ Y3 @. Y* Z- y- ZGeneral Issues
/ I: u; d! r: q, h& `$ tOpen Source Implementation 7.1: Traffic Control Elements in Linux
" l( [2 [& `( pOpen Source Implementation 7.2: Traffic Estimator
4 R$ {$ @) Y3 U) J" L$ U1 BOpen Source Implementation 7.3: Flow Identification : x( @, `: `# ^9 L) B
Open Source Implementation 7.4: Token Bucket , d, X, h6 f( N/ e v/ n
Open Source Implementation 7.5: Packet Scheduling
( P K8 D" e3 c. ?( XOpen Source Implementation 7.6: Random Early Detection (RED)
/ I& O9 W6 u5 V4 {3 c ^8 Network Security
+ Z2 t$ K/ S+ t% ~4 N* a- ^0 FGeneral Issues
9 k: ~4 R8 }- Q& [9 X6 V2 } {) |Open Source Implementation 8.1: Hardware 3DES - c) F: U0 [" ?# b9 K4 d D% }
Open Source Implementation 8.2: MD5
}! t, F9 `% }Open Source Implementation 8.3: AH and ESP in IPSec
% r( F% Y. A! MOpen Source Implementation 8.4: Netfilter and iptables 6 j- H! {' y$ t3 j1 i
Open Source Implementation 8.5: FireWall Toolkit (FWTK)
6 e$ s: o3 O" Q6 l* ~2 R) x7 C& `Open Source Implementation 8.6: ClamAV 7 Z4 I% e8 }+ W0 ]* c
Open Source Implementation 8.7: Snort
! J& e, _4 e) R' F" x. `Open Source Implementation 8.8: SpamAssassin ( X* q$ ?1 Q" ~! V s* ^
| 2小時
; R+ j0 f, y6 t8 F# L: o2 p P; V: C% s" w9 M; o7 }. Q
0 }/ J; l y* W: F( q( K
" U6 D5 c3 Q- h) `
3 n; m; `3 f; B; Z; n" r& O, e7 Z3 m7 K7 ?# k
0.5小時 0 T. q. t$ U, X% y# w X; G4 J
P, [2 F5 n7 e. l% S" Z& ?
( b7 D* z8 Y. ~0 S; k- K1 q
2 [- o% K' ]" _. k3 r9 C3 }7 a0 d0.25小時
: I/ ^' k# W( B8 Y
7 x4 k7 C7 J6 g2 ]7 Y( J6 K' F8 B
. l( e% W/ C5 M
2 \: }7 m! U2 P! `$ d
, W- J) `3 u/ \/ b- p% X4 b- X' g+ n( S. @- I8 D
0.25小時 : a' a$ c5 o) t9 R& C! z# a4 j* n
, `6 A( W" b4 e7 ^% c; {
. g/ [" c6 M5 V# ^2 D" h4 j1 V5 Y
& D2 X4 ]- p, ]. j
; E9 J/ ^3 U1 ?8 p( y4 @
1 w; G( e4 |) v0.5小時 3 l {. c4 e. f L- Q
/ F# r, T3 @) }' R
% o }! }0 V& n2 z4 k
7 d( S% c1 [! S, V+ G4 _( r1小時
; f: c3 Z. w2 {& y; I3 Y) I" b9 T7 Q4 v/ ?' D+ N( {
3 S' q+ m8 {$ H7 q. t& }! |7 S6 l
# H4 Z( E$ o3 o" u, r1 ]# U1 v- t( w6 o& p$ G. @4 a
9 P1 M0 c; [, }" _
% y7 k [. w0 D0 G0 L+ M
7 w1 t" u! v9 W' p. [# U7 @4 D2 J/ h) L$ b7 o
. p& ^; i3 Y& K! c w
1 T/ Q" R9 ~* O5 F1 P' X0 B5 ~- {
2 }1 `% x1 S0 R' m5 F
4 G8 S2 G( J' Q6 l$ k1.5小時 ; J3 V5 @! e& e+ t1 u
4 k a3 M j7 I$ ?1 u9 h
) I: j" x& D7 d% E+ c# p
/ M. {, i* }* O: \2 H! x* o" J1 S2 \9 V. Q) `9 q. P& ]6 L+ ?
+ R# \8 C# J7 X4 q! M/ C8 h) q; F% y8 Z: |0 K! d$ E
; J5 d: l B* f4 B/ P
0 m e; g+ _: K# |' m
8 I" P4 j8 M0 E
( ^* x2 o' e( j% [! }& h& b! _9 \+ G) |
3 T8 C! y: @9 b M5 |* u& n. q
& i' U8 p6 m. O6 V1小時 8 J% w$ W9 |8 }
) M7 ~, S% q8 K2 Z8 H
( I: [8 |; f3 E. Z7 S; d
3 c, x6 [/ j/ P: G! z$ D
/ ~) d/ z/ F$ ~2 |* [
; q S* B' ~! V2 X: x- d) S* M0 y( p
/ N- w) O; F9 G/ r6 k
2 V/ b! _$ g8 y# ]# ]' }2 O) z, B. ?' e# g9 |$ q
. I9 X- b( F: u3 g5 ^- O
1 j1 a! L: ^4 j- m4 a1 _! N: g, ]8 g' @$ y( r8 {5 m6 k
2小時 ! B$ p: X" o f" r& n
" _$ V2 M5 Z9 H$ ^/ \3 }
, a- b3 m" n! K7 z
# f" \( n8 ~( [3 U) F% f
: Y! M/ E" I# Q( J1 h& N, B+ U, x* G3 X. y" W
/ n% H& I, h5 j3 S: a6 e5 y
5 u; j& Q( I; p3 _7 r
8 w4 ^$ m" l% r5 D: j; Q+ B. f
! L6 g, r" d, S( B1小時
/ z0 }8 Y5 w- ~2 r+ r
- b+ }" P0 \7 N' w; _" M7 Y$ n! \ V& y F5 d
0 ~# X/ |' n0 T+ j- n$ C$ a, |, K+ D& y3 x% e8 R# z3 N
6 }" {' }! `) u& ]) Y m- M
6 `' ~- \" T$ g6 P- X( p
# \% I: a# G' d4 F3 {5 {2 k, b5 S1 ~2小時 , T+ U/ u3 X( x; @" r
6 Q, F$ H4 J( R: v2 q# I: m
|