⽹络是怎样连接的pdf
下载地址:
内容简介 · · · · · ·
本书以探索之旅的形式,从在浏览器中输⼊⽹址开始,⼀路追踪了到显⽰出⽹页内容为⽌的整个过程,以图配⽂,讲解了⽹络的全貌,并重点介绍了实际的⽹络设备和软件是如何⼯作的。⽬的是帮助读者理解⽹络的本质意义,理解实际的设备和软件,进⽽熟练运⽤⽹络技术。同时,专设了“⽹络术语其实很简单”专栏,以对话的形式介绍了⼀些⽹络术语的词源,颇为⽣动有趣。
本书图⽂并茂,通俗易懂,⾮常适合计算机、⽹络爱好者及相关从业⼈员阅读。
作者简介 · · · · · ·
作者简介:
户根勤
早先从事软件开发,后进⼊⽹络⾏业。曾供职于⽇本⽹络设备⼚商(外资企业)和国内⽹络集成商,从
事产品开发和技术咨询等⼯作。在⼯作之余还进⾏演讲、写作等活动。1998年离开公司,开始以演讲、写作以及运营论坛为主业。
译者简介:
周⾃恒电大小企业管理
资深技术图书译者、全栈程序员、⾃然科学爱好者。初中时曾获得信息学奥赛天津赛区⼀等奖,曾任某管理咨询公司战略技术总监。译有《图解CIO⼯作指南(第4版)》《⼤数据的冲击》《代码的未来》《30天⾃制操作系统》《图解密码技术》《家⽤游戏机简史》《有趣的⼆进制》等。 ⽬录 · · · · · ·
——探索浏览器内部
1.1 ⽣成HTTP请求消息 5
1973号决议1.1.1 探索之旅从输⼊⽹址开始 5
1.1.2 浏览器先要解析URL 7
1.1.3 省略⽂件名的情况 9
1.1.4 HTTP的基本思路 10
1.1.5 ⽣成HTTP请求消息 14
1.1.6 发送请求后会收到响应 20
1.2 向DNS服务器查询Web服务器的IP地址 24 1.2.1 IP地址的基本知识 24
1.2.2 域名和IP地址并⽤的理由 28
1.2.3 Socket库提供查询IP地址的功能 30
1.2.4 通过解析器向DNS服务器发出查询 31
1.2.5 解析器的内部原理 32
1.3 全世界DNS服务器的⼤接⼒ 35
1.3.1 DNS服务器的基本⼯作 35
1.3.2 域名的层次结构 38
1.3.3 寻相应的DNS服务器并获取IP地址 40
1.3.4 通过缓存加快DNS服务器的响应 44
1.4 委托协议栈发送消息 45
1.4.1 数据收发操作概览 45
1.4.2 创建套接字阶段 48
1.4.3 连接阶段:把管道接上去 50
1.4.4 通信阶段:传递消息 52
1.4.5 断开阶段:收发数据结束 53
怪杰Resolver 55
第2章 ⽤电信号传输TCP/IP数据 57
——探索协议栈和⽹卡
2.1 创建套接字 61
2.1.1 协议栈的内部结构 61
2.1.2 套接字的实体就是通信控制信息 63
2.1.3 调⽤socket时的操作 66
2.2 连接服务器 68小麻豆
2.2.1 连接是什么意思 68
2.2.2 负责保存控制信息的头部 70
2.2.3 连接操作的实际过程 73
2.3 收发数据 75
2.3.1 将HTTP请求消息交给协议栈 75
2.3.2 对较⼤的数据进⾏拆分 78
2.3.3 使⽤ACK号确认⽹络包已收到 79
2.3.4 根据⽹络包平均往返时间调整ACK号等待时间 83 2.3.5 使⽤窗⼝有效管理ACK号 84
2.3.6 ACK与窗⼝的合并 87
2.3.7 接收HTTP响应消息 89
2.4 从服务器断开并删除套接字 90
2.4.1 数据发送完毕后断开连接 90
2.4.2 删除套接字 92
2.4.3 数据收发操作⼩结 93
2.5 IP与以太⽹的包收发操作 95
2.5.1 包的基本知识 95
2.5.2 包收发操作概览 99
2.5.3 ⽣成包含接收⽅IP地址的IP头部 102
2.5.4 ⽣成以太⽹⽤的MAC头部 106
2.5.5 通过ARP查询⽬标路由器的MAC地址 108 2.5.6 以太⽹的基本知识 111
2.5.7 将IP包转换成电或光信号发送出去 114
2.5.8 给⽹络包再加3个控制数据 116
2.5.9 向集线器发送⽹络包 120
2.5.10 接收返回包 123
2.5.11 将服务器的响应包从IP传递给TCP 125
2.6 UDP协议的收发操作 128
2.6.1 不需要重发的数据⽤UDP发送更⾼效 128
2.6.2 控制⽤的短数据 129
2.6.3 ⾳频和视频数据 130
插进Socket⾥的是灯泡还是程序 132
第3章 从⽹线到⽹络设备 135
——探索集线器、交换机和路由器
3.1 信号在⽹线和集线器中传输 139
3.1.1 每个包都是独⽴传输的 139
3.1.2 防⽌⽹线中的信号衰减很重要 140
3.1.3 “双绞”是为了抑制噪声 141
3.1.4 集线器将信号发往所有线路 146
3.2 交换机的包转发操作 149
3.2.1 交换机根据地址表进⾏转发 149
3.2.2 MAC地址表的维护 153
3.2.3 特殊操作 154
3.2.4 全双⼯模式可以同时进⾏发送和接收 155
3.2.5 ⾃动协商:确定最优的传输速率 156
3.2.6 交换机可同时执⾏多个转发操作 159
3.3 路由器的包转发操作 159
3.3.1 路由器的基本知识 159
3.3.2 路由表中的信息 162
3.3.3 路由器的包接收操作 166
3.3.4 查询路由表确定输出端⼝ 166
3.3.5 不到匹配路由时选择默认路由 168
3.3.6 包的有效期 169
3.3.7 通过分⽚功能拆分⼤⽹络包 170
3.3.8 路由器的发送操作和计算机相同 172
3.3.9 路由器与交换机的关系 173
3.4 路由器的附加功能 176
孔燕松 孔瑶竹3.4.1 通过地址转换有效利⽤IP地址 176
3.4.2 地址转换的基本原理 178
行波进位加法器
3.4.3 改写端⼝号的原因 180
3.4.4 从互联⽹访问公司内⽹ 181
3.4.5 路由器的包过滤功能 182
集线器和路由器,换个名字⾝价翻倍? 184
第4章 通过接⼊⽹进⼊互联⽹内部 187
——探索接⼊⽹和⽹络运营商
4.1 ADSL接⼊⽹的结构和⼯作⽅式 191
4.1.1 互联⽹的基本结构和家庭、公司⽹络是相同的 191 4.1.2 连接⽤户与互联⽹的接⼊⽹ 192
4.1.3 ADSL Modem将包拆分成信元 193
4.1.4 ADSL将信元“调制”成信号 197
4.1.5 ADSL通过使⽤多个波来提⾼速率 200
4.1.6 分离器的作⽤ 201
4.1.7 从⽤户到电话局 203
4.1.8 噪声的⼲扰 204
4.1.9 通过DSLAM到达BAS 205
4.2 光纤接⼊⽹(FTTH) 206
4.2.1 光纤的基本知识 206
4.2.2 单模与多模 208
新闻自由论文4.2.3 通过光纤分路来降低成本 213
4.3 接⼊⽹中使⽤的PPP和隧道 217
4.3.1 ⽤户认证和配置下发 217
4.3.2 在以太⽹上传输PPP消息 219
4.3.3 通过隧道将⽹络包发送给运营商 223
4.3.4 接⼊⽹的整体⼯作过程 225
4.3.5 不分配IP地址的⽆编号端⼝ 228
4.3.6 互联⽹接⼊路由器将私有地址转换成公有地址 228 4.3.7 除PPPoE之外的其他⽅式 230
4.4 ⽹络运营商的内部 233
4.4.1 POP和NOC 233
4.4.2 室外通信线路的连接 236
4.5 跨越运营商的⽹络包 238
4.5.1 运营商之间的连接 238
4.5.2 运营商之间的路由信息交换 239
4.5.3 与公司⽹络中⾃动更新路由表机制的区别 241 4.5.4 IX的必要性 242
4.5.5 运营商如何通过IX互相连接 243
名字叫服务器,其实是路由器 246
第5章 服务器端的局域⽹中有什么⽞机 249
5.1 Web服务器的部署地点 253
5.1.1 在公司⾥部署Web服务器 253
5.1.2 将Web服务器部署在数据中⼼ 255
5.2 防⽕墙的结构和原理 256
5.2.1 主流的包过滤⽅式 256
5.2.2 如何设置包过滤的规则 256
5.2.3 通过端⼝号限定应⽤程序 260
5.2.4 通过控制位判断连接⽅向 260
5.2.5 从公司内⽹访问公开区域的规则 262
5.2.6 从外部⽆法访问公司内⽹ 262
5.2.7 通过防⽕墙 263
5.2.8 防⽕墙⽆法抵御的攻击 264
5.3 通过将请求平均分配给多台服务器来平衡负载 265 5.3.1 性能不⾜时需要负载均衡 265
5.3.2 使⽤负载均衡器分配访问 266
5.4 使⽤缓存服务器分担负载 270
5.4.1 如何使⽤缓存服务器 270
5.4.2 缓存服务器通过更新时间管理内容 271
5.4.3 最原始的代理——正向代理 276
5.4.4 正向代理的改良版——反向代理 278
5.4.5 透明代理 279
5.5 内容分发服务 280
5.5.1 利⽤内容分发服务分担负载 280
5.5.2 如何到最近的缓存服务器 282
5.5.3 通过重定向服务器分配访问⽬标 285
5.5.4 缓存的更新⽅法会影响性能 287
当通信线路变成局域⽹ 291
第6章 请求到达Web服务器,响应返回浏览器 293 ——短短⼏秒的“漫长旅程”迎来终点
6.1 服务器概览 297
6.1.1 客户端与服务器的区别 297
6.1.2 服务器程序的结构 297
6.1.3 服务器端的套接字和端⼝号 299
6.2 服务器的接收操作 305
6.2.1 ⽹卡将接收到的信号转换成数字信息 305
6.2.2 IP模块的接收操作 308
6.2.3 TCP模块如何处理连接包 309
6.2.4 TCP模块如何处理数据包 311
6.2.5 TCP模块的断开操作 312
6.3 Web服务器程序解释请求消息并作出响应 313
6.3.1 将请求的URI转换为实际的⽂件名 313
6.3.2 运⾏CGI程序 316
6.3.3 Web服务器的访问控制 319
6.3.4 返回响应消息 323
6.4 浏览器接收响应消息并显⽰内容 323
6.4.1 通过响应的数据类型判断其中的内容 323 6.4.2 浏览器显⽰⽹页内容!访问完成! 326 Gateway是通往异世界的⼊⼝ 328
附录 330
后记 334
致谢 334
作者简介 335
下载地址: