UNIX網路編程(第3版)

UNIX網路編程(第3版)

《UNIX網路編程(第3版)》是2006年清華大學出版社出版的圖書,作者是(美)史蒂文斯,(美)芬納,(美)魯道夫。

圖書詳細信息

ISBN:9787302119746

定價:98元

印次:1-8

裝幀:平裝

印刷日期:2009-4-9

圖書簡介

本書第1版和第2版由已故UNIX網路專家W. Richard Stevens博士獨自編寫。本書是3版,由網路專家Bill Fenner和Andrew M. Rudoff執筆,根據近幾年網路技術的發展,對上一版進行全面修訂,增添了IPv6的更新過的信息、SCTP協定和密鑰管理套接口的內容,刪除了X/Open傳輸接口的內容。

目錄

第1部分簡介和TCP/IP

第1章簡介(1)

1.1概述(1)

1.2一個簡單的時間獲取客戶程式(4)

1.3協定無關性(9)

1.4錯誤處理:包裹函式(10)

1.5一個簡單的時間獲取伺服器程式(11)

1.6書中客戶/伺服器程式例子索引表(14)

1.7OSI模型(16)

1.8BSD網路支持歷史(17)

1.9測試用網路及主機(18)

1.10Unix標準(21)

1.1164位體系結構(24)

1.12小結(25)

1.13習題(26)

第2章傳輸層:TCP、UDP和SCTP(27)

2.1概述(27)

2.2總圖(27)

2.3UDP:用戶數據報協定(30)

2.4TCP:傳輸控制協定(30)

2.5SCTP:流控制傳輸協定(31)

2.6TCP連線的建立和終止(32)

2.7TIME_WAIT狀態(38)

2.8SCTP關聯的建立和終止(39)

2.9連線埠號(43)

2.10TCP連線埠號與並發伺服器(45)

2.11緩衝區大小及限制(47)

2.12標準網際網路服務(52)

2.13常見網際網路套用的協定使用(53)

2.14小結(54)

2.15習題(55)

第2部分基本套接口編程

第3章套接口編程簡介(56)

3.1概述(56)

3.2套接口地址結構(56)

3.3值結果參數(62)

3.4位元組排序函式(64)

3.5位元組操縱函式(67)

3.6inet_aton、inet_addr和inet_ntoa函式(68)

3.7inet_pton和inet_ntop函式(69)

3.8sock_ntop和相關函式(71)

3.9readn、writen和readline函式(73)

3.10小結(77)

3.11習題(78)

第4章基本TCP套接口編程(79)

4.1概述(79)

4.2socket函式(79)

4.3connect函式(82)

4.4bind函式(84)

4.5listen函式(87)

4.6accept函式(92)

4.7fork和exec函式(94)

4.8並發伺服器(96)

4.9close函式(98)

4.10getsockname和getpeername函式(99)

4.11小結(101)

4.12習題(101)

第5章TCP客戶/伺服器程式例子(103)

5.1概述(103)

5.2TCP回射伺服器程式:main函式(104)

5.3TCP回射伺服器程式:str_echo函式(105)

5.4TCP回射客戶程式:main函式(106)

5.5TCP回射客戶程式:str_cli函式(106)

5.6正常啟動(107)

5.7正常終止(109)

5.8POSIX信號處理(110)

5.9處理SIGCHLD信號(113)

5.10wait和waitpid函式(115)

5.11accept返回前連線夭折(119)

5.12伺服器進程終止(120)

5.13SIGPIPE信號(122)

5.14伺服器主機崩潰(123)

5.15伺服器主機崩潰後重啟(124)

5.16伺服器主機關機(124)

5.17TCP程式例子小結(125)

5.18數據格式(126)

5.19小結(129)

5.20習題(130)

第6章I/O復用:select和poll函式(131)

6.1概述(131)

6.2I/O模型(131)

6.3select函式(137)

6.4str_cli函式(修訂版)(142)

6.5批量輸入(144)

6.6shutdown函式(146)

6.7str_cli函式(再修訂版)(148)

6.8TCP回射伺服器程式(修訂版)(149)

6.9pselect函式(154)

6.10poll函式(155)

6.11TCP回射伺服器程式(再修訂版)(158)

6.12小結(160)

