µn¤J
¡U
µù¥U
¡U
·|û¤¤¤ß
¡U
µ²±b
¡U
°ö°V½Òµ{
Å]ªk§Ì¤l
¡U
¦Û¸ê¥Xª©
¡U
¹q¤l®Ñ
¡U
«ÈªA¤¤¤ß
¡U
´¼¼z«¬¥ßÊ^·|û
®Ñ¦W
¥Xª©ªÀ
§@ªÌ
isbn
½s¸¹
5050Å]ªk²³Äw
|
NG®Ñ«°
|
°ê»Ú¯Å«~µP½Òµ{
|
Àu´f³qª¾
|
ÅRÆE^¶¯µ¼Öºë¿ï
|
¡D
TCP/IP Ill
¤å¾Ç¤p»¡
¤å¾Ç
¡U
¤p»¡
°ÓºÞ³Ð§ë
°]¸g§ë¸ê
¡U
¦æ¾P¥øºÞ
¤H¤åÃÀ§{
©v±Ð¡Bõ¾Ç
ªÀ·|¡B¤H¤å¡B¥v¦a
ÃÀ³N¡B¬ü¾Ç
¡U
¹q¼vÀ¸¼@
Ày§Ó¾i¥Í
ÂåÀø¡B«O°·
®Æ²z¡B¥Í¬¡¦Ê¬ì
±Ð¨|¡B¤ß²z¡BÀy§Ó
¶i׾Dzß
¹q¸£»Pºô¸ô
¡U
»y¨¥¤u¨ã
Âø»x¡B´Á¥Z
¡U
x¬F¡Bªk«ß
°Ñ¦Ò¡B¦Ò¸Õ¡B±Ð¬ì¥Î®Ñ
¬ì¾Ç¤uµ{
¬ì¾Ç¡B¦ÛµM
¡U
¤u·~¡B¤uµ{
®a®x¿Ë¤l
®a®x¡B¿Ë¤l¡B¤H»Ú
«C¤Ö¦~¡Bµ£®Ñ
ª±¼Ö¤Ñ¦a
®È¹C¡B¦a¹Ï
¡U
¥ð¶¢®T¼Ö
º©µe¡B´¡¹Ï
¡U
¨î¯Å
TCP/IP Illustrated, Volumn 1¡] ¤¤Ä¶¥»¡^
§@ªÌ¡G
TCP/IP Illustrated, Volumn 1¡F
ĶªÌ¡G
¸ê策會中文化³¡ªù
¤ÀÃþ¡G
¹q¸£»Pºô¸ô
¡þ
T10
ÂO®Ñ¨t¦C¡G½Ķ®Ñ¨t¦C
¥Xª©ªÀ¡G
¾Ç³e¦æ¾P
¥Xª©¤é´Á¡G1997/12/1
ISBN¡G9570390298
®ÑÄy½s¸¹¡Gsb0059898
¶¼Æ¡G0
©w»ù¡G
670
¤¸
Àu´f»ù¡G
95
§é
637
¤¸
®Ñ»ùY¦³²§°Ê¡A¥H¥Xª©ªÀ¹ê»Ú©w»ù¬°·Ç
µ´ª©®Ñ
µ´ª©®Ñ¡G½T©w¤£¦Aª©ªº°Ó«~¡A¶È´£¨Ñ®ÑÄy¸ê°T°Ñ¦Ò¡C
µû»ù¼Æ¡G
(½Ð±N·Æ¹«²¾¦Ü¬P¬P³B¶i¦æµû»ù)
¥Ø«e¥§¡µû»ù¡G
¤å¦r³sµ²
½Æ»s»yªk
TCP/IP Illustrated, Volumn 1¡] ¤¤Ä¶¥»¡^
¹Ï¤ù³sµ²
½Æ»s»yªk
¤À
¨É
¤º®e²¤¶
¦PÃþ±ÀÂË
■ 內容簡介
本書二刷時¡A°£了修改前一版的一些¿ù»~»P¿ò漏之³B外¡A更特別推出¶q發¦æ的精¸Ë本¡]ªþ習ÃD¸Ñ答¡^¡A以ÅW°l求精緻產品的ŪªÌ¡C 本書原µÛ¦Û推出以來¡A獲得熱烈的°j應»P廣泛的好µû¡A以下是眾多佳µû中的幾則¡G ◎¡u對於 TCP/IP 的¶}發及使用人員¡A本書可»¡是他們的¸t經¡C¡v ¡ÐRobert A. Ciampa, Network Engineer, Synernetics division of 3COM ◎¡uÁö然描z TCP/IP 協定的書籍多如繁星¡A但是只有 Stevens 的µÛ作提供了¨¬夠的深度及實務性¡A¦Ó³o正是其它書籍所缺乏的¡C¡v ¡ÐSteven Baker, Networking Columnist, Unix Review ◎¡u對於網¸ô應用¶}發人員¡B網¸ô管理人員¡B或是任何»Ýn了¸Ñ相Ãö技³N的人來»¡¡A¸Ó書³£是一本最好的參¦Ò書¡C¡v ¡ÐBob Williams, V.P. Markting, NetManage, Inc. ◎¡uStevens 的³o本µÛ作架構明確¡A³¯z清晰¡A以大¶q的實例來ÄÄ明TCP/IP 及其它相Ãö協定的細節¡A實在是一本不可多得的好書¡C¡v ¡ÐScott Brander, Consultant, Harvard University OIT/NSD 本書從¸ê料Ãì結層°_¡A經由網¸ô層¡B傳¿é層¡B以及應用層¡A清楚的展示了 TCP/IP 的功¯à»P結構¡C³z¹L本書¡A您會學習到屬於上z層級的各種協定¡A以及它們是如何在各種作業系統¡]包括 SunOS4.1.3¡BSolaris 2.2¡BUNIX System V Release 4¡BBSD/386¡BAIX 3.2.2以及 BSD 4.4¡^上之實作¡C 正因為³o是一本不可多得的好書¡A所以和碩科技特別»P¸ê策會產品¶}發³B中文化³¡ªù合作¡A以技³N但不失流暢的筆½ÕĶ出本書¡A以ÅW國內ŪªÌ¡C
■ 目¿ý
第一章¡B概½× 第二章¡BÃì結層 第三章¡BIP¡G網»Ú網¸ô協定 第四章¡BARP¡G位址¸Ñ析協定 第五章¡BRARP¡G反向位址¸Ñ析協定 第六章¡BICMP¡G網»Ú網¸ô控制°T息協定 第七章¡BPing 程式 第八章¡BTraceroute 程式 第九章¡BIP ëаe 第十章¡B動態ëаe協定 第十一章¡BUDP¡G使用ªÌ¸ê料協定 第十二章¡B廣播»P多ÂI傳°e 第十三章¡BIGMP¡G網»Ú網¸ô群組管理協定 第十四章¡BDNS¡G網域名稱系統 第十五章¡BTFTP¡G細瑣檔案傳¿é協定 第十六章¡BBOOTP¡G啟動協定 第十七章¡BTCP¡G傳¿é控制協定 第十八章¡BTCP 的³s接建立»P終止 第十九章¡BTCP 互動¸ê料流 第二十章¡BTCP 大¶q¸ê料流 第二十一章¡BTCP 暫停»P«傳 第二十二章¡BTCP 持續定時器 第二十三章¡BTCP 存活定時器 第二十四章¡BTCP 的未來»P執¦æ效率 第二十五章¡BSNMP¡G簡易網¸ô管理協定 第二十六章¡BTelnet »P Rlogin¡G»·端簽入 第二十七章¡BFTP¡G檔案傳¿é協定 第二十八章¡BSMTP¡G簡單¶l件傳°e協定 第二十九章¡BNFS¡G網¸ô檔案系統 第三十章¡B其它的 TCP/IP 應用程式 ªþ¿ý A¡Btcpdump 程式 ªþ¿ý B¡B¹q¸£時ÄÁ ªþ¿ý C¡Bsock 程式 ªþ¿ý D¡B可組態的¿ï¶µ
■ 內文¿ï¿ý¡Ð¡Ð
TCP/IP ³q°T協定組允³\不同尺寸¡B不同¹q¸£廠商出產的¡B及執¦æ不同作業系統的¹q¸£彼此³q°T¡A³o是相當了不°_的¡C在 60 年代末期一¶µ由政府¸ê助Ãö於封包交換¡]Packet switching¡^網¸ô的研究p劃¡A在 90 年代已ÂàÅÜ成在¹q¸£¶¡使用最廣的網¸ô¡C實»Ú上它為一¶}放式系統¡]Open System¡^¡A在此系統中¡A協定組的定義以及³\多和協定有Ãö的實作¡A均可公¶}取得¡A¦Ó且只»Ý少³\的¶O用¡A甚¦Ü免¶O¡C它形成了全球性的網»Ú網¸ô¡]Internet¡^¡A一個¶W¹L一百¸U台¹q¸£所組成的廣域網¸ô¡]Wide Area Network, WAN¡^且正³v漸的擴展到全世界¡C 分層架構 網¸ô協定³q常³£以層¡]Layers¡^發展¡A每一層³£t³d一種不同的³q°T情況¡C一個協定組¡]Protocol Suite¡^¡A像是 TCP/IP¡A就是不同層中協定的組合¡CTCP/IP 一¯ë³£»{為是個四層的系統¡A每一層³£有不同的¾³d¡G Ãì結層¡]Link layer¡^¡A有時稱為¸ê料Ãì結層¡]Data-Link Layer¡^或網¸ô介±層¡]Network Interface Layer¡^¡A³q常包含了在作業系統中的¸Ë置ÅX動程式¡A以及在¹q¸£中相對應的網¸ô介±卡¡C³o兩個³¡份¯à夠³B理和¹q纜¡]或是任何一種傳¿é媒介¡^³s接的所有硬Åé問ÃD¡C 網¸ô層¡]Network Layer¡^¡]有時稱為網»Ú網¸ô層¡^³B理整個網¸ô中封包的移動¡C例如¡G封包的繞°e¡]Routing¡^即發生在此¡CIP¡]Internet protocol 網»Ú網¸ô協定¡^¡BICMP¡]Internet Control Message Protocol 網»Ú網¸ô控制°T息協定¡^以及 IGMP¡]Internet Group Management Protocol 網»Ú網¸ô群組管理協定¡^在 TCP/IP 協定組中組成了網¸ô層¡C 傳¿é層¡]Transport Layer¡^為其上的應用層¡]Application Layer¡^提供了在兩個主機¡]Host¡^¶¡的¸ê料流¡C在 TCP/IP 協定組中有兩個差異極大的傳¿é協定¡GTCP¡]Transmission Control Protocol 傳¿é控制協定¡^以及 UDP¡]User Datagram Protocol 使用ªÌ¸ê料報協定¡^¡C TCP 提供了兩個主機¶¡可¾a的¸ê料流¡C如將應用³nÅé傳¹L來的¸ê料¡A分割成¾A當的大小¡A再傳給網¸ô層¡F收到封包時發出確»{收到的信¸¹¡F³]定暫停時¶¡¡]Time out¡^以確定另一端已°e出確»{收到的信¸¹等¡C因為³o可¾a的¸ê料流是由傳¿é層所提供¡A所以應用層可以忽略³o些細節¡C UDP 以另一個方式對應用層提供¸û簡單的服務¡C其僅由一台主機°e出稱為¸ê料報¡]datagram¡^的¸ê料封包到另一台主機¡A但並不保ÃÒ°e出的¸ê料報¯à夠到¹F另一台主機¡C»Ýn的可¾a度必¶·由應用層加入¡C當我們使用 TCP 及 UDP 的不同應用³nÅé時¡A我們將會了¸Ñ每一種傳¿é協定³£有其特定的用³~¡C 應用層³B理特殊應用³nÅé的細節¡C³\多普³q的 TCP/IP 應用³nÅé幾乎每一個實作³£有提供¡G »·程登入¡]Remote Login¡^Telnet FTP¡A檔案傳¿é協定¡]File Transfer Protocol¡^ SMTP¡A簡易¶l件傳¿é協定¡]the Simple Mail Transfer Protocol¡^¡A°w對¹q子¶l件 SNMP¡A簡易網¸ô管理協定¡]the Simple Network Management Protocol¡^ 以及其他¡C 乙太網¸ô»P IEEE 802 封¸Ë 乙太網¸ô³q常指的是 1982 年由 DEC¡BIntel¡A以及 Xerox 所提出的標準¡C它是現今使用 TCP/IP作為區域網¸ô技³N的主流¡C它採用 CSMA/CD¡]Carrier Sense¡A Multiple Access with Collision Detection¡^的存取方式¡A以每秒 10 個百¸U位元的³t率作業¡A並採用 48 個位元的位址¡C 幾年後 IEEE 802 委員會公佈了一組稍微不同的標準¡C802.3 涵»\整個 CSMA/CD 網¸ô¡A802.4 涵»\°O¸¹匯流排網¸ô¡]token bus¡^¡A¦Ó 802.5 則涵»\°O¸¹環網¸ô¡C共用³o三樣的是對很多 802 網¸ô定義ÅÞ¿èÃì結控制¡]LLC¡^共用的802.2 標準¡A不幸的是 802.2 和 802.3 的結合定義了一個不同的框架¡C 在 TCP/IP 的世界¡AIP ¸ê料流的封包³Q定義成 RFC 894¡]在乙太網¸ô中¡^¡A»P RFC 1024¡]在 IEEE 802 網¸ô中¡^¡C在主機»Ý求方±¡ARFCn求每³¡ Internet 主機³s接一個 10 Mbits/sec 的乙太網¸ô纜線¡G 必¶·¯à夠用 RFC 894¡]乙太網¸ô¡^封¸Ë傳°e»P接收封包¡C n¯à接收 RFC 1042¡]IEEE 802¡^ »P RFC 894 的混合封包¡C n¯à傳°e使用 RFC 1024 封¸Ë的封包¡C假如主機¯à傳°e兩種型態的封包¡A¨º»ò³Q傳°e之封包的型態必¶·可結構化¡A¦Ó且結構¿ï¶µn¹w³]成 RFC 894 封包¡C RFC 894 封¸Ë是普¹M³Q使用的¡A兩個框架³£使用 48 個位元¡]6 位元組¡^的目的和來源位址¡]802.3 允³\ 16 位元位址³Q使用¡A但 48 位元位址也可以¡^¡C本文中我們稱³o些為硬Åé位址¡CARP 和 RARP 協定¡]第 4¡B5 章¡^映射 32 位元的 IP位址»P 48 位元的硬Åé位址¡C ³o兩個框架³W格的下兩個位元組是不一樣的¡C802 的ªø度欄»¡明尾端不包含 CRC 有多少位元組ªþ屬¡C乙太網¸ôÃþ型欄標ÃѪþ屬的¸ê料Ãþ型¡C»P 802 框架相同的Ãþ型欄稍後將在 SNAP¡]Sub-network Access Protocol¡^的標ÀY出現¡C幸¹B的是¡A沒有802 ªø度值和乙太網¸ôÃþ型的值一樣¡A³oÅý兩種框架³W格¯à夠區別¡C 在乙太網¸ô¡A框架¸ê料緊¸ò在Ãþ型欄後¡A¦Ó 802 框架³W格則是 802.2 LLC 的 3 位元組和 802.2 SNAP 5 位元組¸òÀH在後¡CDSAP¡]Destination Service Access Point¡^和 SSAP¡]Source Service Access Point¡^³£³]為 0xaa¡Cctrl 欄³]為 3¡C接下來的三個位元 org code ³£是 0¡C接µÛ相同的 2-位元組Ãþ型欄是乙太網¸ô框架³W格中的¡]在 RFC 1340 增加Ãþ型欄¡^¡C CRC 欄是一個循環剩¾l檢查¡]一個位元總和檢查¡^¡A即在剩下的框架偵測¿ù»~¡]³o也叫做 FCS 或ªÌ框架檢查序列¡^¡C 803.3和乙太網¸ô框架有個最小的尺寸¡A802.3的最小值n求¸ê料³¡分¦Ü少38個位元組¡A乙太網¸ô¦Ü少46個位元組¡A為³B理³on求»Ý插入填充位元組以確保框架夠ªø¡A當我們¶}始看線¸ô上的封包時將¹J到³o個最小值¡C SLIP¡G串列線 IP SLIP 是串列線 IP 的縮寫¡A對串列線上的¸ê料報¦Ó¨¥它是一個簡單的封¸Ë形式¡A並且在 RFC 1055 有»¡明¡C從家庭系統³s接到網»Ú網¸ô¡ASLIP已經«D常流¦æ¡A因為每台¹q¸£及°ª³t數據機上幾乎³£提供了 RS-232 串列埠¡C 以下»¡明 SLIP 框架使用³W則¡G IP ¸ê料報³Q特殊字元 ¡Ð END¡]0xc0¡^所中斷¡C因此¡A為¨¾止任何線Âø°T在³Q¸Ó¸ê料報當成它的一³¡份前¡A大多數的實作傳¿é會在¸ê料報¶}始³B加一個 END 字元¡]假如有一些線Âø°T¡A³o個 END 會中斷¿ù»~的¸ê料報¡A允³\目前的¸ê料報傳°e¡C當它的內容³Q偵測到是一個無用°T息時¡A它會³Q丟棄在°ª層¡^¡C 假如¸ê料報的一個位元相當於 END 字元¡A則 2-位元組的序列 0xdb¡A0xdc ³Q傳¿é取代¡A³o個特殊的 0xdb 字元稱為 SLIP ESC 字元¡A但它的值不同於 ASCII ESC 字元¡]0x1b¡^¡C 假如 IP ¸ê料報的一個位元»P SLIP END 位元相同¡A 則 2-位元組 的序列 0xdb¡A0xdd ³Q傳¿é取代¡C SLIP 是一個簡單的框架方式¡A它有一些缺失是值得注意的¡G 每一端³£n知¹D其他的 IP 位址¡C但沒有方法Åý一端³q知其他端Ãö於它的 IP 位址¡C 沒有Ãþ型欄¡]Ãþ似乙太網¸ô框架的框架Ãþ型欄¡^¡C假如一條串列線³Q SLIP 使用¡A它便不¯à同時³Q別的協定使用¡C SLIP不支援位元總和檢查¡]Ãþ似乙太網¸ô框架的CRC欄¡^¡C假如一條吵Âø的¹q¸Ü線破壞了經由SLIP傳°e的¸ê料報¡A它得傳°e到°ª層才會³Q偵測出¡]¸û新的數據機可以偵測並修正此框架¡^¡C因此上層提供一些 CRC 的形式是必n的¡C第 3 和第 17 章中我們將看到IP標ÀY¡BTCP 標ÀY和 TCP ¸ê料³£有一個位元總和檢查¡A但在第 11 章我們將看到位元總和檢查可以任意的Âл\ UDP 標ÀY和 UDP ¸ê料¡C 既然 SLIP 線³t度緩慢¡]19200 bites/sec 或更慢¡^¡A且常常³Q使用在互動式的³q°T¡]像同是使用 TCP 的 Telnet 和 Rlogin¡^¡A所以傾向³z¹L一條 SLIP 線分成³\多 TCP 封包¡C攜帶 1 個位元組的¸ê料»Ýn 20個位元組的 IP 標ÀY和一個 20位元組的 TCP 標ÀY¡A所以多出了 40 個位元組的空¶¡¡]19.2 節Åã示¡A當一個簡單的命令在 Rlogin 期¶¡下¹F時¡A小封包的流向¡^¡C »{知到³o個缺ÂI後¡A在 RFC 1144 中提及了一個新的 SLIP 版本¡A稱為 CSLIP¡]°w對壓縮¹L的SLIP¡^¡CCSLIP 將 40個位元組的標ÀY減到 3 或 5 個位元組¡C它在每個 CSLIP ³s結的端ÂI上維持 16 個 TCP ³s接的狀態¡A並知¹D³o兩個標ÀY中的某些欄位在給定的³s接中³q常是不會改ÅÜ的¡C會改ÅÜ的欄位大多是改ÅÜ了一個小的增¶q¡C³o些¸û小的標ÀYÅãµÛ改善了互動時的反應時¶¡¡C PPP¡GÂI對ÂI協定 PPP¡]ÂI對ÂI協定¡^修正了 SLIP 所有的缺ÂI¡CPPP由三³¡分組成¡G 在串列³s結上用一個方法封¸Ë IP ¸ê料報¡A PPP 支援 8 位元¸ê料的«D同步Ãì結和«D同位元¡]在大³¡分的¹q¸£上普¹M可以找到的串列介±¡^或位元導向的同步Ãì結¡C Ãì結控制協定¡]LCP¡^用來建立¡B³]定並測¸Õ¸ê料Ãì結的³s接¡A³o允³\每一端去商ij不同的¿ï¶µ¡C 網¸ô控制協定¡]NCP¡^家族指定在不同的網¸ô層協定¡ARFC 現在存在於 IP¡BOSI 網¸ô層¡BDECnet 以及 AppleTalk¡C如 IP NCP¡A假使它可以執¦æ像 CSLIP 的標ÀY壓縮¡A便可允³\每一端去敘z¡]¨º個縮寫 NCP 也使用在先前對 TCP 時¡^¡C PPP 像 SLIP 一樣¡A³q常用在慢³t的串列Ãì結上¡A所以減少每個框架的位元組數就¯à減少應用程式互動的時¶¡¡C以Ãì結控制協定時¡A大多會協ij省略常數位址和控制欄位¡A並把協定欄位的大小從兩個位元組減少到一個位元組¡C假如我們比¸û PPP 和 SLIP 框架所用的空¶¡¡A我們將發現 PPP 增加了三個ÃB外的位元組¡G1 位元組的協定欄及 2 位元組的 CRC¡C°£此之外¡A使用 IP 網¸ô控制協定時¡A大³¡分實»Ú應用³£省略使用 Van Jacobson 標ÀY壓縮¡]和 CSLIP 壓縮相同¡^以減少 IP 和TCP 標ÀY的大小¡C 總¨¥之¡APPP 提供下列¶W¹L SLIP 的優ÂI¡G¡]1¡^在一條串列線上支援了多種的協定¡A不只是 IP ¸ê料報¡C¡]2¡^每個框架上³£有循環剩¾l檢查¡]CRC¡^¡C¡]3¡^動態商ij各端的IP 位址¡]使用 IP 網¸ô控制¡^¡C¡]4¡^TCP 和 IP 標ÀY以Ãþ似 CSLIP 的方式壓縮¡A以及¡]5¡^一個協商³\多¸ê料Ãì結¿ï¶µ的Ãì結控制協定¡C為³o些特徵所付的代價是每框架多用 3 個位元組¡B建立Ãì結時»Ýn一些協商用的框架¡A以及實»Ú應用上¸û½ÆÂø¡C
ºô»Úºô¸ôì²z»PÀ³¥Î(
Windows Se
Pro/ENGINE
Microsoft
¨àµ£»Pºô¸ô¡G±q§å§P¨¤
ºô¸ô·§½×
TCP/IP³Ì¨Î¤Jªù
RFIDµL½u®gÀWÃѧO
Google¡G¥þ²y³Ì
¤U¸ü°ÝÃD¥þ»`¿ý(ªþ¥ú
¬°¤F«O»Ù±zªºÅv¯q¡A·sµ·¸ôºô¸ô®Ñ©±©ÒÁʶRªº°Ó«~§¡¨É¦³¨ì³f¤C¤ÑªºÅ²½à´Á¡]§t¨Ò°²¤é¡^¡C°h¦^¤§°Ó«~¥²¶·©óŲ½à´Á¤º±H¦^¡]¥H¶lÂW©Î¦¬°õÁp¬°¾Ì¡^¡A¥B°Ó«~¥²¶·¬O¥þ·sª¬ºA»P§¹¾ã¥]¸Ë(°Ó«~¡Bªþ¥ó¡B¤º¥~¥]¸Ë¡BÀH³f¤å¥ó¡BÃØ«~µ¥)¡A§_«h®¤¤£±µ¨ü°h³f¡C