本书适合
1. 菜鸟程序员入门进阶
2. 中级程序员查漏补缺
3. 高手程序员向家人(女友、老妈等)普及计算机知识
a.如果你好奇从在浏览器中输入网址到显示出网页内容网络中到底发生了什么
b.如果你想知道网络设备和软件在网络内部是如何工作的
c.如果你已经掌握了一些零散的网络知识但是想要形成完整的知识脉络
d.如果你想在工作和生活中更好地应用网络
那么就该读一读这本书,全面系统地掌握网络基础知识!
以图配文,深入讲解网络基础知识
语言通俗,即使是文科生也能看得懂
特设“网络术语其实很简单”专栏,生动有趣
网络是怎样连接的 内容简介
《网络是怎样连接的》以探索之旅的形式,从在浏览器中输入网址开始,一路追踪了到显示出网页的内容为止的整个过程,以图配文,讲解了网络的全貌,并重点介绍了实际的网络设备和软件是如何工作的。目的是帮助读者理解网络的本质意义,理解实际的设备和软件,进而熟练运用网络技术。同时,专设了“网络术语其实很简单”专栏,以对话的形式介绍了一些网络术语的词源,颇为生动有趣。
网络是怎样连接的 目录
第1章 浏览器生成消息——探索浏览器内部
1.1 生成HTTP请求消息
1.1.1 探索之旅从输入网址开始
1.1.2 浏览器先要解析URL
1.1.3 省略文件名的情况
1.1.4 HTTP的基本思路
1.1.5 生成HTTP请求消息
1.1.6 发送请求后会收到响应
1.2 向DNS服务器查询Web服务器的IP地址
1.2.1 IP地址的基本知识
1.2.2 域名和IP地址并用的理由
1.2.3 Socket库提供查询IP地址的功能
1.2.4 通过解析器向DNS服务器发出查询
1.2.5 解析器的内部原理
1.3 全世界DNS服务器的大接力
1.3.1 DNS服务器的基本工作
1.3.2 域名的层次结构
1.3.3 寻找相应的DNS服务器并获取IP地址
1.3.4 通过缓存加快DNS服务器的响应
1.4 委托协议栈发送消息
1.4.1 数据收发操作概览
1.4.2 创建套接字阶段
1.4.3 连接阶段:把管道接上去
1.4.4 通信阶段:传递消息
1.4.5 断开阶段:收发数据结束
COLUMN 网络术语其实很简单
怪杰Resolver
第2章 用电信号传输TCP/IP数据——探索协议栈和网卡
2.1 创建套接字
2.1.1 协议栈的内部结构
2.1.2 套接字的实体就是通信控制信息
2.1.3 调用socket时的操作
2.2 连接服务器
2.2.1 连接是什么意思
2.2.2 负责保存控制信息的头部
2.2.3 连接操作的实际过程
2.3 收发数据
2.3.1 将HTTP请求消息交给协议栈
2.3.2 对较大的数据进行拆分
2.3.3 使用ACK号确认网络包已收到
2.3.4 根据网络包平均往返时间调整ACK号等待时间
2.3.5 使用窗口有效管理ACK号
2.3.6 ACK与窗口的合并
2.3.7 接收HTTP响应消息
2.4 从服务器断开并删除套接字
2.4.1 数据发送完毕后断开连接
2.4.2 删除套接字
2.4.3 数据收发操作小结
2.5 IP与以太网的包收发操作
2.5.1 包的基本知识
2.5.2 包收发操作概览
2.5.3 生成包含接收方IP地址的IP头部
2.5.4 生成以太网用的MAC头部
2.5.5 通过ARP查询目标路由器的MAC地址
2.5.6 以太网的基本知识
2.5.7 将IP包转换成电或光信号发送出去
2.5.8 给网络包再加3个控制数据
2.5.9 向集线器发送网络包
2.5.10 接收返回包
2.5.11 将服务器的响应包从IP传递给TCP
2.6 UDP协议的收发操作
2.6.1 不需要重发的数据用UDP发送更高效
2.6.2 控制用的短数据
2.6.3 音频和视频数据
COLUMN 网络术语其实很简单
插进Socket里的是灯泡还是程序
第3章 从网线到网络设备——探索集线器、交换机和路由器
3.1 信号在网线和集线器中传输
3.1.1 每个包都是独立传输的
3.1.2 防止网线中的信号衰减很重要
3.1.3 “双绞”是为了抑制噪声
3.1.4 集线器将信号发往所有线路
3.2 交换机的包转发操作
3.2.1 交换机根据地址表进行转发
3.2.2 MAC地址表的维护
3.2.3 特殊操作
3.2.4 全双工模式可以同时进行发送和接收
3.2.5 自动协商:确定最优的传输速率
3.2.6 交换机可同时执行多个转发操作
3.3 路由器的包转发操作
3.3.1 路由器的基本知识
3.3.2 路由表中的信息
3.3.3 路由器的包接收操作
3.3.4 查询路由表确定输出端口
3.3.5 找不到匹配路由时选择默认路由
3.3.6 包的有效期
3.3.7 通过分片功能拆分大网络包
3.3.8 路由器的发送操作和计算机相同
3.3.9 路由器与交换机的关系
3.4 路由器的附加功能
3.4.1 通过地址转换有效利用IP地址
3.4.2 地址转换的基本原理
3.4.3 改写端口号的原因
3.4.4 从互联网访问公司内网
3.4.5 路由器的包过滤功能
COLUMN 网络术语其实很简单
集线器和路由器,换个名字身价翻倍?
第4章 通过接入网进入互联网内部——探索接入网和网络运营商
4.1 ADSL接入网的结构和工作方式
4.1.1 互联网的基本结构和家庭、公司网络是相同的
4.1.2 连接用户与互联网的接入网
4.1.3 ADSL Modem将包拆分成信元
4.1.4 ADSL将信元“调制”成信号
4.1.5 ADSL通过使用多个波来提高速率
4.1.6 分离器的作用
4.1.7 从用户到电话局
4.1.8 噪声的干扰
4.1.9 通过DSLAM到达BAS
4.2 光纤接入网(FTTH)
4.2.1 光纤的基本知识
4.2.2 单模与多模
4.2.3 通过光纤分路来降低成本
4.3 接入网中使用的PPP和隧道
4.3.1 用户认证和配置下发
4.3.2 在以太网上传输PPP消息
4.3.3 通过隧道将网络包发送给运营商
4.3.4 接入网的整体工作过程
4.3.5 不分配IP地址的无编号端口
4.3.6 互联网接入路由器将私有地址转换成公有地址
4.3.7 除PPPoE之外的其他方式
4.4 网络运营商的内部
4.4.1 POP和NOC
4.4.2 室外通信线路的连接
4.5 跨越运营商的网络包
4.5.1 运营商之间的连接
4.5.2 运营商之间的路由信息交换
4.5.3 与公司网络中自动更新路由表机制的区别
4.5.4 IX的必要性
4.5.5 运营商如何通过IX互相连接
COLUMN 网络术语其实很简单
名字叫服务器,其实是路由器
第5章 服务器端的局域网中有什么玄机
5.1 Web服务器的部署地点
5.1.1 在公司里部署Web服务器
5.1.2 将Web服务器部署在数据中心
5.2 防火墙的结构和原理
5.2.1 主流的包过滤方式
5.2.2 如何设置包过滤的规则
5.2.3 通过端口号限定应用程序
5.2.4 通过控制位判断连接方向
5.2.5 从公司内网访问公开区域的规则
5.2.6 从外部无法访问公司内网
5.2.7 通过防火墙
5.2.8 防火墙无法抵御的攻击
5.3 通过将请求平均分配给多台服务器来平衡负载
5.3.1 性能不足时需要负载均衡
5.3.2 使用负载均衡器分配访问
5.4 使用缓存服务器分担负载
5.4.1 如何使用缓存服务器
5.4.2 缓存服务器通过更新时间管理内容
5.4.3 最原始的代理——正向代理
5.4.4 正向代理的改良版——反向代理
5.4.5 透明代理
5.5 内容分发服务
5.5.1 利用内容分发服务分担负载
5.5.2 如何找到最近的缓存服务器
5.5.3 通过重定向服务器分配访问目标
5.5.4 缓存的更新方法会影响性能
COLUMN 网络术语其实很简单
当通信线路变成局域网
第6章 请求到达Web服务器,响应返回浏览器——短短几秒的“漫长旅程”迎来终点
6.1 服务器概览
6.1.1 客户端与服务器的区别
6.1.2 服务器程序的结构
6.1.3 服务器端的套接字和端口号
6.2 服务器的接收操作
6.2.1 网卡将接收到的信号转换成数字信息
6.2.2 IP模块的接收操作
6.2.3 TCP模块如何处理连接包
6.2.4 TCP模块如何处理数据包
6.2.5 TCP模块的断开操作
6.3 Web服务器程序解释请求消息并作出响应
6.3.1 将请求的URI转换为实际的文件名
6.3.2 运行CGI程序
6.3.3 Web服务器的访问控制
6.3.4 返回响应消息
6.4 浏览器接收响应消息并显示内容
6.4.1 通过响应的数据类型判断其中的内容
6.4.2 浏览器显示网页内容!访问完成!
COLUMN 网络术语其实很简单
Gateway是通往异世界的入口
附录
后记
致谢
网络是怎样连接的 精彩文摘
(1)生成 HTTP 请求消息
本次探索之旅从用户在浏览器中输入网址(URL)开始。接下来,浏览器的工作会从对用户输入的网址进行解析开始。浏览器如何解析网址就是我们的第一个看点。然后,浏览器会根据网址的含义来生成请求消息。浏览器通过请求消息将用户需要哪些数据告知服务器,而请求消息实际的样子就是我们的第二个看点。只要理解了具体的消息长什么样,我们也就能够理解访问 Web 服务器时使用的 HTTP 协议的原理了。
(2)向 DNS 服务器查询 Web 服务器的 IP 地址
请求消息生成之后,浏览器会委托操作系统向 Web 服务器发送请求,但浏览器必须告诉操作系统接收方的 IP 地址才行,因此浏览器必须先查出 Web 服务器的 IP 地址。网址中只有 Web 服务器的域名,因此浏览器需要向 DNS 服务器查询域名对应的 IP 地址,浏览器如何进行这一操作也是本章看点之一。
(3)全世界 DNS 服务器的大接力
这时,我们的旅程进入到了 DNS 服务器帮助浏览器查询 IP 地址这一环节了。全世界共有上万台 DNS 服务器,它们相互接力才能完成 IP 地址的查询,而它们进行接力的方法也是本章看点之一。
(4)委托协议栈发送消息
查询到 IP 地址之后,浏览器就可以将消息委托给操作系统发送给 Web 服务器了,但这个委托到底是如何完成的呢?这也是本章看点之一。“委托给操作系统”这句话看似简单,但关于委托给操作系统,其实有非常详细的规则,必须要遵守这些规则才能完成操作。由于只有编写程序的人才需要精通这些规则,所以面向一般读者的图书中几乎很少见到对这些规则的解释。不过,对这些规则有个大概的理解还是会有很多好处的,因为理解了向操作系统进行委托时的规则,我们就能够明白做出某个委托时操作系统会给我们怎样的反馈,这可以说是相当于具体地理解了网络的潜在能力。这一点对于没有编程经验的人来说也很重要。
本文来自热恋少女投稿,不代表电子书资源网立场,如若转载,请联系原作者获取。