计算机网络--笔记

这一部分之前本科时学习过,但是忘了不少,还是仔细看一下,直接看cyc大佬的笔记。

1、基本概念

互联网:网络连接主机,互联网(internet)连接网络,互联网(Internet)是全球范围的互连网。
ISP:Internet Service Provider,互联网服务提供商。
可以从互联网管理机构获得许多 IP 地址,同时拥有通信线路以及路由器等联网设备,个人或机构向 ISP 缴纳一定的费用就可以接入互联网。

IXP:Internet Exchange Point,互联网交换点。
目前的互联网是一种多层次 ISP 结构,ISP 根据覆盖面积的大小分为第一层 ISP、区域 ISP 和接入 ISP。互联网交换点 IXP 允许两个 ISP 直接相连而不用经过第三个 ISP。
在这里插入图片描述
主机间通信方式:客户-服务器(C/S)–分别为服务的请求方和提供方,对等(P2P)–不区分客户和服务器。

电路交换与分组交换:

电路交换用于电话通信系统,两个用户要通信之前需要建立一条专用的物理链路,并且在整个通信过程中始终占用该链路。由于通信的过程中不可能一直在使用传输线路,因此电路交换对线路的利用率很低,往往不到 10%。

分组交换不需要占用传输线路。
每个分组都有首部和尾部,包含了源地址和目的地址等控制信息,在同一个传输线路上同时传输多个分组互相不会影响,因此在同一条传输线路上允许同时传输多个分组。

在一个邮局通信系统中,邮局收到一份邮件之后,先存储下来,然后把相同目的地的邮件一起转发到下一个目的地,这个过程就是存储转发过程,分组交换也使用了存储转发过程。

时延:总时延 = 排队时延 + 处理时延 + 传输时延 + 传播时延

排队时延:分组在路由器的输入队列和输出队列中排队等待的时间,取决于网络当前的通信量。
处理时延:主机或路由器收到分组时进行处理所需要的时间,例如分析首部、从分组中提取数据、进行插叙哟检验或者查找适当的路由等。
传输时延:主机或者路由器传输数据帧所需要的时间。delay=l(bit)--数据帧的长度/传输速率--v(bit/s)
传播时延:电磁波在信道中传播所需要花费的时间,电磁波传播速度近光速,一般忽略。信道长度(m)/电磁波在信道上的传播速度(m/s)

2、网络体系结构:

在这里插入图片描述
应用层:为特定应用程序提供数据传输服务,如HTTP、DNS等协议,数据单位为报文
表示层数据压缩、加密以及数据描述,使应用程序不必关心在各台主机中数据内部格式不同的问题。
会话层建立及管理会话
传输层:为进程提供通用的数据传输服务。定义通用的传输层协议就可以支持不断增多的应用层协议。
运输层包括两种协议:
传输控制协议TCP,提供面向连接、可靠的数据传输服务,数据单位为报文段
用户数据报协议UDP,提供无连接、尽最大努力的数据传输服务,数据单位为用户数据报
TCP提供完整性服务,UDP主要提供及时性服务

网络层:为主机提供数据传输服务。传输层协议是为主机中的进程提供数据传输服务。
网络层把传输层传递下来的报文段或者用户数据报封装成分组
数据链路层:网络层针对主机之间的数据传输服务,主机之间有很多链路,链路层协议就是为同一链路的主机提供数据传输服务。数据链路层把网络层传下来的分组封装成
物理层:考虑怎么在传输媒体传输数据比特流,而不是指具体的传输媒体。
物理层的作用是尽可能屏蔽传输媒体和通信手段的差异,使数据链路层感受不到差异。

五层协议中没有表示层和会话层,将这些功能留给应用程序开发者处理。
TCP/IP分层是将数据链路层和物理层合并为网络接口层,共四层。

TCP/IP 体系结构不严格遵循 OSI 分层概念,应用层可能会直接使用 IP 层或者网络接口层。
在这里插入图片描述
** 数据在各层之间传递**
向下的过程中,需要添加下层协议所需要的首部或尾部;向上的过程中,不断拆开首部和尾部。

路由器则只有物理层、数据链路层、网络层三层的协议。
因为路由器位于网络核心中,不需要为进程或者应用程序提供服务,不需要传输层和应用层协议。

补充:

应用层

主要功能 :用户接口、应用程序。应用层向应用进程展示所有的网络服务。当一个应用进程访问网络时,通过该层执行所有的动作。

表示层
1.主要功能 :数据的表示、压缩和加密。定义由应用程序用来交换数据的格式,该层负责协议转换、数据编码和数据压缩。转发程序在该层进行服务操作。
presentation2.典型设备:网关

会话层
1.主要功能 :会话的建立和结束,在分开的计算机上的两种应用程序之间建立一种虚拟链接,这种虚拟链接称为会话(session)。会话层通过在数据流中设置检查点而保持应用程序之间的同步。允许应用程序进行通信的名称识别和安全性的工作就由会话层完成。

传输层
1.主要功能 :端到端控制,确保按顺序无错的发送数据包。传输层把来自会话层的大量消息分成易于管理的包以便向网络发送
transport 2.典型设备:网关

网络层
1.主要功能 :路由,寻址,网络层确定把数据包传送到其目的地的路径。就是把逻辑网络地址转换为物理地址。如果数据包太大不能通过路径中的一条链路送到目的地,那么网络层的任务就是把这些包分成较小的包。
network2.典型设备:路由器,网桥路由器

数据链路层
1.主要功能 :保证误差错的数据链路,一方面接收来自网络层(第三层)的数据帧并为物理层封装这些帧;另一方面数据链路层把来自物理层的原始数据比特封装到网络层的帧中。起着重要的中介作用。数据链路层由IEEE802规划改进为包含两个子层:介质访问控制(MAC)和逻辑链路控制(LLC)。
data link 2.典型设备:交换机、网桥、网卡

物理层
1.主要功能 :传输比特流,工作在最底层,透明地传输比特流,就是传输的信号
physical2.典型设备:集线器、中继器,电缆,发送器,接收器

3、物理层

考虑在传输媒体上传输数据比特流,尽可能屏蔽传输媒体和通信手段的差异,使数据链路层感受不到差异。

根据信息在传输线上的传送方向,分为三种通信方式
1、单工通信:单向传输
2、半双工通信:双向交替传输
3、全双工通信:双向同时传输

