幫助中心 | 我的帳號 | 關於我們

TCP\IP詳解(卷2實現)/電腦科學叢書

  • 作者:(美)加里·R.賴特//W.理查德·史蒂文斯|責編:吳怡|譯者:陸雪瑩//蔣慧
  • 出版社:機械工業
  • ISBN:9787111617938
  • 出版日期:2019/03/01
  • 裝幀:平裝
  • 頁數:901
人民幣:RMB 149 元      售價:
放入購物車
加入收藏夾

內容大鋼
    《TCP/IP詳解》是已故網路專家、著名技術作家W. Richard Stevens的傳世之作,內容詳盡且具權威性,被譽為TCP/IP領域的不朽名著。本書是《TCP/IP詳解》三卷本的第2卷,重點關注TCP/IP的實現問題。書中介紹了一個實際的TCP/IP實現,並給出了這一實現的完整源代碼,大約有15000行C代碼。此外,幾乎每章都提供精選的習題,並在附錄中提供了部分習題的答案。
    這一卷要求讀者對TCP/IP的工作原理以及操作系統原理有初步的了解。對TCP/IP不是很熟悉的讀者應先閱讀《TCP/IP詳解》的第1卷,該書對TCP/IP協議族有比較透徹的描述。
    《TCP/IP詳解》對於網路應用的開發人員、網路管理員以及任何想了解TCP/IP運行原理的人員來說,都是極好的權威參考書。無論是初學者還是功底深厚的網路領域高手,這套書都應是案頭必備。

作者介紹
(美)加里·R.賴特//W.理查德·史蒂文斯|責編:吳怡|譯者:陸雪瑩//蔣慧

目錄
出版者的話
譯者序
前言
第1章  概述
  1.1  引言
  1.2  源代碼表示
    1.2.1  將擁塞窗口設置為
    1.2.2  印刷約定
  1.3  歷史
  1.4  應用編程介面
  1.5  程序示例
  1.6  系統調用和庫函數
  1.7  網路實現概述
  1.8  描述符
  1.9  mbuf與輸出處理
    1.9.1  包含插口地址結構的mbuf
    1.9.2  包含數據的mbuf
    1.9.3  添加IP和UDP首部
    1.9.4  IP輸出
    1.9.5  乙太網輸出
    1.9.6  UDP輸出小結
  1.10  輸入處理
    1.10.1  乙太網輸入
    1.10.2  IP輸入
    1.10.3  UDP輸入
    1.10.4  進程輸入
  1.11  網路實現概述(續)
  1.12  中斷級別與併發
  1.13  源代碼組織
  1.14  測試網路
  1.15  小結
第2章  mbuf:存儲器緩存
  2.1  引言
  2.2  代碼介紹
    2.2.1  全局變數
    2.2.2  統計
    2.2.3  內核統計
  2.3  mbuf的定義
  2.4  mbuf結構
  2.5  簡單的mbuf宏和函數
    2.5.1  m_get函數
    2.5.2  MGET宏
    2.5.3  m_retry函數
    2.5.4  mbuf鎖
  2.6  m_devget和m_pullup函數
    2.6.1  m_devget函數
    2.6.2  mtod和dtom宏
    2.6.3  m_pullup函數和連續的協議首部
    2.6.4  m_pullup和IP的分片與重組
    2.6.5  TCP重組避免調用m_pullup

    2.6.6  m_pullup使用總結
  2.7  mbuf宏和函數的小結
  2.8  Net/3聯網數據結構小結
  2.9  m_copy和簇引用計數
  2.10  其他選擇
  2.11  小結
第3章  介面層
  3.1  引言
  3.2  代碼介紹
    3.2.1  全局變數
    3.2.2  SNMP變數
  3.3  ifnet結構
  3.4  ifaddr結構
  3.5  sockaddr結構
  3.6  ifnet與ifaddr的專用化
  3.7  網路初始化概述
  3.8  乙太網初始化
  3.9  SLIP初始化
  3.10  環回初始化
  3.11  if_attach函數
  3.12  ifinit函數
  3.13  小結
