声明:本笔记参考
视频:https://www.bilibili.com/video/BV1p69tYZEvN
博客笔记:https://saurlax.com/blog/computer-network(部分懒得做笔记的地方是直接在他身上修改的)
叠甲:本笔记仅供参考,易有错漏和不足,有一些后面加上的也来不及及时更新到网页上
计网

计网模型
OSI模型计网七大层次:
交换单元:
1.应用层 APDU
Application Layer
2.表示层 PPDU
Presentation Layer
3.会话层 SPUD
Session Layer
4.传输层 <–各层协议–> TPDU
Transport Layer
5.网络层 数据报
Network Layer
6.数据链路层 帧
Data Link Layer
7.物理层 比特
Physical Layer
传输过程一定从上到下 再 从下到上
同层之间可以在 逻辑上 以某种协议进行传输
TCP/IP模型四层次:
= TCP/IP协议栈
只有1、4、5、6,6为链路层
※五层参考模型
综合了SI 七层模型的理论严谨性和 TCP/IP 四层模型的实践简洁性
应用、传输、网络、链路、物理:
- 应用层:网络应用程序及其应用层协议。应用层的数据单元称为报文(message)。
- 运输层:提供端到端的数据传输。如 TCP、UDP。运输层的分组称为报文段(segment)。
- 网络层:将数据报(datagram)从源主机传输到目的主机。如 IP。
- 链路层:将数据帧(frame)从一个节点传输到相邻节点。
- 物理层:传输比特流。
每一层的用处
1.物理
关注信道,不关注物理的介质
2.数据链路层
数据链路层使用物理层提供的服务器再通信信道上发送和接收比特
向网络层提供一个定义良好的接口 将比特序列组织成帧 错误检测和纠正 调节数据流
3.网络层
简单来说:寻址用的
将数据传输到目标地址时,目标地址可以是多个网络通过路由器连接而成的某个地址
该层负责寻址和路由选择 -> 传送数据不归网络层管,按照什么路线走归网络层管
4.传输层
目标是向应用层上的进程提供高效的、可靠的和性价比合理的数据传输服务
简单来说:传输数据
5.会话层
负责建立和断开通信连接
-> 何时建立、断开,连接保持多久
6.表示层
负责数据格式的转换,将应用层处理的信息转换为数和网络传输的格式,或者将下一层的数据转换为上层能够处理的格式
7.应用层
为应用程序提供服务并规定应用程序中通信相关的细节
计算机网络的定义
以能够相互共享资源的方式互联起来的自治计算机系统的集合,可以从以下四个方面来理解:

基本概念
ISP:互联网服务提供商
节点:计算机、交换机、路由器等构成的网络的硬件都可以称为网络中的节点
主机:通过网络为其他机器提供服务的计算机,也称服务器
客户端:指从主机处获得服务的计算机,也称为终端
报文:网络中交换与传输的数据单元
分组:为了从根源系统向目的端系统发送一个报文
比特(bit):小写b,1b代表一个二进制位
字节(byte):大写B,1B = 8bit 1KB = 2^10 B
服务:一层向他上一层提供一组原语(操作)
数据报:数据链路层传输的基本单位
带宽:网络中某信道传输数据的能力,单位是bit/s or b/s(不是B/s!! 注意单位换算) 此时1k b/s = 10 ^ 3b/s
ISP层级

网络分类:
1.个域网 2.局域网 3.城域网 4.广域网

#一、物理层
研究的不是物理介质,而是物理信道

传输介质:
双绞线(Twisted Pair)
即可以用于传输模拟信息,也可以用于传输数字信息
水晶头:RJ45
双绞线分为外部有屏蔽的(STP)双绞线和没有屏蔽的(UTP)双绞线两类
光纤(Fiber)
由三部分组成,分别是光源、传输介质、检测器
分为单模光纤和多模光纤,传输距离不同,单模广泛应用于长距离传输、多模适用于近距离
同轴电缆(coaxial cable)
比非屏蔽双绞线有更好的屏蔽特性和更大的带宽。
无线传输
常见的有无线电波、微波、红外线、激光
无线电波:具有较强的穿透能力,可以实现长距离传输。应用领域有手机通信、无线局域网、广播
微波:卫星通信
红外线:不可见光的一种,常用于近距离遥控
激光:点对点,易受天气影响
物理设备:
各个物理设备工作在不同层次:
物理层:Hub:集线器(半双工) Repeater:中继器
数据链路层:Switch:交换机(全双工)
传输层:路由器(Router)
Hub = 群聊:你发一句,群里所有人都能收到;两个人同时发就会“撞车”(冲突)。
Switch = 私信:你发消息,交换机只看“发给谁”,只把消息送到那个人的窗口;别人一般不会收到
传输标准命名规则:

编码:
1.归零编码(RZ):
正电平代表逻辑1,负电平代表逻辑0,每传输完一位数据,信号返回到0电平
2.不归零(NRZ)编码:
高表示1,低表示0
3.反向不归零(NRZI)编码:信号翻转表示0,不翻转表示1
基于上一个信号来看
4.曼彻斯特编码
低到高为0,高到低为1
5.差分曼彻斯特编码
有翻转表示0,不翻转表示1
数字调制
数字调制:为了发送数字信息 ,必须设法使用模拟信号表示比特。比特和代表他们的信号之间的映射过程成为数字调制
码元:码元就是数字调制过程中用来承载信息的基本信号单位,它通过特定的映射关系,将一组比特和一个特殊的信号状态对应起来,从而实现数字信号的传输。 -> 一个码元可以表达多个二进制
**波特率:**单位时间内传输的码元格式,单位为波特BUND,可表达信号传输速率 关注的是物理信号的变化,即底层通信的速率
比特率:单位时间内传输的比特个数,单位比特bit,可表达数据传输速率,关注的是数据传输的数据量,即有用信息的速率
数字调制单中波特率和比特率的关系:
B 波特率 C 比特率 N 码元的离散状态数