带通调制:将离散的数字信号转换为连续的模拟信号。

4、数据链路层

1、封装成帧

将网络层传下来的分组添加首部和尾部,用于标记帧的开始和结束。首部 + IP数据报 + 尾部

2、透明传输

帧使用首部和尾部进行定界,如果帧的数据部分含有和首部尾部相同的内容,那么帧的开始结束位置就会被错误判定。
因此需要在数据部分出现首部尾部相同内容的内容前面插入转义字符。
如果数据部分出现转义字符,就在转义字符前面再加个转义字符。
接收端处理之后可以还原出原始数据,对转义字符进行透明传输,用户察觉不到转义字符的存在。

3、差错检测

使用循环冗余校验(Cyclic Redundancy Check, CRC) 检查比特差错。

4、信道分类

1、广播信道
	一对多通信,一个节点发送的数据能被广播信道上所有节点接收到。
		所有节点在同一个广播信道上发送数据,需要专门的控制方法进行协调,避免发生碰撞。
		两种控制方法进行协调:1、信道复用技术,2、CSMA/CD协议
	
2、点对点信道
	一对一通信,不会发生碰撞,使用PPP协议进行控制。

5、信道复用技术

用于广播信道的控制协调。

1、频分复用:所有的主机在相同的时间占用不同的频率带宽资源。
2、时分复用:所有主机在不同的时间占用相同的频率带宽资源。

使用频分复用和时分复用进行通信,在通信的过程中主机会一直占用一部分信道资源。
但是由于计算机数据的突发性质,通信过程没必要一直占用信道资源而不让出给其它用户使用,因此信道利用率都不高。

3、统计时分复用
是对时分复用的一种改进,不固定每个用户在时分复用帧中的位置,只要有数据就集中起来组成统计时分复用帧然后发送
4、波分复用
光的频分复用。由于光的频率很高,习惯上用波长而不是频率表示所使用的光载波。
5、码分复用
	为每个用户分配 m bit的码片,且所有码片正交。
	设码片S,拥有码片S的用户发送比特1时就发送该码片,发送比特0时就发送该码片的反码。
	接收端使用码片S对接受到的数据进行内积运算,结果为 0 的是其它用户发送的数据,结果为 1 的是用户发送的比特 1,结果为 -1 的是用户发送的比特 0。
	码分复用需要发送的数据量为原先的m倍。

在这里插入图片描述

6、CSMA/CD协议

CSMA/CD (Carrier Sense Multiple Access with Collision Detection)载波监听多点接入/碰撞检测。

多点接入:总线型网络,许多主机以多点的方式连接到总线上。
载波监听:每个主机都必须不停地监听信道。发送前,若监听到信道正在使用,必须等待。
碰撞检测:在发送过程中,如果监听到信道有其他主机正在发送数据,表示发生了碰撞。虽然发送数据之前都监听信道为空闲,但是由于电磁波的传播时延的存在,还是可能发生碰撞。

争用期为端到端传播时延的二倍

记端到端的传播时延为 τ,最先发送的站点最多经过 2τ 就可以知道是否发生了碰撞,称 2τ 为 争用期 。
只有经过争用期之后还没有检测到碰撞,才能肯定这次发送不会发生碰撞。

当发生碰撞时,站点要停止发送,等待一段时间再发送。这个时间采用 截断二进制指数退避算法 来确定。从离散的整数集合 {0, 1, …, (2k-1)} 中随机取出一个数,记作 r,然后取 r 倍的争用期作为重传等待时间。
在这里插入图片描述

7、PPP协议

是用户计算机和ISP进行通信时所使用的数据链路层协议,针对点对点信道。
在这里插入图片描述

PPP的帧格式:

F 字段为帧的定界符
A 和 C 字段暂时没有意义
FCS 字段是使用 CRC 的检验序列
信息部分的长度不超过 1500

8、MAC地址

MAC地址是链路层地址,长度为6字节(48位),用于唯一标识网络适配器(网卡)。

一台主机拥有多少个网络适配器就有多少个 MAC 地址。例如笔记本电脑普遍存在无线网络适配器和有线网络适配器,因此就有两个 MAC 地址。

9、局域网

局域网是一种典型的广播信道。特点是网络为一个单位所拥有,地理范围和站点数目有限。

主要有以太网、令牌环网、FDDI 和 ATM 等局域网技术,目前以太网占领着有线局域网市场。
在这里插入图片描述

10、以太网

以太网是一种星型拓扑结构局域网。

早期使用集线器进行连接,集线器是一种物理层设备,作用于比特而不是帧,当一个比特到达接口时,集线器重新生成这个比特,并将其能量强度放大,从而扩大网络的传输距离,之后再将这个比特发送到其他所有接口。

如果集线器同时收到两个不同接口的帧,就发生了碰撞。

目前以太网使用交换机替代集线器,交换机作用于链路层,不会发生碰撞,根据MAC地址进行存储转发。
在这里插入图片描述
以太网帧格式:

类型 :标记上层使用的协议;
数据 :长度在 46-1500 之间,如果太小则需要填充;
FCS :帧检验序列,使用的是 CRC 检验方法;

11、交换机

交换机有自学习能力,学习的是交换表的内容,交换表中存储MAC地址到接口的映射。
自学习-----交换机即插即用------不需要网络管理员手动配置交换表内容。

在这里插入图片描述

如图,交换机有四个接口,主机A向主机B 发送数据帧,交换机把主机A到接口1的映射写入交换表中。为了发送数据帧到B,先查交换表,此时没有主机B的表项,那么主机A就发送广播帧,主机C和主机D会丢失该帧,主机B回应 该帧 向主机A的发送数据包时,交换机查找交换表得主机A映射的接口为1,就发送数据帧到接口1,同时交换机添加主机B到接口2的映射

12、虚拟局域网

虚拟局域网可以建立与物理位置无关的逻辑组,只有在同一个虚拟局域网的成员才会收到链路层广播信息。

在这里插入图片描述
(A1, A2, A3, A4) 属于一个虚拟局域网,A1 发送的广播会被 A2、A3、A4 收到,而其它站点收不到。