第4章  介面:乙太網
  4.1  引言
  4.2  代碼介紹
    4.2.1  全局變數
    4.2.2  統計量
    4.2.3  SNMP變數
  4.3  乙太網介面
    4.3.1  leintr函數
    4.3.2  leread函數
    4.3.3  ether_input函數
    4.3.4  ether_output函數
    4.3.5  lestart函數
  4.4  ioctl系統調用
    4.4.1  ifioctl函數
    4.4.2  ifconf函數
    4.4.3  舉例
    4.4.4  通用介面ioctl命令
    4.4.5  if_down和if_up函數
    4.4.6  乙太網、SLIP和環回
  4.5  小結
第5章  介面:SLIP和環回
  5.1  引言
  5.2  代碼介紹
    5.2.1  全局變數
    5.2.2  統計量
  5.3  SLIP介面
    5.3.1  SLIP線路規程:SLIPDISC
    5.3.2  SLIP初始化:slopen和slinit

  25.6  tcp_timers函數
    25.6.1  FIN_WAIT_2和2MSL定時器
    25.6.2  持續定時器
    25.6.3  連接建立定時器和保活定時器
  25.7  重傳定時器的計算
  25.8  tcp_newtcpcb演算法
  25.9  tcp_setpersist函數
  25.10  tcp_xmit_timer函數
  25.11  重傳超時:tcp_timers函數
    25.11.1  慢起動和避免擁塞
    25.11.2  精確性
  25.12  一個RTT的例子
  25.13  小結
第26章  TCP輸出
  26.1  引言
  26.2  tcp_output概述
  26.3  決定是否應發送一個報文段
  26.4  TCP選項
  26.5  窗口大小選項
  26.6  時間戳選項
    26.6.1  哪個時間戳需要回顯,RFC 1323演算法
    26.6.2  哪個時間戳需要回顯,正確的演算法
    26.6.3  時間戳與延遲ACK
  26.7  發送一個報文段
  26.8  tcp_template函數
  26.9  tcp_respond函數
  26.10  小結
第27章  TCP的函數
  27.1  引言
  27.2  tcp_drain函數
  27.3  tcp_drop函數
  27.4  tcp_close函數
    27.4.1  路由特性
    27.4.2  資源釋放
  27.5  tcp_mss函數
  27.6  tcp_ctlinput函數
  27.7  tcp_notify函數
  27.8  tcp_quench函數
  27.9  TCP_REASS宏和tcp_reass函數
    27.9.1  TCP_REASS宏
    27.9.2  tcp_reass函數
  27.10  tcp_trace函數
  27.11  小結
第28章  TCP的輸入
  28.1  引言
  28.2  預處理
  28.3  tcp_dooptions函數
  28.4  首部預測
  28.5  TCP輸入:緩慢的執行路徑
  28.6  完成被動打開或主動打開

    28.6.1  完成被動打開
    28.6.2  完成主動打開
  28.7  PAWS:防止序號迴繞
  28.8  裁剪報文段使數據在窗口內
  28.9  自連接和同時打開
  28.10  記錄時間戳
  28.11  RST處理
  28.12  小結
第29章  TCP的輸入(續)
  29.1  引言
  29.2  ACK處理概述
  29.3  完成被動打開和同時打開
  29.4  快速重傳和快速恢復的演算法
  29.5  ACK處理
  29.6  更新窗口信息
  29.7  緊急方式處理
  29.8  tcp_pulloutofband函數
  29.9  處理已接收的數據
  29.10  FIN處理
  29.11  最後的處理
  29.12  實現求精
  29.13  首部壓縮
    29.13.1  引言
    29.13.2  首部欄位的壓縮
    29.13.3  特殊情況
    29.13.4  實例
    29.13.5  配置
  29.14  小結
第30章  TCP的用戶需求
  30.1  引言
  30.2  tcp_usrreq函數
  30.3  tcp_attach函數
  30.4  tcp_disconnect函數
  30.5  tcp_usrclosed函數
  30.6  tcp_ctloutput函數
  30.7  小結
