TCP/IP Illustrated, and ongoing series covering the many facets of TCP/IP, brings a highly-effective visual approach to learning about this networking protocol suite. TCP/IP Illustrated, Volume 2: The Implementation contains a thorough explanation of how TCP/IP protocols are implemented. There isn't a more practical or up-to-date book-this volume is the only one to cover the de facto standard implementation from the 4.4BSD-Lite .release, the foundation for TCP/IP implementations run daily on hundreds of thousands of systems worldwide.
【目录】
Chapter 1. IntroductIon1.1 Introduction 11.2 Source Code Present8tion 11.3 story 31.4 AppIication Programming Int6rfaces 51.5 Example Program 51.6 System CaIls and Library FunCtions 71.7 NetWork lmpIement8tion Overview 91.8 Descriptors 101.9 Mbufs (Memory Buffers) and Output Processing 151.10 lnput Processlng 191.11 NetWork lmpIementation Overview Revis1ted 221.12 Interrupt Levels and Concurrency 231.13 Source Code Organization 261.14 Test Netwoth 281.15 Summary 29Chapter 2. Mbufs: Memory Buff6rs2.1 IntroduCtion 312.2 Code lntroduction 362.3 Mbuf DefinitIons 372.4 mbuf Structure 382.5 Simple Mbuf Macros and Functions 402.6 m_devget and m_pul1up Functions 442.7 Summary of Mbuf Macros and FunCtions 512.8 Summary of NeU3 Nberking D8ta StruCtures 542.9 rucorw and CIust6r Reference Counts 562.10 Alternatives 602.11 Summary 60ChaPter 3. lnterf8ce Layer3.1 lntrOduCtion 633.2 Code Introduction 643.3 lf net StrUCtUre 653.4 ifaddr StruCture 733.5 sockaddr StruCture 743.6 lf net and ifaddr SP6ciaIiz8tion 763.7 NetWork InitiaIizatton Overview 773.8 Ethern6t lnitialization 803.9 SLlP lnitiaIiz8tion 823.10 Loopb8ck InitiaIiZaion 853.11 lf--attach FunCtion 853.12 1flnit FunCtton 933.13 Summary 94ChaPter 4. lnt6deces: Ethernet4.1 IntroduCtion 954.2 Code IntrOduCtion 964.3 Ethernet lnterf8ce 984.4 1octl SyStem CatI 1144.5 Summary 125Chapter 5. lnt6rfaces: SLlP and Loopback5.1 lntrOduCtion 1275.2 Code lntroduction 1275.3 SUP lnterf8ce 1285.4 Loopback lnterf8ce 1505.5 Summary 153Chapt6r 6. lP Addressing6.1 IntroduCtion 1556.2 Code Introduction 1586.3 tnterface and Address Summary 1586.4 sockaddr--ln StruCture 1606.5 in--ifdddr StruCture 1616.6 Address Assignment 1616.7 Interface ioct1 Processing 1776.8 lnternet Utility FunCtions 1816.9 if net Utility FunCtions 1826.10 Summary 183ChaPter 7. Domains and Pndocols7.1 IofroduCtion 1857.2 Code IntrOduCtion 1867.3 domain StruCture 1877.4' protosw StrUCtUre 1887.5 IP domain artd protosw Structures 1917.6 pfflndproto and pffindtype FunCtions 1967.7 pfct1input Function 1987.8 IP lnitiaIization 1997.9 sysctl System CaII 2017.10 Summary 204Chapt6r 8. lP: lnt6rn6t Protheol8.1 IntroduCtion 2058.2 COde IntroduCtion 2068.3 IP P8Ck6ts 2108.4 lnPut Processjng f ipintr Function 2128.5 FOrWarding' iPforwaId FunCtion 2208.6 Output PMssinQ' ip--output FunCtion 2288.7 Int6rnet Ch60ksum' in--cksum Funotinn 2348.8 setsockopt and getsockopt SyStem CaIls 2398.9 iPsysct1 FunCtion 2448.10 Summary 245ChaPter 9. IP OPtlon Processlng9.1 IntbouCtion 2479.2 Code Introdudion 2479.3 Option F0rmat 2489.4 ip--dooptlons FunCtion 2499.5 Record Route Option 2529.6 Source and Record Route OPtions 2549.7 Timestamp Option 2619.8 lp--lnsertoptions Function 2659.9 lp--Pcbopts FunCtion 2699.10 Limitations 2729.11 Summary 272Chapt6r 10. IP Fragment8tion and ReassembIy10.1 lntroduCtion 27510.2 C0de lntrOductIon 27710.3 Fmpmentation 27810.4 lp--optcopy FunCtion 28210.5 ReassembIy 28310.6 ip--reass FunCtion 28610.7 ip--s1owtlmo FunCtion 29810.8 Summary 300Chapter 11. ICMP: lnternet Control Message Pbocol11.1 lntroduCtion 30111.2 Code lntroduCtion 30511.3 ictnp StruCture 30811.4 lCMP protosw StruCture 30911.5 Input Processing: icmP--input Fuodion 31011.6 Error Processing 31311.7 Request Processing 31611.8 RedireCt Processing 32111.9 RepIy Processing 32311.10 Output Processing 32411.11 icmP--error Fun0tion 32411.12 lcro--ret1ect FunCtion 32811.13 icmP--send Function 33311.14 lcco--sysctl FunCtIon 33411.15 Summary 335Chapter 12. lP MuItlcastlng12.1 lotrOduCtion 33712.2 Code lntrOdodion 34012.3 Ethern6t MuIticaSt Addresses 34112.4 etheramulti StruCture 34212.5 Ethern6t Multicast Reception 34412.6 ininultl StrUCtUre 34512.7 ippooptions StrUCtUre 34712.8 MuIticast S0Cket OPtIons 34812.9 MulticaSt TTL V8Iues 34812.10 ip_setmoptions FunCtion 35112.11 Joining an lP MuIticaSt Group 35512.12 Leaving an tP MulticaSt Group 36612.13 lp--getmoptlons Function 37112.14 Multicast Input Processing: ipintr FunCtion 37312.15 Multicast Output Processing f ip--output FunCtion 37512.16 Perf0rmance Considerations 37912.17 Summary 379ChaPter 13. lGMP: lnternet Group Management ProtocoI13.1 IntroduCtion 38113.2 Code IntroduCtion 38213.3 lgmp StrUCtUre 38413.4 IGMP protQsw StrUCtUre 38413.5 Joining a Group f lgmp--3olngroup FunCtion 38613.6 lgmp--fasttimo Function 38713.7 lnput Processingt igmp--lnput Function 39113.8 Leaving a Group f lgmp--leavegroup Function 39513.9 Summary 396Chapt6r 14. IP MuIticast Routing14.1 Introduction 39714.2 Code Introduction 39814.3 Mufticast Output Processing Revisit6d 39914.4 mrouted Daemon 40114.5 VirtuaI lnterfaces 40414.6 IGMP Revisited 41114.7 Multicast Routing 41614.8 Multicast FOrwarding f lpamforward Function 42414.9 Cleanup; ipinrouter--done Function 43314.10 Summary 434Chapt6r 15. Socket Layer15.1 IntroduCtion 43515.2 Code lntroduCtion 43615.3 socket Structure 43715.4 System Calls 44115.5 Processes, Descriptors, and Sock6ts 44515.6 socket System Call 44715.7 getsock and sockargs FunCtions 45115.8 blnd System CalI 45315.9 llsten SyStem Call 45515.10 ts1eep and wakeup FunCtions 45615.11 accept System CaII 45715.12 sonewconn and soisconnected Functions 46115.13 connect System caII 46415.14 shutdown System Call 46815.15 close System Call 47115.16 Summary 474Chapter 16. Sock6t UO16.1 Introduction 47516.2 Code Introduction 47516.3 Socket Buffers 47616.4 wrlte, writev, sendto, and sendrisg System Calls16.5 sendrisg System Call 48316.6 sendlt FunCtion 48516.7 sosend FunCtion 48916.8 read, readv, recvfrom, and recwnsg Syst6m Calls16.9 recwnsg System CalI 50116.10 recvlt FunCtion 5031 6.1 1 sorecelve FunCtIon 50516.12 sorece1ve Code 51016.13 se1ect System Call 52416.14 Summary 534ChaPter 17. Socket OPtions17.1 lntrOduCtion 53717.2 Code lntrOduCtion 53817.3 setsockoPt System CalI 53917.4 getsockopt SyStem CalI 54517.5 fcntl aed 1oct1 System CaIls 54817.6 getsockname SyStem CalI 55417.7 getpeername Syst6m Call 55417.8 Summary 557ChaPter 18. Radix Tree Routing TSbIes18.1 lntrOduCtion 55918.2 Routing T8ble StruCture 56018.3 RoUting SOCkats 56918.4 COde lntrOduotion 57018.5 Radix Node Data StruCtures 57318.6 Routing StruCtures 57818.7 Initia[izationt route--lnlt and rtable--lnlt FunCtions 58118.8 lnitialhation' rn--init and rn--inlthead FunCtions' 58418.9 Duplicate Keys and Mask LiSts 58718.10 rnamatch FunCtion 59118.11 rn--search FunCtion 59918.12 Summary 599Chapt6r 19. Routing Requests and Routing Messages19.1 lntrOduCtion 60119.2 rta11oc and rta11ocl FunCtions 60119.3 RTFREE Macro and rtfree FunCtion 60419.4 rtrequest FunCtion 60719.5 rt--setgate Function 61219.6 rtinit FunCtion 61519.7 rtredirect FunCtion 61719.8 Routing Message Structures 62119.9 rtamissmsg FunCtion 62519.10 rt--zfmsg FunCtion 62719.11 rt--newaddrmsg Function 62819.12 rt--msg1 FunCtion 63019.13 rt--msgz FunCtion 63219.14 sysct1--rtab1e FunCtion 63519.15 sysctl--dumpentry FunCtion 64019.16 sysct1--if1lst FunCtiOn 64219.17 Summary 644Chapter 20. Routing SOck6ts20.1 IntroduCtion 64520.2 routedomain and protosw StruCtures 64620.3 Routing ControI BIocks 64720.4 rawinit Fuodion 64720.5 route--output FunCtion 64820.6 rt--xaddrs FunCtion 66020.7 rt--setmetrics FunCton 66120.8. rawinput FunCtion 66220.9 route--usIreq FunCtion 66420.10 rawusrreq Funoton 66620.11 rawattach, rawdetach, and ravidisconnect Fun20.12 Summary 672Chapter 21. ARP: Address ResoIutlon ProtOcoI21.1 Introduction 67521.2 ARP and the Routing Table 67521.3 Code lntrOduction 67821.4 ARP StruCtures 68121.5 arpwhohas Function 68321.6 arprequest FunCtion 68421.7 arpintr FunCtion 68721.8 in--arp1nput Function 68821.9 ARP Timer FunCtions 69421.10 arpreso1ve FunCtion 69621.11 arplookup Function 70121.12 Proxy ARP 70321.13 arPrtrequest FunCtion 70421.14 ARP and MuIticasting 71021.15 Summary 711Chapter 22. PtOtocoI Control 8Iocks22.1 Intrduction 71322.2 Code Introduction 71522.3 inpcb StruCture 71622.4 in--Pcbal1oc and inWcbdetach FunCtions 71722.5 Binding, ConneCting, and DemuItiplexing 71922.6 in--Pcb1ookup FunCtion 72422.7 in--Pcbbind FunCtion 72822.8 in--Pcbconnect FunCtion 73522.9 lnwcbdiseonnect FunCtion 74122.10 in--setsockaddI and ln--setpeeIaddr FunCtions'22.11 inwcbnoti fy, iflrtchange, and in--iosinq FunedQ22.12 ImpIement8tion RefinementS 75022.13 Summary 751Chapter 23. UDP: User Datagram Pl'Otocol23.1 IntrOduotion 75523.2 Code lntrOduCtion 75523.3 UDP protosw StrUCtUre 75823.4 UDP Header23.5 udp--l nzt FunCtion23.6 udp--output Function23.7 udp--lnput FunCtion23.8 udp--saveopc Function23.9 udp--ct1znput FonCtion23,10 udp--usrreq Function23.11 udp--sysct1 Function23.12 ImpIementation Refinements23.13 SummaryChapter 24. TCP: Transmlsslon ControI Protocol24.1 lntroductlon24.2 Code IntroduCtion24.3 TCP protosw StruCture24.4 TCP Header24.5 TCP ControI Block24.6 TCP State Transitlon Diagram24.7 TCP Sequence Numbers24.8 tcp--znit Function24.9 SummaryChapter 25. TCP Timers f25.1 IntroduCtion25.2 Code lntroduCtlon25.3 top--cance1 t lmers Function25.4 top--fastt 1 mo Function25.5 top--s1owt lmo FunCtion25.6 top--t l meI's Function25.7 Retransmiss1on Timer CalcuIations25.8 tcp--newt cpcb Function25.9 top--set pe1fs i st Function25.10 top--xml t--t imer Function25.11 Retransmission Timeout' tcp(t imers Function25.12 An Rri ExampIe25.13 SummaryChapter 26. TCP Output26.1 Introduction26.2 t cp--output Overview26.3 Determine if a Segment ShouId be Sent26.4 TCP Options26.5 Window ScaIe Option26.6 Timestamp Option26.7 Send a Segment26.8 top--templ at o FunCtion26.9 top--respond FunctionChapter 27. TCP Functions27.1 Introductlon27.2 tcp--drain Function27.3 tcp--drop Function27.4 tcp--close Function27.5 tcpamss Function27.6 tcp--ct1input Function27.7 tcp--notlfy Function27.8 tcp--quench Functlon27.9 TCP--REASs Macro and tcp--reass FunCtion27.10 tcp--trace Function27.11 SummaryChapter 28. TCP Input28.1 Introduction28.2 Prelimfnary Processing28.3 tcp--dooptlons Function28.4 Header Prediction28.5 TCP lnput: Slow Path Processing28.6 InitiatIon of Passive Open, Completion of ACtive Open28.7 PAWS f Protection Against Wrapped Sequence Numbers28.8 Trim Segment so Data is Within Window28.9 Self-Connects and SimuItaneous Opens28.10 Record Tlmestamp28.11 RST Processing28.12 SummaryChapter 29. TCP Input (Continued)29.1 lntroduction29.2 ACK Processing Overview29.3 CompIetion of PassIve Opens and SimuItaneous Opens29.4 Fast Retransmit and F8st Rec0very Algorithms29.5 ACK ProcessIng29.6 Update Window lnfOrmation29.7 Urgent Mode Processing29.8 tcpxulloutofband Function29.9 Processing of Recelved Data29.10 FIN Processing29.11 Final Processing29.12 lmpIementation Refinements29.13 Header Compression29.14 SummaryChapter 30. TCP User Requests30.1 Introduction30.2 tcp--usrreq Function30.3 tcn a ttAnh Flinntinn30.5 top--usrc losed FunCtion30.6 top--ct1output FLJnCtion30.7 SummaryChapter 31. BPF: BSD PScket Filt6r31.1 IntrOduCtion31.2 Code lntroduction31.3 bpf--if Structure31.4 bpf--d StrUewre31.5 BPF Input31.6 BPF Output31.7 SummaryChapter 32. Raw IP32.1 IntrOduCtion32.2 COde lntrOduCtion32.3 Raw IP protosw StruCture32.4 rlp--init FunCtion32.5 rip--input FunCtion32.6 riPoutput FunCtion32.7 riPusrreq FunCtion32.8 rlp--ct 1output FunCtiOn32.9 SummaryEpilogueAppendix A. SoIutlons tO selford ExercisesAppendix B. Source Code AvaIIabiIityAppendix C. RFC 1122 CompIlanceC.1 LinkL8yer R6quirementSC.2 IP RequirementsC.3 IP OPtions R6quirementsC.4 lP Fragmeofation and ReassembIy RequirementsC.5 lCMP RequirementsC.6 MuIticoding R6quirementsC.7 IGMP RequirementsC.8 Routing RequirementsC.9 ARP RequirementSC.10 UDP RequirementsC.11 TCP RequirementsBibliographyIndex
以下为对购买帮助不大的评价