《网络是怎样连接的》读书笔记
2022-05-18 10:02:24 0 举报
AI智能生成
图解 户根勤的《网络是怎样连接的》第二版
作者其他创作
大纲/内容
总览图
待补充
网络包流程
https://blog.csdn.net/weixin_46733442/article/details/106269376
各层专业术语
URL组成
URI(统一资源标识符)存放资源的文件或者程序
请求方法GET、POST等
通用头
请求头
响应头
实体头
消息头字段
状态码
HTTP协议组成
HTTP消息格式
生成HTTP请求信息
子网掩码是一个32位的2进制数, 其对应网络地址的所有位都置为1,对应于主机地址的所有位置都为0。子网掩码告知路由器,地址的哪一部分是网络地址,哪一部分是主机地址,使路由器正确判断任意IP地址是否是本网段的,从而正确地进行路由。如:192.168.10.11 AND 255.255.255.0,结果为192.168.10.0,其表达的含义为:该IP地址属于 192.168.10.0这个网络,其主机号为11,即这个网络中编号为11的主机。
IP地址结构
向DNS服务器查询Web服务器IP地址
一级域名:.com、.cn、.gov、.us二级域名:baidu.com、jd.com、taobao.com三级域名:baike.baidu.com
域名分类
使用的是UDP协议
DNS解析器工作原理
全世界DNS接力
委托协议栈发送消息
探索浏览器内部(第一章)
ICMP:用于告知网络包传送过程中产生的错误以及各种控制消息ARP:根据 IP 地址查询相应的以太网 MAC 地址
总览
头部信息
netstat显示套接字信息在协议栈内部有一块用于存放控制信息的内存空间,这里记录了用于控制通信操作的控制信息,例如通信对象的 IP 地址、端口号、通信操作的进行状态等。本来套接字就只是一个概念而已,并不存在实体,如果一定要赋予它一个实体,我们可以说这些控制信息就是套接字的实体,或者说存放控制信息的内存空间就是套接字的实体。
套接字
消息收发操作
头部控制信息(客户端和服务器相互联络时交换的控制信息)
套接字控制信息(协议栈会根据这些来执行每一步的操作)
控制信息
连接阶段:ACK号=序号初始值+1收发操作:ACK号=序号+数据长度(不包括:以太网协议头=14字节,IP头=20字节,TCP头=20字节)断开操作(可由任意一方发起):ACK号=序号+1步骤9和步骤10之间会有多次数据发送,ACK号不变步骤11结束后会有2MSL的等待时间,一是保证TCP的全双工连接能够可靠关闭,二保证这次连接的重复数据段从网络中消失
整体流程
滑动窗口与数据缓冲区
TCP
IP模块是整个包传输过程的入口,会封装IP头部和MAC头部信息
模块作用
传输方式
MAC地址查询方式
IP
本地MAC地址目标MAC地址协议类型
组成
MAC模块:从报头开始将数字信息按每个比特转换成电信号PHY(MAU)模块:会将信号转换为可在网线上传输的格式,并通过网线发送出去。
硬件组成
数据包组成
网卡
以太网
IP和以太网
不需要消息已送达信息很少,重发代价小,比如DNS解析
适用场景
UDP
用电信号传输TCP/IP数据(第二章)
使用双绞线传输信号
网线
信号发送给所有连接在它上面的线路
集线器
信号在网线和集线器中传输
交换机端口的 MAC 模块不具有 MAC 地址当交换机发现一个包要发回到原端口时,就会直接丢弃这个包。
内部构造
收到包时,将发送方 MAC 地址以及其输入端口的号码写入MAC 地址表中删除时,过一段时间自动删除
MAC地址表维护
交换机的包转发操作
转发模块负责判断包的转发目的地端口模块负责包的收发操作路由器的各个端口都具有 MAC 地址和 IP 地址
路由器会忽略主机号,只匹配网络号目的网络地址(Destination) + 子网掩码(Netmask):确定本机可以达到的目的网络范围网关(Gateway):下一跳地址跃点数(Metric):到达目标地址所需要的总路由器个数
路由表
地址转换
路由器的包转发操作
集线器、交换机和路由器(第三章)
分离器需要负责将电话和 ADSL 的信号进行分离
ADSL Modem 将包拆分成信元,并转换成电信号发送给分离器
ADSL 接入网的结构和工作方式
光通信原理
光纤接入网(FTTH)
拨号上网中的PPP
ADSL中的PPP
FTTH中的PPP
DHCP
接入网中使用的 PPP 和隧道(PPPoE 是将 PPP 消息装入以太网包进行传输的方式。)
网络包通过接入网之后,到达运营商 POP 的路由器
概览
POP 的结构根据接入网类型以及运营商的业务类型不同而不同。POP 中包括各种类型的路由器,路由器的基本工作方式是相同的,但根据其角色分成了不同的类型。
POP概览
网络运营商的内部
不同运营商之间的路由信息交换
IX可以理解为一个中心设备,不同运营商之间通过连接到中心设备的方式来减少线路数量,其实体为高性能交换机
不同运营商之间的物理连接
跨越运营商的网络包
探索接入网和网络运营商(第四章)
部署在公司(无防火墙):安全性差,大流量会导致服务器压力大部署在公司(有防火墙):安全性较高,会过滤流量部署在服务中心:有防火墙,数据传输效率高
Web 服务器的部署地点
包过滤方式的防火墙可根据接收方 IP 地址、发送方 IP 地址、接收方端口号、发送方端口号、控制位等信息来判断是否允许某个包通过
原理
主要是规则表
结构
防火墙的结构和原理
是采用多台 Web 服务器,减少每台服务器的访问量
轮询切换DNS服务IP
使用负载均衡器
方法
通过将请求平均分配给多台服务器来平衡负载
URI部分为路径,所以只能转发给指定Web服务器
有缓存的情况
使用正向代理时,URI 部分为http://... 这样的完整网址,因此可以根据这个网址转发给任意Web 服务器
正向代理(能拿到数据包内容,所以可以根据数据内容进行权限控制)
通过将请求消息中的 URI 中的目录名与 Web 服务器进行关联
反向代理
其他用途
利用缓存服务器分担负载
缓存服务部署的地点
通过路由表分配目标
通过重定向服务器分配目标(请求头中的Location)
如何找到最近的缓存服务器
内容分发服务(CDN)
服务端的局域网(第五章)
在执行accept 的时候,一般来说服务器端都是处于等待包到达的状态,这时应用程序会暂停运行。在这个状态下,一旦客户端的包到达,就会返回响应包并开始接受连接操作。描述符1会一直存在,作为等待连接的描述符
通信过程
服务器概览
网卡接收到包后通过中断的方式通知CPU执行操作
服务器的接收操作
将请求的 URI 转换为实际的文件名
文件目录与实际目录不同,需要转换
IP控制
域名控制
用户名、密码控制
访问权限控制
返回消息
Web 服务器程序解释请求消息并作出响应
根据头部数据类型Content-Type判断内容
渲染界面
浏览器接收响应消息并显示内容
服务端响应Web请求(第六章)
网络是怎样连接的
收藏
0 条评论
回复 删除
下一页