第31章  BPF:BSD分組過濾程序
  31.1  引言
  31.2  代碼介紹
    31.2.1  全局變數
    31.2.2  統計量
  31.3  bpf_if結構
  31.4  bpf_d結構
    31.4.1  bpfopen函數
    31.4.2  bpfioctl函數
    31.4.3  bpf_setif函數
    31.4.4  bpf_attachd函數
  31.5  BPF的輸入
    31.5.1  bpf_tap函數
    31.5.2  catchpacket函數

    31.5.3  bpfread函數
  31.6  BPF的輸出
  31.7  小結
第32章  原始IP
  32.1  引言
  32.2  代碼介紹
    32.2.1  全局變數
    32.2.2  統計量
  32.3  原始 IP的protosw結構
  32.4  rip_init函數
  32.5  rip_input函數
  32.6  rip_output函數
  32.7  rip_usrreq函數
  32.8  rip_ctloutput函數
  32.9  小結
結束語
附錄A  部分習題的解答
附錄B  源代碼的獲取
附錄C  RFC 1122的有關內容
參考文獻

    5.3.3  SLIP輸入處理:slinput
    5.3.4  SLIP輸出處理:sloutput
    5.3.5  slstart函數
    5.3.6  SLIP分組丟失
    5.3.7  SLIP性能考慮
    5.3.8  slclose函數
    5.3.9  sltioctl函數
  5.4  環回介面
  5.5  小結
第6章  IP編址
  6.1  引言
    6.1.1  IP地址
    6.1.2  IP地址的印刷規定
    6.1.3  主機和路由器
  6.2  代碼介紹
  6.3  介面和地址小結
  6.4  sockaddr_in結構
  6.5  in_ifaddr結構
  6.6  地址指派
    6.6.1  ifioctl函數
    6.6.2  in_control函數
    6.6.3  前提條件:SIOCSIFADDR、SIOCSIFNETMASK和SIOCSIFDSTADDR
    6.6.4  地址指派:SIOCSIFADDR
    6.6.5  in_ifinit函數
    6.6.6  網路掩碼指派:SIOCSIFNETMASK
    6.6.7  目的地址指派:SIOCSIFDSTADDR
    6.6.8  獲取介面信息
    6.6.9  每個介面多個IP地址
    6.6.10  附加IP地址:SIOCAIFADDR
    6.6.11  刪除IP地址:SIOCDIFADDR
  6.7  介面ioctl處理
    6.7.1  leioctl函數
    6.7.2  slioctl函數
    6.7.3  loioctl函數
  6.8  Internet實用函數
  6.9  ifnet實用函數
  6.10  小結
第7章  域和協議
  7.1  引言
  7.2  代碼介紹
    7.2.1  全局變數
    7.2.2  統計量
  7.3  domain結構
  7.4  protosw結構
  7.5  IP 的domain和protosw結構
  7.6  pffindproto和pffindtype函數
  7.7  pfctlinput函數
  7.8  IP初始化
    7.8.1  Internet傳輸分用
    7.8.2  ip_init函數

  7.9  sysctl系統調用
  7.10  小結
第8章  IP:網際協議
  8.1  引言
  8.2  代碼介紹
    8.2.1  全局變數
    8.2.2  統計量
    8.2.3  SNMP變數
  8.3  IP分組
  8.4  輸入處理:ipintr函數
    8.4.1  ipintr概觀
    8.4.2  驗證
    8.4.3  轉發或不轉發
    8.4.4  重裝和分用
  8.5  轉發:ip_forward函數
  8.6  輸出處理:ip_output函數
    8.6.1  首部初始化
    8.6.2  路由選擇
    8.6.3  源地址選擇和分片
  8.7  Internet檢驗和:in_cksum函數
  8.8  setsockopt和getsockopt系統調用
    8.8.1  PRCO_SETOPT的處理
    8.8.2  PRCO_GETOPT的處理
  8.9  ip_sysctl函數
  8.10  小結