6.13習題(161)

第7章套接口選項(162)

7.1概述(162)

7.2getsockopt和setsockopt函式(162)

7.3檢查選項是否受支持並獲取預設值(165)

7.4套接口狀態(168)

7.5通用套接口選項(169)

7.6IPv4套接口選項(182)

7.7ICMPv6套接口選項(184)

7.8IPv6套接口選項(184)

7.9TCP套接口選項(186)

7.10SCTP套接口選項(189)

7.11fcntl函式(198)

7.12小結(200)

7.13習題(201)〖LM〗

第8章基本UDP套接口編程(203)

8.1概述(203)

8.2recvfrom和sendto函式(204)

8.3UDP回射伺服器程式:main函式(205)

8.4UDP回射伺服器程式:dg_echo函式(205)

8.5UDP回射客戶程式:main函式(207)

8.6UDP回射客戶程式:dg_cli函式(208)

8.7數據報的丟失(208)

8.8驗證接收到的回響(209)

8.9伺服器進程未運行(211)

8.10UDP程式例子小結(212)

8.11UDP的connect函式(214)

8.12dg_cli函式(修訂版)(218)

8.13UDP缺乏流量控制(219)

8.14UDP中的外出接口的確定(222)

8.15使用select函式的TCP和UDP回射伺服器程式(223)

8.16小結(225)

8.17習題(225)

第9章基本SCTP套接口編程(227)

9.1概述(227)

9.2接口模型(227)

9.3sctp_bindx函式(231)

9.4sctp_connectx函式(233)

9.5sctp_getpaddrs函式(233)

9.6sctp_freepaddrs函式(233)

9.7sctp_getladdrs函式(234)

9.8sctp_freeladdrs函式(234)

9.9sctp_sendmsg函式(234)

9.10sctp_recvmsg函式(235)

9.11sctp_opt_info函式(235)

9.12sctp_peeloff函式(236)

9.13shutdown函式(236)

9.14通知(237)

9.15小結(242)

9.16習題(243)

第10章SCTP客戶/伺服器程式例子(244)

10.1概述(244)

10.2SCTP一到多式流分回射伺服器程式:main函式(244)

10.3SCTP一到多式流分回射客戶程式:main函式(246)

10.4SCTP流分回射客戶程式:sctpstr_cli函式(248)

10.5探究頭端阻塞(249)

10.6控制流的數目(255)

10.7控制終結(255)

10.8小結(257)

10.9習題(257)

第11章名字與地址轉換(258)

11.1概述(258)

11.2域名系統(258)

11.3gethostbyname函式(261)

11.4gethostbyaddr函式(264)

11.5getservbyname和getservbyport函式(265)

11.6getaddrinfo函式(269)

11.7gai_strerror函式(274)

11.8freeaddrinfo函式(275)

11.9getaddrinfo函式:IPv6(275)

11.10getaddrinfo函式:例子(276)

11.11host_serv函式(278)

11.12tcp_connect函式(279)

11.13tcp_listen函式(282)

11.14udp_client函式(286)

11.15udp_connect函式(289)

11.16udp_server函式(290)

11.17getnameinfo函式(291)

11.18可重入函式(293)

11.19gethostbyname_r和gethostbyaddr_r函式(296)

11.20作廢的IPv6地址解析函式(297)

11.21其他網路相關信息(298)

11.22小結(299)

11.23習題(300)

第3部分高級套接口編程

第12章IPv4與IPv6的互操作性(302)

12.1概述(302)

12.2IPv4客戶與IPv6伺服器(302)

12.3IPv6客戶與IPv4伺服器(306)

12.4IPv6地址測試宏(308)

12.5原始碼可移植性(309)

12.6小結(310)

12.7習題(310)

第13章守護進程和inetd超級伺服器(311)

13.1概述(311)

13.2syslogd守護進程(311)

13.3syslog函式(312)

13.4daemon_init函式(315)

13.5inetd守護進程(318)

13.6daemon_inetd函式(324)

13.7小結(325)

13.8習題(326)

第14章高級I/O函式(327)

14.2套接口逾時(327)

14.3recv和send函式(332)

14.4readv和writev函式(333)

14.5recvmsg和sendmsg函式(334)

14.6輔助數據(338)

14.7排隊的數據量(342)

14.8套接口和標準I/O(342)

14.9高級輪詢技術(345)

14.10T/TCP:事務目的TCP(350)

14.11小結(352)

14.12習題(353)

第15章Unix域協定(354)

15.1概述(354)

15.2Unix域套接口地址結構(354)

15.3socketpair函式(356)

15.4套接口函式(357)

15.5Unix域位元組流客戶/伺服器程式(358)

15.6Unix域數據報客戶/伺服器程式(360)

15.7描述字傳遞(361)

15.8接收傳送者的憑證(368)

15.9小結(371)

15.10習題(371)

第16章非阻塞I/O(373)

16.1概述(373)

16.2非阻塞讀和寫:str_cli函式(修訂版)(374)

16.3非阻塞connect(384)

16.4非阻塞connect:時間獲取客戶程式(384)

16.5非阻塞connect:Web客戶程式(387)

16.6非阻塞accept(395)

16.7小結(397)

16.8習題(397)

第17章ioctl操作(398)

17.1概述(398)

17.2ioctl函式(398)

17.3套接口操作(400)

17.4檔案操作(400)

17.5接口配置(401)

17.6get_ifi_info函式(402)

17.7接口操作(412)

17.8ARP高速快取操作(413)

17.9路由表操作(415)

17.10小結(415)

17.11習題(416)

第18章路由套接口(417)〖

18.1概述(417)

18.2數據鏈路套接口地址結構(418)

18.3讀和寫(418)

18.4sysctl操作(426)

18.5get_ifi_info函式(429)

18.6接口名字和索引函式(432)

18.7小結(437)

18.8習題(437)

第19章密鑰管理套接口(438)

19.1概述(438)

19.2讀和寫(439)

19.3傾瀉安全關聯資料庫(440)

19.4創建靜態安全關聯(443)

19.5動態維護安全關聯(449)

19.6小結(452)

19.7習題(453)

第20章廣播(454)〖

20.1概述(454)

20.2廣播地址(455)

20.3單播和廣播的比較(457)

20.4使用廣播的dg_cli函式(459)

20.5競爭狀態(462)

20.6小結(469)

20.7習題(470)

第21章多播(471)

21.1概述(471)

21.2多播地址(471)

21.3區域網路上多播和廣播的比較(475)

21.4廣域網上的多播(477)

21.5源特定多播(479)

21.6多播套接口選項(480)

21.7mcast_join和相關函式(485)

21.8使用多播的dg_cli函式(489)

21.9接收IP多播基礎設施會話聲明(490)

21.10傳送和接收(494)

21.11SNTP:簡單網路時間協定(497)

21.12小結(501)

21.13習題(501)

第22章高級UDP套接口編程(503)

22.1概述(503)

22.2接收標誌、宿IP位址和接口索引(503)

22.3數據報截斷(509)

22.4何時改用UDP代替TCP(509)

22.5給UDP套用增加可靠性(511)

22.6捆綁接口地址(521)

22.7並發UDP伺服器(525)

22.8IPv6分組信息(527)

22.9IPv6路徑MTU控制(530)

22.10小結(531)

22.11習題(531)

第23章高級SCTP套接口編程(533)

23.1概述(533)

23.2自動關閉的一到多式伺服器程式(533)

23.3部分遞送(534)

23.4通知(536)

23.5無序的數據(540)

23.6捆綁地址子集(540)

23.7確定對端和本端地址信息(542)

23.8給定IP位址找出關聯ID(545)

23.9心搏和地址不可達(546)

23.10關聯剝離(547)

23.11定時控制(548)

23.12何時改用SCTP代替TCP(550)

23.13小結(551)

23.14習題(551)

第24章帶外數據(553)

24.1概述(553)

24.2TCP帶外數據(553)

24.3sockatmark函式(560)

24.4TCP帶外數據小結(565)

24.5客戶伺服器心博函式(566)

24.6小結(570)

24.7習題(571)

第25章信號驅動I/O(572)〖HT5”SS〗〖ST5”BZ〗〖WT5”BZ〗

25.1概述(572)

25.2套接口的信號驅動I/O(572)