码元的离散状态数:每个码元所能表示的不同状态的数量(本质就是01有多少种组合,一log就是一个码元的比特数,整那么多b高深的)
数字调制方法:
有调幅、调频、调相三种方式,实际过程中通常结合在一起用
调幅(AM):幅移键控
调频(FM):频移键控
调相(PM):相移键控
此时可以结合上面的公式出题:
奈奎斯特定理
无噪声:理想状态下
无噪声下:
码元速率极限值B与信道带宽的关系B = 2H
H为信号的**+,即信道传输上、下限**频率差值,单位是hz
无噪声信道传输能力
香农公式
有噪声时:
一条带宽为H,有噪声信道的最大传输速率为:
S:信号功率 N:噪声功率 S/N:信噪比 
一般会用分贝为单位做计算————> dB = 10lg(S/N)
宽带接入技术
- ADSL(Asymmetric Digital Subscriber Line):非对称数字用户线,利用现有电话线提供上下行不对称的高速数据传输。
- HFC(Hybrid Fiber Coax):光纤同轴混合网络,由光纤主干和同轴电缆组成。
- FTTx(Fiber To The x):光纤到 x,如 FTTH(光纤到户)、FTTB(光纤到楼)等。
- 无线接入:如 Wi-Fi、4G、5G 等无线接入技术。
交换
交换方式包括:电路交换、报文交换、分组交换
这三种交换技术是数据通信网络中实现从源到目的传输数据的核心机制
电路交换:
Circuit Switching
包括建立连接、传送数据、释放连接,需要“呼叫建立”阶段,比如传统电话网

报文交换:
发送前无需建立连接,以报文作为数据传输单位,中间每个节点都需要缓冲存储

分组交换:
Packet Switching
与报文一样,也采用“存储 - 转发”的方式
将大的报文分成小的分组,每个分组携带源地址,目的地址以及编号等信息,中间节点多分组进行存储转发,目标站点将接收到的分组根据编号重新组装成报文
常用于虚电路网络和数据报中(都是网络层中的服务器类型)
像发快递,把数据切割成小包,各自选路传输,在接收端重组。资源共享,利用率高,允许拥塞控制,适合突发性数据业务(如互联网 IP 网络)。

信道复用
是指在优先的物理信道资源上,通过不同方式让多个信号共享同一个信道,以提高资源利用率和通信效率。对物理信道进行进行复用主要有三种方法:频率、时间和编码。
属于电路交换
频分复用(FDM)
Frequency Division Multiplexing
将可用带宽划分为多个频段,每个信号占据不同的频段进行传输
时分复用(TDM)
Time-Division Multiplexing
多个信号按照时间片轮流占用整个信道,每个信号在不同的时间间隔内传输
码分复用(CDM 又称码分多址CDMA)
Code Division Multiplexing
在同样的时间和频率共享信道,但每个用户使用不同的编码来区分信号

在计网中,任意两个节点的码片是序列是正交的,从而实现多用户共存且互不干扰

任何码片与自己归一化的内积一定为1,与反码的归一化为-1
大的要来了:
波分复用(WDM)
本质上是频分复用的光学形式 类似FDM,但用于光纤通信,每个信号用不同波长的光进行传输
物理层接口特性
理解为上

二、数据链路层
核心任务是在物理层提供的比特流基础上,提供可靠的数据传输,并确保数据能正确地从一个设备发送到另一个设备
- 封装成帧:将网络层的数据包封装成帧,添加帧头和帧尾。
- 透明传输:确保数据中的任何比特组合都能够正确传输。
- 差错控制:检测并可能纠正传输过程中的差错。
- 调节数据流:控制发送方的发送速率,使接收方来得及处理。
- 介质访问控制
- (向网络层提供一个定义良好的接口
将比特序列组织成帧/从比特流中解析帧
错误检测和纠正
调节数据流
介质访问控制)
概念:
局域网技术
以太网(Ethernet):
传统以太网:10Mbps,使用 CSMA/CD 算法。 快速以太网:100Mbps。 千兆以太网:1Gbps。 万兆以太网:10Gbps。 以太网 MAC 地址:48 位全球唯一地址,前 24 位为厂商代码,后 24 位由厂商分配。
无线局域网(WLAN):
IEEE 802.11 系列标准:802.11a/b/g/n/ac/ax 等。 使用 CSMA/CA 机制避免冲突。 支持基础结构模式(通过 AP 连接)和自组织模式(设备直接连接)
BSS:基本服务集 一个BSS包含一个或多个无线站点和一个中央基站(AP)
网络链路:

帧(FRAME)
在数据链路层,数据是以“帧”的形式进行传输的,每一帧通常包含:
帧头(Frame Header):包含地址信息(源、目的,此时的地址为MAC地址)、帧类型、控制信息等
数据(Frame payload):承载来自网络层的数据报文(通常是IP数据)
帧尾(Trailer):通常把包含校验和用于检测数据传输错误
注意:是将网络层数据报封装成帧,不要理所当然从下往上 ,然后传到物理层的时候,再将帧转换成比特流。
帧长 64 ~1518B
帧头一般14B :目的 MAC(6B)源 MAC(6B)类型/长度(2B) → 共 14 字节
帧尾一般4B:FCS(Frame Check Sequence),帧检验序列,用来检测帧在传输过程中是否出错
最小帧长:Minimum frame size,由后文的最小帧长,与早期的2.5km 缆段,经典10Mbps以太网得出最小帧长为500b(512b作为余量),
最大帧长:Maximum frame size,由帧太大 → 占用共享介质太久 → 其他站等待时间长,且帧越大,出错时重传代价越高,一般MTU不高于1500,加18B得1518B。
最大最小帧长的由各类协议保留沿用至今
有效数据范围(MTU):由上得46 ~ 1500
帧太大 → 占用共享介质太久 → 其他站等待时间长
错误影响范围 帧越大,出错时重传代价越高
MTU:数据字段最大长度(不是最大帧长,一般为1500)

封装成帧的方法:
字节计数法:
Byte-count framing
在帧的头部添加一个字段,指明该帧的字节数
- 优点:简单容易实现,占用的额外开销少
- 缺点:如果计数字段的数据被传输错误,会导致数据同步错误,接收端可能会错误地解析数据
字符填充法:
Character stuffing
使用特殊字符表示起始(SOH)结束(EOT),并在数据中避免特殊字符字段冲突
如果数据中包含SOH或者EOT,则使用转义字符(ESC)加在前面防止误判
- 优点:解决了字节计数法的同步问题,适用于字符流(传输文本的场景)
- 缺点:增加了额外的转义字符,可能会占用带宽
比特填充法:
Bit stuffing
使用特定的比特模式作为帧的起始和终止标志,并在数据部分中避免比特模式的冲突
- 优点:适用于任何比特流,不局限于字符编码(比字符填充更通用)
- 缺点:需要额外的比特填充,稍微增加了传输的开销
物理层编码法:
Physical layer coding violation
数据报封装成帧之后,直接在物理层使用信号的变化来标识帧的起始和结束,而不是依赖特定的比特模式。 -> 直接用物理层的办法解决边界问题
- 优点:不需要填充比特,不会增加额外的开销
- 缺点:以来物理层的编码方式,不适用于所有的链路层协议
错误检测:
以下是错误检测的方法,错误检测广泛存在于各个层次

奇偶校验:
奇/偶校验发送接收方实现协商好的,不管什么校验都是数据中1的个数的奇偶性
->在数据末尾添加一位校验位,使得”1”的个数为奇数(奇校验)或偶数(偶校验)。
校验和:Checksum
回卷相加:进位加到最低位
- 优点:比奇偶校验强,能检测更多错误,简单高效,计算量小
- 缺点:不能检测所有错误
常用领域:TCP,UDP(传输层)
循环冗余校验(CRC):

设生成多项式n位,则末尾加 n - 1 个0,需要余数 n - 1位,除法用模二除,即列式时只看第一位且减时异或。
CRC中的多项式实际上时“多进制多项式”,其是实现由协议规定好的,固定不变的
得到CRC码后放到末尾
接收方收到数据除以生成多项式,除得尽则没有问题
常用:WIFI、Ethernet、PPP
海明码:
可用于检错:能检测双个比特错,纠正单个比特错。
校验位位置在 2 的整数次幂处,校验位添0或者1取决于奇校验还是偶校验,然后从低位到高位排序就是出错的地方。
介质访问控制子层(MAC)
介质访问控制子层(MAC)解决多个设备共享同一传输介质的问题,又叫信道分割式,在多个设备共享同一个通信介质(信道)时,如何协调发送,避免/处理冲突,并保证一定公平性。主要方法包括:
信道分配:静态信号分配(前文亦有记载)
类似于把道路简单地分配成多条车道,其实就是前面的信道划分
信道划分:
- 频分多路复用(FDM) Frequency Division Multiplexing
- 时分多路复用(TDM) Time-Division Multiplexing
- 码分多路复用(CDM) Code Division Multiplexing
- 波分多路复用(WDM)
信道分配:动态信号分配
随机访问:
- ALOHA 协议:设备可以随时发送数据,冲突后随机延迟重发。(完全随机 + 碰撞重传)
可以升级为时隙ALOHA(Slotted ALOHA,将时间划分为等长的时隙,节点只能在时隙的起始时刻发送数据包,不能在中途或任意时间发送)。
- CSMA(载波侦听多路访问):发送前先侦听信道是否忙。(没人说话才开口)
- CSMA/CD(CSMA with Collision Detection):边发送边检测冲突,发现冲突后立即停止。
解决的是有线网络中的问题不是无线网络中的
- CSMA/CA(CSMA with Collision Avoidance):通过预约机制避免冲突。
轮询访问:
- 集中式轮询:由控制站轮流邀请每个站点发送。
- 令牌传递:令牌在各站点间按固定次序传递,获得令牌的站点有权发送。
AloHA:
Nonpersistent CSMA 非坚持CSMA 在侦听到信道空闲时立即传送,不空闲时等待一个固定时间再进行监听的CSMA方法
1-persistent CSMA 坚持CSMA 在侦听到信道空闲时立即传送,不空闲时立刻再进行监听的CSMA方法
p-persistent CSMA p坚持CSMA 在侦听到信道空闲时立即传送,不空闲时以概率p等待一个固定时间再进行监听的CSMA方法
CSMA/CD:
典型场景:10Mbps / 100Mbps 有线以太网(半双工模式),无线网络不使用CD,而是使用CA
传播延迟
传播延迟 Propagation Delay 传输延迟 Transmission Delay
为了解决CSMA/CD问题,需要了解传播延迟
**传输延迟:**指将数据包从发送方推送到物理信道上所需的时间,即数据长度除以信道带宽(bit rate)。它不包含传播延迟或排队延迟,仅指“把数据推入线路”的时间。
**传播延迟:**数据或者信号从发送节点到接收节点的时间 它决定了最坏的情况下,发送节点多久才能得知是否发生了冲突 -> 即两倍的最大延迟
其无法完全避免冲突,工作方式是“避免+检测”,不是“彻底避免”
最小帧长
Minimum Frame Length
目的是保证数据帧发送所用的最短时间 >= 往返传播延迟,如果数据帧过小,那么碰撞发生之间监听就停止了,那么就无法检测冲突,T是最大传播延迟

退避时间
Backoff Time
当多个节点同时发生冲突、同时停下后,设置随机等待机制避免持续碰撞,16次是重传次数的上限,此时k依旧为10不变 Exponential backoff指数回退:传输某一帧时,若经历n次碰撞,则在(0~2^m -1)中选一个时间值K,等待K*512比特时间后再尝试传送

结论
也就是说,在当前帧发送完成前,若是发生冲突,必须要及时传回,并终止后面的帧的发送,此时第一个帧相当于“探路的”,出现错误需要往回报。如果在当前帧发送完成前,冲突信号没有传回来,发送站会以为帧发送成功,从而结束冲突检测阶段,这时若实际上发生过冲突,就会出错。
CSMA/CA协议:
带碰撞避免的CSMA,但是也不能彻底避免,主要用于无线网络
解决问题:隐藏站问题、暴露站问题(7.开头)
节点在发送数据之前监听无线信道,如果信号强度超过一定阈值则认为当前有其他节点在该信道上发送数据,此时随机等一点时间后再次监听
如果侦测带信道空闲,需要等到一个帧间间隔(IFS)之后再发送数据,在等待的时候保持监听。 IFS分为:DIFS、SIFS、EIFS

**信道预约:**发送数据帧之前,发送方首先广播一个RTS帧,这个RTS帧能过被其分为内所有站点帧听到。接收方收到CTS后,广播一个CTS帧作为应答。
若任何一个站收到RTS帧则保持沉默,等待时间一遍发送站接收CTS,接收站广播RTS同理

调节数据流
也是流量控制与可靠传输
流量控制:(停止等待、滑动窗口)
发送和接收达到比较均衡的状态 流量控制的主要协议包括:
Ack超时也是Frame重传。发送窗口1接收窗口1
实现最简单,信道利用率极低

滑动窗口协议:
Sliding Window Protocol
额外:流水线协议(Pipelined Protocols):流水线协议可以使一端连续发送多个请求而不需要等待第一条请求的回复。可以提高效率。但是其和滑动窗口协议不是一个东西。
允许发送方在收到确认前发送多个帧,提高信道利用率。
发送方有一个“窗口”,窗口有一定配额,低位收到ACK后移动(如0
4 -> 15),一直执行两种滑动窗口协议超时重传时的方式:
1.后退 N 帧(Go-Back-N):接收方丢弃错误帧后的所有帧,发送方重传错误帧及其后续帧。发送窗口N,接收窗口大小一般为1
若是发送方高位收到确认后低位有丢失的确认帧默认已经接收到,则使用累计确认(Cumulative acknowledgment),采用最大的ACK设为已接收,并从ACK后一位重传(若是低位丢失接收方未接收则高位不会有回复,故默认接收到了)
此时只有一个定时器

- 2.选择重传(Selective Repeat):接收方缓存正确接收的帧,只要求发送方重传错误帧。
此时每个帧都会有一个独立的计时器,发送窗口M接收窗口N。(一般M = N但是也可以不一样)

高信道利用率(尤其是链路延迟大时);
可根据窗口大小调节吞吐;
是现代可靠传输的基础(如 TCP)
信道利用率的计算
RTT:Round-Trip Time 往返时延 RTT/2:单程时延 发送周期Tf + Tack + RTT

可靠传输
不是检测错误,而是看数据是否真的能到达接收方
各种网
数据/信号传输模式:
单工(单向)、半双工(不能同时发送)、全双工(双方收发可同时)
在上面中,由于使用半双工(动态信号分配),可能发生冲突,才会有CSMA各类协议
经典以太网
是一种具体的局域网通信协议标准,定义了物理层和数据链路层的实现方式
局域网是应用范围,以太网是实现技术
10Mb/s 使用CSMA/CD

前导码不用发,要求最长传输2.5KM,最小帧长64字节 类型:指出市局字段的协议类型或者长度 帧校验序列(FCS):使用CRC检测帧是否损坏
MAC地址:
硬件地址/物理地址,由48个比特位(6B)组成
交换式以太网
快速以太网:100Mbps。选用CSMA/CD 千兆以太网:1Gbps。选用CSMA/CD 万兆以太网:10Gbps。 以太网 MAC 地址:48 位全球唯一地址,前 24 位为厂商代码,后 24 位由厂商分配。
虚拟局域网(VLAN)
将物理局域网划分为多个逻辑上的子网,每个子网叫做一个VLAN。VLAN通过逻辑隔离设备,保证设备之间的通信可以被有效管理,同时不会受到物理位置的限制。

广域网

无线局域网补充
408自己去视频看
三、网络层
网络层主要负责端到端(End-to-End)的数据传输,其主要功能包括:
- 异构网络互联:连接不同类型的网络。
- 路由与转发:选择数据传输路径,并将数据包从源主机传送到目标主机。
- 拥塞控制:防止网络中的路由器或链路过载。
目标地址可以是多个网络通过路由器连接而成的某个地址
该层负责寻址和路由选择
服务类型
服务类型不止代表网络层,它不是网络层专属概念,各个层次都可能有,但在 TCP/IP 里最关键的是:网络层(IP)一般是无连接的,有连接在传输层(TCP)。
无连接服务:
每个数据包都是独立的,彼此之间没有关联。此时数据报通常被称为数据报,这种网络通常被称为数据报网络(Datagram Network)
有连接服务:
发送接收方在数据传输之前需要通过网络建立一条虚拟的通信路径(虚电路),虚电路始终存在直到通信结束,此时网络成为虚电路网络(Virtual-Circuit Network)

一些概念:
路由:规划路线
※路由表:包括目的IP地址、子网掩码、下一跳IP地址(指路由器IP地址,最终目的的地址不算在内)、出接口(等)。 反映的是“到各个目的网络的转发路径”,而不是直接反映“该路由器与所有其他路由器的连接关系”
| 目标地址 | 子网掩码 | 下一跳IP地址 | 离出接口的名字 |
|---|---|---|---|
| 取决于目的地址(或路由表掩码) | 指的是下一个路由器的地址而不是主机地址 | 它表示匹配该条路由时,分组应从哪个网络接口发出去(是该路由器自己的接口而非连接到其他路由器的接口) |
转发:真正执行
路由器:是工作在网络层的设备,用于在不同网络之间转发分组(IP 数据报)。一般每个接口会有一个地址 主要作用:
- 连接不同的网络:局域网 ↔ 局域网、内网 ↔ 互联网
- 转发(Forwarding):根据目的 IP 地址,查路由表,决定从哪个接口送出
- 路由选择(Routing):运行路由协议(RIP/OSPF/BGP 等),学习/维护路由信息
- 隔离广播域:路由器不转发广播(这是它与交换机的重要区别之一)

**同一网段:**两个IP使用相同的子网掩码,得到网络地址(号)相同,属于同一个子网
网络层路由算法

静态路由算法
由网络管理员手动配置路由表。
动态路由算法
路由器通过路由协议自动更新路由信息。
以下是是一类路由算法的思想
- 距离向量路由协议:根据跳数选择路径(如 RIP协议使用了该算法)。 Distance-Vector Routing Protoco
每次某个节点更新,重新计算一遍到达各个点的最短路径(针对变换的节点运行一列迪杰斯特拉算法即可)

但是链路断了之后会出现无穷记数问题
- 链路状态路由协议:考虑链路带宽、延迟等因素(如 OSPF)。 Link-State Routing Protocol
每个路由器通过广播自己与邻居的链路状态(带宽、延迟)给全网,每个路由器最终都构建出相同的网络拓补图。 每个路由器用Dijkstra算法计算出到各节点的最短路径 -> 路由表