第9章  IP選項處理
  9.1  引言
  9.2  代碼介紹
    9.2.1  全局變數
    9.2.2  統計量
  9.3  選項格式
  9.4  ip_dooptions函數
  9.5  記錄路由選項
  9.6  源站和記錄路由選項
    9.6.1  save_rte函數
    9.6.2  ip_srcroute函數
  9.7  時間戳選項
  9.8  ip_insertoptions函數
  9.9  ip_pcbopts函數
  9.10  一些限制
  9.11  小結
第10章  IP的分片與重裝
  10.1  引言
  10.2  代碼介紹
    10.2.1  全局變數
    10.2.2  統計量
  10.3  分片
  10.4  ip_optcopy函數
  10.5  重裝
  10.6  ip_reass函數

  10.7  ip_slowtimo函數
  10.8  小結
第11章  ICMP:Internet控制報文協議
  11.1  引言
  11.2  代碼介紹
    11.2.1  全局變數
    11.2.2  統計量
    11.2.3  SNMP變數
  11.3  icmp結構
  11.4  ICMP 的protosw結構
  11.5  輸入處理:icmp_input函數
  11.6  差錯處理
  11.7  請求處理
    11.7.1  回顯詢問:ICMP_ECHO和
ICMP_ECHOREPLY
    11.7.2  時間戳詢問:ICMP_TSTAMP和
ICMP_TSTAMPREPLY
    11.7.3  地址掩碼詢問:ICMP_MASKREQ和ICMP_MASKREPLY
    11.7.4  信息詢問:ICMP_IREQ和ICMP_IREQREPLY
    11.7.5  路由器發現:ICMP_ROUTERADVERT和ICMP_ROUTERSOLICIT
  11.8  重定向處理
  11.9  回答處理
  11.10  輸出處理
  11.11  icmp_error函數
  11.12  icmp_reflect函數
  11.13  icmp_send函數
  11.14  icmp_sysctl函數
  11.15  小結
第12章  IP多播
  12.1  引言
  12.2  代碼介紹
    12.2.1  全局變數
    12.2.2  統計量
  12.3  乙太網多播地址
  12.4  ether_multi結構
  12.5  乙太網多播接收
  12.6  in_multi結構
  12.7  ip_moptions結構
  12.8  多播的插口選項
  12.9  多播的TTL值
    12.9.1  MBONE
    12.9.2  擴展環搜索
  12.10  ip_setmoptions函數
    12.10.1  選擇一個明確的多播介面:IP_MULTICAST_IF
    12.10.2  選擇明確的多播TTL: IP_ MULTICAST_TTL
    12.10.3  選擇多播環回:IP_MULTICAST_LOOP
  12.11  加入一個IP多播組
    12.11.1  in_addmulti函數
    12.11.2  slioctl和loioctl函數:SIOCADDMULTI和SIOCDELMULTI
    12.11.3  leioctl函數:SIOCADDMULTI和SIOCDELMULTI

    12.11.4  ether_addmulti函數
  12.12  離開一個IP多播組
    12.12.1  in_delmulti函數
    12.12.2  ether_delmulti函數
  12.13  ip_getmoptions函數
  12.14  多播輸入處理:ipintr函數
  12.15  多播輸出處理:ip_output函數
  12.16  性能的考慮
  12.17  小結
第13章  IGMP:Internet組管理協議
  13.1  引言
  13.2  代碼介紹
    13.2.1  全局變數
    13.2.2  統計量
    13.2.3  SNMP變數
  13.3  igmp結構
  13.4  IGMP的protosw的結構
  13.5  加入一個組:igmp_joingroup函數
  13.6  igmp_fasttimo函數
  13.7  輸入處理:igmp_input函數
    13.7.1  成員關係查詢:IGMP_HOST_MEMBERSHIP_QUERY
    13.7.2  成員關係報告:IGMP_HOST_MEMBERSHIP_REPORT
  13.8  離開一個組:igmp_leavegroup函數
  13.9  小結