25.3使用SIGIO的UDP回射伺服器程式(574)〖HT5”SS〗〖ST5”BZ〗〖WT5”BZ〗

25.4小結(580)

25.5習題(580)

〗第26章執行緒(581)〖HT5”SS〗〖ST5”BZ〗〖WT5”BZ〗

26.1概述(581)

26.2基本執行緒函式:創建和終止(582)

26.3使用執行緒的str_cli函式(584)

26.4使用執行緒的TCP回射伺服器程式(586)

26.5執行緒特定數據(590)

26.6Web客戶與同時連線(597)

26.7互斥鎖(600)

26.8條件變數(604)

26.9Web客戶與同時連線(續)(607)

26.10小結(609)

26.11習題(609)

第27章IP選項(611)〖HT5”SS〗〖ST5”BZ〗〖WT5”BZ〗

27.1概述(611)

27.2IPv4選項(611)

27.3IP源路徑選項(613)

27.4IPv6擴展頭部(620)

27.5IPv6步跳選項和目的地選項(621)

27.6IPv6路由頭部(625)

27.7IPv6粘附選項(630)

27.8歷史性IPv6高級API(631)

27.9小結(632)

27.10習題(632)

第28章原始套接口(633)〖HT5”SS〗〖ST5”BZ〗〖WT5”BZ〗

28.1概述(633)

28.2原始套接口創建(633)

28.3原始套接口輸出(634)

28.4原始套接口輸入(636)

28.5ping程式(638)

28.6traceroute程式(650)

28.7一個ICMP訊息守護程式(663)

28.8小結(677)

28.9習題(678)

第29章數據鏈路訪問(679)〖HT5”SS〗〖ST5”BZ〗〖WT5”BZ〗

29.1概述(679)

29.2BPF:BSD分組過濾器(679)

29.3DLPI:數據鏈路提供者接口(681)

29.4Linux:SOCK_PACKET和PF_PACKET(682)

29.5libpcap:分組捕獲函式館(683)

29.6libnet:分組構造與輸出函式館(684)

29.7檢查UDP的校驗和欄位(684)

29.8小結(702)

29.9習題(703)

第30章客戶/伺服器程式設計範式(704)

30.1概述(704)

30.2TCP客戶程式設計範式(706)

30.3TCP測試用客戶程式(707)

30.4TCP疊代伺服器程式(708)

30.5TCP並發伺服器程式,每個客戶一個子進程(709)

30.6TCP預先派生子進程伺服器程式,accept無上鎖保護(712)

30.7TCP預先派生子進程伺服器程式,accept使用檔案上鎖保護(718)

30.8TCP預先派生子進程伺服器程式,accept使用執行緒上鎖保護(720)

30.9TCP預先派生子進程伺服器程式,傳遞描述字(722)

30.10TCP並發伺服器程式,每個客戶一個執行緒(727)

30.11TCP預先創建執行緒伺服器程式,每個執行緒各自accept(728)

30.12TCP預先創建執行緒伺服器程式,主執行緒統一accept(730)

30.13小結(733)

30.14習題(734)

第31章流(735)

31.1概述(735)

31.2概貌(735)

31.3getmsg和putmsg函式(739)

31.4getpmsg和putpmsg函式(740)

31.5ioctl函式(741)

31.6TPI:傳輸提供者接口(741)

31.7小結(750)

31.8習題(750)

第4部分附錄

A.1概述(751)

A.2IPv4頭部(752)

A.3IPv6頭部(753)

A.4IPv4地址(755)

A.5IPv6地址(759)

B.1概述(767)

B.2MBone(767)

B.36bone(769)

B.46to4:IPv6過渡(769)

C.1系統調用跟蹤(772)

C.2標準網際網路服務(775)

C.3sock程式(775)

C.4小測試程式(778)

C.5tcpdump程式(778)

C.6netstat程式(778)

C.7lsof程式(779)

D.1unp.h頭檔案(780)

D.2config.h頭檔案(784)

D.3標準錯誤處理函式(788)

附錄F參考文獻(824)〖KH*2D〗

附錄G函式和宏定義索引表(832)〖KH*2D〗

附錄H結構定義索引表(834)〖KH*2D〗

附錄I中英文對照辭彙表(836)

相關詞條

熱門詞條

聯絡我們