- 路径向量路由协议(= 路径矢量):结合前两种优点(如 BGP)。
主要用于自治系统(AS)之间的路由选择
路由协议
所谓协议,就是路由算法的实现,是具体实现了这个思想的一个协议
路由器是 工作在网络层的设备,可连接多个局域网或广域网,提供路由和转发两个功能(对路由器来说)
转发:每个数据包到达路由器时,在路由表中查找此是举报应该使用哪条输出线路 路由:负责填充和更新路由表
路由协议可分为域间路由协议和域内路由协议(一个区域中的局域网)
域内路由协议/内部网关协议
Interior Gateway Protocols(IGP)
RIP(路由信息) 协议
RIP(Routing Information Protocol):基于距离向量的路由协议。
- 使用跳数作为度量,最大跳数为 15,等于16时 表示不可达。
- 路由器每 30 秒向邻居广播自己的路由表。
- 简单但收敛(各路由表趋近稳定)速度慢,适用于小型网络。
- 路由表包含字段:目的网络、条数、下一跳IP地址
RIP协议本身工作在应用层,基于UDP协议封装报文,使用一小规模网络
跳数表示:从该路由器到目的网络需要经过的路由器数量(下一跳数)。 跳数 = 0 表示该网络是“直连网络(直接连接在路由器上)”
好消息传得快,坏消息传得慢
OSPF (开放式最短路径)协议
OSPF(Open Shortest Path First):基于链路状态的路由协议。
- 使用 Dijkstra 算法计算最短路径。
- 路由器仅在链路状态变化时发送更新。
- 支持区域划分,可用于大型网络。
- 收敛速度快,支持等价多路径。
工作在网络层,数据封装在IP分组中进行传输(传输协议为IP)
域间路由协议/外部网关协议
(Exterior Gateway Protocol,简称 EGP)
BGP (边界网关)协议
BGP(Border Gateway Protocol):自治系统之间的路由协议。基于路径向量路由算法
- 路径向量协议,考虑路由策略而非最短路径。
- 通过 TCP 连接交换路由信息,可靠性高。
- 用于 Internet 骨干网路由。
协议工作在应用层,基于TCP协议封装报文,适用于大型跨域网络

IPV4数据报格式
又称分组/IP分组/数据包
格式:包含首部和数据部分,首部20~60B,数据部分65535B,最大传输单元(MTU)
IP是什么:IP是一种协议,用来实现异构网络互连和主机到主机的分组交付。分为Ipv4和Ipv6两个版本
注意:当出现经典分片问题(比如MTU不同)时,应注意“分片级”的总长度会变,数据报长度也会变,但重组后的 IP 数据报的总长度不变

前五行20B,选项长度可变
版本:规定了数据报的IP协议版本
首部长度:四个字节为单位 -> 5~15
数据报长度:整个IP数据报(头部+数据)的长度,单位字节。理论最大长度65535B,但很少有超过1500B的,最小长度为20。虽然由于帧要求数据段至少46B,但是IP 层不关心 padding,数据链路层负责,此时数据链路层会自动填充数据至46 -> 总共64B
**标识:**唯一标识一个原始数据报,用于分片和重组。当一个打的数据报被分片之后,各分片都带有相同的标识值,以便目的端正确重组。
标志:第一位为0,第二位DF为1是部分篇,第三位MF最后一片为0,其他为1
片偏移量:当前分片在原属数据报中的位置,单位是八个字节,那么则有👇
- 分片:除了数据报中最后一个分片职位,所有分片必须是八字节的倍数
生存时间:用于限制数据报生存时间的计数器
上层协议:IP数据报应该交给哪个特定的传输层协议(比如6 = TCP 17 = UDP等)
首部校验和:使用校验和算法,检验数据报的首部,出错则丢弃数据报
选项:额外功能,安全级别,安全路由记录
地址:
此处的地址是IP地址,帧头的地址为Mac地址
IPV6数据报
长度为16个字节(128bit),通常是以八段16进制表示,每段16b
连续的0可以简写成" :: "
IPV6数据报有与IPV4相同的地方,也有完全不同的地方

IPV4向IPV6转换的两种技术:
双栈技术(Dual Stack)
原理:网络节点(主机、路由器)同时运行 IPv4 和 IPv6 协议栈,既能处理 IPv4 数据包,也能处理 IPv6 数据包。
隧道技术(Tunneling)
原理:将 IPv6 数据包封装在 IPv4 数据包的载荷中(或反之),使其在 IPv4 网络中透明传输,就像在 IPv4 之上建立一条“虚拟链路”。
IP地址
是网络中每台设备的唯一表舒服,又32为二进制数组成,每台主机和路由器都有一个IP地址,一个IP地址并不指向一台主机,而是一个网络接口
绝大多数主键都在一个网络中,所以只有一个IP地址,而路由器有多个接口,所以有多个IP地址
点分十进制表示法:取值范围0 ~ 255
IP 地址分类:
- A 类地址:首位为 0,网络号 7 位,主机号 24 位(1.0.0.0 - 126.255.255.255)
- B 类地址:前两位为 10,网络号 14 位,主机号 16 位(128.0.0.0 - 191.255.255.255)
- C 类地址:前三位为 110,网络号 21 位,主机号 8 位(192.0.0.0 - 223.255.255.255)
- D 类地址:前四位为 1110,用于多播(224.0.0.0 - 239.255.255.255)
- E 类地址:前五位为 11110,保留使用(240.0.0.0 - 255.255.255.255)

主机数和部分网络号,全0或全1不可使用,计算总数需要-1 / -2
注意:A、B、C类前面的固定的序列是识别特征,总共的网络号是8、16、24位,7、14、21也行但是要记住网络掩码( = 子网掩码 )是8、16、24位
全为0:
网络号:表示网络地址、本机网络
全为1:
A网络号:特殊用途 数量2^n - 2:用作环回地址,只能用于本机内部通信,不允许出现在任何网络传输的 IP 分组中。
B类:可使用 数量2^n - 1
C类:可使用 数量2^n - 1
特殊IP地址

能否用于源地址/目的地址

私有地址
有一部分地址保留与内部网络,成为私有地址。这部分地址不会被公共互联网分片,不会与公共地址重复。这些地址无法再公共互联网使用,因为路由器不对目标地址是私有地址的分组进行转发

子网
子网划分
将一个地址块划分成及部分,将一个大的网络分割成多个子网,共多个内部网络使用,这样可以更好地管理和利用地址空间,避免浪费
通过分割子网,可以限制广播域的范围,减少网络中的广播流量,提升效率 通过将不同部门或区域划分到不同的子网,可以更好地控制流量,减少潜在的安全风险
注意:在划分子网时,子网号会形成新的网络号使网络号与子网掩码1的个数增加
结构:
B类: 10 网络号14 子网号x 主机号16 - x
此时子网的广播地址全1不包括子网号,网络中的地址包括子网号

