1 Fundamentals - i$ z3 |% I/ Y, i) l7 g* k6 M
1.1 Requirements of Networking
2 K. x( x, ?2 z8 P* x) y% L1.2 Underlying Principles
- a! S `$ L$ M& l2 u1.3 The Internet Architecture
6 u$ ?" v/ a" s5 u! d1.4 Open Source Implementations 9 s4 \5 b c, K# z3 v2 q
1.5 Book Roadmap: A Packet’s Life
! W+ n- I# h" e( B; fAppendix B Linux Kernel Overview
. j7 V7 J/ |1 P" n+ {& vB.1 Kernel Source Tree
1 S; I0 O, A9 h8 T: SB.2 Source Code of Networking
1 {3 d8 r$ l% n5 P0 t3 QB.3 Tools for Source Code Tracing
! z) J$ P( k" C6 M0 v; kAppendix C Development Tools
* u! G: P, n& t- |' J9 M BC.1 Programming $ Z+ v' P }0 X( l [ ^7 b
C.2 Debugging 5 V d$ I) B0 f8 b
C.3 Maintaining
# i4 m: K5 t/ M# P# k" {- mC.4 Profiling
4 J" S* h; H% ZC.5 Embedding , y* O! o+ O8 a- _0 S
Appendix D Network Utilities
1 c( f# j: `4 U, u7 rD.1 Name-Addressing & L( M9 k- B9 y/ p- a' N) n
D.2 Perimeter-Probing
; Z% c' u/ w/ F# f- C6 U6 eD.3 Traffic-Monitoring & N% t* i# n7 y6 X
D.4 Benchmarking 6 V8 O0 P C, l# T) H; s" _7 x
D.5 Simulation and Emulation
% F' k( Y5 R& M9 ^D.6 Hacking
4 z/ B8 @6 r, Q. q$ Y" j5 \, ]: D( M2 Physical Layer $ x* I3 i- |& d" J5 ~
General Issues , R" Z; y0 E5 j
Open Source Implementation 2.1: 8B/10B Encoder ! I9 K" z9 P, j, T
Open Source Implementation 2.2: IEEE 802.11a Transmitter with OFDM
$ ?: b a9 l/ R0 |3 Link Layer + J( [4 X9 i; U' x/ [/ G- ]
General Issues ' W0 T* [) U* s5 E% p- T/ n7 Z
Open Source Implementation 3.1: Checksum 7 \! l7 d* y" \, s2 I% n
Open Source Implementation 3.2: Hardware CRC32 ! G& Z* P9 {) r( o4 C5 y; X' I2 J/ \
Open Source Implementation 3.3: Link-Layer Packet Flows in Call Graphs
/ c0 t& @7 j: {8 aOpen Source Implementation 3.4: PPP
+ a2 b' {- Q. ]* T) k! T9 A0 OOpen Source Implementation 3.5: CSMA/CD
7 |9 O& s! b$ W O& {5 k; p xOpen Source Implementation 3.6: IEEE 802.11 MAC Simulation with NS-2 . ?& B3 r7 ?1 t0 [
Open Source Implementation 3.7: Self-Learning Bridging : u7 Q8 s9 k0 y+ D' \
Open Source Implementation 3.8: Spanning Tree
+ X7 N' @# f. }1 Q. z/ a1 hOpen Source Implementation 3.9: Probing I/O ports, Interrupt Handling and DMA
8 I; I9 Z( D. a# ~Open Source Implementation 3.10: The Network Device Driver in Linux
" W! m7 m( m) G+ F' a4 Internet Protocol Layer 2 I4 F4 m* C% b
General Issues
1 y( j) @# {6 i: @% ^- \Open Source Implementation 4.1: IP-Layer Packet Flows in Call Graphs
1 f8 Q3 j! Z/ `2 Y/ sOpen Source Implementation 4.2: IPv4 Packet Forwarding 7 ^( H3 T: _- p4 D* j7 G$ T
Open Source Implementation 4.3: IPv4 Checksum in Assembly
: Y1 S# B! Q" \; R( BOpen Source Implementation 4.4: IPv4 Fragmentation ' a9 r, w% M8 f8 z- I* K; }
Open Source Implementation 4.5: NAT 6 ^' S+ w9 ]/ |9 O1 R' g5 ?6 }; V
Open Source Implementation 4.6: ARP $ s3 |2 _ W [6 u6 E
Open Source Implementation 4.7: DHCP " X4 D1 k& u& Y5 z5 x# E
Open Source Implementation 4.8: ICMP 7 L/ U4 g2 K+ y. a6 {3 B4 G, J; d
Open Source Implementation 4.9: RIP
6 S B3 g% {5 I+ h; R- kOpen Source Implementation 4.10: OSPF
) q* M" l% j dOpen Source Implementation 4.11: BGP 8 V* d# a( o, J9 U
Open Source Implementation 4.12: Mrouted
0 }7 y3 h. J+ i; w9 L9 j; g5 Transport Layer ) @, l2 B: p0 W2 l3 X" n
General Issues
! y( q4 s( A. H1 M# G3 q! \Open Source Implementation 5.1: Transport-Layer Packet Flows in Call Graphs 1 R! x8 t( h; l4 o' x# r4 F
Open Source Implementation 5.2: UDP and TCP Checksum
/ [- O% D: F' Z; o. k' i6 JOpen Source Implementation 5.3: TCP Sliding Window Flow Control ' _* m1 I$ |) Z& u' n( ?
Open Source Implementation 5.4: TCP Slow Start and Congestion Avoidance
4 c# g' r1 ~$ e: `. NOpen Source Implementation 5.5: TCP Retransmit Timer
8 V7 |7 e6 L2 Z: B! {$ kOpen Source Implementation 5.6: TCP Persistence Timer and Keepalive Timer + h" h. Z& a, J F3 D# ]) Z/ w
Open Source Implementation 5.7: Socket Read/Write Inside out
% x( P+ n# o; `; E! Z9 i0 \Open Source Implementation 5.8: Bypassing the Transport Layer
7 o6 t1 A9 s O, f3 OOpen Source Implementation 5.9: Making Myself Promiscuous $ s, x' J1 O5 r, e: ~7 {7 F
Open Source Implementation 5.10: Linux Socket Filter 1 j! s3 s* F& P% \) A
6 Application Layer 4 g+ ]% N9 m: q
General Issues
/ d( Y6 t$ p. }( @% p. H UOpen Source Implementation 6.1: BIND " I1 u4 U6 }5 \, ]% I7 h' a' R
Open Source Implementation 6.2: qmail ) j0 N8 a9 f8 |! r) Q* ^3 U
Open Source Implementation 6.3: Apache 4 s& E4 X' J/ Y- p' K
Open Source Implementation 6.4: wu-ftpd
P* Q6 o% W, f& c5 w9 ~! KOpen Source Implementation 6.5: Net-SNMP % ^ }( F: C6 i" } S0 X
Open Source Implementation 6.6: Asterisk
3 D/ J6 H9 z* m. J: I: k4 k+ k9 mOpen Source Implementation 6.7: Darwin
: q- ]0 V. w+ IOpen Source Implementation 6.8: BitTorrent * f6 v; u% m" b$ F5 |
7 Internet QoS $ f6 B; S( Z. @4 s. v) h6 ^ k( n& @
General Issues 2 n# M5 a. w: a% U* Q# T$ _9 a
Open Source Implementation 7.1: Traffic Control Elements in Linux 3 R- M3 Z8 k% Z) u% R+ y
Open Source Implementation 7.2: Traffic Estimator
+ ?, N; T+ p2 SOpen Source Implementation 7.3: Flow Identification
: I2 F% Q# z+ f: c1 V+ D: o+ @9 ROpen Source Implementation 7.4: Token Bucket
. T$ x; F2 d$ }# C4 ]: TOpen Source Implementation 7.5: Packet Scheduling
' l; L( s' q7 qOpen Source Implementation 7.6: Random Early Detection (RED) 2 u+ E5 b( Z/ {* W! P
8 Network Security 1 w$ E: Z$ ^0 P2 p
General Issues
: b# q! u6 v0 g- U qOpen Source Implementation 8.1: Hardware 3DES
" R. G" x+ w; M; q0 T' BOpen Source Implementation 8.2: MD5 7 M) o% N1 p. n ]7 ?: _8 }: p% T7 }4 v5 ^
Open Source Implementation 8.3: AH and ESP in IPSec $ U( e* x* F, e4 q( ?: A
Open Source Implementation 8.4: Netfilter and iptables
/ [* H# J6 d6 J! vOpen Source Implementation 8.5: FireWall Toolkit (FWTK) + B' r3 q- A- s* F& Y" `1 y j
Open Source Implementation 8.6: ClamAV 6 o5 P ?# m$ W3 C5 K% v6 D
Open Source Implementation 8.7: Snort ) G9 H* k" L, m+ l
Open Source Implementation 8.8: SpamAssassin
) u# _# g+ T! M0 p [ | 2小時 9 o0 U2 i# l/ |: o }* ?0 y
2 r- ^) V# p4 q
, i, W9 s- J* C# \+ G
0 Z9 ]7 j0 x# G W' c/ [ l3 P3 M1 d7 V
2 n7 c2 X8 O6 @8 @4 k! i1 Z
0.5小時
* Q c* ?0 z& N& W! \% V* i1 a& o
0 B$ p/ q* g: I% T) ?9 o
9 u% T! l5 P! b `0.25小時
- k ?7 _ O: q: k$ R4 Q! @# @4 w* \. l* R6 a# T- c
$ O" j- b) E) h) p& B: R7 V+ `
5 A$ z5 S- _+ \/ ~3 [4 V, k/ M$ y
, ?1 q6 G$ ~. Z5 }7 I
2 P8 o+ x& y- Z) ]% d0 O) d# L0.25小時 8 n9 l9 ^2 S: j
8 A. X" @: ~& g2 K% x9 d
: E5 w% h5 W7 V' A0 t0 a1 X2 { A
! O' J% v2 M" G% {1 F# s+ q" l s5 i- R3 ^; O
$ x0 X" [4 {5 Z: T, n
9 t# m2 Q8 \! x5 V- Z ^
0.5小時 # A; p! \/ n7 i* Y* E7 H7 M
! d) R8 k+ Y5 A% f9 ?9 N" ]5 P+ @/ Q
/ S* o2 I: p0 ~3 h. I' w: e, e, K" W$ z* Z( p+ Y6 k1 G7 o
1小時
$ H1 [+ A, v" _% Q$ Q4 O+ X
9 z+ a0 t& }3 E' i5 x7 H9 j
1 [! X ~. ` ]+ W
/ c5 G/ [3 y6 o8 E- C0 M& j" V9 E2 E2 G
F$ |3 m+ v2 G) P W7 M& w d4 K9 N6 @- \9 y _# v
# p8 s. o/ r! S) l9 D8 E! }
# d( c6 {2 b; x% X0 y/ B* J( k2 b( G; _8 _7 @5 }8 ?
# P5 `3 ]6 J2 p" K5 z5 h# {3 G" U
$ ^$ f: s8 ~9 @* E Z0 h8 d
( x, p7 I6 h5 n3 M( \0 ^1.5小時
; G, A s& Z" ^ a5 l# h; R# [1 l2 T2 I& ]7 Y4 A3 S; z1 `
) Q, x1 U' U! z
) x' x' O* a5 t4 i9 n
- A6 V; C! z. U
; ^' Z+ @: O5 k. G# M
# w0 L! b9 N# D* ]5 ^- u
' a! Y7 ~) }' q5 G# v3 A
- u( Z5 S! ^: ~- K) w* r3 L- T6 `" I7 n% Q
) G: b# S/ I9 d* _$ g
9 l# x" ]; X& g: W6 \
4 n& f/ x n- |' b+ ~. X2 }6 _* _2 x- @+ N Q$ b: `& n
1小時 4 t% G. E7 M3 A
, t# s1 Z: `7 K2 Z3 |
: J5 s/ ^& a" n/ y
$ I" ]# D) |2 g* d, P/ e% t. B( U+ i1 _& ^
5 W: E7 w3 z* O+ _9 s
2 K$ ^) N- |7 M( T3 y3 p9 \
* `/ O! U. S8 j( d4 \$ d
' X* Y5 Q3 n* V# P1 u& C, A2 \5 L1 z# I+ i5 Y) \
+ `0 B& f3 d8 C* M) P, C
0 e7 H! m/ i% B: U: I. p- v* R; A/ p! [" n
2小時
7 y* [4 L# z( G6 k" k2 u Q% N0 y+ C7 r7 E- `+ u* @! \5 m4 e
' M$ I) `$ F6 B0 Q. s
: j& U5 v2 R: P% A6 q
6 L% ~: x! T5 D& m, w' Z% V* l$ I, u
5 r# N9 q/ W9 k/ h, q1 d' |, h! U7 }3 W$ H6 W# d T
+ N7 `# |" l5 I+ `! z4 v
8 \( r2 U2 P% R1小時
" z0 [% p6 V2 \- q9 E. _
5 }4 w/ z8 W7 D
$ a4 T4 y0 O: D5 b3 s+ i- i1 q6 S8 S3 l3 p& W1 O1 u2 N
8 G8 ^: }& [$ X* g7 \
" [8 d' Q, y# M) K- m7 C$ Z* L# D( V
( @4 }6 P* q; p
3 T! h* v, u9 r3 M5 C2小時 $ r. A) B' k" a5 W) n
8 O0 C I8 s0 N$ c- D |