使用 VLAN 干线连接来建立虚拟局域网,每台交换机上的一个特殊接口被设置为干线接口,以互连 VLAN 交换机
IEEE 定义了一种扩展的以太网帧格式 802.1Q,它在标准以太网帧上加进了 4 字节首部 VLAN 标签,用于表示该帧属于哪一个虚拟局域网

5、网络层

网络层只提供简单灵活的、无连接的、尽最大努力交互的数据报服务。
使用IP协议Internet Protocol(网际互连协议),可以把异构的物理网络连接起来。
配套使用:地址解析协议 ARP(Address Resolution Protocol)、网际控制报文协议 ICMP(Internet Control Message Protocol)、网际组管理协议 IGMP(Internet Group Management Protocol)

1、 IP数据报

在这里插入图片描述

在这里插入图片描述

1、版本:占用4位二进制数, 有 4(IPv4)和 6(IPv6)两个值;
2、首部长度:占4位二进制数,因此最大值为15。值为1表示的是一个32位字的长度,也就是4字节。因为固定部分的长度为20字节,因此该值最小为5。如果可选字段的长度不是4字节的整数倍,就用尾部的填充部分来填充。
3、区分服务 :占8位二进制数,用来获得更好的服务,一般情况下不使用。
4、总长度 : 占用16位二进制数,包括首部长度和数据部分长度。总长度字段是指整个IP数据报的长度(报头区+数据区),以字节为单位。
5、标识:在数据报长度过长而发生分片的情况下,相同数据报的不同分片有相同的标识符。
6、生存时间:TTL,为了防止无法交付的数据报在互联网中不断遛弯。以路由器跳数为单位,TTL为0时就丢弃数据报。
7、协议:指出携带的数据应该上交给哪个协议进行处理,例如ICMP、TCP、UDP等。
8、首部校验和:用于协议头数据有效性的校验,可以保证IP报头区在传输时的正确性和完整性。
	头部检验和字段是根据IP协议头计算出的检验和,它不对头部后面的数据进行计算。
	因为数据报每经过一个路由器,都要重新计算校验和,因此检验和不包含数据部分可以减少计算的工作量。
		原理:发送端首先将检验和字段置0,然后对头部中每16位二进制数进行反码求和的运算,并将结果存在校验和字段中。 由于接收方在计算过程中包含了发送方放在头部的校验和,因此,如果头部在传输过程中没有发生任何差错,那么接收方计算的结果应该是全1。
9、标志:在IP数据报头部有一个叫“标志”的字段,用3位二进制数表示:
		不分片DF(Do not Fragment):标志如果被置1,则数据报在传输过程中不能被分片,如网络连通性测试命令ping就可以用-F参数设置为在数据传输时不分片,但这样当数据不能通过MTU较小的网络时,将产生数据不可达的错误。
		片未完MF(More Fragment):标志如果被置1,说明该数据报不是分片后的最后一个数据报,最后一个数据报的该位被置0。
9、片偏移:和标识符一起,用于描述发生分片的情况,片偏移的单位为 8 字节。
	IP数据报被分片后,各片数据区在原来IP数据区中的位置,用13位二进制数来表示。

在这里插入图片描述
分片
把一个数据报为了适合网络传输而分成多个数据报的过程称为分片,被分片后的各个IP数据报可能经过不同的路径到达目标主机。

一个IP数据报在传输过程中可能被分片,也可能不被分片。如果被分片,分片后的IP数据报和原来没有分片的IP数据报结构是相同的,即也是由IP头部和IP数据区两个部分组成:
在这里插入图片描述

2、IP地址编码方式

编址方式: 分类 ----> 子网划分 ----> 无分类

1、分类

由两部分组成,网络号和主机号,不同分类有不同的网络号长度,是固定的。
IP 地址 ::= {< 网络号 >, < 主机号 >}

A类:(0.0.0.0-127.255.255.255)(默认子网掩码:255.0.0.0),网络号取值于1~126之间。
B类:(128.0.0.0-191.255.255.255)(默认子网掩码:255.255.0.0),网络号取值于128~191之间。
C类:(192.0.0.0-223.255.255.255)(子网掩码:255.255.255.0),网络号取值于192~223之间。
D类:(224.0.0.0-239.255.255.255)是多播地址。该类IP地址的最前面为“1110”,所以地址的网络号取值于224~239之间。
E类:(240.0.0.0-247.255.255.255)是保留地址。该类IP地址的最前面为“1111”,所以地址的网络号取值于240~255之间。

回送地址:127.0.0.1。 也是本机地址,等效于localhost或本机IP。一般用于测试使用。例如:ping 127.0.0.1来测试本机TCP/IP是否正常。
在这里插入图片描述
2、子网划分

通过在主机号字段中拿一部分作为子网号,把两级 IP 地址划分为三级 IP 地址。
IP 地址 ::= {< 网络号 >, < 子网号 >, < 主机号 >}

要使用子网,必须配置子网掩码。
注意,外部网络看不到子网的存在。

3、无分类

无分类编址 CIDR 消除了传统 A 类、B 类和 C 类地址以及划分子网的概念,使用网络前缀和主机号来对 IP 地址进行编码,网络前缀的长度可以根据需要变化。
IP 地址 ::= {< 网络前缀号 >, < 主机号 >}

CIDR 的记法上采用在 IP 地址后面加上网络前缀长度的方法,例如 128.14.35.7/20 表示前 20 位为网络前缀。CIDR 的地址掩码可以继续称为子网掩码。

一个 CIDR 地址块中有很多地址,一个 CIDR 表示的网络就可以表示原来的很多个网络,并且在路由表中只需要一个路由就可以代替原来的多个路由,减少了路由表项的数量。
把这种通过使用网络前缀来减少路由表项的方式称为路由聚合,也称为 构成超网

在路由表中的项目由“网络前缀”和“下一跳地址”组成,在查找时可能会得到不止一个匹配结果,应当采用最长前缀匹配来确定应该匹配哪一个。

3、地址解析协议 ARP

网络层实现主机之间的通信,而链路层实现具体每段链路之间的通信。
在通信过程中,IP数据报的源地址和目的地址不变MAC地址随着链路的改变而改变

ARP地址解析协议:由IP地址得到MAC地址
在这里插入图片描述
每个主机都有一个 ARP 高速缓存,里面有本局域网上的各主机和路由器的 IP 地址到 MAC 地址的映射表。