子网掩码
通过将IP地址和子网掩码按位与,可以得到IP地址所属的网络地址(网络号)
网络号有多少个位,子网掩码就有多少个1,相当于把原地址主机号变成全0
子网下网络号会增加,子网掩码号也会增加
CIDR
无分类域间路由选择
其是一种新的IP地址划分方法,是一种更令话的IP地址分配与路由方法,他打破了传统的A、B、C类IP地址的限制。CIDR使用一个斜杠后跟网络前缀长度(也就是网络位位数)表示关系

主机数量2^(32 - L) - 2
网络号2 ^ L - 2
**注意:**划分几个子网最终就只能有几个子网,分配子网时子网全0和全1可以取
路由选择
根据网络前缀找到对应IP地址之后,分别和个Ip子网子网掩码按位去与,结果就是目的子网中的一个,原理:网络号1和0可以被保留主机号去除,可直接得到子网的网络号
或者全化为二进制,重合最多的被选择
最长匹配前缀:
Longest prefix matching
当子网掩码运算结束之后若都能走,则选网络号(L)长的那条路走
路由聚合
Route Aggregation
多个小前缀合并成一个大前缀的过程
目的:减小路由表的大小,提高路由的速度
不是聚合成网段
方法:
拆分成二进制之后,看重合到多少位,从此往前在重新做一个IP地址,再/重合的位数即可
重要协议ICMP DHCP ARP
ICMP:
ICMP(Internet Control Message Protocol):网络控制消息协议,用于传递控制消息。
当路由器处理一个数据报的过程中有意外事情发生时,通过ICMP向发送方报告
- 差错报告:目的不可达、参数问题、重定向、超时等。
- 询问报文:回送请求与回答(Ping 命令)、时间戳请求与回答等。
应用:Ping、traceroute
DHCP:
源IP地址怎么获取?
动态主机配置协议(Dynamic Host Configuration Protocol) -> 一个新的主机接入互联网时怎么自动获得IP地址
一个新的主机接入时通过路由向局域网DHCP服务器发送信息后局域网DHCP服务器给机器分配地址,没有则(可能通过配置中继)到达外网DHCP服务器获取
ARP:
目的Mac地址怎么获取?
ARP(Address Resolution Protocol):地址解析协议
解析 IP 地址对应的 MAC 地址。
- 工作过程:主机广播 ARP 请求,包含目标 IP 地址;拥有该 IP 地址的主机回应其 MAC 地址。(第一帧的目的MAC地址为12F)
- ARP 缓存:主机维护一个 IP 地址到 MAC 地址的映射表,避免频繁 ARP 请求。
网关:连接不同网络、负责转发数据报的网络设备或路由器接口,若是不同局域网则需要经过网关,第一次前往网关时IP不变,Mac变为网关Mac地址,从网关出发再变成目的Mac地址

NAT
NAT:Network Address Translation 网络地址转换 是一种技术而非协议
公网IPV4地址游戏,内部网络设备日益增多,导致IPV4地址枯竭
前篇提过的私有地址,
NAT将私有地址转化为外网认识的IP地址,多个内网进程同时访问时通过端口号来区分
后面在传输层有详细介绍
默认网关:内网转外网的中转站
冲突域和广播域:

交换机所有端口同一广播域(不加Vlan,连接到交换机的可以被广播到),路由器隔离广播域(一个端口的广播不能传到另一个段考)
四、传输层
目标是向应用层上的进程提供高效、可靠、性价比合理的数据传输服务
其主要功能包括:
- 进程间通信:通过端口号标识不同的应用进程。
- 提供多路复用/分用(发送端)和多路分解(接收端) ※核心功能
- 可靠数据传输:保证数据无差错、不丢失、不重复、按序到达。
- 流量控制:避免发送方数据发送过快导致接收方缓冲区溢出。
- 拥塞控制:防止过多数据注入网络导致网络性能下降。


端口与多播
端口长度16b,0~65535

Socket = IP 地址 + 端口号,是操作系统提供给应用程序的接口,让应用能通过 TCP/IP 协议收发数据。
多播
多播允许一个源主机向多个目标主机高效发送相同数据。
多播地址
IPv4 多播地址范围为 224.0.0.0 到 239.255.255.255(D 类地址)。 IPv6 多播地址前缀为 FF00::/8。
UDP和TCP差异
TCP/UDP 是 传输层协议,本身不关心下层是有线还是无线,下层只要提供 IP 服务 就行。
UDP 天然支持向组播地址发送数据报;TCP 是面向连接的单播协议,不支持组播。
TCP面向连接的可靠的传输层数据协议,进行拥塞控制和流量控制,不支持广播组播
UDP无连接,不可靠,不支持拥塞控制和流量控制,支持广播组播
UDP
UDP(User Datagram Protocol)是一种简单、无连接的传输协议
数据报格式
UDP 报文段包含 8 字节的首部和数据部分:
- 源端口号(16 位b)
- 目的端口号(16 位b)
- 长度(16 位b):UDP 报文段的总长度(首部+数据)。8 ~ 65535
- 校验和(16 位b):检验 UDP 报文段在传输过程中是否有错误。
-> 不可靠指可能会丢 但是若是发过来了就要检验正确性
UDP特点
- 无连接:不需要建立连接就可以发送数据。
- 不可靠:不保证数据一定到达,不进行重传。
- 无序:不保证按序到达。
- 无流量控制:不控制发送速率。
- 无拥塞控制:不会根据网络状况调整发送速率。
- 首部开销小:仅 8 字节,比 TCP 的 20 字节小。
常见使用:
DNS查询、DHCP、直播游戏
TCP
TCP是一种全双工通信方式
常见使用:
网页浏览(HTTP)、文件传输(FTP)、邮件(SMTP、POP3)
TCP报文格式
TCP 报文段首部长度为 20 字节(不含选项,选项0 ~ 40B),主要字段包括:
- 源端口号(16 位)
- 目的端口号(16 位)
- 序号(32 位):表示本报文段数据的第一个字节在流中的序号。
- 确认号(32 位):小写ack,期望收到对方下一个报文段的序号。
- 数据偏移(4 位):表示首部长度,以 4 字节为单位。-> 5~15
- 保留(4 位):保留字段,目前必须置 0。
- 标志位(8 位):(CWR、ECE、)URG、ACK(=1表示确认号字段有效,大ACK为1代表小ACK生效)、PSH、RST、SYN(用于请求和确认,在三次握手时同步序号)、FIN。
- 窗口大小(16 位):接收窗口大小,用于流量控制。
- 校验和(16 位):检验 TCP 报文段在传输过程中是否有错误。
- 紧急指针(16 位):当 URG 标志为 1 时有效,指向紧急数据的最后一个字节。
- 选项(可变长度):最大报文段长度(MSS)、窗口扩大等。
TCP报文—序列号
指示“本报文段所携带数据的第一个字节在连接发送方的序列号,用于在接收端进行重组和排序。在新词握手时,通信双方各自选择一个随机初始序号,然后后续每发送一个字节,序号递增1
1.开始时,SYN是开始建立标志,结束时FIN是结束建立标志
2.seq代表的是是当前字段的序列号,ack是确认号,代表某一端下一次收到信息时想要得到的序列号(可以理解为期望收到对方下一个报文段的seq),其由seq和data_len(数据长度)决定
**注意:**以下两个主机是可以相互传输的,所以并没有谁一定是服务器,下面只是做了简化
连接建立:三次握手