第14章  IP多播選路
  14.1  引言
  14.2  代碼介紹
    14.2.1  全局變數
    14.2.2  統計量
    14.2.3  SNMP變數
  14.3  多播輸出處理(續)
  14.4  mrouted守護程序
  14.5  虛擬介面
    14.5.1  虛擬介面表
    14.5.2  add_vif函數
    14.5.3  del_vif函數
  14.6  IGMP(續)
    14.6.1  add_lgrp函數
    14.6.2  del_lgrp函數
    14.6.3  grplst_member函數
  14.7  多播選路
    14.7.1  多播選路表
    14.7.2  del_mrt函數
    14.7.3  add_mrt函數
    14.7.4  mrtfind函數
  14.8  多播轉發:ip_mforward函數
    14.8.1  phyint_send函數
    14.8.2  tunnel_send函數
  14.9  清理:ip_mrouter_done函數
  14.10  小結

第15章  插口層
  15.1  引言
  15.2  代碼介紹
  15.3  socket結構
  15.4  系統調用
    15.4.1  舉例
    15.4.2  系統調用小結
  15.5  進程、描述符和插口
  15.6  socket系統調用
    15.6.1  socreate函數
    15.6.2  超級用戶特權
  15.7  getsock和sockargs函數
  15.8  bind系統調用
  15.9  listen系統調用
  15.10  tsleep和wakeup函數
  15.11  accept系統調用
  15.12  sonewconn和soisconnected函數
  15.13  connect系統調用
    15.13.1  soconnect函數
    15.13.2  切斷無連接插口和外部地址的關聯
  15.14  shutdown系統調用
  15.15  close系統調用
    15.15.1  soo_close函數
    15.15.2  soclose函數
  15.16  小結
第16章  插口I/O
  16.1  引言
  16.2  代碼介紹
  16.3  插口緩存
  16.4  write、writev、sendto和sendmsg系統調用
  16.5  sendmsg系統調用
  16.6  sendit函數
    16.6.1  uiomove函數
    16.6.2  舉例
    16.6.3  sendit代碼
  16.7  sosend函數
    16.7.1  可靠的協議緩存
    16.7.2  不可靠的協議緩存
    16.7.3  sosend函數小結
    16.7.4  性能問題
  16.8  read、readv、recvfrom和recvmsg系統調用
  16.9  recvmsg系統調用
  16.10  recvit函數
  16.11  soreceive函數
    16.11.1  帶外數據
    16.11.2  舉例
    16.11.3  其他的接收操作選項
    16.11.4  接收緩存的組織:報文邊界
    16.11.5  接收緩存的組織:沒有報文邊界
    16.11.6  控制信息和帶外數據

  16.12  soreceive代碼
  16.13  select系統調用
    16.13.1  selscan函數
    16.13.2  soo_select函數
    16.13.3  selrecord函數
    16.13.4  selwakeup函數
  16.14  小結
第17章  插口選項
  17.1  引言
  17.2  代碼介紹
  17.3  setsockopt系統調用
  17.4  getsockopt系統調用
  17.5  fcntl和ioctl系統調用
    17.5.1  fcntl代碼
    17.5.2  ioctl代碼
  17.6  getsockname系統調用
  17.7  getpeername系統調用
  17.8  小結
第18章  Radix樹路由表
  18.1  引言
  18.2  路由表結構
  18.3  選路插口
  18.4  代碼介紹
    18.4.1  全局變數
    18.4.2  統計量
    18.4.3  SNMP變數
  18.5  Radix結點數據結構
  18.6  選路結構
  18.7  初始化:route_init和rtable_init函數
  18.8  初始化:rn_init和rn_inithead函數
  18.9  重複鍵和掩碼列表
  18.10  rn_match函數
  18.11  rn_search函數
  18.12  小結
第19章  選路請求和選路消息
  19.1  引言
  19.2  rtalloc和rtalloc1函數
  19.3  宏RTFREE和rtfree函數
  19.4  rtrequest函數
  19.5  rt_setgate函數
  19.6  rtinit函數
  19.7  rtredirect函數
  19.8  選路消息的結構
  19.9  rt_missmsg函數
  19.10  rt_ifmsg函數
  19.11  rt_newaddrmsg函數
  19.12  rt_msg1函數
  19.13  rt_msg2函數
  19.14  sysctl_rtable函數
  19.15  sysctl_dumpentry函數

  19.16  sysctl_iflist函數
  19.17  小結