如果主机 A 知道主机 B 的 IP 地址,但是 ARP 高速缓存中没有该 IP 地址到 MAC 地址的映射,
此时主机 A 通过广播的方式发送 ARP 请求分组
主机 B 收到该请求后会发送 ARP 响应分组给主机 A 告知其 MAC 地址,
随后主机 A 向其高速缓存中写入主机 B 的 IP 地址到 MAC 地址的映射。

4、网际控制报文协议 ICMP

ICMP 是为了更有效地转发 IP 数据报和提高交付成功的机会。它封装在 IP 数据报中,但是不属于高层协议。-----封装在IP数据报的数据部分。
在这里插入图片描述
ICMP 报文分为差错报告报文和询问报文。
在这里插入图片描述
Ping:用来测试两台主机间的连通性。

原理:
通过向目的主机发送ICMP Echo请求报文,目的主机收到之后会发送Echo回答报文。
Ping根据时间和成功响应的次数估算出数据包往返时间及丢包率。

Traceroute:用来跟踪一个分组从源点到终点的路径。

Traceroute发送的IP数据报封装的是无法交付的UDP用户数据报,并由目的主机发送终点不可达差错报告报文

1、源主机向目的主机发送一连串的IP数据报。第一个数据报 P1 的生存时间 TTL 设置为 1,当 P1 到达路径上的第一个路由器 R1 时,R1 收下它并把 TTL 减 1,此时 TTL 等于 0,R1 就把 P1 丢弃,并向源主机发送一个 ICMP 时间超过差错报告报文;
2、源主机接着发送第二个数据报 P2,并把 TTL 设置为 2。P2 先到达 R1,R1 收下后把 TTL 减 1 再转发给 R2,R2 收下后也把 TTL 减 1,由于此时 TTL 等于 0,R2 就丢弃 P2,并向源主机发送一个 ICMP 时间超过差错报文。
3、不断执行这样的步骤,直到最后一个数据报刚刚到达目的主机,主机不转发数据报,也不把 TTL 值减 1。但是因为数据报封装的是无法交付的 UDP,因此目的主机要向源主机发送 ICMP 终点不可达差错报告报文。
4、之后源主机知道了到达目的主机所经过的路由器 IP 地址以及到达每个路由器的往返时间。

5、虚拟专用网 VPN

由于 IP 地址的紧缺,一个机构能申请到的 IP 地址数往往远小于本机构所拥有的主机数。
并且一个机构并不需要把所有的主机接入到外部的互联网中,机构内的计算机可以使用仅在本机构有效的 IP 地址(专用地址)。
有三个专用地址块:
10.0.0.0 ~ 10.255.255.255、172.16.0.0 ~ 172.31.255.255、192.168.0.0 ~ 192.168.255.255

VPN 使用公用的互联网作为本机构各专用网之间的通信载体
专用指机构内的主机只与本机构内的其它主机通信
虚拟指好像是,而实际上并不是,它有经过公用的互联网
在这里插入图片描述
场所 A 和 B 的通信经过互联网,如果场所 A 的主机 X 要和另一个场所 B 的主机 Y 通信,IP 数据报的源地址是 10.1.0.1,目的地址是 10.2.0.3。
数据报先发送到与互联网相连的路由器 R1,R1 对内部数据进行加密,然后重新加上数据报的首部,源地址是路由器 R1 的全球地址 125.1.2.3,目的地址是路由器 R2 的全球地址 194.4.5.6。
路由器 R2 收到数据报后将数据部分进行解密,恢复原来的数据报,此时目的地址为 10.2.0.3,就交付给 Y。

6、网络地址转换 NAT

专用网内部的主机使用本地IP地址又想和互联网上主机通信时,可以网络地址转换NAT 将本地IP转为全球IP。

以前,NAT 将本地 IP 和全球 IP 一一对应,这种方式下拥有 n 个全球 IP 地址的专用网内最多只可以同时有 n 台主机接入互联网
为了更有效地利用全球 IP 地址,现在常用的 NAT 转换表把传输层的端口号也用上了,使得多个专用网内部的主机共用一个全球 IP 地址。使用端口号的 NAT 也叫做网络地址与端口转换 NAPT
在这里插入图片描述

7、路由器

路由器从功能上可以划分为:路由选择分组转发
分组转发结构由三个部分组成:交换结构、输入端口和输出端口
在这里插入图片描述
分组转发流程:
在这里插入图片描述

1、从数据报的首部提取出目的主机的IP地址D,得到目的网络地址N。
2、若 N 就是与此路由器直接相连的某个网络地址,则进行直接交付;
3、若路由表中有目的地址为 D 的特定主机路由,则把数据报传送给表中所指明的下一跳路由器;
4、若路由表中有到达网络 N 的路由,则把数据报传送给路由表中所指明的下一跳路由器;
5、若路由表中有一个默认路由,则把数据报传送给路由表中所指明的默认路由器;
6、报告转发分组出错。

路由选择协议

路由选择协议都是自适应的,能随着网络通信量和拓扑结构的变化而自适应地进行调整。
互联网可以划分为许多较小的自治系统 A S,一个 AS 可以使用和别的 AS 不同的路由选择协议。
路由选择协议可以划分为:
1、自治系统内部的路由选择:RIP、OSPF
2、自治系统间的路由选择:BGP

1、内部网关协议RIP

路由信息协议 RIP (Routing Information Protocol) 是一种基于距离向量的路由选择协议。
距离是指跳数,直接相连的路由器跳数为1。跳数最多为15,超过15表示不可达。

RIP 按固定的时间间隔 仅和相邻路由器交换自己的路由表,经过若干次交换之后,所有路由器最终会知道到达本自治系统中任何一个网络最短距离下一跳路由器地址

距离向量算法:–求最短距离

1、对地址为 X 的相邻路由器发来的 RIP 报文,先修改报文中的所有项目,把下一跳字段中的地址改为 X,并把所有的距离字段加 1;
2、对修改后的 RIP 报文中的每一个项目,进行以下步骤:
	3、若原来的路由表中没有目的网络 N,则把该项目添加到路由表中;
	4、否则:若下一跳路由器地址是 X,则把收到的项目替换原来路由表中的项目;否则:若收到的项目中的距离 d 小于路由表中的距离,则进行更新(例如原始路由表项为 Net2, 5, P,新表项为 Net2, 4, X,则更新);否则什么也不做。
	5、若 3 分钟还没有收到相邻路由器的更新路由表,则把该相邻路由器标为不可达,即把距离置为 16。