客户端发送 SYN=1,seq=x 的报文段。
服务器回应 SYN=1,ACK=1,seq=y,ack=x+1 的报文段。
客户端发送 ACK=1,seq=x+1,ack=y+1 的报文段。

连接释放:四次挥手
终止一个连接有两种方式:非对称释放、对称释放
非对称释放:一方挂断则连接中断
对称释放:把连接看成两个独立的单向连接,要求每个连接被单独中断

客户端发送 FIN=1,seq=u 的报文段。
服务器回应 ACK=1,ack=u+1 的报文段。
有时候中间会有未完成的数据,所以seq可能会增长d,此时类似一单向中断的状态,ack不加服务器发送 FIN=1,ACK=1,seq=v(+d),ack=u+1 的报文段。
客户端回应 ACK=1,seq=u+1,ack=v+1(+d) 的报文段。
**注意:**最后一次挥手时某方会等待两个MSL,防止最后一次挥手丢失后第三次挥手重发
MSL:最大数据包生存时间,表示任意TCP报文在网络中可能存在的最长时间
可靠传输
可靠传输关注的部分: -> 传输层:端到端 数据链路层:点到点
TCP可靠传输
超时重传
每个TCP连接(不是每个报文)会有一个定时器,计时器只关注最老的那个尚未被 ACK 的报文段。
当定时器超时,则会重传,当收到之后计时器继续关注下一个未收到ACK的字段
快速重传(冗余ACK重传)
冗余 ACK 是指接收端再次发送一个已经发送过的 ACK 序号
当发送方连续发送多个报文段而缺失了一个导致乱序时,接收方会重复发送最后一个按序到达的报文段的 ACK,当发送端收到3个冗余ACK时,不再等待超时,立刻重传
累计确认:发送方虽然缺失了中间的确认断,但是既然能跳过正面传输成功(类似后退N帧)

(seq多少丢失发回多少的ack)
停止-等待协议
通常只配合超时重传(因为同一时间只有一个包在飞,很难形成连续的重复 ACK,所以一般不具备快速重传条件)。
工作原理:
- 发送方发送一个分组,然后等待确认。
- 收到确认后,发送下一个分组。
- 超时未收到确认,重传上一个分组。
缺点:信道利用率低,尤其在高延迟网络中。
滑动窗口协议
滑动窗口协议允许发送方在等待确认的同时发送多个分组,提高信道利用率。
- 发送窗口:发送方允许发送的数据范围。
- 接收窗口:接收方允许接收的数据范围。
注意:重传是机制,协议属于算法,算法依赖重传机制来保证可靠性。
TCP流量控制
主要针对发送窗口
TCP 流量控制基于滑动窗口(类似于数据链路中)机制(类似于缓存),接收方根据自身处理能力调整窗口大小,发送方根据窗口大小控制发送速率。(即发送窗口的长度以接收窗口为准)
- 接收方在确认报文中告知可用缓冲区大小(接收窗口)。
- 发送方保证已发送但未确认的数据量不超过接收窗口。
- 零窗口探测:当接收窗口为 0 时,发送方定期发送探测报文。

拥塞控制
主要针对拥塞窗口
发送窗口大小 = min[ 拥塞窗口(cwnd),接收窗口(rwnd)]
发送方维护一个叫做拥塞窗口cwnd有状态变量,其值取决于网络的拥塞程度,并且动态变化 (出现拥塞上升,减少拥塞下降,判断依据是是否发生超时重传)
TCP 拥塞控制算法包括:
- 慢(一开始注入的报文少)启动:初始拥塞窗口小,指数增长直到达到阈值(ssthresh值)。
- 拥塞避免(Congestion Avoidion):阈值后线性增长,避免网络拥塞。并将慢启动阈值修改为发生拥塞时cwnd的一半,并使cwnd = 1(只是使网络相对不容易出现拥塞)
=============================两两一对========================
- 快速重传:收到 3 个重复确认立即重传,不等待超时。本质和前面快速重传一样

- 快速恢复:重传后直接进入拥塞避免阶段,执行快恢复算法,不执行慢启动。常用到乘法减小 or Multiplicative decrease 快恢复算法:ssthresh值和cwnd都调整为当前cwnd一般并开始执行拥塞避免算法
TCP 拥塞控制的核心思想是”加性增、乘性减”,即在没有拥塞时窗口大小线性增加,发生拥塞时窗口大小乘性减少。
五、应用层
主要包括域名系统和几个网络协议
域名系统
域名结构
域名结构是分层的,URL中从右到左依次为顶级域、二级域和子域。
根域:所有域名的最高层级,通常写作空字符串或末尾的点
顶级域:如.com、.org、.net、.edu、.gov、国家顶级域(如.cn、.uk)等。
二级域:在顶级域下注册的域名,通常由个人或组织拥有,如 google.com 中的 google。
子域:二级域下的进一步划分,组织内部划分,如 mail.google.com 中的 mail。
mail . google . cn
//子域 二级域 顶级域
DNS服务器层级:
DNS:将域名转化为IP地址 可能会有多个域名对应一个ip地址
- 根域名服务器:查询后返回顶级域名服务器地址。Root DNS Server
- 顶级域名服务器:返回域名的权威域名服务器地址(如com) Top-level domain servers
- 域名服务器(如baidu):返回子域服务器地址(如mail.baidu.com) 或 返回查询结果 Authoritative DNS servers
拿到结果后,会将其返回给你的电脑,同时会把结果存入缓存中,查询首先确认计算机中有没有缓存该网址对应的IP地址,在发起多DNS的查询。
DNS迭代查询:Iterative queries
DNS递归查询:Recursive Query
Saurlax中的域名解析过程:
域名解析过程
- 客户端查询本地域名缓存。
- 如缓存中没有,向本地域名服务器查询。
- 如本地域名服务器无法解析,向根域名服务器查询。
- 根域名服务器返回顶级域名服务器地址。
- 本地域名服务器向顶级域名服务器查询。
- 顶级域名服务器返回权威域名服务器地址。
- 本地域名服务器向权威域名服务器查询。
- 权威域名服务器返回 IP 地址。
- 本地域名服务器将 IP 地址返回给客户端。
FTP
文本传输协议FTP(File Transfer Protocol),是一种Out-of-band( 带外的)传输方式,即控制信息与数据不通过一个连接传输,称控制信息是带外的。与带外相反,In-band 带内的,如HTTP协议。
FTP 使用两个并行的 TCP 连接:
- 控制连接(端口 21):用于传输命令和响应(如上传下载)。
- 数据连接(端口 20 或随机):用于传输文件。
FTP 有两种工作模式:
- 主动模式:服务器主动连接客户端数据端口。
- 被动模式:客户端主动连接服务器数据端口。

