1.2 源代碼表示不考慮主題,列舉 15 000行源代碼本身就是一件難事。下面是所有源代碼都使用的文本格式:1.2.1 將擁塞窗口設(shè)置為13 8 7 - 3 8 8 這是文件t c p _ s u b r . c中的函數(shù)t c p _ q u e n c h。這些源文件名引用4 . 4 B S D - L i t e發(fā)布的文件。4 . 4 B S D在1 . 1 3節(jié)中討論。每個(gè)非空白行都有編號(hào)。正文所描述的代碼的起始和結(jié)束位置的行號(hào)記于行開(kāi)始處,如本段所示。有時(shí)在段前有一個(gè)簡(jiǎn)短的描述性題頭,對(duì)所描述的代碼提供一個(gè)概述。這些源代碼同4 . 4 B S D - L i t e發(fā)行版一樣,偶爾也包含一些錯(cuò)誤,在遇到時(shí)我們會(huì)提出來(lái)并加以討論,偶爾還包括一些原作者的編者評(píng)論。這些代碼已通過(guò)了 G N U縮進(jìn)程序的運(yùn)行,使它們從版面上看起來(lái)具有一致性。制表符的位置被設(shè)置成 4個(gè)欄的界線使得這些行在一個(gè)頁(yè)面中顯示得很合適。在定義常量時(shí),有些 # i f d e f語(yǔ)句和它們的對(duì)應(yīng)語(yǔ)句 # e n d i f被刪去(如:G A T E W A Y和M R O U T I N G,因?yàn)槲覀兗僭O(shè)系統(tǒng)被作為一個(gè)路由器或多播路由器 )。所有r e g i s t e r說(shuō)明符被刪去。有些地方加了一些注釋,并且一些注釋中的印刷錯(cuò)誤被修改了,但代碼的其他部分被保留下來(lái)。這些函數(shù)大小不一,從幾行 (如前面的t c p _ q u e n c h)到最大11 0 0行(t c p _ i n p u t)。超過(guò)大約4 0行的函數(shù)一般被分成段,一段一段地顯示。雖然盡量使代碼和相應(yīng)的描述文字放在同一頁(yè)或?qū)﹂_(kāi)的兩頁(yè)上,但為了節(jié)約版面,不可能完全做到。本書中有很多對(duì)其他函數(shù)的交叉引用。為了避免給每個(gè)引用都添加一個(gè)圖號(hào)和頁(yè)碼,書封底內(nèi)頁(yè)中有一個(gè)本書中描述的所有函數(shù)和宏的字母交叉引用表和描述的起始頁(yè)碼。因?yàn)楸緯脑创a來(lái)自公開(kāi)的 4 . 4 B S D _ L i t e版,因此很容易獲得它的一個(gè)拷貝:附錄 B詳細(xì)說(shuō)明了各種方法。當(dāng)你閱讀文章時(shí),有時(shí)它會(huì)幫助你搜索一個(gè)在線拷貝 [例如U n i x程序grep ( 1 )]。描述一個(gè)源代碼模塊的各章通常以所討論的源文件的列表開(kāi)始,接著是全局變量、代碼維護(hù)的相關(guān)統(tǒng)計(jì)以及一個(gè)實(shí)際系統(tǒng)的一些例子統(tǒng)計(jì),最后是與所描述協(xié)議相關(guān)的 S N M P變量。全局變量的定義通常跨越各種源文件和頭文件,因此我們將它們集中到的一個(gè)表中以便于參考。這樣顯示所有的統(tǒng)計(jì),簡(jiǎn)化了后面當(dāng)統(tǒng)計(jì)更新時(shí)對(duì)代碼的討論。卷 1的第2 5章提供了S N M P的所有細(xì)節(jié)。我們?cè)诒疚闹嘘P(guān)心的是由內(nèi)核中的 T C P / I P例程維護(hù)的、支持在系統(tǒng)上運(yùn)行的S N M P代理的信息。TCP IP詳解 卷1協(xié)議 :http://dl.21ic.com/download/tcpip-288223.html TCP IP詳解 卷2實(shí)現(xiàn) :http://dl.21ic.com/download/tcpip-288224.html TCPIP詳解卷三:TCP事務(wù)協(xié)議,HTTP,NNTP和UNIX域協(xié)議 :http://dl.21ic.com/download/tcpip-288225.html