RIP 协议实现简单,开销小。但是 RIP 能使用的最大距离为 15,限制了网络的规模。
并且当网络出现故障时,要经过比较长的时间才能将此消息传送到所有路由器。

2、内部网关协议OSPF

开放最短路径优先 OSPF (Open Shortest Path First),为了克服 RIP 的缺点而开发出来的。
开放----表示 OSPF 不受某一家厂商控制,而是公开发表的;
最短路径优先----表示使用了 Dijkstra 提出的最短路径算法 SPF。
OSPF特点:

1、向本自治系统中所有路由器发送信息,洪泛法发送。
2、发送的信息就是与相邻路由器的链路状态,
链路状态包括与哪些路由器相连以及链路的度量,度量用费用、距离、时延、带宽等来表示。
3、只有当链路状态发生变化时,路由器才会发送信息。

所有路由器都具有全网的拓扑结构图,并且是一致的。相比于 RIP,OSPF 的更新过程收敛的很快。

3、外部网关协议BGP

边界网关协议BGP(Border Gateway Protocol)。
AS 之间的路由选择很困难,主要是由于:

1、互联网规模很大;
2、各个 AS 内部使用不同的路由选择协议,无法准确定义路径的度量;
3、AS 之间的路由选择必须考虑有关的策略,比如有些 AS 不愿意让其它 AS 经过。

BGP 只能寻找一条比较好的路由,而不是最佳路由。

每个 AS 都必须配置 BGP 发言人,通过在两个相邻 BGP 发言人之间建立 TCP 连接交换路由信息
在这里插入图片描述

6、传输层

网络层将分组发送到目的主机,真正通信的是主机中的进程。
传输层提供了进程间的逻辑通信,传输层向高层用户屏蔽了下面网络层的核心细节,使应用程序看起来像是在两个传输层实体之间有一条端到端的逻辑通信信道

1、UDP和TCP的特点

用户数据报协议 UDP(User Datagram Protocol):
无连接的,尽最大可能交付没有拥塞控制面向报文(对于应用程序传下来的报文不合并也不拆分,只是添加UDP首部),支持一对一、一对多、多对一和多对多的交互通信

传输控制协议 TCP(Transmission Control Protocol):
面向连接的,提供可靠支付有流量控制,拥塞控制提供全双工通信面向字节流(把应用层传下来的报文看成字节流,把字节流组织成大小不等的数据块),每一条TCP连接只能是点对点的(一对一)。

2、UDP和TCP的首部格式

UDP首部格式:

UDP的首部字段只有8个字节,包括源端口、目的端口、长度、校验和,分别占两个字节。
12字节的伪首部为了计算校验和临时添加。
在这里插入图片描述
TCP首部格式:
在这里插入图片描述

1、序号:用于对字节流进行编号。
	例如序号为 301,表示第一个字节的编号为 301,如果携带的数据长度为 100 字节,那么下一个报文段的序号应为 401。
2、确认号:期望收到的下一个报文段的序号。
	例如 B 正确收到 A 发送来的一个报文段,序号为 501,携带的数据长度为 200 字节,因此 B 期望下一个报文段的序号为 701,B 发送给 A 的确认报文段中确认号就为 701。
3、数据偏移 :指的是数据部分距离报文段起始处的偏移量,实际上指的是首部的长度。
4、确认 ACK :当 ACK=1 时确认号字段有效,否则无效。
	TCP 规定,在连接建立后所有传送的报文段都必须把 ACK 置 1。
5、同步 SYN :在连接建立时用来同步序号。
	当 SYN=1,ACK=0 时表示这是一个连接请求报文段。若对方同意建立连接,则响应报文中 SYN=1,ACK=1。
6、终止 FIN :用来释放一个连接,当 FIN=1 时,表示此报文段的发送方的数据已发送完毕,并要求释放连接。
7、窗口 :窗口值作为接收方让发送方设置其发送窗口的依据。之所以要有这个限制,是因为接收方的数据缓存空间是有限的。

3、TCP的三次握手

在这里插入图片描述
通过三次握手,建立TCP连接:

假设 A 为客户端,B 为服务器端。
1、首先 服务器端B 处于 LISTEN(监听)状态,等待客户的连接请求。
2、第一次握手:A 向 B 发送连接请求报文,SYN=1,ACK=0,选择一个初始的序号 x。
3、第二次握手:B 收到连接请求报文,如果同意建立连接,则向 A 发送连接确认报文,SYN=1,ACK=1,确认号为 x+1,同时也选择一个初始的序号 y。
4、第三次握手:A 收到 B 的连接确认报文后,还要向 B 发出确认,确认号为 y+1,序号为 x+1。
5、B 收到 A 的确认后,连接建立。

三次握手的原因:

第三次握手是为了防止失效的连接请求到达服务器,让服务器错误打开连接。

客户端发送的连接请求可能会在网络中滞留,那么客户端就会隔很长一段时间才能收到服务器端发回的连接确认。
客户端等待一个超时重传时间之后,就会重新请求连接。但是滞留的连接请求最后还是会到达服务器,如果不进行三次握手,服务器端就会打开两个连接。
如果有第三次握手,客户端会忽略服务器之后发送的对滞留连接请求的连接确认,不进行第三次握手,因此就不会再次打开连接。

第一次握手:客户端发送带同步标志的数据包给服务端。
——服务端确认对方发送正常,自己接收正常。
第二次握手:服务端发送带有同步/确认标志的数据包给客户端。
——客户端确认:自己发送、接收正常,对方发送、接收正常
——服务端确认:对方发送正常,自己接收正常
第三次握手:客户端发送带确认标志的数据包给服务端
——客户端、服务端都正常。确认双发双收功能正常

4、TCP的四次挥手:

在这里插入图片描述
TCP四次挥手,释放连接:

ACK在建立连接后都是1。序号和确认号都是原有+1(数据长度)。
1、A发送连接释放报文,FIN=1,选择一个初始序号为u。
2、B收到之后发出确认,ACK=1,确认号为u+1,选择一个初始的序号v。
	此时TCP处于半关闭状态,B能向A发送数据但是A不能向B发送数据,图中的数据传送单向。