Saurlax:FTP 命令包括:
- USER:指定用户名。
- PASS:指定密码。
- CWD:更改工作目录。
- LIST:列出目录内容。
- RETR:下载文件。
- STOR:上传文件。
- QUIT:退出 FTP 会话。
SMTP
简单邮件传输协议SMTP(Simple Mail Transfer Protocol)

SMTP基于TCP,端口号25
- 使用7位ASCII码协议,SMTP 的命令、响应包括邮件正文也必须仅为 7 位 ASCII 字符(需要拓展比如图片需要MIME)
- SMTP不包含忍者(利于乐色邮件)
- SMTP传输的是ASCII消息而非二进制数据
- SMTP以明文方发送消息,没有进行任何形式的加密
SaurLax:
POP3 协议
POP3(Post Office Protocol version 3)邮局协议第3版,是一种简单的邮件获取协议。
- 使用 TCP 端口 110。
- 通常将邮件下载到本地,然后从服务器删除。
- 不支持在多设备间同步邮件状态。
IMAP 协议
IMAP互联网消息访问协议(Internet Message Access Protocol)是一种更高级的邮件获取协议。
- 使用 TCP 端口 143。
- 邮件保存在服务器上,支持多设备访问和同步。
- 支持在服务器上创建、删除和管理文件夹。
- 支持搜索和部分下载邮件。
HTTP
超文本传输协议(Hyper Text Transfer Protocol)
一个简单的请求响应协议
URL(uniform resource locator):统一资源定位符,一般由四部分组成: 协议、主机、端口、路径
https://www.example.com:8080/docs/search?q=test#result
协议(Scheme):https://
主机:www.example.com
端口: :80(或者8080)
路径:docs/search
URI:统一资源标识符,是一个用于唯一标识一个资源的字符串。 URI包含URL
四大常用Request method:
| 方法 | 作用 |
|---|---|
| Get | 请求指定的资源。不应有请求体 |
| POST | 向服务器提交数据(如表单、上传文件) |
| PUT | 用请求的负载完全替换目标资源的所有当前表示。一般用于创建或整体更新资源 |
| DELETE | 一般用于删除指定的资源 |
各返回状态码:
| 状态码系列 | 含义 |
|---|---|
| 1xx | 信息响应 |
| 2xx | 成功(200 -> OK) |
| 3xx | 重定向 |
| 4xx | 客户端错误(如404 Not Found表示请求的资源不存在而不是连接丢失) |
| 5xx | 服务端错误(500服务器错误) |
P2P架构:
- 无严格角色划分:每个节点既是客户端也是服务器(称为“对等体 Peer”),既能请求资源,也能向其他节点提供资源。
- 资源分布式管理:共享资源分散在所有对等体的本地,无需依赖中心服务器。
- 扩展性强:新增节点不仅会消耗资源,也会带来新的资源和服务能力,系统整体容量随节点数增加自然提升。
- 动态性强:节点可自由加入/离开网络,拓扑变化频繁。
原理:
每个节点既是客户端又是服务器(Peer),不再完全依赖中心服务器分发数据。
- 文件分块:把一个大文件切成多个小片(Piece/Chunk)。
- 初始拥有者:一开始只有种子节点(Seed)拥有完整文件。
- 互相交换:节点下载到某个片后,就可以给其他还在下载的节点(Leecher)上传这个片。
上传和下载的最小时间
假设场景:
- 一个文件大小为 F(单位:bit 或 MB,注意统一)。
- 服务器上传速率:u_s。
- 有 N 个 Peer,每个 Peer 的上传速率为 u_i,下载速率为 d_i(若所有 Peer 相同,则 u_i = u,d_i = d)。
- 目标是:所有 N 个 Peer 都完整拿到这个文件,求最短时间 T_min。
则 T_p2p = max( N*F / (u_s + Σu_i), F / d_max )
纯CS架构:T_cs = F / u_s + F / d_min,当d足够大时T_cs ≈ N*F / u_s
典型应用
早期:BitTorrent 下载、电驴、比特币等区块链网络;现在也有部分即时通讯、分布式存储系统采用 P2P 思路
BitTorrent 协议
是最具代表性的 P2P 文件分发协议,目标是:让一个大文件能被高效、快速地分发给大量用户,同时避免中心服务器带宽瓶颈
最稀缺优先原则
每个 Peer 会统计:当前 Swarm(群/节点,同一个torrent所有 Peer(节点)的集合) 中,每一个 Piece 有多少个 Peer 拥有
优先下载“拥有者最少”的 Piece
CS架构:
Client/Server,客户端/服务器
- 角色严格分离:
- 服务器(Server):一直在线,拥有固定公网 IP,专门提供资源/服务(如 Web 服务器、邮件服务器)。
- 客户端(Client):按需发起请求,向服务器获取服务,不直接与其他客户端通信。
- 资源集中管理:所有共享资源(文件、数据、计算能力)都存储在服务器端,客户端不共享自身资源。
- 扩展性弱:服务器容易成为性能瓶颈,用户量增大时需升级服务器硬件或做服务器集群。
典型应用
Web 浏览(浏览器/Web 服务器)、电子邮件(邮件客户端/邮件服务器)、FTP、SSH 等。
