用tcp/ip進行網際互連
第一卷
《用TCP/IP進行網際互連(第一卷)》是2007年電子工業出版社出版的圖書,作者是(美)科默(Comer,D.E.)。
本書是關於計算機網路的最著名的經典教材。它是目前美國大多數大學所開設的計算機網路課程的主要參考書。目前國內外能見到的各種關於TCP/IP的書籍,其主要內容都參考了本書。本書作者Douglas E. Comer是TCP/IP協議和網際網路的國際公認專家,他為網際網路的發展做出了傑出貢獻。本書的特點是:強調原理、概念準確、深入淺出、內容豐富新穎。各章后附有很好的習題。這一卷是2006年出版的第五版,其特點是:所有各章均反映了協議的最新版本和最新的技術,刪除和壓縮了一些陳舊內容,對現在網際網路中使用得較多的協議則適當增加了篇幅。全書分為四個部分。第一部分為概述(第1章和第2章),第二部分從單個主機來看TCP/IP網際網路(第3章至第12章),第三部分則是從全局來看網際網路的結構(第13章至第19章以及第31章),第四部分討論網際網路提供的應用層服務(第20章至第30章)。
本書可供計算機和通信專業的高年級本科生和研究生作為教材和參考書,也可供從事科研和技術開發的人員參考。
第1章 引言與概述
1.1 網際互連的動機
1.2 TCP/IP網際網路
1.3 網際網路的服務
1.3.1 應用層的網際網路服務
1.3.2 網路層的網際網路服務
1.4 網際網路的歷史和範圍
1.5 網際網路體系結構研究委員會
1.6 IAB的重組
1.7 網際網路RFC
1.8 未來的發展和技術
1.9 本書的組織
1.10 小結
深入研究
習題
第2章 底層網路技術的回顧
2.1 引言
2.2 網路通信的兩種途徑
2.3 廣域網和區域網
2.3.1 網路硬體地址
2.4 乙太網技術
2.4.1 乙太網容量
2.4.2 快速和吉比特乙太網
2.4.3 10/100/1000乙太網
2.4.4 乙太網上供電
2.4.5 乙太網的性質
2.4.6 碰撞檢測與恢復
2.4.9 乙太網幀格式
2.4.10 用網橋擴展乙太網
2.5 交換的乙太網
2.6 非同步傳遞方式
2.6.1 ATM信元大小
2.6.2 面向連接的連網
2.6.3 廣域點到點網路
2.6.4 撥號IP
2.7 小結
深入研究
習題
第3章 網際互連的概念和結構模型
3.1 引言
3.2 應用層互連
3.3 網路層互連
3.4 網際網路的性質
3.5 網際網路結構
3.6 通過IP路由器互連
3.7 從用戶的角度看
3.8 所有網路是相同的
3.9 未解答的問題
3.10 小結
深入研究
習題
第4章 分類的網際網路地址
4.1 引言
4.2 通用標識符
4.3 最初的分類編址方案
4.4 用地址指明網路連接
4.5 網路地址和定向廣播地址
4.6 受限廣播
4.7 全零地址
4.8 子網和無類型擴展
4.9 IP多播地址
4.10 網際網路編址中的缺陷
4.11 點分十進位記法
4.12 環回地址
4.13 特殊地址約定小結
4.14 網際網路編址管理機構
4.15 保留的地址前綴
4.16 示例
4.17 網路位元組順序
4.18 小結
深入研究
習題
第5章 網際網路地址到物理地址的映射(ARP)
5.1 引言
5.2 地址解析問題
5.3 兩種類型的物理地址
5.4 通過直接映射進行解析
5.5 通過動態綁定進行解析
5.6 地址解析高速緩存
5.7 ARP高速緩存超時
5.8 ARP的改進
5.9 ARP與其他協議之間的關係
5.10 ARP的實現
5.11 ARP的封裝與標識
5.12 ARP協議格式
5.13 ARP緩存自動重新確認
5.14 逆地址解析協議
5.15 小結
深入研究
習題
第6章 網際協議:無連接數據報交付(IPv4)
6.1 引言
6.2 虛擬網路
6.3 網際網路體系結構和基本原理
6.4 概念化服務的組織結構
6.5 無連接交付系統
6.6 網際協議的目的
6.7 IPv4數據報
6.7.1 數據報格式
6.7.2 數據報的服務類型和區分服務
6.7.3 數據報的封裝
6.7.4 數據報的大小、網路MTU及分片
6.7.5 數據報片的重裝
6.7.6 分片控制
6.7.7 生存時間
6.7.8 其他數據報首部欄位
6.8 Intetnet數據報選項
6.8.1 記錄路由選項
6.8.2 源路由選項
6.8.3 時間戳選項
6.8.4 分片時對選項的處理
6.9 小結
深入研究
習題
第7章 網際協議:轉發IP數據報
7.1 引言
7.2 網際網路中的轉發
7.3 直接和間接交付
7.3.1 單個物理網路上的數據報交付
7.3.2 間接交付
7.4 表驅動IP轉發
7.5 下一跳轉發
7.6 默認路由
7.7 特定主機的路由
7.8 IP轉發演演算法
7.9 利用IP地址轉發
7.10 處理傳入的數據報
7.11 建立路由表
7.12 小結
深入研究
習題
第8章 網際協議:差錯與控制報文(ICMP)
8.1 引言
8.2 網際控制報文協議
8.3 差錯報告與差錯糾正的對比
8.4 ICMP報文交付
8.5 ICMP報文格式
8.6 測試目的站的可達性和狀態
8.7 回送請求和回答報文的格式
8.8 目的站不可達的報告
8.9 擁塞和數據報流量控制
8.10 源站抑制的格式
8.11 來自路由器的改變路由請求
8.12 檢測循環或過長的路由
8.13 報告其他問題
8.14 時鐘同步和傳輸時間估計
8.15 不再需要的較早ICMP報文
8.16 小結
深入研究
習題
第9章 無分類和子網地址擴展(CIDR)
9.1 引言
9.2 相關情況的回顧
9.3 使網路數量最少
9.4 代理ARP
9.5 子網編址
9.6 子網地址分配的靈活性
9.7 變長子網
9.8 帶掩碼的子網的實現
9.9 子網掩碼的表示
9.10 子網存在時的轉發
9.11 子網轉發演演算法
9.12 統一的轉發演演算法
9.13 子網掩碼的維護
9.14 廣播到子網
9.15 匿名的點對點網路
9.16 無分類編址和構造超網
9.17 CIDR地址塊和比特掩碼
9.18 地址塊和CIDR記法
9.19 無分類編址舉例
9.20 無分類查找所用的數據結構和演演算法
9.20.1 按掩碼長度進行搜索
9.20.2 二叉線索結構
9.21 最長匹配轉發和混合路由類型
9.21.1 PATRICIA和層壓縮線索
9.22 為專用網路保留的CIDR塊
9.23 小結
深入研究
習題
第10章 協議的分層
10.1 引言
10.2 對多個協議的需求
10.3 協議軟體的概念分層
10.4 各層的功能
10.4.1 ISO七層參考模型
10.5 X.25及其與ISO模型的關係
10.5.1 TCP/IP的五層參考模型
10.6 智能的位置
10.7 協議分層的原理
10.7.1 TCP/IP網際網路環境中的分層
10.8 存在網路子結構時的分層
10.9 TCP/IP模型中的兩條重要分界線
10.9.1 高級協議地址分界線
10.9.2 操作系統分界線
10.10 分層的缺點
10.11 復用和分用的基本思想
10.12 小結
深入研究
習題
第11章 用戶數據報協議(UDP)
11.1 引言
11.2 識別最終目的地
11.3 用戶數據報協議
11.4 UDP報文的格式
11.5 UDP偽首部
11.6 UDP的封裝與協議的分層
11.7 分層及UDP檢驗和的計算
11.8 UDP的復用、分用和埠
11.9 保留和可用的UDP埠號
11.10 小結
深入研究
習題
第12章 可靠的流運輸服務(TCP)
12.1 引言
12.2 對流交付的需求
12.3 可靠交付服務的特徵
12.4 提供可靠性
12.5 滑動窗口的概念
12.6 傳輸控制協議
12.7 埠、連接與端點
12.8 被動打開和主動打開
12.9 報文段、流和序號
12.10 可變的窗口大小與流量控制
12.11 TCP報文段的格式
12.12 帶外數據
12.13 TCP選項
12.13.1 最大報文段長度的選項
12.13.2 窗口擴大比例選項
12.13.3 時間戳選項
12.14 TCP檢驗和的計算
12.15 確認、重傳和超時
12.16 往返時間樣本的精確測量
12.17 Karn演演算法與計時器補償
12.18 對高方差時延的響應
12.19 對擁塞的響應
12.20 快恢復和其他改進
12.21 顯式反饋機制:SACK和ECN
12.21.1 選擇確認
12.21.2 顯式擁塞通知
12.22 擁塞、尾部丟棄和TCP
12.23 隨機早期檢測
12.24 建立一個TCP連接
12.25 初始序號
12.26 關閉一個TCP連接
12.27 TCP連接的複位
12.28 TCP狀態機
12.29 強迫數據交付
12.30 保留的TCP埠號
12.31 TCP的性能
12.32 糊塗窗口綜合征與小分組
12.33 避免糊塗窗口綜合征
12.33.1 接收方對糊塗窗口的避免
12.33.2 推遲確認
12.33.3 發送方對糊塗窗口的避免
12.34 小結
深入研究
習題
第13 章 路由選擇:核心網路、對等網路與演演算法
13.1 引言
13.2 路由表的產生
13.3 利用部分信息轉發
13.4 最初的網際網路體系結構與核心
13.5 從核心結構到對等主幹網結構
13.6 自動路由傳播
13.7 距離向量(Bellman-Ford)路由選擇
13.8 可靠性和路由選擇協議
13.9 鏈路狀態(SPF)路由選擇
13.10 小結
深入研究
習題
第14章 對等網路間的路由選擇(BGP)
14.1 引言
14.2 路由更新協議的範圍
14.3 確定組大小的實際限度
14.4 一個基本思想:額外跳
14.5 自治系統的概念
14.6 外部網關協議和可達性
14.7 BGP的特徵
14.8 BGP的功能和報文類型
14.9 BGP報文首部
14.10 BGP OPEN報文
14.11 BGP UPDATE報文
14.12 壓縮的掩碼地址對
14.13 BGP路徑屬性
14.14 BGP KEEPALIVE報文
14.15 從接收方的角度來看信息
14.16 外部網關協議的關鍵約束
14.17 網際網路的路由選擇體系結構
14.18 BGP NOTIFICATION報文
14.19 小結
深入研究
習題
第15章 自治系統內的路由選擇(RIP和OSPF)
15.1 引言
15.2 靜態內部路由與動態內部路由的對比
15.3 路由信息協議
15.3.1 RIP的發展史
15.3.2 RIP操作
15.4 慢收斂問題
15.5 解決慢收斂問題
15.6 RIP1報文格式
15.7 RIP2地址約定
15.8 RIP路由的解釋和聚合
15.9 RIP2擴展和報文格式
15.10 RIP跳計數的缺點
15.11 時延度量(HELLO協議)
15.12 時延度量和振蕩
15.13 將RIP和HELLO以及BGP組合起來
15.14 gated:自治系統之間的通信
15.15 開放SPF協議
15.15.1 OSPF的報文格式
15.15.2 OSPF的HELLO報文格式
15.15.3 OSPF的資料庫描述報文格式
15.15.4 OSPF的鏈路狀態請求報文格式
15.15.5 OSPF的鏈路狀態更新報文格式
15.16 利用部分信息選擇路由
15.17 小結
深入研究
習題
第16章 網際網路多播
16.1 引言
16.2 硬體廣播
16.3 多播的硬體起源
16.4 乙太網多播
16.5 IP多播
16.6 概念性組成部分
16.7 IP多播地址
16.8 多播地址語義
16.9 把IP多播映射到乙太網多播
16.10 主機和多播交付
16.11 多播作用域
16.12 擴展主機軟體以處理多播
16.13 網際組管理協議
16.14 IGMP的實現
16.15 群組成員狀態的轉換
16.16 IGMP成員關係查詢報文格式
16.17 IGMP成員關係報告報文格式
16.18 多播轉發和路由選擇信息
16.18.1 對動態路由選擇的需求
16.18.2 目的地址轉發的不足之處
16.18.3 任意的發送方
16.19 基本的多播轉發範例
16.20 TRPF的後果
16.21 多播樹
16.22 多播路由選擇的實質
16.23 反向路徑多播
16.24 多播路由選擇協議
16.24.1 距離向量多播路由選擇協議
16.24.2 核心基幹樹
16.24.3 協議無關多播
16.24.4 OSPF的多播擴展
16.25 可靠多播和ACK內爆
16.26 小結
深入研究
習題
第17章 IP交換和MPLS
17.1 引言
17.2 交換技術
17.3 大規模網路、標記交換和路徑
17.4 IP的交換應用
17.5 IP交換技術和MPLS
17.6 分類、流和高層交換
17.7 MPLS的分層應用
17.8 MPLS封裝
17.9 標記交換路由器
17.10 控制過程和標記分發
17.11 MPLS和分片
17.12 網孔拓撲和流量工程
17.13 小結
深入研究
習題
第18章 移動IP
18.1 引言
18.2 移動性、路由選擇和編址
18.3 移動IP特性
18.4 移動IP操作概述
18.5 移動編址細節
18.6 外地代理的發現
18.7 代理登記
18.8 登記報文格式
18.9 與外地代理之間的通信
18.10 數據報的傳輸和接收
18.11 兩次穿越問題
18.12 與歸屬網上的計算機之間的通信
18.13 小結
深入研究
習題
第19章 專用網路互連(NAT和VPN)
19.1 引言
19.2 專用的和混合的網路
19.3 VPN編址技術和路由選擇
19.4 擴展VPN技術應用到個人主機
19.5 使用專用地址的VPN
19.6 網路地址轉換
19.7 NAT轉換表的創建
19.8 多地址NAT
19.9 埠映射NAT
19.10 NAT和ICMP之間的交互
19.11 NAT和應用之間的交互
19.12 數據報分片情況下的NAT
19.13 概念性地址域
19.14 slirp和iptables程序
19.15 小結
深入研究
習題
第20章 客戶-伺服器交互模型
20.1 引言
20.2 客戶-伺服器模型
20.3 一個簡單的例子:UDP回送伺服器
20.4 時間和日期服務
20.4.1 日期和時間的表示
20.4.2 時間伺服器的交互
20.5 伺服器的複雜性
20.6 廣播一個請求
20.7 客戶-伺服器模型的替代方案
20.8 小結
深入研究
習題
第21章 套接字介面
21.1 引言
21.2 UNIX I/O範式與網路I/O
21.3 在UNIX中添加網路I/O
21.4 套接字的抽象化
21.5 創建一個套接字
21.6 套接字的繼承與終止
21.7 指明本地地址
21.8 將套接字連接到目的地址
21.9 通過套接字發送數據
21.10 通過套接字接收數據
21.11 獲取本地的和遠程的套接字地址
21.12 獲取和設置套接字選項
21.13 指明伺服器的隊列長度
21.14 伺服器如何接受連接
21.15 處理多重服務的伺服器
21.16 獲取與設置主機名字
21.17 獲取與設置內部主機域
21.18 套接字型檔的調用
21.19 網路位元組順序轉換常式
21.20 IP地址操作常式
21.21 訪問域名系統①
21.22 獲取主機信息
21.23 獲取網路的信息
21.24 獲取協議信息
21.25 獲取網路服務信息
21.26 客戶舉例
21.27 伺服器舉例
21.28 小結
深入研究
習題
第22章 啟動引導與自動配置(DHCP)
22.1 引言
22.2 啟動引導的發展歷程
22.3 用IP來確定IP地址
22.4 DHCP的重傳策略
22.5 DHCP報文格式
22.6 動態配置的必要性
22.7 DHCP的租用概念
22.8 多個地址和中繼
22.9 地址獲取狀態
22.10 提前終止租期
22.11 租用續租狀態
22.12 DHCP選項與報文類型
22.13 選項過載
22.14 DHCP與域名①
22.15 小結
深入研究
習題
第23章 域名系統(DNS)
23.1 引言
23.2 機器的名字
23.3 平面名字空間
23.4 分級的名字
23.5 名字的授權管理
23.6 子集管理機構
23.7 網際網路的域名
23.8 頂級域
23.9 名字的語法和類型
23.10 從域名映射到地址
23.11 域名解析
23.12 高效率的轉換
23.13 高速緩存:高效率的關鍵
23.14 域名系統的報文格式
23.15 壓縮的名字格式
23.16 域名的縮寫
23.17 反向映射
23.18 指針查詢
23.19 對象類型與資源記錄的內容
23.20 獲得子域的管理權
23.21 動態DNS更新和通知
23.22 DNS安全擴展
23.23 小結
深入研究
習題
第24章 遠程登錄和桌面(TELNET和SSH)
24.1 引言
24.2 遠程互動式計算
24.3 TELNET協議
24.4 適應異構性
24.5 傳遞用於控制遠端的命令
24.6 強制伺服器讀取一個控制功能
24.7 TELNET選項
24.8 TELNET選項的協商
24.9 安全外殼
24.10 其他遠程訪問技術
24.11 小結
深入研究
習題
25.1 引言
25.2 遠程文件存取、傳送和存儲網路
25.3 在線共享存取
25.4 通過文件傳送的共享
25.5 主要的TCP/IP文件傳送協議FTP
25.6 FTP的特點
25.7 FTP進程模型
25.8 TCP埠號和數據連接
25.9 從用戶的角度看FTP
25.10 匿名FTP
25.11 安全文件傳送(SSL-FTP,scp和sftp)
25.12 TFTP
25.13 NFS
25.14 NFS的實現(RPC和XDR)
25.15 小結
深入研究
習題
26.1 引言
26.2 電子郵件
26.3 郵箱名字和別名
26.4 別名擴展與郵件轉發
26.5 電子郵件服務的TCP/IP標準
26.6 簡單郵件傳送協議
26.7 郵件取回和郵箱操縱協議
26.7.1 郵局協議
26.7.2 網際報文訪問協議
26.8 非ASCII碼數據的MIME擴充
26.9 MIME多部分報文
26.10 小結
深入研究
習題
第27章 萬維網(HTTP)
27.1 引言
27.2 萬維網的重要性
27.3 體系結構組成
27.4 統一資源定位符
27.5 示例文檔
27.6 超文本傳送協議
27.7 HTTP的GET請求
27.8 錯誤消息
Bad Request
27.9 持久連接和長度
27.10 數據長度和程序輸出
27.11 長度編碼和首部
27.12 協商
27.13 條件請求
27.14 代理伺服器和緩存
27.15 緩存
27.16 其他HTTP功能
27.17 HTTP、安全性和電子商務
27.18 小結
深入研究
習題
第28章 IP上的話音和視頻傳輸
28.1 引言
28.2 數字化和編碼技術
28.3 音頻和視頻的傳輸及再現
28.4 抖動和回放延遲
28.5 實時運輸協議
28.6 數據流、混合和多播
28.7 RTP封裝
28.8 RTP控制協議
28.9 RTCP操作
28.10 IP電話和信令
28.10.1 H.323標準
28.10.2 會話發起協議
28.11 服務質量之爭
28.12 QoS和利用率以及容量
28.13 綜合業務資源預留
28.14 綜合服務執行
28.15 區分服務和每跳行為
28.16 通信量調度
28.17 通信量管制
28.18 小結
深入研究
習題
第29章 網路管理(SNMP)
29.1 引言
29.2 管理協議的級別
29.3 體系結構模型
29.4 協議框架結構
29.4.1 一個標準網路管理協議
29.4.2 管理信息的標準
29.5 MIB變數的例子
29.6 管理信息的結構
29.7 使用ASN.1的正式定義
29.8 MIB對象名的結構和表示法
29.9 簡單網路管理協議
29.9.1 用名字搜索表
29.10 SNMP的報文格式
29.11 SNMP報文編碼舉例
29.12 SNMPv3的新特性
29.13 小結
深入研究
習題
第30章 網際網路的安全性和防火牆設計
(IPsec和SSL)
30.1 引言
30.2 對資源的保護
30.3 信息策略
30.4 網際網路安全
30.5 IP安全(IPsec)
30.6 IPsec鑒別首部
30.7 安全關聯
30.8 IPsec封裝安全有效載荷
30.9 鑒別和可變首部欄位
30.10 IPsec隧道
30.11 必要的安全演演算法
30.12 安全套接字
30.13 防火牆和網際網路的訪問
30.14 多重連接和最薄弱的鏈接
30.15 防火牆的實現和分組過濾器
30.16 安全性與分組過濾器規則
30.17 客戶受限訪問的後果
30.18 有狀態防火牆
30.19 內容保護和代理
30.20 監視與日誌
30.21 小結
深入研究
習題
第31章 下一代IP(IPv6)
31.1 引言
31.2 為什麼要改變
31.3 超越IPv4
31.4 通向新版IP之路
31.5 下一代IP的名字
31.6 IPv6的特點
31.7 IPv6數據報的一般形式
31.8 IPv6基本首部格式
31.9 IPv6的擴展首部
31.10 IPv6數據報的解析
31.11 IPv6的分片和重裝
31.12 端到端分片的後果
31.13 IPv6源路由
31.14 IPv6的選項
31.15 IPv6地址空間的大小
31.16 IPv6的冒號十六進位記法
31.17 三種基本IPv6地址類型
31.18 廣播和多播的二重性
31.19 模擬廣播—工程上的選擇
31.20 建議的IPv6地址空間分配
31.21 嵌入的IPv4地址和過渡
31.22 未指明的地址和環回地址
31.23 單播地址的結構
31.24 介面標識符
31.25 本地地址
31.26 自動配置和重新編號
31.27 小結
深入研究
習題
附錄A RFC指南
引言
主機和網關需求文檔的重要性
RFC編號方法
瀏覽RFC
如何從網際網路得到RFC
附錄B 網際互連術語和縮寫辭彙表
TCP/IP術語
術語與縮寫辭彙表(按字母序排列)
參考文獻
索引