3、当B不再需要连接时,结束CLOSE-WAIT状态时,发送连接释放报文,FIN=1,ACK=1,确认号为u+1,选择一个初始的序号w。
4、A收到后发出确认,ACK=1,确认号为w+1,序号为u+1。
	客户端A进入TIME-WAIT状态,等待2MSL(最大报文存活时间)后释放连接。
5、B收到A的确认后释放连接。

四次挥手的原因:

客户端发送了FIN连接释放报文后,服务器收到这个报文,进入了CLOSE-WAIT状态。
这个状态是为了让服务器端发送还未传送完毕的数据,传送完毕之后,服务器发送FIN连接释放报文。

TIME-WAIT:

客户端接收到服务器端的FIN报文后进入TIME-WAIT状态,此时客户端并不是直接进入CLOSED状态。
还需要等待一个时间计时器设置的时间2MSL。这么做的理由:
	1、为实现TCP全双工连接的可靠释放。确保最后一个报文能够到达。
		如果B没有收到A发来的确认报文,那么A就会重新发送连接释放请求报文。
	2、为使旧的数据包在网络中因过期而消失。
		等待一段时间是为了让本连接持续时间内所产生的所有报文都从网络中消失,使下一个新的连接不会出现旧的连接请求报文。

TIME-WAIT状态如何避免?

	首先服务器可以设置SO_REUSEADDR套接字选项来通知内核,如果端口忙,但TCP连接位于TIME_WAIT状态时可以重用端口。
	在一个非常有用的场景就是,如果你的服务器程序停止后想立即重启,而新的套接字依旧希望使用同一端口,此时SO_REUSEADDR选项就可以避免TIME_WAIT状态。

TIME-WAIT的危害:

	在高并发短连接的TCP服务器上,当服务器处理完请求后主动请求关闭连接,这样服务器上会有大量的连接处于TIME_WAIT状态,
	服务器维护每一个连接需要一个socket,也就是每个连接会占用一个文件描述符,而文件描述符的使用是有上限的,
	如果持续高并发,会导致一些连接失败。

TCP协议如何保证可靠传输?

**1、数据分割:**应用数据被分割成 TCP 认为最适合发送的数据块。
2、数据包编号: TCP 给发送的每⼀个包进⾏编号,接收⽅对数据包进⾏排序,把有序数据传送给应⽤层。
3、校验和: TCP 将保持它⾸部和数据的检验和。这是⼀个端到端的检验和,⽬的是检测数据在传输过程中的任何变化。如果收到段的检验和有差错, TCP 将丢弃这个报⽂段和不确认收到此报⽂段。
4、丢弃重复: TCP的接收端会丢弃重复的数据。
5、流量控制: TCP 连接的每⼀⽅都有固定大小的缓冲空间, TCP的接收端只允许发送端发送接收端缓冲区能接纳的数据。当接收⽅来不及处理发送方的数据,能提示发送⽅降低发送的速率,防止包丢失。 TCP 使⽤的流量控制协议是可变大小的滑动窗⼝协议。 (TCP 利⽤滑动窗⼝实现流量控制)
**6、拥塞控制:**当⽹络拥塞时,减少数据的发送。
**7、ARQ协议:**每发完⼀个分组就停止发送,等待对方确认。在收到确认后再发下⼀个分组。
8、超时重传: 当 TCP 发出⼀个段后,它启动⼀个定时器,等待目的端确认收到这个报⽂段。如果不能及时收到⼀个确认,将重发这个报⽂段。

5、TCP可靠传输

TCP使用超时重传来实现可靠传输:
如果一个已经发送的报文在超时时间内没有收到确认,就重传这个报文段。

一个报文段从发送再到接收到确认所经过的时间被称为往返时间RTT
加权平均往返时间RTTs: RTTs = (1 - a ) * RTTs  +  a* RTT
其中,0 ≤ a < 1,RTTs 随着 a 的增加更容易受到 RTT 的影响。
超时时间 RTO 应该略大于 RTTs,TCP 使用的超时时间计算如下:
在这里插入图片描述
其中 RTTd 为偏差的加权平均值。

6、TCP滑动窗口

窗口是缓存的一部分,用来暂时存放字节流
发送方和接收方各有一个窗口,接收方通过 TCP 报文段中的窗口字段告诉发送方自己的窗口大小, 发送方根据这个值和其它信息设置自己的窗口大小。

发送窗口内的字节都允许被发送,接收窗口内的字节都允许被接收。
如果发送窗口左部的字节已经发送并且收到了确认,那么就将发送窗口向右滑动一定距离,直到左部第一个字节不是已发送并且已确认的状态;接收窗口的滑动类似,接收窗口左部字节已经发送确认并交付主机,就向右滑动接收窗口。

接收窗口只会对窗口内最后一个按序到达的字节进行确认,例如接收窗口已经收到的字节为 {31, 34, 35},其中 {31} 按序到达,而 {34, 35} 就不是,因此只对字节 31 进行确认。
发送方得到一个字节的确认之后,就知道这个字节之前的所有字节都已经被接收。
在这里插入图片描述

7、TCP流量控制

流量控制是为了控制发送方的发送速率,保证接收方来得及接收。
接收方发送的确认报文中的窗口字段可以用来控制发送方窗口大小,从而影响发送方的发送速率。
将窗口字段设置为0,则发送方不能发送数据。

8、TCP拥塞控制

如果网络出现拥塞,分组将会丢失,此时发送方会继续重传,会导致网络拥塞程度更高。
因此当出现拥塞时,应当控制发送方的速率。这一点和流量控制很像,但是出发点不同。
流量控制是为了让接收方能来得及接收,而拥塞控制是为了降低整个网络的拥塞程度
在这里插入图片描述
TCP 主要通过四个算法来进行拥塞控制:慢开始拥塞避免快重传快恢复
发送方需要维护一个叫做拥塞窗口(cwnd)的状态变量,注意拥塞窗口与发送方窗口的区别:
拥塞窗口只是一个状态变量,实际决定发送方能发送多少数据的是发送方窗口。

在这里插入图片描述

为了便于讨论,做如下假设:
	1、接收方有足够大的接收缓存,因此不会发生流量控制;
	2、虽然 TCP 的窗口基于字节,但是这里设窗口的大小单位为报文段。

