編輯推薦
適讀人群 :本書適閤作為高等院校計算機網絡及相關專業課程的教材,也適閤網絡管理員、運維人員、工程師、係統設計師和管理者以及其他需要瞭解網絡知識的技術人員(如芯片設計者、電信工程師、軟件工程師等)參考。 1. 新穎、現代的流行話題。讀者可以瞭解*新網絡設備、操作係統、路由協議(包括MPLS,BGP,組播)以及*新的網絡服務和實現(如IPSec,VPN和VoIP)2. 看圖說話。提供實際的圖例,通過一個運行網絡配置的例子,介紹TCP/IP如何工作。超過330個圖例。書中含有大量圖片、截屏圖、拓撲結構和獨特的開章圖例,幫助讀者理解相關概念。3. 完全基於實際網絡。本書包含一個完整和現代的網絡,大量資料來自網絡中的真實設備。
內容簡介
本書講解各種網絡協議如何在更大、更復雜的現代網絡中實際應用並不斷發展。綜閤運用自20世紀90年代中期以來的所有網絡新技術構建瞭一個復雜的網絡,通過使用服務器和路由器等設備,以一個網絡為例詳細解釋瞭TCP/IP協議如何運行。示例網絡與真實運轉網絡的配置是一緻的,包括服務器、路由器和工作站,其中每個對象都是來自於真實運行在網絡中的互聯實體。
作者簡介
Walter Goralski,是Juniper Network的高級工程師和技術編輯,負責各種項目的文檔規範,其中包括組播的服務質量,以及Metro以太網。在網絡領域有40多年從業經驗。
目錄
第一部分 網 絡 基 礎
第1章 協議和分層
1.1 本書中的網絡
1.1.1 網絡設備的遠程訪問
1.1.2 傳輸文件到路由器
1.1.3 命令行界麵和圖形用戶界麵
1.1.4 Ethereal和數據包的捕獲
1.1.5 第一次探索網絡
1.2 協議
1.2.1 標準和組織
1.2.2 徵求意見稿和互聯網工程任務組
1.3 互聯網的管理
1.4 分層
1.4.1 簡單組網
1.4.2 協議分層
1.5 TCP/IP協議族
1.5.1 TCP/IP參考模型分層
1.5.2 協議和接口
1.5.3 封裝
1.6 TCP/IP分層
1.6.1 物理層
1.6.2 數據鏈路層
1.6.3 網絡層
1.6.4 傳輸層
1.6.5 應用層
1.6.6 會話支持
1.6.7 內部錶示轉換
1.6.8 TCP/IP中的應用程序
1.7 TCP/IP協議族
1.8 留給讀者的問題
第2章 TCP/IP協議和設備
2.1 網絡的協議棧
2.2 分層、 協議、 端口和套接字
2.3 TCP/IP協議棧
2.4 客戶端服務器模型
2.5 TCP/IP協議層和客戶端服務器
2.6 IP層
2.7 傳輸層
2.7.1 傳輸控製協議
2.7.2 用戶數據報協議
2.8 應用層
2.9 網橋、 路由器和交換機
2.9.1 局域網分段
2.9.2 網橋
2.9.3 路由器
2.9.4 局域網交換機
2.9.5 虛擬局域網
2.9.6 VLAN幀標簽
2.10留給讀者的問題
第3章 網絡鏈路技術
3.1 示例網絡的連接
3.1.1 顯示以太網流量
3.1.2 顯示SONET鏈路
3.1.3 顯示DSL鏈路
3.1.4 顯示無綫鏈路
3.1.5 幀和鏈路層
3.2 數據鏈路層
3.3 以太網的演進
3.3.1 Ethernet II和IEEE 802.3幀
3.3.2 MAC地址
3.4 數字用戶綫(DSL)的演進
3.4.1 點到點協議(PPP)和數字用戶綫(DSL)
3.4.2 PPP成幀
3.4.3 DSL封裝
3.4.4 DSL構成
3.5 同步光縴網絡(SONET)的演進
3.5.1 網絡錯誤的說明
3.5.2 基於SONET/SDH的分組封裝
3.6 無綫局域網和IEEE 802.11
3.6.1 WiFi
3.6.2 IEEE 802.11 MAC層協議
3.6.3 IEEE 802.11幀
3.7 留給讀者的問題
第二部分 核 心 協 議
第4章 IPv4和IPv6尋址
4.1 IP尋址
4.2 網絡/主機邊界
4.3 IPv4地址
4.3.1 IPv4私有地址
4.3.2 理解IPv4地址
4.4 IPv6地址
4.4.1 IPv6地址的特徵
4.4.2 IPv6地址類型和錶示方法
4.4.3 IPv6地址前綴
4.5 子網劃分和超網劃分
4.5.1 IPv4中的子網劃分
4.5.2 子網劃分基礎
4.5.3 CIDR和VLSM
4.6 IPv6尋址細節
4.6.1 IP地址分配
4.7 留給讀者的問題
第5章 地址解析協議
5.1 ARP和局域網
5.2 ARP報文
5.3 ARP操作案例
5.4 ARP的變種
5.4.1 代理ARP協議
5.4.2 反嚮地址解析協議
5.4.3 廣域網的ARP協議
5.5 ARP和IPv6
5.5.1 鄰居發現協議
5.5.2 ND地址解析
5.6 留給讀者的問題
第6章 IPv4和IPv6頭部
6.1 分組頭部和地址
6.2 IPv4分組頭部
6.3 分片和IPv4
6.3.1 分片和最大傳輸單元
6.3.2 分片和重組
6.3.3 路徑MTU的確定
6.4 一個分片的例子
6.4.1 IPv4的局限
6.4.2 IPv6頭部結構
6.5 IPv4頭部和IPv6頭部的比較
6.5.1 IPv6頭部改動
6.6 IPv6和分片
6.7 留給讀者的問題
第7章 網際控製報文協議
7.1 ICMP和ping
7.2 ICMP消息格式
7.2.1 ICMP消息字段
7.2.2 ICMP類型字段和代碼字段
7.3 ICMP消息的發送
7.3.1 必須發送ICMP的情況
7.3.2 不能發送ICMP的情況
7.4 ping
7.5 traceroute
7.6 路徑MTU
7.7 ICMPv6
7.7.1 基本的ICMPv6消息
7.7.2 鄰居發現和自動配置
7.7.3 路由和鄰居發現
7.7.4 接口地址
7.7.5 鄰居請求和宣告
7.8 留給讀者的問題
第8章 路由
8.1 路由器和路由錶
8.2 主機和路由錶
8.3 直接和間接交付
8.3.1 路由選擇
8.3.2 沒有路由的直接交付
8.3.3 間接交付和路由器
8.4 留給讀者的問題
第9章 IP分組轉發
9.1 路由器架構
9.1.1 基本的路由架構
9.1.2 另一種路由器架構
9.2 路由器訪問
9.2.1 控製颱端口
9.2.2 輔助端口
9.2.3 網絡
9.3 轉發錶查找
9.4 雙棧、 隧道和IPv6
9.4.1 雙協議棧
9.4.2 隧道
9.5 隧道機製
9.6 為過渡所做的考慮
9.7 留給讀者的問題
第10章 用戶數據報協議
10.1 UDP端口和套接字
10.2 UDP用來做什麼
10.3 UDP包頭
10.4 IPv4和IPv6的注意事項
10.5 端口號
10.5.1 熟知端口
10.5.2 套接字
10.6 UDP操作
10.7 UDP溢齣
10.8 留給讀者的問題
第11章 傳輸控製協議
11.1 TCP與連接
11.2 TCP頭部
11.3 TCP的機製
11.4 連接和三次握手
11.4.1 連接建立
11.4.2 數據傳輸
11.4.3 關閉連接
11.5 流量控製
11.5.1 TCP的窗口
11.5.2 流量控製和擁塞控製
11.6 性能算法
11.7 TCP和FTP
11.8 留給讀者的問題
第12章 多路復用和套接字
12.1 層和應用
12.2 套接字接口
12.2.1 套接字庫
12.2.2 TCP流服務調用
12.3 套接字接口: 是好還是壞
12.3.1 原始套接字的“威脅”
12.3.2 套接字庫(不同操作係統)
12.4 Windows套接字接口
12.4.1 TCP/IP和Windows
12.4.2 Windows的套接字
12.5 基於Linux的套接字
12.6 留給讀者的問題
第三部分 路由和路由協議
第13章 路由和對等節點
13.1 網絡層路由和交換
13.2 麵嚮連接的和無連接的網絡
13.2.1 服務質量
13.3 主機路由錶
13.3.1 路由錶和FreeBSD
13.3.2 路由錶和RedHat Linux
13.3.3 路由和Windows XP
13.4 互聯網和自治域係統
13.5 當今的互聯網
13.6 路由策略的作用
13.7 對等節點
13.8 選擇一個對等節點
13.9 留給讀者的問題
第14章 內部網關協議: RIP,OSPF和IS?IS
14.1 內部路由協議
14.2 3個主要的IGP
14.3 路由信息協議
14.3.1 距離嚮量路由協議
14.3.2 鏈路斷開
14.3.3 距離嚮量的問題
14.3.4 RIPv1
14.3.5 RIPv2
14.3.6 為IPv6設計的RIPng
14.4 關於IGRP和EIGRP的介紹
14.4.1 開放最短路徑優先
14.4.2 鏈路狀態與最短路徑
14.4.3 OSPF可以做什麼
14.4.4 OSPF路由器類型及區域
14.4.5 OSPF指定路由器和備份指定路由器
14.4.6 OSPF數據報文
14.4.7 用於IPv6的OSPFv3
14.5 中間係統到中間係統
14.5.1 IS?IS的吸引力
14.5.2 IS?IS與OSPF
14.5.3 OSPF與IS?IS的相似之處
14.5.4 OSPF與IS?IS的區彆
14.5.5 用於IPv6的IS?IS
14.6 留給讀者的問題
第15章 邊界網關協議
15.1 BGP作為路由協議
15.1.1 配置BGP
15.1.2 路由策略的能力
15.2 BGP與互聯網
15.2.1 EGP與早期互聯網
15.2.2 BGP的産生
15.3 BGP作為一種路徑嚮量協議
15.4 IBGP與EBGP
15.4.1 IGP下一跳與BGP下一跳
15.4.2 BGP與內部網關協議
15.5 其他BGP協議
15.6 BGP屬性
15.7 BGP與路由策略
15.7.1 BGP擴張
15.8 BGP消息類型
15.9 BGP消息格式
15.9.1 打開消息
15.9.2 更新消息
15.9.3 通知消息
15.10留給讀者的問題
第16章 組播
16.1 初識IPv4組播傳輸協議
16.2 組播術語
16.3 密集型組播和稀疏型組播
16.4 關於組播的一些特殊標記
16.5 組播概念
16.5.1 逆嚮路徑轉發
16.5.2 RPF錶
16.5.3 填充RPF錶
16.5.4 最短路徑樹
16.5.5 匯聚點和匯聚點共享樹
16.6 組播協議
16.6.1 組播主機和路由器
16.6.2 組播組成員協議
16.6.3 組播路由協議
16.6.4 任意源組播和SSM
16.6.5 組播源發現協議
16.6.6 幀和組播
16.6.7 IPv4組播地址
16.6.8 IPv6組播地址
16.6.9 PIM?SM
16.6.10資源預留協議和PGM
16.6.11組播路由協議
16.6.12IPv6組播
16.7 留給讀者的問題
第17章 MPLS和IP交換
17.1 融閤什麼
17.1.1 快速分組交換
17.1.2 幀中繼
17.1.3 異步傳輸模式
17.1.4 為什麼還是走到瞭TCP/IP的局麵
17.2 MPLS
17.2.1 MPLS術語
17.2.2 信令和MPLS
17.2.3 標簽棧
17.2.4 MPLS和VPN
17.2.5 MPLS錶
17.3 用靜態LSP配置MPLS
17.3.1 入口路由器
17.3.2 轉接路由器
17.3.3 齣口路由器
17.3.4 traceroute和LSP
17.4 留給讀者的問題
第三部分 應 用 層
第18章 動態主機配置協議
18.1 DHCP和地址分配
18.1.1 DHCP服務器配置
18.1.2 路由器中繼代理配置
18.1.3 在LAN2上獲取地址
18.1.4 在網絡上使用DHCP
18.2 BOOTP
18.2.1 BOOTP的實現
18.2.2 BOOTP消息
18.2.3 BOOTP中繼代理
18.2.4 BOOTP“廠商特定區”選項
18.3 簡單文件傳輸協議
18.3.1 TFTP消息
18.3.2 TFTP下載
18.3.3 DHCP
18.3.4 DHCP操作
18.3.5 DHCP消息類型選項
18.4 DHCP和路由器
18.4.1 DHCPv6
18.4.2 DHCPv6和路由宣告
18.4.3 DHCPv6操作
18.5 留給讀者的問題
第19章 域名係統
19.1 DNS基礎
19.1.1 DNS體係結構
19.1.2 根域名服務器
19.1.3 根服務器的操作
19.1.4 根服務器詳情
19.2 理論上的DNS: 域名服務器、 數據庫、 解析器
19.2.1 增加一個新的主機
19.2.2 遞歸和迭代請求
19.2.3 委派及查詢
19.2.4 膠水記錄
19.3 實踐中的DNS: 資源記錄和消息格式
19.3.1 DNS消息頭
19.3.2 DNSSec
19.3.3 DNS工具: nslookup、 dig和host
19.4 DNS實例
19.5 留給讀者的問題
第20章 文件傳輸協議
20.1 綜述
20.1.1 PORT和PASV
20.2 FTP和GUIS
20.2.1 FTP基礎
20.2.2 FTP命令與應答碼
20.2.3 FTP數據傳輸
20.2.4 被動模式和端口
20.2.5 文件傳輸類型
20.2.6 FTP齣錯
20.3 FTP命令
20.3.1 變種技術
20.3.2 關於NFS
20.4 留給讀者的問題
第21章 簡單郵件傳輸協議和郵件
21.1 電子郵件的架構
21.1.1 如今的郵件發送
21.1.2 電子郵件的演進簡史
21.1.3 SMTP認證
21.1.4 簡單郵件傳輸協議
21.2 多用途互聯網郵件擴展
21.2.1 MIME媒體類型
21.2.2 MIME編碼
21.2.3 MIME消息的樣例
21.3 使用POP3訪問電子郵件
21.4 電子郵件及其頭部
21.5 傢庭辦公室的郵件
21.6 留給讀者的問題
第22章 超文本傳輸協議
22.1 HTTP的實現
22.1.1 統一資源
22.1.2 URI(統一資源標識符)
22.1.3 URL(統一資源定位符)
22.1.4 URN(統一資源名稱)
22.2 HTTP
22.2.1 HTTP的演進
22.2.2 HTTP模型
22.2.3 HTTP消息
22.3 TRAILERS和動態Web頁麵
22.3.1 HTTP請求和應答
22.3.2 HTTP方法
22.3.3 HTTP狀態碼
22.3.4 HTTP頭部
22.3.5 一般頭部
22.3.6 請求頭部
22.3.7 應答頭部
22.3.8 實體頭部
22.3.9 cookie
22.4 留給讀者的問題
第23章 安全套接字與SSL
23.1 SSL與網站
23.1.1 安全鎖
23.1.2 安全套接字層
23.2 隱私性、完整性以及認證
23.2.1 隱私性
23.2.2 完整性
23.2.3 認證
23.3 公鑰加密
23.3.1 在客戶端用便攜式計算器加密
23.3.2 例子
23.3.3 用便攜式計算器在服務器上解碼
23.4 公鑰與對稱加密
23.5 SSL協議
23.5.1 SSL協議棧
23.5.2 SSL會話建立
23.5.3 SSL數據傳輸
23.5.4 SSL實現
23.5.5 SSL的不足與爭議
23.5.6 TLS 1.1的注意事項
23.5.7 SSL與證書
23.6 留給讀者的問題
第五部分 網 絡 管 理
第24章 簡單網絡管理協議
24.1 SNMP功能
24.2 SNMP模型
24.2.1 MIB庫和SMI
24.2.2 SMI
24.2.3 MIB
24.2.4 RMON
24.2.5 私有MIB
24.3 SNMP操作
24.3.1 SNMPv2增強
24.3.2 SNMPv3
24.4 留給讀者的問題
第六部分 安 全
第25章 Secure Shell(遠程訪問)
25.1 使用SSH
25.1.1 SSH基礎
25.1.2 SSH功能
25.1.3 SSH架構
25.1.4 SSH密鑰
25.1.5 SSH協議的操作
25.1.6 傳輸層協議
25.1.7 認證協議
25.1.8 連接協議
25.1.9 文件傳輸協議
25.2 SSH的使用
25.3 留給讀者的問題
第26章 基於MPLS的虛擬專用網
26.1 PPTP的隱私性
26.1.1 VPN的種類
26.1.2 安全性和VPN
26.1.3 VPN和協議
26.1.4 PPTP協議
26.1.5 L2TP協議
26.1.6 PPTP和L2TP的對比
26.2 基於MPLS的VPN的類型
26.2.1 三層VPN(L3VPN)
26.2.2 二層VPN(L2VPN)
26.3 VPLS: 基於MPLS的L2VPN
26.3.1 每個路由器的VPLS配置
26.4 配置真的起作用嗎
26.5 留給讀者的問題
第27章 網絡地址轉換
27.1 使用NAT
27.1.1 NAT的優點和缺點
27.1.2 4種類型的NAT
27.2 實施NAT
27.3 留給讀者的問題
第28章 防火牆
28.1 防火牆的工作
28.1.1 一種路由器數據包過濾器
28.1.2 路由器上的狀態檢測
28.2 防火牆的類型
28.2.1 數據包過濾
28.2.2 應用代理
28.2.3 狀態檢測
28.2.4 DMZ
28.3 留給讀者的問題
第29章 IP安全
29.1 IPSec的使用
29.1.1 CE0
29.1.2 CE6
29.2 IPSec簡介
29.2.1 IPSec的RFC
29.2.2 IPSec的實現
29.2.3 IPSec傳輸與隧道模式
29.3 安全關聯及其他
29.3.1 安全策略
29.3.2 認證頭部
29.3.3 封裝安全載荷
29.3.4 互聯網密鑰交換
29.4 留給讀者的問題
第七部分 媒 體
第30章 IP語音
30.1 VoIP的使用
30.1.1 VoIP的優勢
30.1.2 什麼是“語音”
30.1.3 時延問題
30.1.4 語音分組化
30.2 VoIP協議
30.2.1 VoIP傳輸的RTP協議
30.2.2 信令
30.2.3 H.323國際標準
30.2.4 SIP協議,互聯網標準
30.2.5 MGCP以及Megaco/H.248
30.3 多種技術的融閤
30.4 留給讀者的問題
縮略語
參考文獻
前言/序言
譯者序
學習計算機網絡技術,特彆需要理論與實踐相結閤。在各種TCP/IP的論著中,能將理論與實踐相結閤的,最著名的就是W. Richard Stevens的《TCP/IP詳解》。這套書共三捲,結閤網絡配置、數據截圖等方式講解瞭網絡互聯的基本概念和機製,網絡協議的細節和實現,以及應用層的設計原則和技術。對於從事計算機網絡的教師以及科研人員,這套書是必讀的。
本書則是對《TCP/IP詳解》的改進。作者通過與Juniper網絡公司的閤作,搭建瞭一個真實的、接近生産規模級的網絡,該網絡包含瞭通過SONET鏈路連接的六個路由器、兩個以太局域網、兩對Windows客戶端和服務器、一對Linux主機和一對FreeBSD主機,這是一般計算機網絡科研人員難以做到的。本書中每章的內容都基於同樣的網絡拓撲和IP地址進行闡述,隨著技術的不斷深入,逐漸完成對路由器、客戶端以及服務器的配置,生動、靈活地給讀者展示瞭每種技術在實際網絡中的效果,這是純粹的理論知識介紹的書籍所無法包含的。
本書涵蓋瞭TCP/IP網絡中的大部分熱門技術,與經典的TCP/IP書籍一樣,采用瞭由下而上的方法介紹協議棧,概念清楚、準確,講解詳細,例子很多。作者在書中所介紹的協議或技術均在作者搭建的真實網絡中進行瞭實驗驗證,詳細給齣瞭網絡配置過程以及數據交互的截圖,並針對每章的內容留有一定數量的思考題。
對於學習和瞭解計算機網絡的本科生和研究生,本書可以作為他們的教材和教學參考書。對於那些從事網絡工程和技術服務的技術人員,如網絡管理員、運維人員、工程師、係統設計師和管理者,以及其他需要瞭解網絡知識的技術人員(如芯片設計者、電信工程師、軟件工程師等),本書也是一本很好的理論和實踐相結閤的參考讀物。
參加本書翻譯的有: 黃小紅、閆屾、張沛、趙欽、苑婷婷、牟澄、盧軍強。全書由馬嚴教授審校。
我們曾經期望按照中文習慣來敘述本書的內容,但是限於精力和水平,最後未能完全做到這一點,翻譯中也難免有不妥或錯誤之處,敬請讀者諒解和指正。
序
世紀交替之際,網絡融閤已經成為行業發展趨勢。通過將數據、語音、視頻、虛擬專用網(VPN)以及其他服務融閤到一套共享的基礎設施中,除瞭能夠減少投資,帶來巨大的經濟利益以外,更能夠降低運維成本,使得互聯網提供商不必針對某種服務而運維特定的設備和係統。網絡融閤的基本原則是使用一套相同的基礎設施支持多樣化的服務,即通過一個通用的封裝協議,滿足不同服務的傳輸需求——互聯網協議(Internet Protocol)就是這樣的協議。
一切基於IP
網絡行業發展日新月異。10年乃至更短的時間就足可以使一個新興的前沿技術由萌發走嚮凋亡(如ATM、幀中繼、令牌環或FDDI等)。然而,自20世紀60年代早期有瞭最初的想法,TCP/IP奇跡般地走過瞭35年的曆史,並逐步發展壯大,至今仍在不斷演進、前行。
這個由Vint Cerf與Bob Kahn在1973年提齣的協議已經經曆瞭(且將繼續經曆)數百次的改進和一次版本的重大升級,然而其核心功能與之在20世紀80年代中期時的狀態幾乎無異。在一個優勝劣汰極為殘酷的技術行業裏,TCP/IP的高齡強有力地證明瞭其過人之處。
目前為止,並沒有任何明顯跡象錶明IP技術將要退齣曆史舞颱。與此相反,越來越多基於IP的新應用、新設備和新服務不斷湧現,而IP協議的新版本——IPv6協議,因其可以為未來網絡發展提供足夠的地址空間,網絡升級過渡的必要性也日漸凸顯。雖然寫本序時IPv6尚處於部署的早期階段,但可能讀者將來某一天閱讀本書時,IPv6已成為大多數人所知道的唯一IP版本。
TCP/IP逐步統治網絡行業的故事早已在業內廣為流傳。Cerf、kahn、Jon Postel 等人以及其他對TCP/IP早期發展做齣貢獻的人同樣是ARPANET(現代互聯網的前身)的創始成員。在協議棧被集成到UNIX係統後,TCP/IP受到瞭開發者的追捧和歡迎,這為之奠定瞭雄厚的基礎,使得其有更多的機會紮根於早期尚處在繈褓階段的網絡工業中。
早期,TCP/IP被認可的程度並不理想。以政府部門和電信公司為代錶的組織機構對於工作組那套“先讓它試試,看看到底能怎樣”的不正式的標準化過程感到難以接受,這些嚴謹的組織更願意使用那些通過嚴格標準過程所産齣的協議。畢竟在當時誰也無法相信,一群滿腔熱血的學生竟然最終促成瞭如今的互聯網工程任務組(IETF)。因此,國際標準化組織(ISO)被任命來開發一個“成熟的”網絡協議族,這一協議族最終發展成為後來的開放係統互連(OSI)。
ISO擅長設計復雜而詳盡的技術標準,並且隻有當標準處於完成、可生産的狀態下纔進行發布,這種做法需要消耗大量的時間。OSI主張先使用TCP/IP作為臨時的解決方案,待到ISO標準委員會完成全部工作之後再做打算。然而,等OSI做好準備時,TCP/IP早已被廣泛部署、驗證和熟知,極少有網絡運營商願意將業務遷移到新協議上。
OSI之所以保留到今天,主要是因為IS�睮S協議和那無所不在的OSI參考模型,而TCP/IP協議則成為瞭全球性的通信傳輸協議標準。
圖解網絡
我是一個注重圖形錶達的人。我欣賞很多同事通過口頭詳述即可構建網絡場景的能力,而我則更擅長使用圖形的方式來完成對其的闡述與理解。
1994年,W. Richard Stevens發布瞭《TCP/IP詳解》的第一捲,它馬上成為瞭我最喜歡的書籍之一,同時也排在瞭我給學生推薦的參考書目清單的首位。Stevens使用圖錶、配置以及數據截圖來講授TCP/IP協議棧,這使得該書不僅僅是一本成功的教科書,更是一本全麵的案例研究。本書的可視化效果非常好,讀者完全不必坐在協議分析器前就能觀察數據包的來迴傳輸。
盡管Stevens的著作在闡釋單獨的TCP/IP組件的行為方麵已經非常齣色,但它並沒有詮釋這些組件在一個大型的真實網絡中是如何交互的。
Walt Goralski著重對此做齣瞭改進。本書同樣使用瞭由下而上的方法(Stevens的原話)來講授協議棧:每一章都建立在前麵章節的基礎上,嚮讀者展示協議是如何工作的。通過運行Juniper網絡,讀者不僅能夠看到實驗室級彆的設備交互,還能看到當今生産級規模的網絡場景,進而領略作者在真實、可視的自然狀態下對TCP/IP協議的探索與研究。
本書必將成為IP網絡實際應用的經典書籍之一,會是學生必讀書目列錶的基石之一,受到專業人士的喜愛。
Jeff Doyle
Westminster,Colorado
前言
這並不是一本教你如何使用互聯網的著作,而是告訴讀者互聯網是如何成為對用戶有用的網絡的。互聯網是一個公共的、全球性的網絡,基於TCP/IP協議,故其通常又稱為互聯網協議族。網絡協議就是一係列為瞭完成某些功能所必須遵守的規則。TCP/IP 實際上是傳輸控製協議(TCP)和互聯網協議(IP)兩個協議的閤成,這兩個協議可以使信息在網絡之間進行傳輸,是互聯網早期最先使用的兩個協議。TCP/IP是現代網絡的核心與靈魂,本書則使用圖解的方式介紹瞭它們的工作流程。通過跟蹤數據在各種互聯網連接中的傳輸過程,讀者可以觀察到現今的網絡是如何在TCP/IP的支撐下完成工作的。
讀者對象
本書主要介紹通用網絡技術,尤其是互聯網技術。我並不肯定絲毫網絡知識經驗都沒有的人可以理解整本書籍的內容。但是,任何隻要在綫收發過郵件、瀏覽過網頁、下載過電影或歌麯,與世界各地的親友聊過天的人,在理解本書內容時都不會感到過於睏難。
在每章的末尾都留有思考題,這使得本書可以作為高中學生或者計算機科學和電子工程院係的大學生研修第一門計算機網絡課程的教科書。同時,它又不僅僅是一本教科書,對於那些初涉電信行業或緻力於入職以互聯網為其業務計劃重要組成部分的公司(這樣的公司越來越多)的讀者而言,本書具有同樣的寶貴價值。
書中隻有一章用到瞭C語言的代碼,並且它僅僅是為瞭給讀者提供一些必要信息,所有高中階段沒有納入的數學內容在本書中都沒有被提及。書中沒有微積分、沒有概率論,沒有隨機過程等等內容,一切內容簡單易懂。一些必須用到數學功底的內容,比如公鑰加密內容中使用的“便攜式計算機”以及Diffie�睭ellman密鑰分配案例等,作者都認真地進行瞭設計,使得數學內容變得盡可能簡單。
本書獨一無二的特點
本書的過人之處在於你很難在其他同類書籍中找到有關TCP/IP的如下內容:
1. 書中每一章的每個案例都基於相同定義的網絡拓撲和網絡地址;
2. 同等對待IPv4和IPv6協議,同步介紹兩種互聯網協議涉及的所有概念;
3. 除TCP/IP協議外,本書還講解瞭路由協議以及TCP/IP的上層應用;
4. 書中討論的網絡模型基於真實的網絡運營商和企業級的以太網;
5. 既講解利用協議所能實現的服務和功能,又講解功能背後的協議原理;
6. 涵蓋瞭諸如MPLS、IPSec等一般講解TCP/IP書籍中所不涉及的話題。
那麼,本書采用此種方式闡述的初衷為何呢?我觀察到,即使是生活在如今互聯網發達的時代裏,仍然很少有人研究整個網絡,更鮮有將路由器、TCP/IP、互聯網和大量相關主題融會貫通的案例。看上去講瞭不少,學瞭很多,但是當考慮與這些議題相關的復雜原理時你就會發現,泛在的計算機“掃盲教學”和基本編程語言課程真正所覆蓋的內容少之又少。
當我寫這本書並將它打印齣來放在我工作的地方時,一名芯片設計師發現瞭它,並饒有興趣地開始閱讀。當我迴來取打印稿時,他正著迷於某些章節,並當場錶示對於本書的獲取意願。通過與他的交談,我意識到成韆上萬的人進入瞭互聯網行業,其中很多人都來自其他學科和領域。隨著互聯網的發展,社會對於數字通信結構的依賴仍在繼續,越來越多的人需要這樣的綜述來瞭解現今的網絡是如何運轉的。僅靠本書中零星的網絡知識肯定無法滿足讀者的求知欲和好奇心。我希望每一位讀者都能尋找到一種方法,增長對於某個感興趣領