计算机网络知识整理-公开
2021-08-18 14:57:51 0 举报
AI智能生成
计算机网络知识整理
作者其他创作
大纲/内容
前言
浏览器生成消息
委托协议栈发送消息
生成HTTP 请求消息
请求行 消息头 消息体 状态行
向DNS 服务器查询Web服务器的IP 地址
网络号 机器号 子网掩码
IP 地址的主机号
全 0:表示整个子网
全 1:表示向子网上所有设备发送包,即“广播”
控制流程转移
全世界DNS 服务器的大接力
查找DNS
缓存
委托协议栈发送消息
准确地说,IP 地址不是分配给每一台设备的,而是分配给设备中安装的网
络硬件的。因此,如果一台设备中安装了多个网络硬件,那么就会有多个
IP 地址。
描述符:应用程序用来识别套接字的机制
IP 地址和端口号:客户端和服务器之间用来识别对方套接字的机制
用电信号传输TCP/IP 数据
创建套接字
协议栈是根据套接字中记录的控制信息来工作的。
netstat -ano
连接服务器
连接实际上是通信双方交换控制信息,在套接字中记录这些必要信息并准备数据收发的一连串操作。
第一类是客户端和服务器相互联络时交换的控制信息。这些信息不仅连接时需要,包括数据收发和断开连接操作在内,整个通信过程中都需要,这些内容在TCP 协议的规格中进行了定义。
控制信息还有另外一类,那就是保存在套接字中,用来控制协议栈操作的信息A。应用程序传递来的信息以及从通信对象接收到的信息都会保存在这里,还有收发数据操作的执行状态等信息也会保存在这里,协议栈会根据这些信息来执行每一步的操作
套接字的控制信息和协议栈的程序本身其实是一体的
通信操作中使用的控制信息分为两类。
(1) 头部中记录的信息
(2) 套接字(协议栈中的内存空间)中记录的信息
几次确认?SYN和ACK标志位
连接操作的实际过程
连接操作的第一步是在TCP 模块处创建表示连接控制信息的头部。
通过TCP 头部中的发送方和接收方端口号可以找到要连接的套接字。
收发数据
协议栈并不是一收到数据就马上发送出去,而是会将数据存放在内部的发送缓冲区中
第一个判断要素是每个网络包能容纳的数据长度
另一个判断要素是时间
MTU:一个网络包的最大长度,以太网中一般为 1500 字节。
MSS:除去头部之后,一个网络包所能容纳的 TCP 数据的最大长度。
ACK 与窗口的合并
初始序号随机
使用窗口有效管理 ACK 号
滑动窗口
根据网络包平均往返时间调整 ACK 号等待时间
网络拥塞
从服务器断开并删除套接字
数据发送完毕后断开连接
不过,套接字并不会立即被删除,而是会等待一段时间之后再被删除
IP 与以太网的包收发操作
IP 模块负责添加如下两个头部。
(1) MAC 头部:以太网用的头部,包含 MAC 地址
(2) IP 头部:IP 用的头部,包含 IP 地址
IP 头部的“接收方 IP 地址”填写通信对象的 IP 地址。
发送方 IP 地址需要判断发送所使用的网卡,并填写该网卡的 IP地址。
route print
通过 ARP 查询目标路由器的 MAC 地址
arp -a
IP包转换成光电信号发出去
叠加时钟周期
报头,起始帧分界符,用于检测错误的帧校验序列
以太网
MAC:Media Access Control 的缩写
网卡中保存的 MAC 地址会由网卡驱动程序读取并分配给 MAC模块。
UDP 协议的收发操作
从网线到网络设备
信号在网线和集线器中传输
每个包都是独立传输的
信号衰减和噪声
MDI/MDI-X切换开关
也有一些产品上没有切换开关,而是安装了 MDI 和 MDI-X 两种接口。此外,还有一些产品能够自动判断 MDI 和 MDI-X 并在两种模式间自动切换
交叉网线
集线器将信号发送给所有连接在它上面的线路。
交换机的包转发操作
大家可以认为交换机的每个网线接口后面都是一块网卡
交换机端口的 MAC 模块不具有 MAC 地址。
交换机根据 MAC 地址表查找 MAC 地址,然后将信号发送到相应的端口。
自动协商:确定最优的传输速率
在以太网中,当没有数据在传输时,网络中会填充一种被称为连接脉冲的脉冲信号。
以太网设备的网线接口周围有一个绿色的 LED 指示灯,它表示是否检测到正常的脉冲信号。如果绿灯亮,说明 PHY(MAU)模块以及网线连接正常。
MAC 模块、缓冲区、内存和总线部分的异常无法通过这个指示灯来判断。
路由器的包转发操作
路由器是基于 IP 设计的,而交换机是基于以太网设计的
路由器转发模块和端口模块的关系,就相当于协议栈的 IP 模块和网卡之间的关系
以以太网端口为例,路由器的端口具有 MAC 地址,因此它就能够成为以太网的发送方和接收方。端口还具有 IP 地址,从这个意义上来说,它和计算机的网卡是一样的。但端口并不会成为 IP 的发送方和接收方
端口是按照以太网规范接收包的,即当端口的 MAC 地址和包的接收方MAC 地址一致时,端口才接受这个包,否则就丢弃包
路由器根据“IP 地址”判断转发目标
交换机在地址表中只匹配完全一致的记录,而路由器则会忽略主机号部分,只匹配网络号部分。
路由聚合
路由表的子网掩码列只表示在匹配网络包目标地址时需要对比的比特数量
路由表记录维护的方式和交换机也有所不同。交换机中对 MAC 地址表的维护是包转发操作中的一个步骤 ,而路由器中对路由表的维护是与包转发操作相互独立的
对路由表进行维护的方法有几种,大体上可分为以下两类。
(a)由人手动维护路由记录
(b) 根据路由协议机制,通过路由器之间的信息交换由路由器自行维护路由表的记录
路由器的端口都具有 MAC 地址,只接收与自身地址匹配的包,遇到不匹配的包则直接丢弃
通过路由器转发的网络包,其接收方 MAC 地址为路由器端口的MAC 地址。
路由表中子网掩码为 0.0.0.0 的记录表示“默认路由”。
包的有效期
通过分片功能拆分大网络包
路由器和 Windows 不一样,当包可以直接发送到最终接收方时,一般网关列是留空的
路由器也会使用 ARP 来查询下一个转发目标的 MAC 地址。
路由器将包的传输工作委托给交换机来进行
IP(路由器)负责将包送达通信对象这一整体过程,而其中将包传输到下一个路由器的过程则是由以太网(交换机)来负责的。
路由器的附加功能
地址转换和包过滤功能
通过接入网进入互联网内部
ADSL 接入网的结构和工作方式
ADSL:Asymmetric Digital Subscriber Line
互联网接入路由器会在网络包前面加上 MAC 头部、PPPoE 头部、PPP 头 部 总 共 3 种 头 部, 然 后 发 送 给 ADSL Modem(PPPoE 方式下)。
ATM:Asynchronous Transfer Mode,异步传输。它是在以电话线为载体的传统电话技术基础上扩展出来的一种通信方式。它的数据传输是以“信元”为单位来进行的,这和以包为单位传输数据的 TCP/IP 很像,但这种方式并不适用于计算机通信
ADSL Modem 采用了一种用圆滑波形(正弦波)对信号进行合成来表示 0 和 1 的技术,这种技术称为调制。
调制有很多方式,ADSL 采用的调制方式是振幅调制(ASK)和相位调制(PSK)相结合的正交振幅调制(QAM)方式
振幅调制和相位调制
ADSL 通过使用多个波来提高速率
分离器的作用
DSLAM 具有 ATM 接口,和后方路由器收发数据时使用的是原始网络包拆分后的 ATM 信元形式。
BAS 负责将 ATM 信元还原成网络包并转发到互联网内部。
BAS:Broadband Access Server,宽带接入服务器。
光纤接入网(FTTH)
波分复用
分光器
接入网中使用的PPP 和隧道
用户认证和配置下发
PPPoE 是将 PPP 消息装入以太网包进行传输的方式。
互联网接入路由器通过 PPPoE 的发现机制查询 BAS 的 MAC 地址。
BAS 下发的 TCP/IP 参数会被配置到互联网接入路由器的 BAS端的端口上,这样路由器就完成接入互联网的准备了
一对一连接的端口可以不分配 IP 地址,这种方式称为无编号。
PPPoA 方式不添加 MAC 头部和 PPPoE 头部,而是直接将包装入信元中。
还有一种 DHCP 方式,它不使用 PPP,而是将以太网包直接转换成 ADSL 信号发送给 DSLAM。
网络包通过接入网之后,到达运营商 POP 的路由器。
网络运营商的内部
运营商之间的路由信息交换
跨越运营商的网络包
互联网内部使用 BGP 机制在运营商之间交换路由信息。BGP:Border Gateway Protocol,边界网关协议
IX:Internet eXchange,中文一般叫作“互联网交换中心”。
服务器端的局域网中有什么玄机
Web 服务器的部署地点
防火墙的结构和原理
通过将请求平均分配给多台服务器来平衡负载
使用缓存服务器分担负载
最原始的代理——正向代理
正向代理的改良版——反向代理
内容分发服务
请求到达Web 服务器,响应返回浏览器
服务器概览
确定某个套接字时使用下面 4 种信息来进行判断:
客户端 IP 地址
客户端端口号
服务器 IP 地址
服务器端口号
服务器的接收操作
使用描述符来指代套接字的原因如下。
(1)等待连接的套接字中没有客户端 IP 地址和端口号
(2)使用描述符这一种信息比较简单
网卡的 MAC 模块将网络包从信号还原为数字信息,校验 FCS并存入缓冲区
网卡驱动会根据 MAC 头部判断协议类型,并将包交给相应的协议栈
协议栈的 IP 模块会检查 IP 头部,(1) 判断是不是发给自己的;(2) 判断网络包是否经过分片;(3) 将包转交给 TCP 模块或 UDP模块。
如果收到的是发起连接的包,则 TCP 模块会(1) 确认 TCP 头部的控制位 SYN;(2) 检查接收方端口号;(3) 为相应的等待连接套接字复制一个新的副本;(4) 记录发送方 IP 地址和端口号等信息
收到数据包时,TCP 模块会(1) 根据收到的包的发送方 IP 地址、发送方端口号、接收方 IP 地址、接收方端口号找到相对应的套接字;(2) 将数据块拼合起来并保存在接收缓冲区中;(3) 向客户端返回 ACK
Web 服务器程序解释请求消息并作出响应
浏览器接收响应消息并显示内容
收藏
收藏
0 条评论
下一页