1、慢开始
发送的最初执行慢开始,令 cwnd = 1,发送方只能发送 1 个报文段;当收到确认后,将 cwnd 加倍,因此之后发送方能够发送的报文段数量为:2、4、8

2、拥塞避免
慢开始每个轮次都将拥塞窗口翻倍,cwnd指数级增长,使得发送方发送的速度增长速度过快,拥塞可能性增高。
设置一个慢开始门限 ssthresh,当 cwnd >= ssthresh 时,进入拥塞避免,每个轮次只将 cwnd 加 1。

如果出现了超时,则令 ssthresh = cwnd / 2,然后重新执行慢开始。

3、快重传
在接收方,要求每次接收到报文段都应该对最后一个已收到的有序报文段进行确认。例如已经接收到 M1 和 M2,此时收到 M4,应当发送对 M2 的确认

在发送方,如果收到三个重复确认,那么可以知道下一个报文段丢失,此时执行快重传立即重传下一个报文段。例如收到三个 M2,则 M3 丢失,立即重传 M3。

4、快恢复
在这种情况下,只是丢失个别报文段,而不是网络拥塞。
因此执行快恢复,令 ssthresh = cwnd / 2cwnd = ssthresh,注意到此时直接进入拥塞避免
在这里插入图片描述

慢开始和快恢复的快慢指的是 cwnd 的设定值,而不是 cwnd 的增长速率。
慢开始 cwnd 设定为 1,而快恢复 cwnd 设定为 ssthresh。

ps:什么是默认网关?

网关(Gateway),又称网间连接器协议转换器
网关在传输层上以实现网络互连,是最复杂的网络互连设备,仅用于两个高层协议不同的网络互连。
网关既可以用于广域网互连,也可以用于局域网互连
网关是一种充当转换重任的计算机系统或设备
在使用不同的通信协议、数据格式或语言,甚至体系结构完全不同的两种系统之间,网关是一个翻译器
与网桥只是简单地传达信息不同,网关对收到的信息要重新打包,以适应目的系统的需求。

作用:
主要是连接和转换的作用。
处在同一局域网的中计算机进行通信的时候并不需要用到网关。
局域网中的计算机需要和其它局域网中的计算机、和互联网上的计算机进行通信的时候,数据包必须要通过网关才可以到达。

一般默认网关是192.168.0.1

7、应用层

常用端口:

应用应用层协议端口号传输层协议备注
域名解析DNS53UDP/TCP一般使用UDP,长度超过512字节时使用TCP
文件传送协议FTP20/21TCP控制连接21,数据连接20
动态主机配置协议DHCP67/68UDP
简单网络管理协议SNMP161/162UDP
远程终端协议TELNET23TCP
超文本传送协议HTTP80TCP
简单邮件传送协议SMTP25TCP
邮件读取协议POP3110TCP
网际报文存取协议IMAP143TCP

1、域名系统 DNS

(Domain Name System,DNS)是一个分布式数据库,提供了主机名和IP地址之间的相互转换的服务。-----分布式数据库指,每个站点保留自己的那部分数据。

域名具有层次结构,从上到下为:根域名、顶级域名、二级域名

根域名:"."。例如,有些场合,www.example.com 被写成 www.example.com.。
顶级域名:.com、.top、.edu、.gov、.mil、.net、.org、.com、.top用于企业,.edu用于教育机构,.gov用于政府机构,.mil用于军事部门,.net用于互联网络及信息中心等,.org用于非盈利性组织。

举例:如 abc.com.cn 其中 cn 是顶级域名、com 是二级域名、abc 是三级域名,如 abc.com 其中 com 为顶级域名,abc 为二级域名。
在这里插入图片描述
DNS可以使用UDP或者TCP进行传输,使用的端口号都是53
大多数情况下,DNS使用UDP进行传输----要求域名解析器和域名服务器都必须自己处理超时和重传保证可靠性。

使用TCP进行传输:
1、如果返回的响应超过512字节(UDP最大只支持512字节的数据).
2、区域传送(主域名服务器向辅助域名服务器传送变化的那部分数据)。

2、文件传送协议 FTP

(File Transfer Protocol, FTP)用于传送文件,使用TCP进行连接,需要两个连接传送一个文件。
控制连接服务器打开端口号21等待客户端的连接客户端主动建立连接后,使用这个连接将客户端的命令传送给服务器,并传回服务器的应答
数据连接:用来传送一个文件数据

根据数据连接主动建立的发起者,FTP有主动和被动两种模式:

主动模式:服务器端主动建立数据连接,其中服务器端的端口号为20客户端的端口号随机,但必须大于1024,因为0~1023是熟知的端口号。
在这里插入图片描述
被动模式:客户端主动建立数据连接,其中客户端的端口号客户端自己指定服务器端的端口号随机。
在这里插入图片描述
主动模式要求客户端开放端口号给服务器端,需要去配置客户端的防火墙
被动模式只需要服务器端开放端口号即可,无需客户端配置防火墙
但是被动模式会导致服务器端的安全性减弱,因为开放了过多的端口号。

3、动态主机配置协议 DHCP

(Dynamic Host Configuration Protocol, DHCP)提供了即插即用的联网方式,用户不需要手动配置IP等。
DHCP配置内容:IP地址、子网掩码、网关IP地址等。
在这里插入图片描述
DHCP工作过程:
1、客户端发送Discover报文,该报文的目的地址为255.255.255.255:67,67是端口号,源地址为0.0.0.0:68,被放入UDP中,该报文被广播到同一个子网的所有主机上。若客户端和DHCP服务器不在同一个子网,就需要使用中继代理。
2、DHCP服务器收到Discover报文之后,发送Offer报文给客户端,报文中包含了客户端所需要的信息。客户端可能会收到多个DHCP服务器提供的信息,客户端需要进行选择。
3、如果客户端选择了某个DHCP服务器提供的信息,就发送Request报文给该DHCP服务器。
4、DHCP服务器发送Ack报文,表示客户端此时可以使用服务器提供给客户端的信息。

4、远程登录协议 TELNET

TELNET用于登录到远程主机上,并且远程主机上的输出也会返回。
TELNET可以适应许多计算机和操作系统的差异,例如不同操作系统的换行符定义。

5、电子邮件协议

