第1章引言1
1.1协议和标准1
协议1
标准2
1.2标准化组织2
标准创建委员会2
论坛3
管理机构3
1.3因特网标准3
成熟等级4
需求等级5
1.4因特网的管理机构6
因特网协会(ISOC)6
因特网体系结构研究委员会(IAB)6
因特网工程部(IETF)7
因特网研究部(IRTF)7
因特网赋号管理局(IANA)和因特网名称和号码分配公司(ICANN)7
网络信息中心(NIC)7
1.5简要的历史7
ARPANET8
因特网的诞生8
传输控制协议/网际协议(TCP/IP)8
MILNET9
CSNET9
NFSNET9
ANSNET9
今日的因特网9
大事记10
1.6小结10
1.7练习题11
多项选择11
习题13
第2章OSI模型和TCP/IP协议族14
2.1OSI模型14
层次体系结构14
对等进程16
2.2OSI模型中的层次17
物理层17
数据链路层18
网络层19
运输层19
会话层21
表示层21
应用层23
2.3TCP/IP协议族23
物理层和数据链路层24
网络层24
运输层25
应用层26
2.4编址26
物理地址26
因特网地址27
端口地址28
2.5TCP/IP的版本30
版本430
版本530
版本630
2.6小结30
2.7练习题31
多项选择31
习题33
第3章底层的技术35
3.1传输媒体35
导向媒体35
非导向媒体39
3.2局域网(LAN)39
以太网40
令牌环44
光纤分布式数据接口(FDDI)46
3.3交换49
电路交换49
分组交换50
报文交换52
3.4广域网(WAN)52
点对点协议(PPP)52
X.2552
帧中继54
异步传递方式(ATM)57
3.5连接设备60
转发器61
网桥61
路由器63
网关64
3.6小结65
3.7练习题67
多项选择67
习题74
编程练习76
第4章IP编址77
4.1十进制记法78
4.2地址的种类78
A类78
B类79
C类79
D类80
E类80
确定一个地址的类80
提取Netid和Hostid80
多接口设备81
位置不是名字82
4.3特殊地址82
网络地址82
直接广播地址83
受限广播地址83
这个网络上的这个主机83
这个网络上的特定主机84
环回地址85
4.4互联网的一个实例86
4.5单播、多播和广播地址87
单播地址87
多播地址87
广播地址89
4.6申请IP地址89
地址的种类89
Netid和Hostid89
管理机构89
4.7专用网89
4.8小结90
4.9练习题91
多项选择91
习题94
编程练习97
第5章构成子网和超网98
5.1构成子网98
三级层次结构99
5.2掩码运算100
构成子网中的特殊地址100
连续掩码和不连续掩码101
5.3子网构成举例102
A类地址构成子网102
B类地址构成子网103
C类地址构成子网105
5.4使用变长子网划分107
5.5构成超网108
超网掩码108
无分类域间路由选择(CIDR)109
5.6小结110
5.7练习题111
多项选择111
习题113
第6章IP分组的交付和路由选择118
6.1面向连接和无连接服务118
6.2直接交付和间接交付118
直接交付118
间接交付119
6.3路由选择的方法120
下一跳路由选择120
特定网络路由选择120
特定主机路由选择121
默认路由选择122
6.4静态和动态路由选择122
静态路由表122
动态路由表123
6.5路由选择模块和路由表的设计123
路由表123
路由选择模块125
举例125
6.6小结127
6.7练习题127
多项选择127
习题130
编程练习130
第7章网际协议(IP)132
7.1数据报132
7.2分片136
最大传送单元(MTU)136
与分片有关的字段138
7.3选项140
格式140
选项类型141
7.4检验和146
发送端的检验和计算146
接收端的检验和计算147
IP分组中的检验和148
举例148
7.5IP的设计149
添加首部模块150
处理模块150
队列151
路由表151
路由选择模块151
MTU表151
重装表152
重装模块152
7.6小结153
7.7练习题154
多项选择154
习题157
编程练习158
第8章ARP和RARP160
8.1ARP161
分组格式162
封装163
操作163
代理ARP164
8.2ARP的设计166
高速缓存表166
队列168
输出模块168
输入模块169
高速缓存控制模块169
ARP举例170
8.3RARP172
分组格式173
封装174
RARP的另一种解决方法174
8.4小结174
8.5练习题175
多项选择175
习题177
编程练习178
第9章因特网控制报文协议(ICMP)179
9.1报文的类型180
9.2报文格式180
9.3差错报告181
目的站不可达182
源站抑制184
时间超过185
参数问题186
改变路由186
9.4查询188
回送请求和回答188
时间戳请求和回答189
地址掩码请求和回答191
路由器询问和通告191
9.5检验和192
检验和的计算193
检验和的测试193
举例193
9.6ICMP的设计193
输入模块194
输出模块195
9.7小结195
9.8练习题196
多项选择196
习题199
编程练习200
第10章因特网组管理协议(IGMP)202
10.1多播202
多播地址202
10.2IGMP203
报文的类型203
报文格式203
单个网络中IGMP的操作203
因特网中IGMP的操作205
将IP地址改变为物理地址206
10.3封装207
10.4多播主干网(MBONE)208
10.5IGMP的设计208
组表209
计时器210
组加入模块210
组离开模块210
输入模块211
输出模块211
IGMP举例212
10.6小结214
10.7练习题215
多项选择215
习题217
编程练习219
第11章用户数据报(UDP)220
11.1进程到进程的通信221
端口号221
插口地址224
11.2用户数据报225
11.3检验和226
在发送端的检验和计算227
在接收端的检验和计算227
举例227
检验和的选项使用228
11.4UDP的操作228
无连接服务228
流控制和差错控制228
封装和拆装229
排队230
复用和分用231
11.5UDP的使用232
11.6UDP的设计232
控制块表233
输入队列233
控制块模块233
输入模块233
输出模块234
举例234
11.7小结235
11.8练习题236
多项选择236
习题239
编程练习240
第12章传输控制协议(TCP)242
12.1进程到进程的通信243
端口地址243
插口地址245
12.2TCP的服务245
流式数据服务245
全双工服务245
可靠服务246
12.3报文段246
12.4选项248
12.5检验和250
12.6流控制251
滑动窗口251
窗口管理253
糊涂窗口综合症254
12.7差错控制256
差错检测和纠正256
12.8TCP的计时器259
重传计时器259
坚持计时器261
保活计时器261
时间等待计时器261
12.9连接261
连接建立262
连接终止263
连接复位264
12.10状态转换图265
客户端流程图265
服务器端流程图267
12.11拥塞控制267
12.12TCP的操作268
封装和拆装269
排队269
复用和分用269
急迫数据270
紧急数据270
12.13TCP的设计271
传输控制块(TCB)272
计时器272
主模块272
输入处理模块276
输出处理模块276
12.14小结276
12.15练习题277
多项选择277
习题282
编程练习284
第13章路由选择协议(RIP,OSPF和BGP)285
13.1内部和外部路由选择285
13.2RIP287
距离向量路由选择287
RIP的报文格式289
请求和响应290
RIP中的计时器291
缓慢收敛292
不稳定性293
解决稳定性的一些方法294
RIP版本2296
鉴别296
封装296
13.3OSPF297
区域297
度量297
链路状态路由选择298
分组的类型305
分组的格式306
封装313
13.4BGP313
路径向量路由选择314
分组的类型315
分组的格式316
封装319
13.5多播路由选择320
DVMRP320
MOSPF320
13.6小结320
13.7练习题321
多项选择321
习题327
编程练习329
第14章应用层和客户服务器模型330
14.1客户服务器模型330
客户332
服务器332
14.2并发332
客户中的并发332
服务器中的并发333
14.3进程335
概念335
进程标识336
进程的创建337
14.4小结340
14.5练习题341
多项选择341
习题344
编程练习345
第15章BOOTP和DHCP346
15.1BOOTP346
分组的格式346
操作348
UDP端口349
使用TFTP350
中继代理350
15.2动态主机配置协议(DHCP)350
租用351
DHCP的操作351
分组的格式352
15.3小结353
15.4练习题353
多项选择353
习题356
编程练习357
第16章域名系统(DNS)358
16.1名字空间358
平面名字空间358
层次名字空间358
16.2域名空间359
标号359
域名359
域361
16.3域名空间的分布361
名字服务器的层次结构361
区362
根服务器363
主服务器和从服务器363
16.4因特网中的DNS363
类属域363
国家域365
反向域366
16.5解析367
解析程序367
名字到地址的映射367
地址到名字的映射367
递归解析367
迭代解析367
高速缓存368
16.6DNS报文369
首部370
16.7记录的类型371
问题记录372
资源记录373
16.8压缩374
16.9举例374
16.10DDNS377
16.11封装378
16.12小结378
16.13练习题379
多项选择379
习题382
第17章TELNET和Rlogin384
17.1概念384
分时的环境384
注册384
17.2网络虚拟终端(NVT)386
17.3NVT的字符集387
数据字符387
远程控制字符387
17.4嵌入388
17.5选项389
17.6选项协商389
激活一个选项390
禁止一个选项390
举例392
对称392
17.7子选项协商392
17.8对服务器进行控制393
17.9带外信令394
17.10转义字符395
17.11操作方式396
默认方式396
字符方式396
行方式396
17.12举例396
17.13用户接口398
17.14RLOGIN(远程注册)399
TCP端口399
连接399
流控制399
命令400
方式401
17.15安全问题402
17.16小结402
17.17练习题403
多项选择403
习题407
第18章文件传送协议(FTP)409
18.1连接410
控制连接410
数据连接410
18.2通信411
通过控制连接的通信411
通过数据连接的通信412
18.3命令处理413
命令413
响应416
18.4文件传送418
18.5用户接口420
18.6匿名FTP421
18.7小结421
18.8练习题422
多项选择422
习题424
第19章简单文件传送协议(TFTP)426
19.1报文426
RRQ426
WRQ427
DATA427
ACK428
ERROR428
19.2连接429
连接建立429
连接终止430
19.3数据传送430
流控制430
差错控制430
巫士徒弟的错误431
19.4UDP端口432
19.5TFTP举例432
19.6TFTP选项434
19.7安全性434
19.8应用434
19.9小结435
19.10练习题436
多项选择436
习题438
第20章简单邮件传送协议(SMTP)439
20.1用户代理(UA)441
发送邮件441
接收邮件441
20.2地址442
本地部分442
域名443
20.3延迟交付443
发送端的时延443
接收端的时延444
中间环节的时延444
20.4别名444
一对多的扩展444
多对一的扩展446
20.5邮件传送代理(MTA)446
20.6命令和响应447
命令447
响应449
20.7邮件传送阶段451
连接建立451
报文传送451
连接终止452
20.8通用因特网邮件扩充(MIME)453
MIME版本453
内容类型454
内容传送编码456
内容标识458
内容描述459
20.9邮局协议(POP)459
20.10小结459
20.11练习题460
多项选择460
习题464
第21章简单网络管理协议(SNMP)466
21.1概念466
管理器和代理466
构件467
21.2SMI467
名字468
类型469
编码方法470
21.3MIB473
访问MIB变量473
字典式排序476
21.4SNMP476
报文476
格式477
编码479
21.5举例480
21.6UDP端口484
21.7小结484
21.8练习题485
多项选择485
习题489
第22章超文本传送协议(HTTP)491
22.1HTTP事务491
报文491
22.2请求报文492
请求行493
方法494
22.3响应报文495
状态行495
22.4首部497
通用首部497
请求首部498
响应首部498
实体首部499
22.5举例499
22.6小结501
22.7练习题502
多项选择502
习题504
第23章万维网(WWW)505
23.1超文本和超媒体505
23.2浏览器的体系结构506
23.3静态文档507
23.4HTML507
万维网页面的结构509
标记509
举例513
23.5动态文档514
23.6通用网关接口(CGI)515
CGI程序515
环境变量516
输入516
输出517
举例517
23.7活动文档520
创建、编译和执行520
23.8JAVA521
类和对象521
例化521
继承521
软件包522
小应用程序的骨架522
HTML文档524
举例524
23.9小结527
23.10练习题528
多项选择528
习题532
编程练习532
第24章插口接口534
24.1一些定义534
已定义的数据类型534
因特网地址结构534
因特网插口地址结构535
24.2插口536
插口类型536
24.3字节的排序537
大数在前的字节顺序537
小数在前的字节顺序538
网络字节顺序538
字节顺序的转换538
24.4地址转换539
24.5字节操纵函数540
24.6关于远程主机的信息541
24.7插口系统调用542
socket542
bind543
connect543
listen544
accept544
sendto544
recvfrom545
read545
write546
close546
24.8无连接循环服务器547
服务器547
客户548
24.9UDP客户服务器程序548
服务器程序548
客户程序550
24.10面向连接并发服务器551
服务器552
客户552
24.11TCP客户服务器程序554
服务器程序555
客户程序556
24.12小结558
24.13练习题558
多项选择558
习题563
编程练习564
第25章下一代:IPv6和ICMPv6565
25.1IPv6565
25.2IPv6的地址566
十六进制冒号记法566
地址的种类567
地址空间指派568
25.3IPv6的分组格式573
基本首部573
优先级575
流标号576
IPv4首部和IPv6首部的比较577
扩展首部577
IPv4和IPv6的比较584
25.4ICMPv6584
差错报告584
查询588
25.5从IPv4过渡到IPv6593
双协议栈593
隧道技术594
首部转换595
25.6小结596
25.7练习题597
多项选择597
习题602
编程练习604
附录AASCII码605
附录 B数制和转换609
B.1数制609
十进制数609
二进制数610
八进制数611
十六进制数612
B.2转换613
从其他系统转换到十进制613
从十进制转换到其他系统614
从二进制转换到八进制或十六进制614
从八进制或十六进制转换到二进制615
附录 C二进制数的表示617
C.1无符号数617
C.2带符号数618
原码618
二进制反码619
二进制补码620
C.3二进制反码的进一步讨论622
找出补码622
两个数相加622
附录 D差错检测624
D.1差错的类型624
单个比特差错624
多个比特差错625
突发差错625
D.2检测626
冗余626
垂直冗余检验(VRC)627
纵向冗余检验(LRC)628
循环冗余检验(CRC)629
检验和631
附录 E加密/解密632
E.1常规方法633
DES633
E.2公开密钥方法634
RSA加密635
E.3鉴别636
附录 FMIB对象638
F.1系统组638
F.2接口组638
F.3IP组639
F.4ICMP组641
F.5TCP组642
F.6UDP组642
附录 G高级数据链路控制(HDLC)644
G.1站的类型644
G.2配置644
G.3通信方式645
NRM645
ARM645
ABM646
G.4帧646
G.5关于帧的进一步讨论649
I帧650
S帧650
U帧650
G.6链路接入规程(LAP)650
LAPB650
LAPD651
LAPM651
附录 H项目802652
H.1项目802.1653
H.2项目802.2653
LLC653
PDU653
MAC654
附录 IASN.1656
I.1数据的类型和值656
简单类型656
结构化类型657
标记658
划分子类型658
值658
I.2模块和宏658
模块659
宏659
附录 J支撑树660
J.1支撑树和桥660
算法661
形成支撑树662
举例663
J.2支撑树和多播路由选择664
附录K联系地址665
附录LRFC667
附录MUDP和TCP端口669
多项选择和部分习题的解答671
缩写词693
词汇表701
参考文献725