第20章  選路插口
  20.1  引言
  20.2  routedomain和protosw結構
  20.3  選路控制塊
  20.4  raw_init函數
  20.5  route_output函數
  20.6  rt_xaddrs函數
  20.7  rt_setmetrics函數
  20.8  raw_input函數
  20.9  route_usrreq函數
  20.10  raw_usrreq函數
  20.11  raw_attach、raw_detach和raw_disconnect函數
  20.12  小結
第21章  ARP:地址解析協議
  21.1  介紹
  21.2  ARP和路由表
  21.3  代碼介紹
    21.3.1  全局變數
    21.3.2  統計量
    21.3.3  SNMP變數
  21.4  ARP結構
  21.5  arpwhohas函數
  21.6  arprequest函數
  21.7  arpintr函數
  21.8  in_arpinput函數
  21.9  ARP定時器函數
    21.9.1  arptimer函數
    21.9.2  arptfree函數
  21.10  arpresolve函數
  21.11  arplookup函數
  21.12  代理ARP
  21.13  arp_rtrequest函數
  21.14  ARP和多播
  21.15  小結
第22章  協議控制塊
  22.1  引言
  22.2  代碼介紹
    22.2.1  全局變數
    22.2.2  統計量
  22.3  inpcb的結構
  22.4  in_pcballoc和in_pcbdetach函數
  22.5  綁定、連接和分用
  22.6  in_pcblookup函數
  22.7  in_pcbbind函數
  22.8  in_pcbconnect函數
  22.9  in_pcbdisconnect函數
  22.10  in_setsockaddr和in_setpeeraddr函數
  22.11  in_pcbnotify、in_rtchange和in_losing函數

    22.11.1  in_rtchange函數
    22.11.2  重定向和原始插口
    22.11.3  ICMP差錯和UDP插口
    22.11.4  in_losing函數
  22.12  實現求精
  22.13  小結
第23章  UDP:用戶數據報協議
  23.1  引言
  23.2  代碼介紹
    23.2.1  全局變數
    23.2.2  統計量
    23.2.3  SNMP變數
  23.3  UDP 的protosw結構
  23.4  UDP的首部
  23.5  udp_init函數
  23.6  udp_output函數
    23.6.1  在前面加上IP/UDP首部和mbuf簇
    23.6.2  UDP檢驗和計算和偽首部
  23.7  udp_input函數
    23.7.1  對收到的UDP數據報的一般確認
    23.7.2  分用單播數據報
    23.7.3  分用多播和廣播數據報
    23.7.4  連接上的UDP插口和多介面主機
  23.8  udp_saveopt函數
  23.9  udp_ctlinput函數
  23.10  udp_usrreq函數
  23.11  udp_sysctl函數
  23.12  實現求精
    23.12.1  UDP PCB高速緩存
    23.12.2  UDP檢驗和
  23.13  小結
第24章  TCP:傳輸控制協議
  24.1  引言
  24.2  代碼介紹
    24.2.1  全局變數
    24.2.2  統計量
    24.2.3  SNMP變數
  24.3  TCP 的protosw結構
  24.4  TCP的首部
  24.5  TCP的控制塊
  24.6  TCP的狀態變遷圖
  24.7  TCP的序號
  24.8  tcp_init函數
  24.9  小結
第25章  TCP的定時器
  25.1  引言
  25.2  代碼介紹
  25.3  tcp_canceltimers函數
  25.4  tcp_fasttimo函數
  25.5  tcp_slowtimo函數

  • 商品搜索:
  • | 高級搜索
首頁新手上路客服中心關於我們聯絡我們Top↑
Copyrightc 1999~2008 美商天龍國際圖書股份有限公司 臺灣分公司. All rights reserved.
營業地址:臺北市中正區重慶南路一段103號1F 105號1F-2F
讀者服務部電話:02-2381-2033 02-2381-1863 時間:週一-週五 10:00-17:00
 服務信箱:bookuu@69book.com 客戶、意見信箱:cs@69book.com
ICP證:浙B2-20060032