一个电子邮件系统由三部分组成:用户代理、邮件服务器及邮件协议。
邮件协议包含发送协议和读取协议,发送协议常用SMTP、读取协议常用POP3和IMAP。
在这里插入图片描述
1、SMTP

简单邮件传送协议(Simple Mail Transfer Protocol, SMTP)只能发送ASCII码。
互联网邮件扩充(Multipurpose Internet Mail Extensions,MIME)可以发送二进制文件。
MIME增加了邮件主体的结构,定义了非ASCII码的编码规则。
在这里插入图片描述
2、POP3

“Post Office Protocol - Version 3”,即“邮局协议版本3”。
POP3的特点是只要用户从服务器上读取了邮件,就把邮件删除。最新版本的POP3可以不删除邮件。

3、IMAP

(Internet Message Access Protocol)以前称作交互邮件访问协议(Interactive Mail Access Protocol)。
IMAP协议中客户端和服务器上的邮件保持同步,如果不手动删除邮件,那么服务器上的邮件也不会被删除。IMAP可以让用户随时随地访问服务器上的邮件。

6、Web页面请求过程

1、DHCP配置主机信息

1、假设主机最开始没有IP地址及其它信息,那么需要先使用DHCP--动态主机配置协议--获取。
2、主机生成一个DHCP请求报文,并将这个报文放进具有目的端口67和源端口68的UDP报文段中。
3、该报文段被放入一个具有广播IP目的地址(255.255.255.255) 和源 IP 地址(0.0.0.0)的IP数据报中。
4、该数据报被放置在MAC帧中,该帧具有目的地址FF:FF:FF:FF:FF:FF,将广播到与交换机相连的所有设备。
5、与交换机相连的DHCP服务器收到广播帧后,不断向上分解得到IP数据报、UDP报文段、DHCP请求报文,之后生成DHCP Ack报文。Ack报文包含:IP地址、DNS服务器的IP地址、默认网关路由器的IP地址和子网掩码。该报文被放入UDP报文段中,UDP报文段又被放入IP数据报,最后放入MAC帧中。
6、该帧的目的地址是请求主机的MAC地址,因为交换机具有自学习能力,之前主机发送了广播帧之后就记录了MAC地址到其转发接口的交换表项,因此交换机直接可以知道向哪个接口发送该帧。
7、主机收到该帧后,不断分解得到DHCP报文。之后配置IP地址、子网掩码、DNS服务器的IP地址,并在其IP转发表中安装默认网关。

2、ARP解析MAC地址

1、主机通过浏览器生成一个TCP套接字,套接字向HTTP服务器发送HTTP请求。为了生成套接字,主机需要知道网站域名对应的IP地址。
2、主机生成一个DNS查询报文,--53号端口。
3、DNS查询报文被放入目的地址为DNS服务器IP地址的IP数据报中。
4、该IP数据报被放入一个以太网帧中,发送到网关路由器。
5、DHCP过程只知道网关路由器的IP地址,通过ARP--地址解析协议获取网关路由器的MAC地址。
6、主机生成一个包含目的地址为网关路由器IP地址的ARP查询报文,并将其放入一个广播目的地址为FF:FF:FF:FF:FF:FF的以太网帧中,并向交换机发送该以太网帧。
7、与交换机连接的网关路由器接收到该帧后,不断向上分解得到ARP报文,发现其中的IP地址与其接口的IP地址匹配,发送一个ARP回答报文,包含网关路由器的MAC地址,发回给主机。

3、DNS解析域名

1、网关路由器接收到包含DNS查询报文的以太网帧后,抽取出IP数据报,并根据转发表决定该IP数据报应该转发的路由器。
2、路由器有内部网关协议(RIP、OSPF)和外部网关协议(BGP)这两种路由选择协议,因此路由表中已经配置了网关路由器到达DNS服务器的路由表项。
3、到达 DNS 服务器之后,DNS 服务器抽取出 DNS 查询报文,并在 DNS 数据库中查找待解析的域名。
4、找到 DNS 记录之后,发送 DNS 回答报文,将该回答报文放入 UDP 报文段中,然后放入 IP 数据报中,通过路由器反向转发回网关路由器,并经过以太网交换机到达主机。

4、HTTP请求页面

1、有了HTTP服务器的IP地址后,主机能生成TCP套接字,用于向Web服务器发送HTTP GET报文。
2、生成TCP套接字之前,必须先与HTTP服务器进行三次握手建立连接。生成一个具有目的端口80的TCP SYN报文段,并向HTTP服务器发送该报文段。
3、HTTP服务器收到该报文段后,生成TCP SYN ACK报文段,发回给主机。
4、连接建立后,浏览器生成HTTP GET报文,并交付给HTTP服务器。
5、HTTP服务器从TCP套接字读取 HTTP GET报文,生成一个HTTP响应报文,将Web页面内容放入报文主体中,发回给主机。
6、浏览器收到HTTP响应报文后,抽取出Web页面内容,之后进行渲染,显示Web页面。
  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
计算机网络笔记pdf是指通过电子方式制作的计算机网络学习材料。这种格式的笔记具有许多优势和便利性。 首先,通过将计算机网络笔记制作成pdf格式,可以实现电子化存储和传输,方便学生在不同设备上进行查阅。无论是在电脑、平板还是手机上,只要有pdf阅读软件,就可以随时打开和阅读这些学习材料。同时,学生们也可以通过邮件、社交媒体等方式分享和传输pdf笔记,方便与他人进行学习分享和讨论。 其次,pdf格式的笔记具有较好的兼容性。无论是使用Windows、Mac还是Linux系统,都可以很好地支持pdf文件的打开和编辑。这一点在计算机领域尤为重要,因为计算机网络学习通常需要使用多种操作系统和软件工具。 此外,pdf格式的笔记还具有便于编辑和标注的特点。学生们可以使用pdf阅读软件提供的功能,如划线、批注、插入书签等,方便地对重点知识进行标记和整理。这对于复习和回顾来说非常有帮助,可以快速找到自己需要的内容。 最后,pdf格式的计算机网络笔记还可以保护知识产权和内容的完整性。通过设置权限和密码保护,可以防止未经授权的复制和修改,确保学习材料的安全和可信度。 综上所述,计算机网络笔记pdf是一种便捷、兼容、可编辑和安全的学习材料格式,对于学生们在计算机网络学习中起到了重要的作用。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值