湖科大 2022 计算机网络期末复习资料


前言

  1. 重点来源:人工智能和信息安全,感谢yq和zxq
  2. 内容主要来源:课本、PPT(htq21年版)、网上大佬笔记、甚至还有上学期学的数据通信原理的笔记(lqx的和我的)、lqx笔记、ffj笔记
  3. 虽然是下学期开学考(烦!),但是先总结,避免下学期忘了
  4. ★超级重点,✦易错,※补充内容
  5. 建议看的时候结合大纲,特意注意了知识点之间的层次结构
  6. 习题没怎么加

题型

  1. 选择题(包括单选和多选,共30分。单选每小题1分,计20分。多选每小题2分,计10分)
  2. 简答题(每小题5分,共20分)
  3. 分析计算题(共40分,共4小题)
  4. 论述题(本题10分,共1小题)

第一章 概述

三网融合

三大类网络

  • 电信网络:提供电话、电报及传真等服务;
  • 有线电视网络:向用户传送各种电视节目;
  • 计算机网络:使用户能在计算机之间传送数据文件;

定义

把上述三种网络融合成一种网络就能够提供所有的上述服务

计算机网络

  • 别名:Internet/网络/因特网/互联网

  • 互联网是一种远程分组交换网络,所以采用的是分组交换技术

定义★

  1. 由自治的计算机互联起来的集合体。

  2. 计算机网络由若干结点(node)和连接这些结点的链路(link)组成。

    网络中的结点可以是计算机、集线器、交换机或路由器等。

  3. 由一些通用的、可编程的硬件互连而成的

互联网基础结构发展三个阶段★

  1. 从单个网络 ARPANET 向互联网发展的过程。

  2. 逐步建成三级结构的互联网。

    主干网、地区网和校园网或企业网

  3. 逐渐形成了多层次 ISP 结构的互联网。

    基于 ISP 的多层结构的互联网的概念示意图

    image-20230206212527266

计算机网络发展阶段

  1. 面向终端的计算机通信网络:一台主机连多个终端;
  2. 共享资源目标的计算机网络:采用分组交换技术,ARPANET是代表;
  3. 开放式标准化网络:形成计算机网络体系结构,OSI标准;
  4. 高速计算机网络:Internet就是这一代网络的典型代表。

特点

  1. 连通性 (connectivity)

    使上网用户之间都可以交换信息(数据,以及各种音频视频),好像这些用户的计算机都可以彼此直接连通一样。

    互联网具有虚拟的特点,无法准确知道对方是谁,也无法知道对方的位置。

  2. 共享 (Sharing)

    • 资源共享
    • 资源共享的含义是多方面的。可以是信息共享、软件共享,也可以是硬件共享。
    • 由于网络的存在,这些资源好像就在用户身边一样,方便使用。

功能

数据通信、资源共享、分布式处理

组成★

边缘部分(资源子网)

定义

由所有连接在因特网上的主机组成(台式电脑,大型服务器,笔记本电脑,平板,智能手机等)。这部分是用户直接使用的,用来进行通信(传送数据、音频或视频)和资源共享

通信方式
C/S模式(客户-服务器方式)
  • 客户 (client) 和服务器 (server) 都是指通信中所涉及的两个应用进程
  • 客户 - 服务器方式所描述的是进程之间服务和被服务的关系。
  • 客户是服务的请求方,服务器是服务的提供方。它们都要使用网络核心部分所提供的服务。
P2P模式(对等连接方式)
  • 对等连接 (peer-to-peer,简写为 P2P ) 是指两个主机在通信时并不区分哪一个是服务请求方还是服务提供方。
  • 只要两个主机都运行了对等连接软件 ( P2P 软件) ,它们就可以进行平等的、对等连接通信
  • 对等连接方式从本质上看仍然是使用客户-服务器方式,只是对等连接中的每一台主机既是客户又同时是服务器

核心部分(通信子网)

定义

大量网络和连接这些网络的路由器组成。这部分是为边缘部分提供服务的(提供连通性交换)。

工作方式※

在网络核心部分起特殊作用的是路由器。路由器是实现分组交换的关键构件,如果没有路由器,再多的网络也无法构建成互联网。由此可以看出,互联网的核心部分的工作方式其实也就是路由器的工作方式。

路由器的任务是转发收到的分组。当路由器转发分组时,必须查找路由表。因此,互联网中的各路由器必须根据路由选择协议的规定相互交换路由信息,以便使路由表能够及时反映出网络拓扑的变化。

  1. 路由器转发分组。

    路由器分组转发算法

  2. 路由器之间不断地交换路由信息。

    路由选择协议

internet与Internet的区别

  • internet(互连网)是一个通用名词,它泛指多个计算机网络互连而成的网络(网络的网络)。在这些网络之间的通信协议可以是任意的。(internet包括Internet)
  • Internet(因特网)是一个专用名词,它特指当前全球最大的、开放的、由众多网络互连而成的特定计算机网络,它采用TCP/IP协议族作为通信的规则,其前身是美国的ARPANET。

任意把几个计算机网络互连起来(不管采用什么协议),并能够相互通信,这样构成的是一个互连网(internet) ,而不是互联网(Internet)。

交换技术★

可以参考数据通信原理

电路交换

定义

  • 电话交换机接通电话线的方式称为电路交换;

  • 从通信资源的分配角度来看,交换(Switching)就是按照某种方式动态地分配传输线路的资源;

步骤

  1. 建立连接(分配通信资源)
  2. 通话(始终占用通信资源)
  3. 释放连接(归还通信资源)

特点

整个报文的比特流连续地从源点直达终点,好像在一个管道中传送。

优点

  1. 通信时延小。通信双方通过专用线路进行通信,数据可以直达。当数据传输量较大时,优点将十分显著。
  2. 线路独占,没有冲突。
  3. 实时性强。一旦通信线路建立,双方可以实时通信。

缺点

  1. 线路独占,利用率太低。
  2. 连接建立时间过长。

报文交换

特点

整个报文先传送到相邻结点,全部存储下来后查找转发表,转发到下一个结点。(存储转发)

优点

  1. 无需建立连接。
  2. 动态分配线路。
  3. 线路利用率高。

缺点

  1. 报文交换对报文的大小没有限制,需要网络节点有足够的缓存空间
  2. 报文交换在节点处要经历存储、转发等操作,从而引起一定时延

分组交换

分组(包)

将较长的报文划分成一个个更小的等长数据段,并加上首部(包头),在终端重新按序组装成报文

存储转发

将报文分成若干个分组,每个分组独立的传送到相邻节点,分组到达一个路由器后,先暂时存储在缓冲区中,查找转发表,然后从一条合适的链路转发到下一个节点。

特点

存储转发、分段重组和独立选路

  1. 节点暂时存储的是一个个分组,而不是整个报文;
  2. 分组暂时保存在节点的内存中,保证了较高的交换速率;
  3. 采用存储转发技术;
  4. 动态分配线路,极大的提高了通信线路的利用率。

优点

优点所采用的手段
高效在分组传输的过程中动态分配传输带宽,对通信链路是逐段占用
灵活为每一个分组独立地选择最合适的转发路由
迅速以分组作为传送单位,可以不先建立连接就能向其他主机发送分组
可靠保证可靠性的网络协议;分布式多路由的分组交换网,使网络有很好的生存性

缺点

  1. 分组在节点转发时因排队而造成一定的延时
  2. 由于分组交换不像电路交换那样通过建立连接来保证通信时所需的各种资源,因而无法确保通信时端到端所需的带宽
  3. 分组必须携带一些控制信息(首部)而产生额外开销,整个分组交换网需要专门的管理和控制机制(管理控制比较困难
  4. 当分组采用数据报服务时,分组可能出现失序、丢失或重复。

三种交换技术的比较

image-20221209232016007

  • 若要连续传送大量的数据,且其传送时间远大于连接建立时间,则电路交换的传输速率较快。
  • 报文交换分组交换不需要预先分配传输带宽,在传送突发数据时可提高整个网络的信道利用率。
  • 由于一个分组的长度往往远小于整个报文的长度,因此分组交换比报文交换的时延小,同时也具有更好的灵活性

例题※

:要传送的报文共 x ( bit )。从源点到终点共经过 k 段链路,每段链路的传播时延为 d ( s ),数据率为 b ( bit / s )。在电路交换时电路的建立时间为 s ( s )。在分组交换时,分组长度为 p ( bit ),每个分组所必须添加的首部都很短,对分组的发送时延的影响在题中可以不考虑。此外,各节点的排队等待时间也可忽略不计。问在怎样的条件下,分组交换的时延比电路交换的要小?(提示:画一下草图观察 k 段链路共有几个节点。)

解:

  1. 电路交换时总时延T1 =建立时延+起点的发送时延+在链路中的传播时延。

    T1 =s + x/b + k*d

  2. 分组交换总时延T2 =起点的发送时延+(k-1)个节点的发送时延(最后一个节点无需计算)+在链路中的传播时延

    1. 由于采用“存储转发”技术,一个结点发送一个分组的发送时延是 p/b 。
    2. 因为分组交换要求将n个分组全部发送给终点,当第n个分组到达终点时,则传输结束。所以可以仅考虑第 n 个分组的传输过程。
    3. 当第 n 个分组从源点完全进入到第 1 段链路时,已经过 n·p/b的时延。从源点到终点共经过 k 段链路,应经过 k-1个中间结点,所以第 n 个分组还要花费(k-1)*p/b个发送时延才能到达终点。

    T2 = (x/p) × (p/b) + (k-1) × (p/b) + k*d

  3. 若使分组交换的时延比电路交换的少,则有:

    s + x/b + k*d > (x/p) × (p/b) + (k-1) × (p/b) + k*d 即 s > (k-1) × (p/b)

计算机网络的分类★

按作用范围

广域网WAN(Wide Area Network)

作用范围通常为几十到几千公里,因而有时也称为远程网(long haul network)。广域网是互联网的核心部分,其任务是通过长距离(例如,跨越不同的国家)运送主机所发送的数据。

城域网MAN(Metropolitan Area Network)

作用范围一般是一个城市,可跨越几个街区甚至整个城市

局域网LAN(Local Area Network)

一般用微型计算机或工作站通过高速通信线路相连(速率通常在 10 Mbit/s 以上),但地理上范围较小(1 km 左右)

个人局域网PAN(Personal Area Network)

在个人工作的地方把个人使用的电子设备用无线技术连接起来的网络。也被称为无线个人局域网WPAN(Wireless PAN)

按使用者

公用网(public network)

这是指电信公司(国有或私有)出资建造的大型网络。“公用”的意思就是所有愿意按电信公司的规定交纳费用的人都可以使用这种网络。因此公用网也可称为公众网

专用网(private network)

这是某个部门为满足本单位的特殊业务工作的需要而建造的网络。这种网络不向本单位以外的人提供服务。

计算机网络的性能指标★

速率

比特(bit)

计算机中数据量的单位,也是信息论中使用的信息量的单位。

定义

数据的传送速率,它也称为数据率 (data rate)或比特率 (bit rate)。

速率往往是指额定速率或标称速率,非实际运行速率。

单位

bit/s(b/s或bps),或 kbit/s、Mbit/s、 Gbit/s 等

单位转换关系

8 Gbit/s= 8e3 Mbit/s= 8e6 kbit/s= 1e9Byte/s = 8e9 bit/s,每一级 103

数据量:1 GB= 1×210 MB= 1×220 KB= 1×230 Byte = 8×230 Bit,每一级 210

带宽

定义

  1. 在模拟信号系统中,指信号具有的频带宽度, 其单位是Hz(或kHz、MHz、GHz等)
  2. 在计算机网络中,带宽用来表示网络中某通道传送数据的能力。表示在单位时间内网络中的某信道所能通过的“最高数据率”。其单位是bit/s(b/s或bps),或 kbit/s、Mbit/s、 Gbit/s 等(与速率一致)

吞吐量

定义

在单位时间内通过某个网络(或信道、接口)的数据量。吞吐量受网络的带宽或网络的额定速率的限制。

举例

带宽1 Gb/s的以太网,代表其额定速率是 1 Gb/s,这个数值也是该以太网的吞吐量的绝对上限值。因此,对于带宽1 Gb/s的以太网,可能实际吞吐量只有 700 Mb/s,甚至更低。

时延★

image-20221210123339871

定义

时延(延迟/迟延)是指数据从网络(或链路)的一端传送到另一端所需的时间。

公式

总时延 = 发送时延 + 传播时延 + 处理时延 + 排队时延

组成

发送时延
定义

主机或路由器发送数据帧所需要的时间。也就是从发送数据帧的第一个比特算起,到该帧的最后一个比特发送完毕所需的时间。

计算公式

发送时延 = 数据帧长度(bit)/ 发送速率(bit/s)

传播时延
定义

电磁波在信道中需要传播一定的距离而花费的时间。

常见时延

电磁波在自由空间的传播速率是光速 3.0 × 1 0 5 k m / s 3.0\times10^5km/s 3.0×105km/s,在铜线电缆中是 2.3 × 1 0 5 k m / s 2.3\times10^5km/s 2.3×105km/s,在光纤是 2.0 × 1 0 5 k m / s 2.0\times10^5km/s 2.0×105km/s

计算公式

传播时延 = 信道长度(米)/ 信号在信道上的传播速率(米/秒)

处理时延

主机或路由器在收到分组时,为处理分组(例如分析首部、提取数据、差错检验或查找路由)所花费的时间。

排队时延

分组在路由器输入输出队列中排队等待处理所经历的时延。排队时延的长短往往取决于网络中当时的通信量

时延带宽积

时延带宽积 = 传播时延 * 带宽

image-20221210123522888

往返时间RTT★

定义

往返时间表示从发送方发送数据开始,到发送方收到来自接收方的确认,总共经历的时间。

组成

在互联网中,往返时间还包括各中间结点的处理时延、排队时延以及转发数据时的发送时延。

注意

当使用卫星通信时,往返时间 RTT 相对较长,是很重要的一个性能指标。

利用率★

组成

信道利用率

指出某信道有百分之几的时间是被利用的(有数据通过)。完全空闲的信道的利用率是零。

网络利用率

全网络的信道利用率的加权平均值。

计算公式

若令 D0 表示网络空闲时的时延,D 表示网络当前的时延,则在适当的假定条件下,可以用下面的简单公式表示 D 和 D0之间的关系。其中:U 是网络的利用率,数值在 0 到 1 之间。

D = D 0 1 − U D= \dfrac{D_{0}}{1-U} D=1UD0

注意

image-20230207211919029

信道利用率并非越高越好。当某信道的利用率增大时,该信道引起的时延也就迅速增加。

计算机网络的非性能指标

费用

网络的价格(包括设计和实现的费用)总是必须考虑的,因为网络的性能与其价格密切相关。一般说来,网络的速率越高,其价格也越高。

质量

网络的质量取决于网络中所有构件的质量,以及这些构件是怎样组成网络的。网络的质量影响到很多方面,如网络的可靠性、网络管理的简易性,以及网络的一些性能。但网络的性能与网络的质量并不是一回事。例如,有些性能一般的网络,运行一段时间后就出现了故障,变得无法再继续工作,说明其质量不好。高质量的网络往往价格也较高。

标准化

网络的硬件和软件的设计既可以按照通用的国际标准,也可以遵循特定的专用网络标准。最好采用国际标准的设计,这样可以得到更好的互操作性,更易于升级换代和维修,也更容易得到技术上的支持。

可靠性

可靠性与网络的质量和性能都有密切关系。高速网络的可靠性不一定很差。但高速网络要可靠地运行,则往往更加困难,同时所需的费用也会较高。

可扩展性和可升级性

在构造网络时就应当考虑到今后可能会需要扩展(即规模扩大)和升级(即性能和版本的提高)。网络的性能越高,其扩展费用往往也越高,难度也会相应增加。

易于管理和维护

网络如果没有良好的管理和维护,就很难达到和保持所设计的性能。

计算机网络体系结构

可以参考数据通信原理

image-20221210125210317

OSI

在OSI参考模型中,保证端到端的可靠性是在运输层上完成的。

定义

开放系统互连基本参考模型 OSI/RM (Open Systems Interconnection Reference Model),法律上的国际标准

协议数据单元 PDU (Protocol Data Unit)

OSI 参考模型把对等层次之间传送的数据单位称为该层的PDU

服务数据单元 SDU (Service Data Unit)

定义

OSI 中层与层之间交换的数据的单位

注意

SDU 可以与 PDU 不一样,例如,可以是多个 SDU 合成为一个 PDU,也可以是一个 SDU 划分为几个 PDU。

服务访问点 SAP (Service Access Point)

同一系统相邻两层的**实体进行交互**的地方,它是一个抽象的概念,实际上就是一个逻辑接口

例题

  1. (单选题, 2分)在OSI/RM层次体系结构中,实际通信是在(物理层)实体间进行的。

TCP/IP

事实上的国际标准,组成Internet的一整套协议

实体(entity)

任何可发送或接收信息的硬件或软件进程。

接口

相邻层间进行信息交换时必须遵守的规则

协议★

定义

网络协议 (network protocol),简称为协议,是为进行网络中的同层对等实体数据交换而建立的规则、标准或约定的集合。

三要素

语法

数据与控制信息的结构或格式。

语义

需要发出何种控制信息,完成何种动作以及做出何种响应。

同步

事件实现顺序的详细说明。

服务★

指一个系统中的下层向上层提供的功能。相邻层间进行信息交换时使用的一组操作原语

协议与服务的区别和联系★

  1. 协议的实现保证了能够向上一层提供服务。在协议的控制下,两个对等实体间的通信使得本层能够向上一层提供服务。
  2. 本层的服务用户只能看见服务而无法看见下面的协议。即下面的协议对上面的服务用户是透明的
  3. 协议是“水平的”,即协议是控制对等实体之间通信的规则。服务是“垂直的”,即服务是由下层向上层通过层间接口提供的。
  4. 上层使用服务原语获得下层所提供的服务来实现上层协议。

分层的好处与缺点

好处

  • 各层之间是独立的。

    每一层只实现一种相对独立的功能,可将一个难以处理的复杂问题分解为若干个较容易处理的更小一些的问题。降低问题的复杂度

  • 灵活性好。

    当任何一层发生变化时(例如由于技术的变化),只要层间接口关系保持不变,则在这层以上或以下各层均不受影响。此外,对某一层提供的服务还可进行修改。当某层提供的服务不再需要时,甚至可以将这层取消;

  • 结构上可分割开。

  • 易于实现和维护。

  • 能促进标准化工作。

缺点

  • 降低效率。
  • 有些功能会在不同的层次中重复出现,因而产生了额外开销

第二章 物理层

常用术语

消息(message)

信号要传递的内容,是本质。如文字、图像、语音、数据等表现形式。

信息(information)

传达给人的消息,能消除受信者的某些不确定性。

信号 (signal)

定义

数据的电气或电磁的表现。消息传递的物理形式,是载体,比如是电信号、光信号等。

模拟信号

连续信号/模拟信号 (analogous signal)代表消息的参数的取值是连续的。

频带传输

数字信号

离散信号/数字信号(digital signal)代表消息的参数的取值是离散的。

基带传输、数字数据传输

消息、信息、信号区别

  1. 消息:具体的、非物理的
  2. 信息:非具体的、非物理的
  3. 信号:具体的、物理的
  4. 同一信息,可以采用不同形式的物理量来载荷(信号),也可以采用不同的表现形式(消息)。同样,同一类型信号消息也可以代表不同内容的信息

数据 (data)

运送消息的实体

码元

当时间域内的波形表示数字信号时,表示不同数值的波形。

功能★

  1. 在连接各种计算机的传输媒体上传输数据比特流
  2. 屏蔽不同传输媒体和通信手段的差异,使数据链路层只需要考虑如何完成本层的协议和服务,而不必考虑网络具体的传输媒体是什么
  3. 为数据链路层提供物理连接

数据单位★

比特bit

特性★

机械特性

指明接口所用接线器的形状和尺寸、引线数目和排列、固定和锁定装置等。

电气特性

指明在接口电缆的各条线上出现的电压的范围

功能特性

指明某条线上出现的某一电平的电压的意义

过程特性

指明对于不同功能的各种可能事件的出现顺序。(完成串行并行之间的转换

  • 数据在计算机内部多采用并行传输方式。但数据在通信线路(传输媒体)上的传输方式一般都是串行传输(这是出于经济上的考虑),即逐个比特按照时间顺序传输。因此物理层还要完成传输方式的转换。

通信双方信息交互的主要方式★

单向通信(单工通信)

只能有一个方向的通信而没有反方向的交互。

双向交替通信(半双工通信)

通信的双方都可以发送信息,但不能双方同时发送(当然也就不能同时接收)。

双向同时通信(全双工通信)

通信的双方可以同时发送和接收信息。

调制

基带调制

定义

仅对基带信号的码形进行变换,使它能够与信道特性相适应。变换后的信号仍然是基带信号。 把这种过程称为编码 (coding)。

编码方式

image-20230202210707510

曼彻斯特编码

位周期中心的向上跳变代表 0, 位周期中心的向下跳变代表 1。但也可反过来定义。

差分曼彻斯特编码

在每一位的中心处始终都有跳变。位开始边界有跳变代表 0(0差分),而位开始边界没有跳变代表 1。

带通调制

定义

使用载波 (carrier)进行调制,把基带信号的频率范围搬移到较高的频段,并转换为模拟信号, 这样就能够更好地在模拟信道中传输(即仅在一段频率范围内能够通过信道)

二元制调制方法

image-20221211211740508

调幅(AM)

载波的振幅随基带数字信号而变化。

调频(FM)

载波的频率随基带数字信号而变化。

调相(PM)

载波的初始相位随基带数字信号而变化。

数据信号传输方式

频带传输

把数字信号调制成音频信号(是模拟信号,在模拟信道上传输)后再发送和传输,到达时再音频信号解调成原来的数字信号,如利用电话交换网与调制解调器进行数据传输。

宽带传输

  1. 将信道分成多个子信道,分别传送音频、视频和数字信号,使不同的信道进行并行传输。
  2. 一个宽带信道可被分为多个逻辑基带信道,进行多路复用。
  3. 实质上是相对一般频带传输而言的宽频带传输,宽带传输采用频带传输技术。

基带传输

利用数字通信信道原封不动地传输由计算机或终端产生的0或1数字脉冲信号的方法称为基带传输。适用于近距离传输。

考点:基带传输、频带传输、宽带传输、数据报传输的对比★

数据报传输

存储转发方式的一种,可以使各个节点处于并行状态,大大缩短报文的传输时间。一般指IP数据报、ICMP数据报、TCP数据报、UDP数据报等传输。

信噪比

定义

信号的平均功率和噪声的平均功率之比

公式

信噪比(dB) = $10log_{10}(S/N) $ (dB)

奈奎斯特准则

在带宽为W(Hz)的低通信道中,若不考虑噪声影响,则码元传输的最高速率是2W(码元/秒)

香农公式

定义

香农 (Shannon) 用信息论的理论推导出了带宽受限且有高斯白噪声干扰的信道的极限、无差错的信息传输速率

公式★

信道的极限信息传输速率 C 可表达为: $C = W log_{2} (1+S/N) $ (bit/s)

其中: W 为信道的带宽(以 Hz 为单位); S 为信道内所传信号的平均功率; N 为信道内部的高斯噪声功率。

结论

  1. 信道的带宽或信道中的信噪比越大,则信息的极限传输速率就越高。
  2. 只要信息传输速率低于信道的极限信息传输速率,就一定可以找到某种办法来实现无差错的传输。
  3. 若信道带宽 W 或信噪比 S/N 没有上限(当然实际信道不可能是这样的),则信道的极限信息传输速率 C 也就没有上限。
  4. 实际信道上能够达到的信息传输速率要比香农的极限传输速率低不少。

举例

假定要用3KHz带宽的电话信道传送 64 kbit/s的数据(无差错传输),试问这个信道应该具有多高的信噪比?

$C = W log2 (1+S/N) \Rightarrow 64 kbit/s = 3000 log2 (1+S/N) $

影响信道最大传输速率的因素

  1. 信道能够通过的频率范围
  2. 信噪比

比特速率和码元速率的关系★

N b = N b a u d l o g 2 M N_{b}=N_{baud}log_{2}M Nb=Nbaudlog2M
其中 N b N_{b} Nb = 比特速率, N b a u d N_{baud} Nbaud = 码元速率(波特率,单位时间内传送的码元符号的个数),M = 进制数(有效离散值)

物理层下的传输媒体

物理层下的传输媒体不属于物理层,可视为第0层

导引型传输媒体

  • 在导引型传输媒体中,电磁波被导引沿着固体媒体传播。
  • 媒介:同轴电缆、双绞线、光纤/光缆

非导引型传输媒体

  • 非导引型传输媒体就是指自由空间。在非导引型传输媒体中,电磁波的传输常称为无线传输。

  • 媒介:无线电波:微波(包括地面微波接力通信和卫星通信)、红外线、激光

  • ISM频段

    • 要使用某一段无线电频谱进行通信,通常必须得到本国政府有关无线电频谱管理机构的许可证。但是,也有一些无线电频段是可以自由使用的。例如:ISM。

    • ISM是Industrial,Scientific,and Medical (工业、科学与医药)的缩写,即所谓的“工、科、医频段”。各国的ISM标准有可能略有差别。

      image-20230201210714180

信道复用技术★

通过共享信道,最大限度提高信道利用率。

频分复用 FDM (Frequency Division Multiplexing)

image-20221210222104791

原理

  • 将整个带宽分为多份,用户在分配到一定的频带后,在通信过程中自始至终都占用这个频带。

  • 频分复用的所有用户在同样的时间占用不同的带宽资源(这里的“带宽”是频率带宽而不是数据的发送速率)。

优点

信道复用率高,分路方便;

缺点

各路信号之间存在相互干扰(串扰)。

(同步)时分复用 TDM (Time Division Multiplexing)

image-20221210222255417

原理

  • 时分复用则是将时间划分为一段段等长的时分复用帧(TDM帧)。每一个时分复用的用户在每一个 TDM 帧中占用固定序号的时隙。

  • 每一个用户所占用的时隙是周期性地出现(其周期就是TDM帧的长度)的。

    TDM 信号也称为等时 (isochronous) 信号。

优点

简单,易于大规模集成,信号间不串话。

缺点

image-20230203215115418

所有用户在不同的时间占用同样的频带宽度,可能会造成线路资源的浪费。

使用时分复用系统传送计算机数据时,由于计算机数据的突发性质,用户对分配到的子信道的利用率一般是不高的。

统计时分复用 STDM (Statistic TDM)

又叫异步时分复用,STDM 帧不是固定分配时隙,而是按需动态地分配时隙。因此可以提高线路的利用率。

image-20221210222428947

波分复用 WDM(Wavelength Division Multiplexing)

原理

  • 波分复用就是光的频分复用。使用一根光纤来同时传输多个光载波信号。
  • 整个波长频带被划分为若干个波长范围,每个用户占用一个波长范围来进行传输。

image-20221210222544070

优点

结构小,简单可靠;充分利用光纤带宽资源;透明的传输通道;更灵活地进行光纤通信组网。

缺点

存在插入损耗和串光问题。

码分复用 CDM (Code Division Multiplexing) ★

又称码分多址 CDMA (Code Division Multiple Access)。

特点

  • 各用户使用经过特殊挑选的不同码型,因此彼此不会造成干扰
  • 这种系统发送的信号有很强的抗干扰能力,其频谱类似于白噪声,不易被敌人发现。
  • 每个用户可在同一时间内使用同样的频带进行通信,但使用的是基于码型的分割信道的方法。

举例

  1. 共有4个站进行码分多址通信。4个站的码片序列为
    A:(-1-1-1+1+1-1+1+1)
    B:(-1-1+1-1+1+1+1-1)
    C:(-1+1-1+1+1+1-1-1)
    D:(-1+1-1-1-1-1+1-1)
    现收到这样的码片序列S:(-1+1-3+1-1-3+1+1)。
    问哪个站发送数据了?发送数据的站发送的是0还是1?

    S•A=(+1-1+3+1-1+3+1+1)/8=1, A发送1
    S•B=(+1-1-3-1-1-3+1-1)/8=-1, B发送0
    S•C=(+1+1+3+1-1-3-1-1)/8=0, C无发送
    S•D=(+1+1+3-1+1+3+1-1)/8=1, D发送1

  2. 站点1、2、3通过CDMA共享链路。站点1、2、3的码片序列分别是
    A:(1,1,1,1)、B:(1,-1,1,-1)和C:(1,1,-1,-1),
    若站3从链路上收到的序列S是(2,0,2,0, 0,-2,0,-2, 0,2,0,2),则站点3收到站点1发送的数据是多少?

    S•A=(2+0+2+0)/ 4=1,(0-2+0-2)/ 4=-1,(0+2+0+2)/ 4=1,A发送1 0 1

    S•B=(2+0+2+0)/ 4=1,(0+2+0+2)/ 4=1,(0-2+0-2)/ 4=-1,B发送1 1 0

    S•C=(2+0-2+0)/ 4=0,(0-2+0+2)/ 4=0,(0+2+0-2)/ 4=0,C无发送

数字传输系统

早期数字传输系统缺点

最主要的是以下两个方面

  1. 速率标准不统一
  2. 不是同步传输

SONET

为解决早期数字传输系统缺点,美国推出同步光纤网 SONET (Synchronous Optical Network) ,其各级时钟都来自一个非常精确的主时钟。

SDH

ITU-T以美国标准SONET为基础,制定出国际标准同步数字系列SDH(Synchronous Digital Hierarchy)

SONET / SDH 标准的意义

  1. 使不同的数字传输体制在 STM-1 等级上获得了统一
  2. 第一次真正实现了数字传输体制上的世界性标准
  3. 已成为公认的新一代理想的传输网体制。
  4. SDH 标准也适合于微波和卫星传输的技术体制。

宽带接入技术

ADSL

image-20221211215236298

非对称数字用户线 ADSL (Asymmetric Digital Subscriber Line) :用数字技术对现有的模拟电话用户线进行改造,使它能够承载宽带业务。

HFC

image-20221211215346914

光纤同轴混合网HFC (Hybrid Fiber Coax) 网:在目前覆盖面很广的有线电视网 CATV 的基础上开发的一种居民宽带接入网

FTTx

是一种实现宽带居民接入网的方案,代表多种宽带光纤接入方式。FTTx 表示 Fiber To The…(光纤到…),例如:

  1. 光纤到户 FTTH (Fiber To The Home):光纤一直铺设到用户家庭,可能是居民接入网最后的解决方法。
  2. 光纤到大楼 FTTB (Fiber To The Building):光纤进入大楼后就转换为电信号,然后用电缆或双绞线分配到各用户。
  3. 光纤到路边 FTTC (Fiber To The Curb):光纤铺到路边,从路边到各用户可使用星形结构双绞线作为传输媒体

第三章 数据链路层

链路

从一个结点到相邻结点的一段物理线路(有线或无线),而中间没有任何其他的交换结点。

在进行数据通信时,两台计算机之间的通信路径往往要经过许多段这样的链路。可见链路只是一条路径的组成部分。

数据链路

把实现控制数据传输的必要通信协议的硬件和软件(如网络适配器)加到链路上,就构成了数据链路。

功能★

将网络层交下来的IP数据报组装成帧(framing),在两个相邻结点间的链路上传送帧(frame)。每一帧包括数据和必要的控制信息(如同步信息、地址信息、差错控制等)。

帧同步、透明传输、差错控制、传递信息、控制流量、控制链路(建立、维护、释放)、MAC寻址、区分数据和控制信息。

数据单位

信道

  • 点对点信道:PPP协议
  • 广播信道:CSMA/CD协议

三个基本问题★

封装成帧 (framing)

原因/作用

  1. 识别帧的开始与结束
  2. 便于计算机识别和处理比特流
  3. 向上层提供比特丢失、比特错误等服务
  4. 方便传输

最大传送单元MTU(Maximum Transfer Unit)

数据链路层数据部分长度上限。

image-20230203221431099

解决方法

image-20221218163827820

在一段数据的前后分别添加首部和尾部(用于帧定界),然后就构成了一个帧。

透明传输

透明的定义

某一个实际存在的事物看起来却好像不存在一样

原因

  1. 避免消息符号与帧定界符号相混淆
  2. 如果数据中的某个字节的二进制代码恰好和帧定界符一样就会出现帧定界错误

image-20221218172002147

解决方法

  1. 面向字节的物理链路使用字节填充 (byte stuffing) 或字符填充 (character stuffing)

    1. 发送端的数据链路层在数据中出现控制字符“SOH”(Start Of Header)或 “EOT”(End Of Transmission)或转义字符"ESC"的前面插入一个转义字符“ESC” (其十六进制编码是 1B)。
    2. 接收端的数据链路层在将数据送往网络层之前删除控制字符前插入的转义字符和两个转义字符中前面的那一个。

    image-20221218172328346

  2. 面向比特的物理链路使用比特填充

差错检测

原因

  1. 防止差错的无效数据帧,浪费网络资源
  2. 在传输过程中可能会产生比特差错(是传输差错中的一种):1 可能会变成 0 而 0 也可能变成 1。

误码率 BER (Bit Error Rate)

在一段时间内,传输错误的比特占所传输比特总数的比率,与信噪比有很大的关系(正相关)。

解决方法

循环冗余检验CRC(Cyclic Redundancy Check)★
循环冗余编码※

CRC(Cyclic Redundancy Check)编码,也称为多项式(polynomial code)编码。它是在数据通信中常用的一种差错校验码。由信息字段校验字段组成。其中信息字段和校验字段长度可以任意选定。

步骤
  1. 收发双方约定好一个生成多项式G(x);
  2. 发送方基于待发送的数据和生成多项式计算出差错检测码/循环冗余校验码(冗余码),将其添加到待传输数据的后面一起传输;
  3. 接收方通过生成多项式来计算收到的数据是否产生了误码;
    • 若得出的余数 R = 0,则判定这个帧没有差错,就接受 (accept)。
    • 若余数 R ≠ 0,则判定这个帧有差错,就丢弃。
计算★
  1. 用二进制的模 2 运算进行 2 n 2^n 2n 乘 M 的运算,这相当于在 M 后面添加 n 个 0。
  2. 得到的 (k + n) 位的数除以事先选定好的长度为 (n + 1) 位的除数 P,得出商是 Q 而余数是 R, 余数 R 比除数 P 少 1 位,即 R 是 n 位。
  3. 将余数 R 作为冗余码拼接在数据 M 后面发送出去。
举例

image-20221218174847835

前面讲了理论,这里介绍具体协议的实现。

PPP协议 (Point-to-Point Protocol)

在通信线路质量较差的年代,在数据链路层使用可靠传输协议曾经是一种好办法。因此,能实现可靠传输的高级数据链路控制HDLC(High-level Data Link Control)就成为当时比较流行的数据链路层协议。但现在HDLC已很少使用了。对于点对点的链路,简单得多的点对点协议PPP(Point-to-Point Protocol)则是目前使用得最广泛的数据链路层协议。

注意

  1. 使用点对点信道
  2. PPP 是面向字节的,所有的 PPP 帧的长度都是整数字节。
  3. 基于IP通信,不需要MAC地址

组成

  1. 一个将 IP 数据报封装到串行链路的方法。
  2. 链路控制协议 LCP (Link Control Protocol),用来建立、配置和测试数据链路连接。
  3. 网络控制协议 NCP (Network Control Protocol),其中的每一个协议支持不同的网络层协议。

同步传输

一连串的比特连续传送(帧)。必须建立准确的时钟信号,各信号码元之间的相对位置都是固定的。

异步传输

逐个字符地传送。需要在每一个字符的开始和结束的地方加上标志,即加上起始码和停止码。

同步传输和异步传输的区别★

指标同步传输异步传输
传输单位比特字节
透明传输方法0比特填充法字符填充法
传输效率
时钟精确度要求
各信号码元之间的相对位置固定不固定

三个基本问题

帧格式(封装成帧)

image-20221218180316314

  1. 首部的第一个字段和尾部的第二个字段都是标志字段F(Flag,十六进制的7E的二进制表示是01111110)。标志字段表示一个帧的开始或结束。因此标志字段就是PPP帧的定界符。如果出现连续两个标志字段,就表示这是一个空帧,应当丢弃。
  2. 首部中的地址字段A规定为0xFF(即11111111),控制字段C规定为0x03(即00000011)。这两个字段实际上并没有携带PPP帧的信息。
  3. PPP首部的第四个字段是2字节的协议字段
    1. 若为0x0021,则信息字段就是IP数据报
    2. 若为0xC021,则信息字段是PPP链路控制协议LCP的数据;
    3. 若为0x8021,则信息字段是网络层的控制数据;
    4. 若为0xC023,则信息字段是鉴别数据。
  4. 信息字段的长度是可变的,不超过1500字节([MTU](#最大传送单元MTU(Maximum Transfer Unit)))。
  5. 尾部中的第一个字段(2字节)是使用CRC的帧检验序列FCS(Frame Check Sequence)。

透明传输

下面两者方法本质上都是为了避免帧定界错误(帧定界符为0x7E/0111 1110 B)。

  1. 当 PPP 用在异步传输时(传输单位为字节),就使用一种特殊的字符填充法。

    1. 将信息字段中出现的每一个 0x7E 字节转变成为 2 字节序列 (0x7D, 0x5E)。
    2. 若信息字段中出现一个 0x7D 的字节, 则将其转变成为 2 字节序列 (0x7D, 0x5D)。
    3. 若信息字段中出现 ASCII 码的控制字符(即数值小于 0x20 的字符),则在该字符前面要加入一个 0x7D 字节,同时将该字符的编码加上0x20。

    image-20221218181323969

  2. 当 PPP 用在同步传输链路时(传输单位为比特),协议规定采用硬件来完成比特填充

    1. 在发送端,只要发现有 5 个连续 1,则立即填入一个 0。
    2. 接收端对帧中的比特流进行扫描。每当发现 5 个连续 1 时,就把这 5 个连续 1 后的一个 0 删除。

    image-20221218182101754

差错检测

image-20221218182227073

以太网

定义

符合 DIX Ethernet V2 标准的局域网

DIX Ethernet V2 标准与 IEEE 的 802.3 标准只有很小的差别,因此可以将 802.3 局域网简称为“以太网”。

服务/功能

以太网提供的服务是无连接不可靠的交付,即尽最大努力的交付。当目的站收到有差错的数据帧时就丢弃此帧,其他什么也不做。

差错的纠正由高层来决定。如果高层发现丢失了一些数据而进行重传,但以太网并不知道这是一个重传的帧,而是当作一个新的数据帧来发送。对发送的帧不进行编号,也不要求接收方发回确认帧。这样做的理由是局域网的信道质量非常好,产生的错误的概率非常小。

局域网的数据链路层的两个子层

  1. 逻辑链路控制 LLC (Logical Link Control)子层,LLC 子层与传输媒体无关;

    由于现在广泛使用的局域网只有以太网,因此 LLC 帧已经失去了原来的意义

  2. 媒体接入控制 MAC (Medium Access Control)子层,与接入到传输媒体有关的内容都放在 MAC 子层。

image-20221218205714862

适配器

定义

网络接口板又称为通信适配器 (adapter) 或网络接口卡(Network Interface Card,NIC),或“网卡”。

image-20221218205958790

功能

  1. 进行串行/并行转换。计算机内部是并行通信,局域网是串行通信。
  2. 对数据进行缓存。
  3. 在计算机的操作系统安装设备驱动程序。
  4. 实现以太网协议。

拓扑结构

物理上为星型,逻辑上为总线型

三个基本问题

帧格式(封装成帧)

以Ethernet V2标准的MAC帧格式为例,假设网络层使用的是IP协议

image-20221228110528980

MAC地址

分为目的地址和源地址字段

本地网络上的主机通过硬件地址查找其它的网络设备

别名

MAC 层的硬件地址/硬件地址/物理地址/MAC 地址。

格式

IEEE 802 标准规定 MAC 地址字段可采用 6 字节 (48 位) 或 2 字节 (16 位) 这两种中的一种。

  • IEEE 的注册管理机构 RA 负责向厂家分配地址字段 6 个字节中的前三个字节 (即高位 24 位),称为组织唯一标识符。
  • 地址字段 6 个字节中的后三个字节 (即低位 24 位) 由厂家自行指派,称为扩展唯一标识符,必须保证生产出的适配器没有重复地址。

所有 48 位都为 1 时,为广播地址。只能作为目的地址使用。

image-20221228112833971

类型字段

用来标志上一层使用的是什么协议,以便把收到的 MAC 帧的数据上交给上一层的这个协议。例如,当类型字段的值是0x0800时,就表示上层使用的是IP数据报。若类型字段的值为0x8137,则表示该帧是由NovellIPX发过来的。

数据字段

数据部分长度在46到1500字节之间(46字节是这样得出的:最小长度64字节减去18字节的首部和尾部就得出数据字段的最小长度)。

1500字节是[MTU](#最大传送单元MTU(Maximum Transfer Unit))默认长度

透明传输

  • MAC帧的开始有7个字节的前同步码帧开始定界符(10101011)

  • MAC帧的结束不需要帧结束定界符

    在以太网上传送数据时是以帧为单位传送的。以太网在传送帧时,各帧之间还必须有一定的间隙,并且物理层采用的是曼彻斯特编码,它的一个重要特点就是在曼彻斯特编码的每一个码元(不管码元是1或0)的正中间一定有一次电压的转换(从高到低或从低到高)。当发送方把一个以太网帧发送完毕后,就不再发送其他码元了(既不发送1,也不发送0)。因此,发送方网络适配器的接口上的电压也就不再变化了。这样,接收方就可以很容易地找到以太网帧的结束位置。在这个位置往前数4字节(FCS字段长度是4字节),就能确定数据字段的结束位置。因此,接收端只要找到帧开始定界符,其后面的连续到达的比特流就都视作属于同一个 MAC 帧,同时也可以计算出帧长度。可见以太网不需要使用帧结束定界符,也不需要使用字节插入等来保证透明传输。

差错检测

MAC帧中FCS字段采用CRC检验,检验的内容不包括前同步码和帧开始定界符。

扩展的以太网

在物理层用扩展以太网★

中继器/转发器※

中继器(Repeater)又称转发器,主要功能是将信号整形并放大再转发出去,以消除信号经过一长段电缆后,因噪声或其他原因而造成的失真和衰减,使信号的波形和强度达到要求,进而延长网络传输的距离

集线器
功能

集线器(Hub)对接收到的信号进行再生整形放大,以扩大网络的传输距离,同时把所有节点集中在以它为中心的节点上。当集线器一个端口收到数据后,将其从除了输入端口外的所有端口广播出去,即信息分发

冲突域/碰撞域

在任意时刻,在每个碰撞域中只能有一个站在发送数据

image-20221228120741745

优点
  • 使原来属于不同碰撞域的以太网上的计算机能够进行跨碰撞域的通信
  • 扩大了以太网覆盖的地理范围
缺点
  • 碰撞域增大了,但总的吞吐量并未提高
  • 共享带宽,单个用户的带宽减少:对于普通 10 Mbit/s 的共享式以太网,若共有 N 个用户,则每个用户占有的平均带宽只有总带宽 (10 Mbit/s) 的 N 分之一。
  • 如果不同的碰撞域使用不同的数据率,那么就不能用集线器将它们互连起来。

在数据链路层扩展以太网★

网桥
定义

网桥/桥接器(Bridge)/把多个“局域网”连接起来,组成更大的局域网;根据 MAC 帧的目的地址对收到的帧进行转发和过滤。

  • 当网桥收到一个帧时,并不是向所有的接口转发此帧,而是先检查此帧的目的 MAC 地址
  • 再确定将该帧转发到哪一个接口,或把它丢弃。
转发表自学习算法

参照交换机自学习功能

例题※
  1. 如图3-33所示,有五个站点分别连接在3个局域网上,并且用网桥B1和B2连接起来,每一个网桥都有两个接口(1和2),初始时,两个网桥中的转发表都是空的,以后有以下各站向其他的站发送了数据帧:A发送给E,C发送给B,D发送给C,B发送给A,请把有关信息填写在表3-4中。

    image-20230206174029998

    image-20220501205033503

  2. 图1表示有7个站(H1~h7,相应的MAC地址为MAC1~MAC7)分别连接在四个局域网上,并且用网桥B1、B2、以及B3连接起来。每个网桥都有两个端口(1和2)。在一开始,三个网桥的转发表都是空的。以后有以下各站向其他站发送了数据帧:…(如表所示)。

    img

    img

交换机
定义

交换式集线器 (switching hub)/以太网交换机 (switch)/第二层交换机 (L2 switch)

功能

物理编址、网络拓扑结构、错误校验、帧序列以及流控

注意

总线以太网使用 CSMA/CD 协议,以半双工方式工作。但以太网交换机不使用共享总线,没有碰撞问题,因此不使用CSMA/CD协议,而是以全双工方式工作。但由于它的帧结构未改变,仍然采用以太网的帧结构,所以仍称为以太网。

交换方式
  • 存储转发模式:把整个数据帧先缓存后再进行处理。
  • 直通模式:接收数据帧的同时就立即按数据帧的目的MAC地址决定该帧的转发接口,因而提高了帧的转发速度。缺点是它不检查差错就直接将帧转发出去,因此有可能也将一些无效帧转发给其他的站。
特点

特点和优点你中有我我中有你,考试时最好都写上。

  • 以太网交换机实质上就是一个多接口的网桥。 每个接口都直接与一个单台主机或另一个以太网交换机相连。
  • 以太网交换机具有并行性,一般都工作在全双工方式。 能同时连通多对接口,使多对主机能同时通信。
  • 相互通信的主机都是独占传输媒体,无碰撞地传输数据。(隔离了冲突域
  • 以太网交换机的接口有存储器,能在输出端口繁忙时把到来的帧进行缓存
  • 以太网交换机是一种即插即用设备,其内部的帧交换表(又称为地址表)是通过自学习算法自动地逐渐建立起来的。
  • 以太网交换机使用了专用的交换结构芯片,用硬件转发,其转发速率要比使用软件转发的网桥很多。
优点
  • 用户独享带宽,增加了总带宽容量。

    使用以太网交换机时,虽然在每个接口到主机的带宽还是 10 Mbit/s,但由于一个用户在通信时是独占,因此对于拥有 N 个接口的交换机的总带宽为 N×10 Mbit/s。

  • 从共享总线以太网转到交换式以太网时,所有接入设备的软件和硬件、适配器等都不需要做任何改动

  • 以太网交换机一般都具有多种速率的接口,方便了各种不同情况的用户。

自学习功能

image-20230205103346340

  • 举例
    • 假定在以太网交换机有4个接口,各连接一台计算机,其MAC地址分别是A,B,C和D。在一开始,以太网交换机里面的交换表是空的。
    • A先向B发送一帧,从接口1进入到交换机。交换机收到帧后,先查找交换表,没有查到应从哪个接口转发这个帧(在MAC地址这一列中,找不到目的地址为B的项目)。接着交换机把这个帧的源地址A和接口1写入交换表中,并向除接口1以外的所有接口广播这个帧(这个帧就是从接口1进来的,当然不应当把它再从接口1转发出去)。
    • C和D将丢弃这个帧,因为目的地址不对。只有B才收下这个目的地址正确的帧。这也称为过滤。 从新写入交换表的项目(A,1)可以看出,以后不管从哪一个接口收到帧,只要其目的地址是A,就应当把收到的帧从接口1转发 出去。这样做的依据是:既然A发出的帧是从接口1进入到交换机的,那么从交换机的接口1转发出的帧也应当可以到达A。
    • 假定接下来B通过接口3向A发送一帧。交换机查找交换表,发现交换表中的MAC地址有A。表明要发送给A的帧(即目的地址为 A 的帧)应从接口1转发。于是把这个帧传送到接口1转发给A。显然现在已经没有必要再广播收到的帧。交换表这时新增加的项目(B,3)表明今后如有发送给B的帧,就应当从接口3转发出去。
    • 经过一段时间后,只要主机C和D也向其他主机发送帧,以太网交换机中的交换表就会把转发到C或D应当经过的接口号(2或4)写入到交换表中。这样交换表中的项目就齐全了。要转发给任何一台主机的帧,都能够很快地在交换表中找到相应的转发接口
    • 考虑到有时可能要在交换机的接口更换主机,或者主机要更换其网络适配器,这就需要更改交换表中的项目。为此,在交换表中每个项目都设有一定的有效时间。过期的项目就自动被删除。用这样的方法保证交换表中的数据都符合当前网络的实际状况。
  • 规则★
    • 交换机收到一帧后先进行自学习。查找交换表中与收到帧的源地址有无相匹配的项目。
      • 如没有,就在交换表中增加一个项目(源地址、进入的接口和有效时间);
      • 如有,则把原有的项目进行更新(进入的接口或有效时间)。
    • 转发帧。查找交换表中与收到帧的目的地址有无相匹配的项目。
      • 如没有,则向所有其他接口(进入的接口除外)转发;
      • 如有,则按交换表中给出的接口进行转发;
      • 若交换表中给出的接口就是该帧进入交换机的接口,则应丢弃这个帧。

虚拟局域网

定义

虚拟局域网VLAN (Virtual LAN)是由一些局域网网段构成的与物理位置无关的逻辑组,而这些网段具有某些共同的需求。 每一个 VLAN 的帧都有一个明确的标识符,指明发送这个帧的计算机是属于哪一个 VLAN。

image-20221228123643488

当 B1 向 VLAN2 工作组内成员发送数据时, 工作站 B2 和 B3 将会收到广播的信息;B1 发送数据时,工作站 A1,A2 和 C1 都不会收到 B1 发出的广播信息。

注意

虚拟局域网其实只是局域网给用户提供的一种服务, 而并不是一种新型局域网。

优点
  • 虚拟局域网是用户和网络资源的逻辑组合,因此可按照需要将有关设备和资源非常方便地重新组合, 使用户从不同的服务器或数据库中存取所需的资源。
  • 虚拟局域网限制了接收广播信息的工作站数,使得网络不会因传播过多的广播信息(即“广播风暴”)而引起性能恶化。
帧格式

虚拟局域网协议允许在以太网的帧格式中插入一个4字节的标识符,称为VLAN标记(tag),用来指明发送该帧的计算机属于哪一个虚拟局域网。插入VLAN标记得出的帧称为802.1Q帧。显然,如果还使用原来的以太网帧格式,那么就无法区分是否划分了虚拟局域网。

image-20221228123241962

高速以太网

定义

速率达到或超过 100 Mbit/s 的以太网称为高速以太网,又称为快速以太网 (Fast Ethernet)。

  • 100 Mbit/s 的以太网

    • 一个网段的最大铜缆长度:100 m
    • 最短有效帧长: 64 字节
    • 争用期: 5.12 μ s 5.12\mu s 5.12μs
    • 帧间最小间隔: 0.96 μ s 0.96 \mu s 0.96μs
  • 吉比特以太网

    • 一个网段的最大铜缆长度: 100 m

    • 最短有效帧长: 64 字节

    • 争用期: 5.12 μ s 5.12\mu s 5.12μs

      采用了“载波延伸”(carrier extension)的办法,使最短帧长仍为64字节(这样可以保持兼容性),同时将争用期增大为512字节。凡发送的 MAC 帧长不足512字节时,就用一些特殊字符填充在帧的后面,使MAC帧的发送长度增大到512字节,这对有效载荷并无影响。接收端在收到以太网的 MAC 帧后,要把所填充的特殊字符删除后才向高层交付。

    • 帧间最小间隔: 0.96 μ s 0.96 \mu s 0.96μs

特点
  • 可在全双工方式下工作而无冲突发生。在全双工方式下工作时,不使用 CSMA/CD 协议。
  • MAC 帧格式仍然是 802.3 标准规定的。
  • 保持最短帧长不变,但将一个网段的最大电缆长度减小到 100 m。
  • 帧间时间间隔从原来的 9.6 μ \mu μ s 改为现在的 0.96 μ \mu μ s。
使用以太网进行宽带接入
特点
  1. 可以提供双向的宽带通信。
  2. 可以根据用户对带宽的需求灵活地进行带宽升级。
  3. 可以实现端到端的以太网传输,中间不需要再进行帧格式的转换。这就提高了数据的传输效率且降低了传输的成本。
  4. 不支持用户身份鉴别。
PPPoE

PPPoE (PPP over Ethernet) 的意思是“在以太网上运行 PPP”,它把 PPP 协议与以太网协议结合起来 —— 将 PPP 帧再封装到以太网中来传输。该协议在以太网进行宽带接入互联网时使用。

CSMA/CD协议

注意

  1. 使用广播信道,可以进行一对多通信
  2. 是局域网(以太网)采用的协议

含义

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

  • “载波监听”是指每一个站在发送数据之前先要检测一下总线上是否有其他计算机在发送数据,如果有,则暂时不要发送数据,以免发生碰撞。

  • “多点接入”表示许多计算机以多点接入的方式连接在一根总线上。

  • “碰撞检测”(“冲突检测”)就是计算机边发送数据边检测信道上的信号电压大小。

    • 当几个站同时在总线上发送数据时,总线上的信号电压摆动值将会增大(互相叠加)。
    • 当一个站检测到的信号电压摆动值超过一定的门限值时,就认为总线上至少有两个站同时在发送数据,表明产生了碰撞。

在使用CSMA/CD协议时,一个站不可能同时进行发送和接收(但必须边发送边监听信道)。因此使用CSMA/CD 协议的以太网不可能进行全双工通信而只能进行双向交替通信(半双工通信)

image-20221218202531896

流程★

16字总结:发前先听、边发边听、冲突停止、延后重传

  1. 准备发送:适配器从网络层获得一个分组,加上以太网的首部和尾部,组成以太网帧,放入适配器的缓存中。但在发送之前,必须先检测信道。 (①发前先听)
  2. 检测信道:若检测到信道忙,则应不停地检测,一直等待信道转为空闲。若检测到信道空闲,并在96比特时间内信道保持空闲(保证了帧间最小间隔),就发送这个帧。
  3. 在发送过程中仍不停地检测信道,即网络适配器要边发送边监听(②边发边听)。这里只有两种可能性:
    1. 发送成功:在争用期内一直未检测到碰撞。这个帧肯定能够发送成功。发送完毕后,其他什么也不做。然后回到(1);
    2. 发送失败:在争用期内检测到碰撞。这时立即停止发送数据,并按规定发送人为干扰信号(③冲突停止)。适配器接着就执行指数退避算法,等待r倍512比特时间后,返回到步骤(2),继续检测信道。但若重传达16次仍不能成功,则停止重传而向上报错。
  4. 以太网每发送完一帧,一定要把已发送的帧暂时保留一下。如果在争用期内检测出发生了碰撞,那么还要在推迟一段时间后再把这个暂时保留的帧重传一次。(④延后重传)

争用期(碰撞窗口)

产生原因

最先发送数据帧的站,在发送数据帧后至多经过时间 2 τ 2 \tau 2τ (端到端往返时延)就可知道发送的数据帧是否遭受了碰撞。

定义

以太网的端到端往返时延 2 τ 2 \tau 2τ 称为争用期(碰撞窗口)。

计算公式

设最远两个站点之间的距离为d(m),电缆中信号传播速度为v(m/s)。

τ = d v \tau=\frac{d}{v} τ=vd

争用期 = 2 τ 2 \tau 2τ

意义/作用

经过争用期这段时间还没有检测到碰撞,才能肯定这次发送不会发生碰撞。

协议规定长度

  • 10 Mbit/s 以太网取 51.2 μ s \mu s μs 为争用期的长度。

  • 这意味着:

    1. 对于 10 Mbit/s 以太网,在争用期内可发送 512 bit,即 64 字节。

    2. 以太网在发送数据时,若前 64 字节没有发生冲突,则后续的数据就不会发生冲突。如果发生冲突,就一定是在发送的前 64 字节之内。

    3. 如果一检测到冲突就立即中止发送,这时已经发送出去的数据一定小于 64 字节。

      因此以太网规定了最短有效帧长为 64 字节,凡长度小于 64 字节的帧都是由于冲突而异常中止的无效帧。

最短有效帧

定义

设最远两个站点之间的距离为d(m),最小帧长为l(bit);最小帧长=争用期 2 τ 2 \tau 2τ x 数据传输速率(bps)。

  • 对于 10 Mbit/s 以太网,争用期= 51.2 μ s \mu s μs ,最小帧长= 51.2 x 10-6 x 10 x 106 = 512bit=64Byte
  • 对于 100 Mbit/s 以太网,争用期= 5.12 μ s \mu s μs ,最小帧长= 5.12 x 10-6 x 100 x 106 = 512bit=64Byte

例题

image-20230203124448202

  1. 假定2km长的CSMA/CD网络的数据率为100Mb/s,假设信号在网络上的传输速率为200000km/s,求能够使用此协议的最短帧长

    最短帧长=2×2/200000×100×1000000=2000bit=250Byte

二进制指数类型退避算法 (truncated binary exponential type)

意义

让发生碰撞的站在停止发送数据后推迟一段随机的时间才能再发送数据,减少重传时发生冲突的概率。

内容

image-20221228101327545

第四章 网络层

网络层=网际层=IP层

功能★

实现网络互连,完成分组在计算机网络核心部分的传输,即实现分组在多个网络的传输。为主机之间提供逻辑通信。

提供的两种服务★

虚电路

  1. 面向连接,虚电路是逻辑连接,整个数据传输过程中独占虚电路
  2. 在通信之前先建立虚电路 (Virtual Circuit),以保证双方通信所需的一切网络资源
  3. 可实现可靠传输,数据能够无差错、不重复、 不丢失、按照正确顺序地进行传输。
  4. 当通信的链路过多时,需要很大的物理资源投入,且每条链路的资源利用率不高

image-20221228155617728

数据报

  1. 网络在发送分组时不需要先建立连接。每一个分组 (即 IP 数据报)独立发送,与其前后的分组无关(不进行编号)。
  2. 网络层不提供服务质量的承诺,只尽最大努力交付。即所传送的分组可能出错、丢失、重复和失序(不按序到达终点),当然也不保证分组传送的时限。使网络中的(与电信网的交换机相比较)路由器可以做得比较简单,而且价格低廉
  3. 如果主机(即端系统)中的进程之间的通信需要是可靠的,那么就由网络的主机中的运输层负责可靠交付 (包括差错处理、流量控制等)。
  4. 导致网络的造价大大降低, 运行方式灵活,能够适应多种应用。

image-20221228155641623

对比

对比的方面虚电路服务数据报服务
思路可靠通信应当由网络来保证可靠通信应当由用户主机来保证
服务质量可靠传输尽最大努力交付
连接的建立必须有不需要
终点地址仅在连接建立阶段使用;
每个分组使用短的虚电路号
每个分组都有终点的完整地址
分组的转发属于同一条虚电路的分组均按照同一路由进行转发每个分组独立选择路由进行转发
当结点出故障时所有通过出故障的结点的虚电路均不能工作出故障的结点可能会丢失分组,一些路由可能会发生变化
分组的顺序总是按发送顺序到达终点到达终点时不一定按发送顺序
端到端的差错处理和流量控制可以由网络负责,也可以由用户主机负责由用户主机负责
链路资源利用率
网络造价

网际协议 IP

数据单位

IP 数据报/数据包(packet)/分组

配套协议★

image-20221228165921449

地址解析协议 ARP (Address Resolution Protocol)

功能

从网络层使用的 IP 地址,解析出在数据链路层使用的硬件地址。

不管网络层使用的是什么协议,在实际网络的链路上传送数据帧时,最终还是必须使用硬件地址。

实现原理

在主机ARP高速缓存中存放一个从IP地址到硬件地址的映射表,并且这个映射表还经常动态更新(新增或超时删除)。每一台主机都设有一个ARP高速缓存(ARP cache),里面有本局域网上的各主机和路由器的IP地址到硬件地址的映射表,这些都是该主机目前知道的一些地址。

步骤

当主机 A 欲向本局域网上的某个主机 B 发送 IP 数据报时,就先在其 ARP 高速缓存中查看有无主机 B 的 IP 地址。

  • 如有,就可查出其对应的硬件地址,再将此硬件地址写入 MAC 帧,然后通过局域网将该 MAC 帧发往此硬件地址。减少了 ARP 广播的数量。
  • 如没有,就将自己的 IP 地址到硬件地址的映射以及主机B的IP地址写入 ARP 请求分组,ARP 进程在本局域网上广播发送一个 ARP 请求分组。收到 ARP 响应分组后,将得到的 IP 地址到硬件地址的映射写入 ARP 高速缓存。
注意
  1. ARP 是解决同一个局域网上的主机或路由器的 IP 地址和硬件地址的映射问题。
  2. 如果所要找的主机和源主机不在同一个局域网上,那么就要通过 ARP 找到一个位于本局域网上的某个路由器的硬件地址,然后把分组发送给这个路由器,让这个路由器把分组转发给下一个网络。剩下的工作就由下一个网络来做。
使用 ARP 的四种典型情况

image-20221228181137208

  1. 发送方是主机(H1),要把 IP 数据报发送到本网络上的另一个主机(H2)。这时用 ARP 找到目的主机的硬件地址。
  2. 发送方是主机(H1),要把 IP 数据报发送到另一个网络上的一个主机(H3)。这时用 ARP 找到本网络上的一个路由器(R1)的硬件地址。剩下的工作由这个路由器来完成。
  3. 发送方是路由器(R1),要把 IP 数据报转发到本网络上的一个主机(H3)。这时用 ARP 找到目的主机的硬件地址。
  4. 发送方是路由器(R1),要把 IP 数据报转发到另一个网络上的一个主机(H4)。这时用 ARP 找到本网络上另一 个路由器(R2)的硬件地址。剩下的工作由这个路由器来完成。
例题
  1. 主机A发送IP数据报给主机B,途中经过了5个路由器。在IP数据报的发送过程中总共使用了6次ARP。

    解析:主机发送IP数据报时用一次ARP,每一个路由器在转发IP数据报时各使用一次。

网际控制报文协议 ICMP (Internet Control Message Protocol)

ICMP不是IP的高层协议(看起来好像是高层协议,因为ICMP报文是装在IP数据报中,作为其中的数据部分),而是IP层的协议。

功能
  • 更有效地转发 IP 数据报和提高交付成功的机会
  • 允许主机或路由器报告差错情况和提供有关异常情况的报告
报文格式

image-20221228211223234

种类
ICMP 差错报告报文

只报告错误,不能纠错

  • 分类

    • 终点不可达:当路由器或主机不能交付数据报时就向源点发送终点不可达报文。

    • 时间超过:当路由器收到生存时间为零的数据报时,除丢弃该数据报外,还要向源点发送时间超过报文。当终点在预先规定 的时间内不能收到一个数据报的全部数据报片时,就把已收到的数据报片都丢弃,并向源点发送时间超过报文。

    • 参数问题:当路由器或目的主机收到的数据报的首部中有的字段的值不正确时,就丢弃该数据报,并向源点发送参数问题报文。

    • 改变路由(重定向)(Redirect):路由器把改变路由报文发送给主机,让主机知道下次应将数据报发送给另外的路由器(可通过更好的路由)。

      类型的值ICMP报文的类型例子
      3终点不可达路由器或主机不能交付数据报
      4源点抑制路由器或主机由于堵塞而丢弃数据报
      11时间超过报文经过路由器时TTL减去1,当TTL为0时
      12参数问题路由器或目的主机收到IP数据报,首部的检验和字段出现误码
      5改变路由路由器把改变路由报文发送给主机,让主机调整发送给另外的路由器
  • 数据字段格式

    image-20221228212034411

    把收到的需要进行差错报告的IP数据报的首部和数据字段的前8个字节提取出来,作为ICMP报文的数据字段。再加上相应的ICMP差错报告报文的前8个字节。提取收到的数据报的数据字段前8个字节是为了得到运输层的端口号(对于TCP和 UDP)以及运输层报文的发送序号(对于TCP)。这些信息对源点通知高层协议是有用的。

ICMP询问报文
  • 回送请求和回答报文:ICMP回送请求报文是由主机或路由器向一个特定的目的主机发出的询问。收到此报文的主机必须给源主机或路由器发送ICMP回送回答报文。这种询问报文用来测试目的站是否可达以及了解其有关状态。

  • 时间戳请求和回答报文:ICMP时间戳请求报文是请某台主机或路由器回答当前的日期和时间。在ICMP时间戳回答报文中有一个 32 位的字段,其中写入的整数代表从1900年1月1日起到当前时刻一共有多少秒。时间戳请求与回答可用于时钟同步和时间测量。

    类型的值ICMP报文的类型例子
    8或0回送请求或回送回答测试目的站是否可达(PING程序)
    13或14时间戳请求或时间戳回答进行时钟同步和测量时间(traceroute程序)
应用
PING (Packet InterNet Groper)
  • PING 用来测试两个主机之间的连通性。
  • PING 使用了 ICMP 回送请求与回送回答报文。
  • PING 是应用层直接使用网络层 ICMP 的例子,它没有通过运输层的 TCP 或UDP。
追踪路由Traceroute
  • 定义
    • 它用来跟踪一个分组从源点到终点的路径。在 Windows 操作系统中这个命令是tracert。
  • 原理
    • Traceroute 从源主机向目的主机发送一连串的IP数据报,数据报中封装的是无法交付的UDP用户数据报。第一个数据报P1的生存时间TTL 设置为1。当P到达路径上的第一个路由器R1时,路由器R1先收下它,接着把TTL 的值减1。由于TTL等于零了,R1就把P1丢弃了,并向源主机发送一个ICMP时间超过差错报告报文。源主机接着发送第二个数据报P2,并把TTL设置为2。P2先到达路由器R1,R1收下后把TTL减1再转发给路由器R2。R2收到P2时TTL为1,但减1后TTL变为零了。R2就丢弃P2,并向源主机发送一个ICMP时间超过差错报告报文。这样一直继续下去。当最后一个数据报刚刚到达目的主机时,数据报的TTL是1。主机不转发数据报,也不把TTL值减1。但因IP数据报中封装的是无法交付的运输层的UDP用户数据报,因此目的主机要向源主机发送ICMP终点不可达差错报告报文。
  • 功能
    • 源主机可以获得这些路由器和最后目的主机发来的ICMP报文给出的路由信息:到达目的主机所经过的路由器的IP地址,以及到达其中的每一个路由器的往返时间。

网际组管理协议 IGMP (Internet Group Management Protocol)

IGMP 协议是让连接在本地局域网上的多播路由器知道本局域网上是否有主机(严格讲,是主机上的某个进程)参加或退出了某个多播组。

多播路由选择协议
本质

找出以源主机为根节点的多播转发树。

  • 在多播转发树上,每一个多播路由器向树的叶节点方向转发收到的多播数据报,但在多播转发树上的路由器不会收到重复的多播数据报(即多播数据报不应在互联网中兜圈子)。
  • 对不同的多播组对应于不同的多播转发树。同一个多播组,对不同的源点也会有不同的多播转发树。
转发数据报方法
  1. 泛洪与剪除
  2. 隧道技术
  3. 基于核心的发现技术

虚拟互联网络★

定义

虚拟互连网络/逻辑互连网络,虽然互连起来的各种物理网络的异构性客观存在的,但是我们利用IP协议就可以使这些性能各异的网络在网络层上看起来好像是一个统一的网络。这种使用IP协议的虚拟互连网络可简称为IP网

使用IP网的好处是:当IP网上的主机进行通信时,就好像在一个单个网络上通信一样,它们看不见互连的各网络的具体异构细节(如具体的编址方案、路由选择协议,等等)。如果在这种覆盖全球的IP网的上层使用TCP协议,那么就是现在的互联网(Internet)。

中间设备

  1. 物理层使用的中间设备叫做**中继器/转发器(repeater)**。

  2. 数据链路层使用的中间设备叫做**网桥交换机**。

  3. 网络层使用的中间设备叫做路由器(router)。(可以隔离广播域)

    路由器是读取每一个数据包中的地址然后决定如何转发分组的专用智能网络设备,用于连接多个逻辑上分开的,使用相同网络层协议网络

    当中继系统是转发器或网桥时,一般并不称之为网络互连,因为仍然是一个网络。一般讨论的互连网都是指用路由器进行互连的互连网络。

    路由器会修改经过它的分组的MAC源地址和目的地址

  4. 在网络层以上使用的中间设备叫做网关(gateway)

    ※ 网关(Gateway)/网间连接器/协议转换器。网关在网络层以上实现两个高层协议不同的网络互连,网关连接两个不兼容的系统需要在高层进行协议的转换。

直接交付★

当源结点与目的结点位于同一个物理网络时,IP数据报从源结点到达目的结点不需要经过路由器交换结点进行转发,数据报从一台主机直接传输到另一台主机,这种交付就称为直接交付。

间接交付★

当源结点与目的结点不在同一个物理网络时,IP数据报需要经过路由器转发才到达到目的结点,这种交付就称为间接交付。

IP地址与MAC地址

image-20230205105752099

区别※

指标MAC地址IP地址
长度48位32位
使用层次数据链路层和物理层网络层及以上
是否可变否(硬件地址)是(逻辑地址)
位置MAC 帧的首部IP 数据报的首部
经过路由器后地址是否改变

当IP数据报插入到数据链路层的MAC帧以后,整个的IP数据报就成为MAC帧的数据,因而在数据链路层看不见数据报的IP地址

转发过程

如图,画的是三个局域网用两个路由器R1和R2互连起来。现在主机H1要和主机H2通信。这两台主机的IP地址分别是IP1和 IP2,而它们的硬件地址分别为HA1和 HA2(HA表示 Hardware Address)。通信的路径是:H1→经过R转发→再经过R2转发→H2。路由器R1因同时连接到两个局域网上,因此它有两个硬件地址,即HA3和HA4。同理,路由器R2也有两个硬件地址HA5和 HA6 。

image-20230205112149698

注意

  • 在IP层抽象的互联网上只能看到IP数据报。

  • 虽然在IP数据报首部有源站IP地址,但路由器只根据目的站的IP地址进行转发

  • 在局域网的链路层,只能看见MAC帧。

    在不同网络上传送时,其MAC帧首部中的源地址和目的地址要发生变化。

  • IP层抽象的互联网屏蔽了下层这些很复杂的细节。只要在网络层上讨论问题,就能够使用统一的、抽象的IP地址研究主机和主机或路由器之间的通信。

在ip网络有了 IP 地址,为什么还要用 MAC 地址※

自己总结的

  1. 以太网协议先于IP协议出现,上层协议需要向下兼容。(历史因素)
  2. 如果不使用IP地址,由于MAC硬件地址无法改变,无法根据网络前缀匹配,会导致路由表过大,因此以太网被认为是“不可路由协议”,无法满足全球的互联网使用,只能在同一局域网内通信。(IP地址必要性)
  3. IP地址是逻辑地址,方便寻址,对于位于同一个子网上的设备,分配的 IP 地址前缀都是一样的,便于划分子网,使路由匹配只需匹配网络号,减少路由表大小。(IP地址必要性)
  4. 使用 IP 地址能屏蔽各种物理网络的异构型,解决复杂的硬件地址转换工作。(IP地址功能)
  5. 使用IP地址(网络号/前缀)找到目标机器所属的局域网,再通过ARP协议找到其MAC地址,通过MAC地址将分组交付。(IP与MAC关系)
  6. 在尚未给设备分配IP地址前,需要通过 MAC 地址来区分不同的设备。(MAC地址必要性)

ipv4地址定义

把整个因特网看成为一个单一的、抽象的网络。 IP 地址就是给每个连接在互联网上的主机(或路由器)分配一个在全世界范围是唯一的 32 位的标识符。是一种逻辑地址。

IPv4地址的编址方法★

分类的IP地址

规则

image-20221228170713097

  • 将IP地址划分为若干个固定类。
  • 每一类地址都由两个固定长度的字段组成,其中一个字段是网络号 net-id,它标志主机(或路由器)所连接到的网络,而另一个字段则是主机号 host-id,它标志该主机(或路由器)。
  • 主机号在它前面的网络号所指明的网络范围内必须是唯一的。 一个 IP 地址在整个互联网范围内是唯一的。
特点
  1. IP 地址是一种分等级的地址结构。分两个等级的好处是:
    1. IP 地址管理机构在分配 IP 地址时只分配网络号,而剩下的主机号则由得到该网络号的单位自行分配,方便了 IP 地址的管理。
    2. 路由器仅根据目的主机所连接的网络号来转发分组(而不考虑目的主机号),这样就可以使路由表中的项目数大幅度减少,从而减小了路由表所占的存储空间。
  2. 实际上 IP 地址是标志一个主机(或路由器) 和一条链路的接口。
    1. 当一个主机同时连接到两个网络上时,该主机就必须同时具有两个相应的 IP 地址,其网络号 net-id 必须是不同的。这种主机称为多归属主机 (multihomed host)。
    2. 由于一个路由器至少应当连接到两个网络(这样它才能将 IP 数据报从一个网络转发到另一个网络), 因此,一个路由器至少应当有两个不同的 IP 地址
  3. 用转发器或网桥(数据链路层及以下的中间设备)连接起来的若干个局域网仍为一个网络,因此这些局域网都具有同样的网络号 net-id。
  4. 所有分配到网络号 net-id 的网络,无论是范围很小的局域网,还是可能覆盖很大地理范围的广域网,都是平等的
点分十进制记法

image-20221228173146497

分类

image-20221228173130618

D类为组播地址,只能作为目标IP地址使用,不能作为源IP使用

A类地址详细信息

image-20221228174940435

B类地址详细信息

image-20221228175100658

C类地址详细信息

image-20221228175130946

IP地址的指派范围

image-20221228173519557

一般不使用的特殊IP地址

image-20221228173716505

主机号字段全0表示该IP地址是“本主机”所连接到的单个网络地址

子网的划分

在三级结构的IP地址中,划分子网是使网络前缀变长。

产生原因

两级IP地址的不合理之处

  1. IP 地址空间的利用率有时很低。
  2. 给每一个物理网络分配一个网络号会使路由表变得太大因而使网络性能变坏。
  3. 两级的 IP 地址不够灵活。
定义

划分子网 (subnetting):在 IP 地址中又增加了一个“子网号字段”,使两级的 IP 地址变成为三级的 IP 地址。

规则
  • 从主机号借用若干个位作为子网号 subnet-id,而主机号 host-id 也就相应减少了若干个位。

    image-20230205114541470

    IP 地址 ::= { <网络号>, <子网号>, <主机号> }

  • 划分子网纯属一个单位内部的事情。单位对外仍然表现为没有划分子网的网络。

  • 凡是从其他网络发送给本单位某个主机的 IP 数据报,仍然是根据 IP 数据报的目的网络号 net-id

    • 先找到连接在本单位网络上的路由器。
    • 然后此路由器在收到 IP 数据报后,再按目的网络号 net-id 和子网号 subnet-id 找到目的子网。
    • 最后就将 IP 数据报直接交付目的主机。
优点
  • 减少了 IP 地址的浪费
  • 使网络的组织更加灵活
  • 更便于维护和管理
缺点

减少了能够连接在网络上的主机总数。

子网掩码

使用子网掩码(subnet mask) 可以找出IP地址中的子网部分。

优点

不管网络有没有划分子网,只要把子网掩码和IP地址进行逐位的“与”运算(AND),就立即得出网络地址来。这样在路由器处理到来的分组时就可采用同样的算法。

规则

image-20230205115152344

(IP 地址) AND (子网掩码) = 网络地址

  • 子网掩码长度=32位
  • 某位=1:IP地址中的对应位为网络号和子网号
  • 某位=0:IP地址中的对应位为主机号
默认子网掩码

所有的网络都必须有子网掩码,同时在路由器的路由表中也必须有子网掩码这一栏。如果一个网络不划分子网,那么该网络的子网掩码就使用默认子网掩码。

image-20230205115311272

例题
  1. B类地址的子网划分选择(使用固定长度子网)

    image-20230205115624875

    当子网号位数为0时: 相当于没有划分子网。

    当子网号位数为16时:相当于主机所占位数全部用于划分子网,只有子网号,却没有主机号了。(即每个子网中的有效主机数为0)

    当子网号位数为15时:相当于主机号剩余一位,即有两种取值(0,1)。当取值为0时,实际为该子网的网络地址,取值为1时实际为该子网的广播地址。这两个取值都不能作为有效的主机号标识,所以也没有意义。

    当子网号位数为1时:相当于子网号位一位,即有两种取值(0,1)。这两个取值也就是含子网号全0全1与父网络网络地址和广播地址重名冲突的两种情况(对路由器来说具有二义性,会发生错误)。

  2. 【例4-2】已知 IP 地址是 141.14.72.24,子网掩码是 255.255.192.0。试求网络地址。

    image-20221228204033603

  3. 【例4-3】上例中,若子网掩码改为 255.255.224.0,试求网络地址,讨论所得结果。

    image-20221228204049570

不同的子网掩码得出相同的网络地址。 但不同的掩码的效果是不同的。

构成超网(CIDR)

使网络前缀缩短。

产生原因
  1. B 类地址在 1992 年已分配了近一半,眼看就要在 1994 年 3 月全部分配完毕!
  2. 互联网主干网上的路由表中的项目数急剧增长(从几千个增长到几万个)。
  3. 整个 IPv4 的地址空间最终将全部耗尽。
定义

无分类域间路由选择 CIDR (Classless Inter-Domain Routing)。是无分类编址方法

地址掩码/子网掩码

地址掩码(掩码)由一连串1和接着的一连串0组成,而1的个数就是网络前缀的长度。在CIDR记法中,斜线后面的数字就是地址掩码中 1 的个数。
例如,/20 地址块的地址掩码是:11111111 11111111 11110000 00000000(20个连续的1和接着的12个连续的0)。

表示形式
  1. 地址块10.0.0.0/10可简写为10/10,也就是把点分十进制中低位连续的0省略
  2. 在网络前缀的后面加一个星号*,如:
    00001010 00*
    意思是:在星号*之前是网络前缀,而星号*表示IP地址中的主机号,可以是任意值
地址块
定义

CIDR 把网络前缀都相同的连续的 IP 地址组成“CIDR 地址块” 。可以用地址块中的最小地址和网络前缀的位数指明这个地址块。

全 0 和全 1 的主机号地址一般不使用。

举例

128.14.35.7/20= 10000000 00001110 00100011 00000111

最小地址128.14.32.010000000 00001110 00100000 00000000
最大地址128.14.47.25510000000 00001110 00101111 11111111

这个地址块共有212个地址。上面的地址块可记为128.14.32.0/20或10000000 00001110 0010*。在不需要指出地址块的起始地址时,也可把这样的地址块简称为“/20地址块” 。

常用的CIDR地址块

image-20230205144638831

特殊地址块
  1. 前缀n=32,即32位IP地址都是前缀,没有主机号。这其实就是一个IP地址,用于主机路由。
  2. 前缀n=31,这个地址块中只有两个IP地址,其主机号分别为0和1,用于点对点链路。
  3. 前缀n=0,同时IP地址也是全0,即0.0.0.0/0,用于默认路由。
路由聚合

一个CIDR地址块可以表示很多地址,这种地址的聚合常称为路由聚合/构造超网,它使得路由表中的一个项目可以表示很多个原来传统分类地址的路由。

路由聚合有利于减少路由器之间的路由选择信息的交换,从而提高了整个互联网的性能。

特点
  1. CIDR 消除了传统的 A 类、B 类和 C 类地址以及划分子网的概念,因而可以更加有效地分配 IPv4 的地址空间。
  2. CIDR使用各种长度的“网络前缀”(network prefix)来代替分类地址中的网络号和子网号。
  3. IP 地址从三级编址(使用子网掩码)又回到了两级编址。
  4. CIDR把网络前缀都相同的连续的IP地址组成一个“CIDR地址块”。我们只要知道CIDR地址块中的任何一个地址,就可以知道这个地址块的起始地址(即最小地址)和最大地址,以及地址块中的地址数。
  5. CIDR 地址块中的地址数一定是 2 的整数次幂。
优点

可以更加有效地分配 IPv4 的地址空间,可根据客户的需要分配适当大小的 CIDR 地址块。

CIDR 地址块划分举例

image-20221228210615561

这个 ISP 共有 2^6=64 个 C 类网络。如果不采用 CIDR 技术, 则在与该 ISP 的路由器交换路由信息的每一个路由器的路由表中,就需要有 64 个项目。但采用地址聚合后,只需用路由聚合后的 1 个项目 206.0.64.0/18 就能找到该 ISP。

最长前缀匹配
背景

使用 CIDR 时,路由表中的每个项目由“网络前缀”和“下一跳地址”组成。在查找路由表时可能会得到不止一个匹配结果。

定义
  • 最长前缀匹配 (longest-prefix matching)/最长匹配/最佳匹配:从匹配结果中选择具有最长网络前缀的路由。
  • 网络前缀越长,其地址块就越小,因而路由就越具体 (more specific) 。
例题

image-20230210164011505

例题

4-24※ 已知路由器R1的转发表如下表所示。试画出各网络和必要的路由器的连接拓扑,标注出必要的IP地址和接口,对不能确定的情况应当指明。

image-20230206180227081

img

4-25 一个自治系统有5个局域网,其连接图如图所示。LAN2至LAN5上的主机数分别为:91、150、3和15。该自治系统分配到的IP地址块为30.138.118/23。试给出每一个局域网的地址块(包括前缀)(答案不唯一)。

image-20221230200236330

30.138.118/23=00011110.10001010.01110110.00000000。
LAN3有 150 台主机,1个路由器,全0网络地址和全1广播地址,至少分配256个地址。
LAN2有 91 台主机,1个路由器,全0网络地址和全1广播地址,至少分配128个。
LAN5 有 15 台主机,1个路由器,全0网络地址和全1广播地址,至少分配32个。
LAN4 有 3 台主机,1个路由器,全0网络地址和全1广播地址,至少分配8个。
LAN1 连接 3 台路由器,有 3 个IP地址,全0网络地址和全1广播地址,至少分配8个。

image-20221230201010298

局域网地址块
LAN130.138.01110111.11000000=30.138.119.192/29
LAN230.138.01110111.00000000=30.138.119.0/25
LAN330.138.01110110.00000000=30.138.118.0/24
LAN430.138.01110111.11001000=30.138.119.200/29
LAN530.138.01110111.10000000=30.138.119.128/26

4-26 一个大公司有一个总部和三个下属部门。公司分配到的网络前缀是192.77.33/24。公司的网络布局如图所示。总部共有五个局域网,其中的LAN1~LAN4都连接到路由器R1上,R1再通过LAN5与路由器R2相连。R2和远地的三个部门的局域网LAN6~LAN8通过广域网相连。每一个局域网旁边标明的数字是局域网上的主机数。试给每一个局域网分配一个合适的网络前缀。

image-20221230201426328

解答:
50个主机的LAN1需要前缀/26(主机号6位,62个主机号),
30个主机的LAN3需要前缀/27(主机号5位,30个主机号),
两个10个主机的LAN2和LAN4各需要一个前缀/28(主机号4位,14个主机号)。
LAN6~LAN8(加上路由器)各需要一个前缀/27(主机号5位,30个主机号),
3个WAN各有两个端点,各需要一个前缀/30(主机号2位,2个主机号)。
LAN5需要前缀/30(主机号2位,2个主机号),但考虑到以太网上可能还要再接几个主机,故留有余地,可分配一个29(主机号3位,6个主机号)。
本题的解答有很多种,下面给出其中的一种答案(先选择需要较大的网络前缀):
LAN1:192.77.33.0/26
LAN3:192.77.33.64/27 192.77.33.0100 0000
LAN6:192.77.33.96/27 192.77.33.0110 0000
LAN7:192.77.33.128/27 192.77.33.1000 0000
LAN8:192.77.33.160/27 192.77.33.1010 0000
LAN2:192.77.33.192/28 192.77.33.1100 0000
LAN4:192.77.33.208/28 192.77.33.1101 0000
LAN5:192.77.33.224/29 192.77.33.1110 0000(考虑到以太网上可能还要再接几个主机,故留有余地。)
WAN1:192.77.33.232/30 192.77.33.1110 1000
WAN2:192.77.33.236/30 192.77.33.1110 1100
WAN3:192.77.33.240/30 192.77.33.1111 0000

image-20221230212006074

4-33 某单位分配到一个地址块136.23.12.64/26。现在需要进一步划分为4个一样大的子网。试问:
(1)每一个子网的网络前缀有多长?28位
(2)每一个子网中有多少个地址?2^4=16个地址
(3)每一个子网的地址是什么?

136.23.12.64=10001000 00010111 00001100 0100000

136.23.12.64/28
136.23.12.80/28
136.23.12.96/28
136.23.12.112/28

(4)每一个子网可分配给主机使用的最小地址和最大地址是什么?

除去主机号为全0的网络地址和全1的广播地址

136.23.12.65/28 136.23.12.78/28
136.23.12.81/28 136.23.12.94/28
136.23.12.97/28 136.23.12.110/28
136.23.12.113/28 136.23.12.126/28

IP数据报的格式★

image-20221228182214639

首部

首部的前一部分是固定长度,共 20 字节,是所有 IP 数据报必须具有的。在首部的固定部分的后面是一些可选字段,其长度是可变的。

版本

占 4 位,指 IP 协议的版本。 目前的 IP 协议版本号为 4 (即 IPv4)。

首部长度

占 4 位,可表示的最大数值是 15 个单位(一个单位为 4 字节), 因此 IP 的首部长度的最大值是 60 字节。

区分服务

占 8 位,用来获得更好的服务。 在旧标准中叫做服务类型,但实际上一直未被使用过。1998 年这个字段改名为区分服务。 只有在使用区分服务(DiffServ)时,这个字段才起作用。 在一般的情况下都不使用这个字段。

总长度

占 16 位,指首部和数据之和的长度,单位为字节,因此数据报的最大长度为 65535 字节。若IP数据报总长度超过数据链路层数据部分的最大传送单元 MTU(Maximum Transfer Unit)则需要分片。

标识(identification)

占16 位。IP 软件在存储器中维持一个计数器,每产生一个数据报,计数器就加 1,并将此值赋给标识字段。但这个“标识”并不是序号,因为IP是无连接服务,数据报不存在按序接收的问题。当数据报由于长度超过网络的MTU而必须分片时,这个标识字段的值就被复制到所有的数据报片的标识字段中。相同的标识字段的值使分片后的各数据报片最后能正确地重装成为原来的数据报。

标志(flag)

占 3 位,目前只有前两位有意义。 标志字段的最低位是 MF (More Fragment)。 MF = 1 表示后面“还有分片”。MF = 0 表示最后一个分片。 标志字段中间的一位是 DF (Don’t Fragment) 。 只有当 DF = 0 时才允许分片。

片偏移★

占 13 位,指出较长的分组在分片后某片在原分组中的相对位置。 片偏移以 8 个字节为偏移单位。因此每个分片的长度必须是8字节(64位)的整数倍。

例题

一数据报的总长度为 3820 字节,其数据部分的长度为 3800 字节(使用固定首部),需要分片为长度不超过 1420 字节的数据报片。

  • 因IP固定首部长度为 20 字节,因此每个数据报片的数据部分长度不能超过 1400 字节。

  • 于是分为 3 个数据报片,其数据部分的长度分别为 1400、1400 和 1000 字节。

  • 原始数据报首部被复制为各数据报片的首部, 但必须修改有关字段的值。

  • 分片示意图

    分片示意图

  • IP 数据报首部中与分片有关的字段中的数值

    总长度标识MFDF片偏移
    原始数据报382012345000
    数据报片1142012345100
    数据报片214201234510175
    数据报片310201234500350
生存时间
定义

占 8 位,记为 TTL (Time To Live), 指示数据报在网络中可通过的路由器数的最大值。功能为“跳数限制”。路由器在每次转发数据报之前就把TTL值减1。若 TTL值减小到零,就丢弃这个数据报,不再转发。

功能

可以防止数据报在网络中兜圈子

协议

占8位,指出此数据报携带的数据使用何种协议, 以便目的主机的 IP 层将数据部分上交给对应的协议进行处理

协议名ICMPIGMPIPTCPEGPIGPUDPIPv6ESPOSPF
协议字段值12468917415089
首部检验和

占16位,只检验数据报的首部, 不检验数据部分。这里不采用 CRC 检验码而采用简单的16 位二进制反码求和算法。

计算规则

image-20221228184948853

二进制反码求和规则: 0和0相加是0,0和1相加是1,1和1相加是0但要产生一个进位1,加到下一列。若最高位相加后产生进位,则最后得到的结果要加上溢出的进位 1 (可能有多个1)。

image-20221228184845877

数据

上层协议格式

IP层转发分组

流程

  • 按主机所在的网络地址来制作路由表。(使用路由选择协议)
  • 根据目的网络地址利用路由器分组转发算法就能确定下一跳路由器,这样做的结果是:
    • IP 数据报最终一定可以找到目的主机所在目的网络上的路由器(可能要通过多次的间接交付)。
    • 只有到达最后一个路由器时,才向目的主机进行直接交付

image-20221228190004065

路由器分组转发算法

  1. 从数据报的首部提取目的主机的 IP 地址 D, 得出目的网络地址为N。

  2. 若网络 N 与此路由器直接相连,则把数据报直接交付目的主机 D;否则是间接交付,执行 (3)。

  3. 若路由表中有目的地址为 D 的特定主机路由,则把数据报传送给路由表中所指明的下一跳路由器;否则,执行 (4)。

    特定主机路由:对特定的目的主机指明一个路由。

  4. 若路由表中有到达网络 N 的路由,则把数据报传送给路由表指明的下一跳路由器;否则,执行 (5)。

  5. 若路由表中有一个默认路由,则把数据报传送给路由表中所指明的默认路由器;否则,执行 (6)。

  6. 报告转发分组出错。

IP多播

定义

IP多播(multicast)(也称多址广播或组播)技术,是一种允许一台或多台主机(多播源)发送单一数据包到多台主机(一次的,同时的)的TCP/IP网络技术。多播作为一点对多点的通信,是节省网络带宽的有效方法之一。

多播数据报可以由没有加入多组播的主机发出,也可以通过没有组成员接入的网络。

单播与多播比较

image-20221230122540918

多播 IP 地址

  • IP 多播所传送的分组需要使用多播 IP 地址。
  • 在多播数据报的目的地址写入的是多播组的标识符。
  • 多播组的标识符就是 IP 地址中的 D 类地址(多播地址)。
  • 每一个 D 类地址标志一个多播组。
  • 多播地址只能用于目的地址,不能用于源地址。

硬件多播

地址范围

IANA提供的以太网多播地址的范围是:01-00-5E-00-00-0001-00-5E-7F-FF-FF
只有 23位 能用作 多播地址

互联网号码指派管理局IANA拥有的以太网地址块的高24位为00-00-5E,以太网硬件地址字段中的第1字节的最低位为1时即为多播地址,但只分配了一半(23位)给多播,因此高24位为01-00-5E,并且25位为0。

映射规则

由于多播IP地址与以太网硬件地址的映射关系不是唯一的(228:223=32:1),因此收到多播数据报的主机,还要在IP层利用软件进行过滤,把不是本主机要接收的数据报丢弃。

23bit完全相同的几率已经很小了,这种设计方法只是只是一个折中而已

image-20221230160742769

举例

ip多播地址 224.128.64.32 (E0-80-40-20) 和 另一个 ip多播地址 224.0.64.32 (E0-00-40-20)
转换成以太网的硬件多播地址都是 01-00-5E-00-40-20
仍需要目的主机在3层根据ip地址进行过滤

路由选择协议★

定义

在路由器中运行,自动找到路由器转发分组最合适的路径

自治系统

将整个互联网划分为许多较小的自治系统 (Autonomous System,AS),一个自治系统是一个互联网,其最重要的特点是自治系统有权自主地决定在本系统内采用何种路由选择协议。一个自治系统内的所有网络都属于一个行政单位来管辖。一个自治系统的所有路由器在本自治系统内必须是连通的

自治系统之间的路由选择也叫做域间路由选择 (interdomain routing),在自治系统内部的路由选择叫做域内路由选择 (intradomain routing) 。

分类

内部网关协议 IGP (Interior Gateway Protocol)

在一个自治系统内部使用的路由选择协议

RIP
定义

路由信息协议 RIP (Routing Information Protocol) 是一种分布式的、基于距离向量算法的路由选择协议。 要求网络中的每一个路由器都要维护从它自己到其他每一个目的网络的距离记录。

“距离”的定义
  • 从一路由器到直接连接的网络的距离定义为 1。
  • 从一个路由器到非直接连接的网络的距离定义为所经过的路由器数加 1。
  • RIP 协议中的“距离” 也称为“跳数”(hop count) ,因为每经过一个路由器,跳数就加 1。
工作流程

image-20221230105301301

  • 路由器刚开始工作时,只知道自己到直连网络的距离为1.
  • 每个路由器仅和相邻路由器周期性地交换并更新路由信息。
  • 若干次交换和更新后,每个路由器都知道到达本AS内各网络的最短距离和下一跳地址,称为收敛。
特点
  • RIP 认为一个好的路由就是它通过的路由器的数目少,即“距离短” 。
  • RIP 允许一条路径最多只能包含 15 个路由器。 “距离”的最大值为 16 时即相当于不可达。可见 RIP 只适用于小型互联网。
  • RIP 不能在两个网络之间同时使用多条路由。 RIP 选择一个具有最少路由器的路由(即最短路由),哪怕还存在另一条高速(低时延)但路由器较多的路由。
三个要点★
  • 与谁交换信息?(who)
    • 仅和相邻路由器交换信息。
  • 交互什么信息?(what)
    • 交换的信息是当前本路由器所知道的全部信息, 即自己的路由表
  • 什么时候交互信息?(when)
    • 固定的时间间隔交换路由信息,例如,每隔 30 秒。
    • 网络拓扑发生变化时,路由器也及时向相邻路由器通告拓扑变化后的路由信息。
优点

实现简单,开销较小。

缺点
  • RIP 限制了网络的规模,它能使用的最大距离为 15 (16 表示不可达)。
  • 路由器之间交换的路由信息是路由器中的完整路由表,因而随着网络规模的扩大,开销也就增加。
  • “坏消息传播得慢”,使更新过程的收敛时间过长。
距离向量算法

对每一个相邻路由器发送过来的RIP报文,进行以下步骤:

  1. 对地址为X的相邻路由器发来的RIP报文,先修改此报文中的所有项目:把“下一跳”字段中的地址都改为X,并把所有的“距离”字段的值加1。每一个项目都有三个关键数据,即:到目的网络N,距离是d,下一跳路由器是X。

    这样做是为了便于进行本路由表的更新。假设从位于地址X的相邻路由器发来的RIP报文的某一个项目是“Net2,3,Y”,意思是“我经过路由器Y到网络Net2的距离是3”,那么本路由器就可推断出:“我经过X到网络Net2的距离应为3+1 = 4”。于是,本路由器就把收到的RIP报文的这一个项目修改为“Net2,4,X",作为下一步和路由表中原有项目进行比较时使用(只有比较后才能知道是否需要更新)。注意:收到的项目中的Y对本路由器是没有用的,因为Y不是本路由器的下一跳路由器地址(是下下一跳)。

  2. 对修改后的RIP报文中的每一个项目,进行以下步骤:

    1. 若原来的路由表中没有目的网络N,则把该项目添加到路由表中。

      表明这是新的目的网络,应当加入到路由表中。例如,本路由表中没有到目的网络Net2的路由,那么在路由表中就要加入新的项目“Net2,4,X”。

    2. 否则(即在路由表中有目的网络N,这时就再查看下一跳路由器地址〉

      1. 若下一跳路由器地址是X,则把收到的项目替换原路由表中的项目。

        要以最新的消息为准。到目的网络的距离有可能增大或减小,但也可能没有改变。例如,不管原来路由表中的项目是“Net2,3,X”还是“Net2,5,X”,都要更新为现在的“Net2,4,X”。

      2. 否则(即这个项目是:到目的网络N,但下一跳路由器不是X)

        1. 若收到的项目中的距离d小于路由表中的距离,则进行更新;

          例如,若路由表中己有项目“Net2,5,P”,就要更新为“Net2,4,X”。因为到网络Net2的距离原来是5,现在减到4,更短了。

        2. 否则什么也不做。

          若距离更大了,显然不应更新。若距离不变,更新后得不到好处,因此也不更新。

  3. 若3分钟还没有收到相邻路由器的更新路由表,则把此相邻路由器记为不可达的路由器,即把距离置为16(距离为16表示不可达)。

  4. 返回。

上面给出的距离向量算法的基础就是 Bellman-Ford 算法(或Ford-Fulkerson算法)。这种算法的要点是这样的:
设是结点A到B的最短路径上的一个结点。若把路径A→B拆成两段路径A→X和X→B,则每一段路径A→X和X→B也都分别是结点A到X和结点X到B的最短路径。

例题

【例4-5】已知路由器R6有表4-9(a)所示的路由表。现在收到相邻路由器R4发来的路由更新信息,如表4-9(b)所示。试更新路由器R6的路由表。

image-20221230111842260

  1. 先把表4-9(b)中的距离都加1,并把下一跳路由器都改为R。得出表4-9©。

    image-20221230112128721

  2. 把这个表的每一行和表4-9(a)进行比较。
    第一行在表4-9(a)中没有,因此要把这一行添加到表4-9(a)中。
    第二行的Net2在表4-9(a)中有,且下一跳路由器也是R4。因此要更新(距离增大了)。第三行的Net3在表4-9(a)中有,但下一跳路由器不同。于是就要比较距离。新的路由信息的距离是2,小于原来表中的4,因此要更新。
    这样,得出更新后的R的路由表如表4-9(d)所示。

    image-20221230112254590

4-37 假定网络中得路由器B的路由表有如下项目。

目的网络距离下—跳路由器
N17A
N22c
N68F
N84E
N94F

现在B收到从C发来的路由信息如下表。

目的网络距离
N24
N38
N64
N83
N95
  1. 先把B收到的路由信息中距离都加1,并且在后面添加C得新表:
目的网络距离下—跳路由器
N25C
N39C
N65C
N84C
N96C
  1. 更新后路由表:
目的网络距离下一条路由备注
N17A无新信息,不变
N25C以新信息为准
N39C原路由表没有目的网络N1,添加进去
N65C相比于F,选择C为下一跳更短
N84E下一跳选择E与C距离相同,不变
N94F选择C为下一跳距离更长,不变。
RIP2报文格式

image-20221230104610613

OSPF 协议
定义

开放最短路径优先 OSPF (Open Shortest Path First)是为克服 RIP 的缺点在 1989 年开发出来的,是分布式的链路状态协议 。

  • “开放”表明 OSPF 协议不是受某一家厂商控制,而是公开发表的。
  • “最短路径优先”是因为使用了 Dijkstra 提出的最短路径算法 SPF

注意:OSPF 只是一个协议的名字,它并不表示其他的路由选择协议不是“最短路径优先”。

三个要点★
  • 与谁交互信息?(who)
    • 向本自治系统中所有路由器发送信息,这里使用的方法是洪泛法。
  • 交互什么信息?(what)
    • 发送的信息就是与本路由器相邻的所有路由器的链路状态,但这只是路由器所知道的部分信息。
  • 什么时候交互信息?(when)
    • 只有当链路状态发生变化时,路由器才用洪泛法向所有路由器发送此信息。
特点

OSPF最主要的特征就是使用分布式的链路状态协议(link state protocol),而不是像RIP那样的距离向量协议。和RIP协议相比,OSPF 的三个要点和RIP的都不一样

  1. 本自治系统中所有路由器发送信息。这样,最终整个区域中所有的路由器都得到了这个信息的一个副本。

    使用是洪泛法(flooding),路由器通过所有输出端口向所有相邻的路由器发送信息。而每一个相邻路由器又再将此信息发往其所有的相邻路由器(但不再发送给刚刚发来信息的那个路由器)。

    而RIP协议仅仅向自己相邻的几个路由器发送信息。

  2. 发送的信息为与本路由器相邻的所有路由器的链路状态,但这只是路由器所知道的部分信息。

    所谓“链路状态”就是说明本路由器都和哪些路由器相邻°,以及该链路的“度量”(metric)。OSPF将这个“度量”用来表示费用、距离、时延、带宽,等等。这些都由网络管理人员来决定,因此较为灵活。有时为了方便就称这个度量为“代价”。

    而对于RIP协议,发送的信息是:“到所有网络的距离和下一跳路由器”(路由表)。

  3. 只有当链路状态发生变化时,路由器才向所有路由器用洪泛法发送此信息。

    而RIP不管网络拓扑有无发生变化,路由器之间都要定期交换路由表的信息。

外部网关协议 EGP (External Gateway Protocol)

若源站和目的站处在不同的自治系统中,当数据报传到一个自治系统的边界时,就需要使用一种协议将路由选择信息传递到另一个自治系统中。这样的协议就是外部网关协议 EGP。

IGP与EGP使用环境
不同的原因
  1. 互联网的规模太大,使得自治系统AS之间路由选择非常困难
  2. 自治系统AS之间的路由选择必须考虑有关策略。e.g:政治、经济、安全等
区别
  • 内部网关协议IGP寻找一条最佳路由
  • 外部网关协议EGP(如BGP)寻找一条能够到达目的网络且比较好的路由(不兜圈子)
BGP
定义

外部网关协议(Border Gateway Protocol)是不同自治系统的路由器之间交换路由信息的协议。

BGP 较新版本是 2006 年 1 月发表的 BGP-4 (BGP 第 4 个版本)

特点
  • BGP 协议交换路由信息的结点数量级是自治系统数的量级,这要比这些自治系统中的网络数少很多。
  • 每一个自治系统中 BGP 发言人(或边界路由器) 的数目是很少的。这样就使得自治系统之间的路由选择不致过分复杂。
  • 在 BGP 刚刚运行时,BGP 的邻站是交换整个的 BGP 路由表。但以后只需要在发生变化时更新有变化的部分。这样做对节省网络带宽和减少路由器的处理开销都有好处。
三个要点★
  • 与谁交换信息?(who)
    • 仅和相邻BGP发言人交换信息。
  • 交互什么信息?(what)
    • 交换的信息是当前本BGP发言人所知道的全部路径信息。(路径向量path vector)
  • 什么时候交互信息?(when)
    • 固定的时间间隔交换信息(30秒)。
BGP发言人

image-20221230115414038

IPv6

出现原因

  1. 互联网经过几十年的飞速发展,IPv4地址已经全部耗尽
  2. 解决IP地址耗尽的根本措施就是采用具有更大地址空间的新版本的 IP,即IPv6。

与IPv4的主要变化

  1. 更大的地址空间。IPv6 将地址从 IPv4 的 32 位 增大到了 128 位。
  2. 扩展的地址层次结构。
  3. 灵活的首部格式。 IPv6 定义了许多可选的扩展首部。
  4. 改进的选项。 IPv6 允许数据报包含有选项的控制信息,其选项放在有效载荷中。
  5. 允许协议继续扩充
  6. 支持即插即用。自动配置,不需要DHCP
  7. 支持资源预分配
  8. 首部改为8字节对齐。首部长度必须是8字节的整数倍
  9. IPv6 只有在包的源结点才能分片,是端到端的传输路径中的路由器不能分片,所以从一般意义上说,IPv6不允许分片(不允许类似IPv4的路由分片)。

格式

数据报格式

image-20221230120318088

首部格式

image-20221230120338294

  • 版本:占4位。它指明了协议的版本,对IPv6该字段是6。
  • 通信量类:占8位。这是为了区分不同的IPv6数据报的类别或优先级。
  • 流标号:占20位。“流”就是互联网络上从特定源点到特定终点(单播或多播)的一系列数据报(如实时音频或视频传输),而在这个“流”所经过的路径上的路由器都保证指明的服务质量。所有属于同一个流的数据报都具有同样的流标号。
  • 有效载荷长度:占16位。它指明Pv6数据报除基本首部以外的字节数(所有扩展首部都算在有效载荷之内)。这个字段的最大值 是64KB(65535字节)。
  • 下一个首部:占8位。它相当于IPv4的协议字段或可选字段。
    • 当IPv6数据报没有扩展首部时,下一个首部字段的作用和IPv4的协议字段一样,它的值指出了基本首部后面的数据应交付IP层上面的哪一个高层协议
    • 当出现扩展首部时,下一个首部字段的值就标识后面第一个扩展首部的类型
  • 跳数限制:占8位。用来防止数据报在网络中无限期地存在。源点在每个数据报发出时即设定某个跳数限制(最大为255跳)。 每个路由器在转发数据报时,要先把跳数限制字段中的值减1。当跳数限制的值为零时,就要把这个数据报丢弃。
  • 源地址:占128位。是数据报的发送端的IP地址。
  • 目的地址:占128位。是数据报的接收端的IP地址。

地址

目的地址类型

单播 (unicast)

传统的点对点通信。

多播 (multicast)

一点对多点的通信。

任播 (anycast)

这是 IPv6 增加的一种类型。任播的目的站是一组计算机,但数据报在交付时只交付其中的一个,通常是距离最近的一个。

冒号十六进制记法

定义

为了使地址再稍简洁些,IPv6 使用冒号十六进制记法 (colon hexadecimal notation, 简写为 colon hex)

记法
  1. 允许把数字前面的 0 省略。例如 把 0000 中的前三个 0 省略,写成 1 个 0

  2. 冒号十六进制记法可以允许零压缩 (zero compression),即一连串连续的零可以为一对冒号所取代。在任一地址中只能使用一次零压缩。

    FF05:0:0:0:0:0:0:B3 可压缩为:FF05::B3

  3. 冒号十六进制记法可结合使用点分十进制记法的后缀。 这种结合在 IPv4 向 IPv6 的转换阶段特别有用。

    0:0:0:0:0:0:128.10.2.1 再使用零压缩即可得出: ::128.10.2.1

  4. CIDR 的斜线表示法。

    60 位的前缀 12AB00000000CD3 可记为: 12AB:0000:0000:CD30:0000:0000:0000:0000/60 或 12AB::CD30:0:0:0:0/60 (零压缩) 或 12AB:0:0:CD30::/60 (零压缩)

举例

一个用点分十进制记法的128位的地址为:
104.230.140.100.255.255.255.255.0.0.17.128.150.10.255.255

对应的冒号十六进制记法地址为:

68E6:8C64:FFFF:FFFF:0:1180:960A:FFFF

分类

地址类型二进制前缀
未指明地址00…0(128位),可记为::/128。
环回地址00…1(128位),可记为::1/128。
多播地址11111111(8位),可记为FF00::/8。
本地链路单播地址1111111010(10位), 可记为FE80::/10。
全球单播地址(除上述四种外,所有其他的二进制前缀)

IPv4向IPv6过渡的方法★

双协议栈

定义

双协议栈(dual stack)是指在完全过渡到IPv6之前,使一部分主机(或路由器)装有双协议栈:一个IPv4和一个IPv6。因此双协议栈主机(或路由器)既能够和IPv6的系统通信,又能够和IPv4的系统通信。

双协议栈的主机(或路由器)记为IPv6/IPv4,表明它同时具有两种IP地址:一个IPv6地址和一个IPv4地址。

策略★

双协议栈主机在和 IPv6主机通信时采用IPv6地址,而和 IPv4主机通信时则采用IPv4地址。双协议栈主机使用域名系统DNS来查询知道目的主机是采用哪一种地址。若DNS返回的是IPv4地址,双协议栈的源主机就使用IPv4地址。但当DNS返回的是IPv6地址,源主机就使用IPv6地址。

举例

图4-49所示的情况是源主机A和目的主机F都使用IPv6,所以A向F发送IPv6数据报,路径是A→B→C→D→E→F。中间B到E这段路径是IPv4网络,路由器B不能向C转发IPv6数据报,因为C只使用IPv4协议。B是IPv6/IPv4路由器,它把IPv6数据报首部转换为IPv4数据报首部后发送给C。C再转发到D。当D转发到IPv4网络的出口路由器E时(E也是IPv6/IPv4路由器),再恢复成原来的IPv6数据报。

注意:IPv6首部中的某些字段无法恢复。例如,原来IPv6首部中的流标号X在最后恢复出的IPv6数据报中只能变为空缺。这种信息的损失是使用首部转换方法所不可避免的。

image-20221230121003815

隧道技术隧道技术(tunneling)

策略★

在IPv6数据报要进入 IPv4网络时,把 IPv6数据报封装成为IPv4数据报。整个的IPv6数据报变成了IPv4 数据报的数据部分。

举例

IPv4数据报从路由器B经过路由器C和D,传送到E,而原来的IPv6数据报就好像在IPv4网络的隧道中传输,什么都没有变化。当IPv4数据报离开IPv4网络中的隧道时,再把数据部分(即原来的IPv6数据报)交给主机的IPv6协议栈。

图中的一条粗线表示在IPv4网络中好像有一个从B到E的“IPv6隧道”,路由器B是隧道的入口而E是出口。
在隧道中传送的数据报的源地址是B而目的地址是E。
要使双协议栈的主机知道IPv4 数据报里面封装的数据是一个IPv6数据报,就必须把IPv4首部的协议字段的值设置为41(41表示数据报的数据部分是IPv6数据报)。

image-20221230121622200

ICMPv6

使用ICMP来反馈一些差错信息。它合并了IPv4中地址解析协议ARP和网际组管理协议IGMP的功能。是面向报文的协议。

image-20230203170553123

VPN★

本地地址与全球地址

本地地址

仅在机构内部使用的 IP 地址,可以由本机构自行分配,而不需要向互联网的管理机构申请。

全球地址

全球唯一的 IP 地址,必须向互联网的管理机构申请。

问题

在内部使用的本地地址就有可能和互联网中某个 IP 地址重合,这样就会出现地址的二义性问题。

解决

RFC 1918 指明了一些专用地址 (private address)也叫做可重用地址 (reusable address)。

专用地址
定义

专用地址只能用作本地地址而不能用作全球地址。在互联网中的所有路由器,对目的地址是专用地址的数据报一律不进行转发

三个专用 IP 地址块
  1. A类,10.0.0.0 到 10.255.255.255,或记为10.0.0.0/8,它又称为 24 位块
  2. B类,172.16.0.0 到 172.31.255.255,或记为172.16.0.0/12,它又称为 20 位块
  3. C类,192.168.0.0 到 192.168.255.255,或记为192.168.0.0/16,它又称为 16 位块
专用网

采用这样的专用 IP 地址的互连网络称为专用互联网或本地互联网,或更简单些,就叫做专用网。

定义

虚拟专用网 VPN (Virtual Private Network):利用公用的互联网作为本机构各专用网之间的通信载体

  • “专用网”是因为这种网络是为本机构的主机用于机构内部的通信,而不是用于和网络外非本机构的主机通信。
  • “虚拟”表示“好像是”,但实际上并不是, 因为现在并没有真正使用通信专线,而VPN只是在效果上和真正的专用网一样。

构建要求

  1. 如果专用网不同网点之间的通信必须经过公用的互联网,但又有保密的要求,那么所有通过互联网传送的数据都必须加密
  2. 一个机构要构建自己的 VPN 就必须为它的每一个场所购买专门的硬件和软件,并进行配置, 使每一个场所的 VPN 系统都知道其他场所的地址。

技术实现

隧道技术

要求

VPN连接的每一个场所至少要有一个路由器具有合法的全球IP地址

举例

路由器R1和R2。这两个路由器和互联网的接口地址必须是合法的全球IP地址。路由器R1和R2在专用网内部网络的接口地址则是专用网的本地地址。

image-20221230173511541

NAT★

定义

网络地址转换 NAT (Network Address Translation) :解决在专用网上使用专用地址的主机如何与互联网上的主机通信(并不需要加密)问题。

要求

  1. 在专用网连接到互联网的路由器上安装 NAT 软件。装有 NAT 软件的路由器叫做 NAT 路由器,它至少有一个有效的外部全球IP地址。
  2. 所有使用本地地址的主机在和外界通信时,都要在 NAT 路由器上将其本地地址转换成全球 IP 地址,才能和互联网连接。

过程

图中给出了 NAT路由器的工作原理。专用网192.168.0.0内所有主机的IP地址都是本地IP地址192.168.x.x。NAT路由器至少要有一个全球IP地址(此处为172.38.1.5),才能和互联网相连。

image-20221230174055558

  1. 内部主机 A 用本地地址 IPA 和互联网上主机 B 通信所发送的数据报必须经过 NAT 路由器。
  2. NAT 路由器将数据报的源地址 IPA 转换成全球地址 IPG,并把转换结果记录到NAT地址转换表中,目的地址 IPB 保持不变,然后发送到互联网。
  3. NAT 路由器收到主机 B 发回的数据报时,知道数据报中的源地址是 IPB 而目的地址是 IPG
  4. 根据 NAT 转换表,NAT 路由器将目的地址 IPG转换为 IPA,转发给最终的内部主机 A。

可以看出,在内部主机与外部主机通信时,在NAT路由器上发生了两次地址转换:

  1. 离开专用网时:替换源地址,将内部地址替换为全球地址;
  2. 进入专用网时:替换目的地址,将全球地址替换为内部地址;

NAT地址转换表示例

方向字段旧的IP地址新的IP地址
源IP地址192.168.0.3172.38.1.5
目的IP地址172.38.1.5192.168.0.3

多协议标记交换 MPLS (MultiProtocol Label Switching)

定义

“多协议”表示在 MPLS 的上层可以采用多种协议,例如:IP,IPX;可以使用多种数据链路层协议,例如:PPP,以太网,ATM 等。

“标记”是指每个分组被打上一个标记,根据该标记对分组进行转发。

特点

  1. 支持面向连接的服务质量。
  2. 支持流量工程,平衡网络负载。
  3. 有效地支持虚拟专用网VPN。

优点

每个分组携带一个叫做标记 (label) 的小整数。当分组到达交换机(即标记交换路由器)时, 交换机读取分组的标记, 并用标记值来检索分组转发表。这样就比查找路由表来转发分组要快得多。

软件定义网络SDN(Software Defined Network)

特征

  1. 基于流的转发
  2. 数据层面与控制层面分离
  3. 位于数据层面交换机之外的网络控制功能
  4. 可编程的网络

层次

image-20221230181807693

解决ip地址耗尽的措施

  1. 采用划分子网,使IP地址的分配更加合理,减少 IP 地址的浪费
  2. 采用无类别编址CIDR,使IP地址的分配更加有效,减少 IP 地址的浪费
  3. 采用网络地址转换NAT方法以节省全球IP地址
  4. 采用具有更大地址空间的新版本的IP协议IPv6

第五章 运输层

与网络层区别★

网络层为主机之间提供逻辑通信,主机的身份标志是 IP 地址

运输层为应用进程之间提供端到端的逻辑通信,进程的身份标志是端口

进程之间的通信

image-20221230213119568

  • 从通信和信息处理的角度看,运输层向它上面的应用层提供通信服务,它属于面向通信部分的最高层,同时也是用户功能中的最低层
  • 当网络的边缘部分中的两个主机使用网络的核心部分的功能进行端到端的通信时,只有位于网络边缘部分的主机的协议栈才有运输层,而网络核心部分中的路由器在转发分组时都只用到三层(到网络层)的功能。

功能★

  1. 向上面的应用层提供逻辑通信服务。(为应用进程之间提供端到端的逻辑通信)

    “端”是指用户应用程序的“端口”

  2. 端口复用(multiplexing)和分用 (demultiplexing)。

    复用:各个应用进程可以通过运输层将数据传送到网络IP层

    分用:运输层从网络IP层收到应用进程数据后,必须交付给指定的用户进程

  3. 向高层用户屏蔽了下面网络核心的细节 (如网络拓扑、所采用的路由选择协议等), 它使应用进程看见的就是好像在两个运输层实体之间有一条端到端的逻辑通信信道。

端口

定义

协议端口号 (protocol port number),简称端口 (port),也称为进程标识。两个计算机中的进程要互相通信,不仅必须知道对方的 IP 地址(为了找到对方的计算机),而且还要知道对方的端口号(为了找到对方计算机中的应用进程)。

作用

  1. 标志主机中的进程

  2. 充当通信的终点。

    只要把要传送的报文交到目的主机的某一个合适的目的端口,剩下的工作(即最后交付目的进程)就由 TCP 来完成。

  3. 应用层的各种协议进程与运输实体进行层间交互的地址

规则

  • 端口用一个 16 位端口号进行标志。
  • 端口号只具有本地意义,即端口号只是为了标志本计算机应用层中的各进程。
  • 在互联网中,不同计算机的相同端口号是没有联系的。

分类★

服务器端使用的端口号

  • 熟知端口,数值一般为 0 ~ 1023。

    • 常用熟知端口号(前6个,除了TFTP)

      应用程序FTPTELNETSMTPDNSTFTPHTTPSNMPSNMP(trap)HTTPS
      熟知端口号212325536980161162443
  • 登记端口号,数值为 1024 ~ 49151,为没有熟知端口号的应用程序使用的。使用这个范围的端口号必须在 IANA 登记, 以防止重复。

客户端使用的端口号

  • 又称为短暂端口号,数值为 49152 ~ 65535,留给客户进程选择暂时使用。
  • 当服务器进程收到客户进程的报文时,就知道了客户进程所使用的动态端口号。通信结束后,这个端口号可供其他客户进程以后使用。

UDP与TCP

对比★

指标UDPTCP
提供的服务无连接面向连接(逻辑连接)
保证可靠和顺序交付
交付尽力而为地交付可靠交付
TPDUUDP报文/用户数据报报文段(segment)
处理上层数据基于报文基于字节流
首部、资源开销
信息交互方式半双工全双工
接收到差错的TPDU直接丢弃接收方丢弃,发送方重传
多播和广播支持不支持

运输[协议数据单元](#协议数据单元 PDU (Protocol Data Unit)) TPDU (Transport Protocol Data Unit):两个对等运输实体在通信时传送的数据单位。
无论在哪一层传送的数据单元,都可笼统地用“分组”来表示。

用户数据报协议 UDP (User Datagram Protocol)

UDP 只在 IP 的数据报服务之上增加了很少一点的功能:复用和分用差错检测

特点★

  1. 无连接,发送数据之前不需要建立连接。因此减少了开销和发送数据之前的时延。

  2. 尽最大努力交付。即不保证可靠交付,因此主机不需要维持复杂的连接状态表。

  3. 面向报文。UDP 对应用层交下来的报文,既不合并,也不拆分,而是保留这些报文的边界,一次交付一个完整的报文。

    应用程序必须选择合适大小的报文。

    • 若报文太长,UDP 把它交给 IP 层后,IP 层在传送时可能要进行分片(MTU),降低 IP 层的效率。
    • 若报文太短,UDP 把它交给 IP 层后,会使 IP 数据报的首部的相对长度太大,也降低 IP 层的效率。
  4. 没有拥塞控制。因此网络出现的拥塞不会使源主机的发送速率降低。这对某些实时应用是很重要的。 很适合多媒体通信的要求。

  5. 支持一对一、一对多、多对一和多对多的交互通信(半双工)。

  6. 首部开销小。只有 8 个字节,比 TCP 的 20 个字节的首部要短。

首部格式★

image-20221231114357398

源端口

源端口号在需要对方回信时选用。不需要时可用全0。

目的端口

目的端口号在终点交付报文时必须使用。

长度

UDP用户数据报的长度,其最小值是8(仅有首部)。

检验和
定义

检测UDP用户数据报在传输中是否有错,有错就丢弃。

举例

假定用户数据报的长度是15字节,因此要添加一个全0的字节。

image-20221231114643101

伪首部:仅用于计算检验和。在计算检验和时,临时把“伪首部”和 UDP 用户数据报连接在一起。

例题

5-49 下面是以十六进制格式存储的一个 UDP 首部:
CB84 000D 001C 001C
试问:
(1) 源端口号是什么?
12×163 +11×162 +8×16+4=52100
(2) 目的端口号是什么?
13
(3) 这个用户数据报的总长度是什么?
16+12=28Byte
(4) 数据长度是多少?
28-8=20Byte
(5)这个分组是从客户到服务器还是从服务器到客户?
客户到服务器,因为目的端口号是熟知端口
(6) 客户进程是什么?
从 RFC 867 可以得知,这个客户进程是 Daytime。当 Daytime 服务器收到客户发送的 UDP 用户数据报后,就把现在的日期和时间以 ASCII 码字符串的形式返回给客户。

传输控制协议 TCP (Transmission Control Protocol)

特点

  1. 面向连接

  2. 每一条 TCP 连接只能有两个端点 (endpoint),只能是点对点的(一对一)。

  3. 提供可靠交付的服务。通过TCP连接传送的数据,无差错、不丢失、不重复,并且按序到达。

  4. 提供全双工通信。TCP运行通信双方的应用进程在任何时候都能发送数据。

  5. 面向字节流。

    流(stream) :流入或流出进程的字节序列。

    面向字节流:虽然应用程序和 TCP 的交互是一次一个数据块,但 TCP 把应用程序交下来的数据看成仅仅是一连串无结构的字节流。TCP 不保证接收方应用程序所收到的数据块和发送方应用程序所发出的数据块具有对应大小的关系。 但接收方应用程序收到的字节流必须和发送方应用程序发出的字节流完全一样。

    image-20221231115811942

注意

  • TCP 连接是一条虚连接而不是一条真正的物理连接。
  • TCP 对应用进程一次把多长的报文发送到 TCP 的缓存中是不关心的。
  • TCP 根据对方给出的窗口值和当前网络拥塞的程度来决定一个报文段应包含多少个字节(UDP 发送的报文长度是应用进程给出的)。
  • TCP 可把太长的数据块划分短一些再传送,也可等待积累有足够多的字节后再构成报文段发送出去。
  • 同一个IP地址可以有多个不同的TCP连接,而同一个端口号也可以出现在多个不同的TCP连接中。

TCP 的连接

定义

TCP 把连接作为最基本的抽象。每一条 TCP 连接有两个端点。每一条TCP连接唯一地被通信两端的两个端点(即两个套接字)所确定,即:

TCP 连接 ::= { socket1 , socket2 } = {(IP1 : port1 ), (IP2 : port2 )}

套接字
定义

套接字 (socket) /插口:是TCP 连接的端点。端口号拼接到 (contatenated with) IP 地址即构成了套接字。

格式

套接字 socket = (IP地址 : 端口号)

可靠传输

TCP发送的报文段是交给IP层传送的。但IP层只能提供尽最大努力服务,也就是说,TCP下面的网络所提供的是不可靠的传输。因此,TCP必须采用适当的措施才能使得两个运输层之间的通信变得可靠。

停止等待协议★
定义

每发送完一个分组就停止发送,等待对方的确认。在收到确认后再发送下一个分组。

停止等待协议可以看作是连续ARQ协议发送窗口和接收窗口都为1的特殊情况,且只需要1比特给报文段编号即可

作用

使用确认和重传机制,可以在不可靠的传输网络上实现可靠的通信。

无差错情况

A 发送分组 M1,发完就暂停发送,等待 B 的确认 (ACK)。B 收到了 M1 向 A 发送 ACK。A 在收到了对 M1 的确认后,再发送下一个分组 M2。

image-20221231152331184

优缺点

优点是简单,缺点是信道利用率太低。

信道利用率

image-20221231154606148

U = T D T D + R T T + T A U=\dfrac{T_{D}}{T_{D}+RTT+T_{A}} U=TD+RTT+TATD

T D T_{D} TD :A发送分组所需要的时间, T D = 分组长度 数据率 T_{D}=\dfrac{分组长度}{数据率} TD=数据率分组长度

T A T_{A} TA :B发送确认分组所需要的时间

RTT:往返时间

出现差错★
  • 这两种情况下,B 都不会发送任何确认信息

    1. B 接收 M1 时检测出了差错,就丢弃 M1,其他什么也不做 (不通知 A 收到有差错的分组)。

    2. M1 在传输过程中丢失了,这时 B 当然什么都不知道,也什么都不做。

      image-20221231152751806

  • 解决方法为超时重传

    • A 为每一个已发送的分组都设置了一个超时计时器。
    • A 只要在超时计时器到期之前收到了相应的确认,就撤销该超时计时器,继续发送下一个分组 M2 。

下面两种情形都会出现延迟重复分组问题

确认丢失★

image-20221231153543635

  • 出现背景
    • 若 B 所发送的对 M1 的确认丢失了,那么 A 在设定的超时重传时间内不能收到确认,但 A 并无法知道:是自己发送的分组出错、丢失了,或者是 B 发送的确认丢失了。
  • A方措施
    • 在超时计时器到期后重传 M1。
  • B方措施
    1. 丢弃这个重复的分组 M1,不向上层交付
    2. 向 A 发送确认。不能认为已经发送过确认就不再发送, 因为 A 之所以重传 M1 就表示 A 没有收到对 M1 的确认(丢失了)。
确认迟到★

image-20221231153614546

  • 出现背景
    • 传输过程中没有出现差错,但 B 对分组 M1 的确认迟到了。
  • A方措施
    • 在超时计时器到期后重传 M1。
    • A 会收到重复的确认,收下后就丢弃。
  • B方措施
    1. 丢弃这个重复的分组 M1,不向上层交付
    2. 向 A 发送确认。不能认为已经发送过确认就不再发送, 因为 A 之所以重传 M1 就表示 A 没有收到对 M1 的确认(迟到了)。
注意
  1. 在发送完一个分组后,必须暂时保留已发送的分组的副本,以备重发。
  2. 分组和确认分组都必须进行编号
  3. 超时计时器的重传时间应当比数据在分组传输的平均往返时间更长一些。
流水线传输

image-20230206155014604

  • 为了提高传输效率,发送方可以不使用低效率的停止等待协议,而是采用流水线传输。如连续ARQ协议和滑动窗口协议。
  • 流水线传输就是发送方可连续发送多个分组,不必每发完一个分组就停顿下来等待对方的确认。这样可使信道上一直有数据不间断地在传送。
  • 这种传输方式可以获得很高的信道利用率。
例题

5-18 假定在运输层使用停止等待协议。发送方在发送报文段M0后在设定的时间内未收到确认,于是重传M0,但M0又迟迟不能到达接收方。不久,发送方收到了迟到的对M0的确认,于是发送下一个报文段M1,不久就收到了对M1的确认。接着发送方发送新的报文段M0,但这个新的M0在传送过程中丢失了。正巧,一开始就滞留在网络中的M0现在到达接收方。接收方无法分辨M0是旧的。于是收下M0,并发送确认。显然,接收方后来收到的M0是重复的,协议失败了。试画出类似于图5-9所示的双方交换报文段的过程。

image-20230102171844389

连续ARQ协议
定义

自动重传请求 ARQ (Automatic Repeat reQuest):重传的请求是自动进行的,接收方不需要请求发送方重传某个出错的分组。

滑动窗口
  • 发送方维持发送窗口
    • 可连续发送位于发送窗口内的分组,而不需要等待对方的确认。提高信道利用率。
    • 每收到一个确认, 就把发送窗口向前滑动一个分组的位置。
  • 接收方对分组采用累积确认
    • 不必对收到的分组逐个发送确认,而是对按序到达的最后一个分组发送确认。表示到这个分组为止的所有分组都已正确收到了。
Go-back-N
  • 出现背景
    • 发送方发送了前 5 个分组,而中间的第 3 个分组丢失了。这时接收方只能对前两个分组发出确认。发送方无法知道后面 3 个分组的下落,而只好把后面的3个分组都再重传一次。
  • 定义
    • Go-back-N(回退 N):表示需要再退回来重传已发送过的 N 个分组。
优点

容易实现,即使确认丢失也不必重传。

缺点
  • 不能向发送方反映出接收方已经正确收到的所有分组的信息。
  • 当通信线路质量不好时,连续 ARQ 协议由于需要Go-back-N会带来负面的影响。
以字节为单位的滑动窗口
发送窗口

在没有收到 B 的确认的情况下,A 可以连续把窗口内的数据都发送出去。

发送窗口里面的序号表示允许发送的序号。

步骤
  1. 根据接收方 B 给出的窗口值,发送方 A 构造出自己的发送窗口。

    假定A收到了B发来的确认报文段,其中(接收)窗口是20字节,而确认号是31(这表明B期望收到的下一个序号是31,而序号30为止的数据已经收到了)。根据这两个数据,A就构造出自己的发送窗口(不能超过接收窗口大小)。

    image-20230101174856815

    TCP 标准强烈不赞成发送窗口前沿向后收缩。因为很可能发送方在收到这个通知以前已经发送了窗口中的许多数据,现在又要收缩窗口,不让发送这些数据,这样就会产生一些错误。

  2. A发送数据

    假定A发送了序号为31~41共11 个字节的数据。

    image-20230101175636927

    P3-P1=A的发送窗口
    P2-P1=已发送但尚未收到确认的字节数
    P3-P2=允许发送但当前尚未发送的字节数(又称为可用窗口有效窗口)

  3. B接收数据并发送确认报文

    1. 数据未按序到达

      假定B收到了序号为32和33的数据,先存下。这些数据没有按序到达,因为序号为31的数据没有收到(也许丢失了,也许滞留在网络中的某处)。请注意,B只能对按序收到的数据中的最高序号给出确认,因此B发送的确认报文段中的确认号仍然是31(即期望收到的序号),而不能是32或33。

    2. 部分已发送数据按序到达

      假定B收到了序号为31的数据,并把序号为31~33的数据交付主机,然后B删除这些数据。接着把接收窗口向前移动3个序号(图5-17),同时给A发送确认,其中窗口值仍为20,但确认号是34。这表明B已经收到了到序号 33为止的数据。A收到B的确认后,就可以把发送窗口向前滑动3个序号,但指针P2不动。可以看出,现在A的可用窗口增大了,可发送的序号范围是42~53。

      image-20230101181050338

  4. A 的发送窗口内的序号都已用完, 但还没有再收到确认,必须停止发送。

    A在经过一段时间后(由超时计时器控制)重传这部分数据,重新设置超时计时器,直到收到B的确认为止。如果A收到确认号落在发送窗口内,那么A就可以使发送窗口继续向前滑动,并发送新的数据。

    image-20230101181826521

超时重传时间
  • 加权平均往返时间/平滑的(smooth)往返时间 RTTS

    • 第一次测量到 RTT 样本时,RTTS 值就取为所测量到的 RTT 样本值。以后每测量到一个新的 RTT 样本,就按下式重新计算一 次 RTTS

    • 新的RTTS = (1 − α) × (旧的RTTS ) + α × (新的RTT样本)

      0 ≤ α ≤ 1。若 α 很接近于零,表示 RTT 值更新较慢。若选择 α 接近于 1,则表示 RTT 值更新较快。

      RFC 2988 推荐的 α 值为 1/8,即 0.125。

  • RTT 的偏差的加权平均值 RTTD

    • 第一次测量时,RTTD 值取为测量到的 RTT 样本值的一半。在以后的测量中,则使用下式计算加权平均的 RTTD

    • 新的 RTTD = (1 − β) × (旧的RTTD ) + β × |RTTS − 新的 RTT 样本|

      β 是个小于 1 的系数,其推荐值是 1/4,即 0.25

  • 超时重传时间 RTO (Retransmission Time-Out) 应略大于上面得出的加权平均往返时间 RTTS

    • RTO = RTTS + 4 × RTTD
选择确认 SACK
定义

选择确认SACK (Selective ACK) :若收到的报文段无差错,只是未按序号,中间还缺少一些序号的数据,则可只传送缺少的数据而不重传已经正确到达接收方的数据

规定
  1. 要在 TCP 首部的选项中加上“允许 SACK”的选项

  2. 由于首部选项的长度最多只有 40 字节,而指明一个边界就要用掉 4 字节,因此在选项中最多只能指明 4 个字节块的边界信息。

    4个字节块共有8个边界,因而需要用32个字节来描述。另外还需要两个字节。一个字节用来指明是 SACK选项,另一个字节是指明这个选项要占用多少字节。如果要报告五个字节块的边界信息,那么至少需要42个字节。

流量控制

定义

流量控制 (flow control) :让发送方的发送速率不要太快,既要让接收方来得及接收(防止传入数据耗尽接收方资源),也不要使网络发生拥塞。

举例

image-20230101213347946

持续计时器

TCP 为每一个连接设有一个持续计时器 (persistence timer) 。只要 TCP 连接的一方收到对方的零窗口通知,就启动该持续计时器。

  • 若持续计时器设置的时间到期,就发送一个零窗口探测报文段(仅携带 1 字节的数据),而对方就在确认这个探测报文段时给出现在的窗口值。
    • 若窗口仍然是零,则收到这个报文段的一方就重新设置持续计时器。
    • 若窗口不是零,则死锁的僵局就可以打破了。

死锁:A 一直等待收到 B 发送的非零窗口的通知,而 B 也一直等待 A 发送的数据。

发送分组时机
  1. TCP 维持一个变量,它等于最大报文段长度 MSS。只要缓存中存放的数据达到 MSS 字节时,就组装成一个 TCP 报文段发送出去。
  2. 由发送方的应用进程指明要求发送报文段,即 TCP 支持的推送 (push) 操作。
  3. 发送方的一个计时器期限到了,这时就把当前已有的缓存数据装入报文段(但长度不能超过 MSS)发送出去。
发送确认报文时机
  1. 让接收方等待一段时间,使得接收缓存已有足够空间容纳一个最长的报文段,
  2. 等到接收缓存已有一半空闲的空间。

只要出现这两种情况之一,接收方就发出确认报文,并向发送方通知当前的窗口大小。

拥塞控制★

image-20230102094949664

拥塞 (congestion)

在某段时间,若对网络中某资源的需求超过了该资源所能提供的可用部分,网络的性能就要变坏。

原理

防止过多的数据注入到网络中,避免使网络中的路由器或链路过载。

原因

∑对资源需求 > 可用资源

反映
  1. 负载增加,吞吐量反而降低
  2. 由于缺少缓存空间而被丢弃的分组的百分数;
  3. 平均队列长度;
  4. 超时重传的分组数;
  5. 平均分组时延;
  6. 分组时延的标准差

上述这些指标的上升都标志着拥塞的增长。

与流量控制的联系
相同

需抑制发送端发送数据的速率

某些拥塞控制算法向发送端发送控制报文,并告诉发送端,网络已出现麻烦,必须放慢发送速率。

不同
指标流量控制拥塞控制
问题侧重点端到端全局性
作用控制点对点通信量防止过多数据注入网络中
问题产生原因发送端发送数据的速率过快,
接收端来不及接收。
不明确
拥塞控制算法★

此处的拥塞控制算法并未考虑流量控制,认为接收方和发送方的缓存是无限大的。

判断依据
  • 重传定时器超时
    • 现在通信线路的传输质量一般都很好,因传输出差错而丢弃分组的概率是很小的(远小于 1 %)。只要出现了超时,就可以猜想网络可能出现了拥塞。
  • 收到三个相同(重复)的 ACK
    • 个别报文段会在网络中丢失,预示可能会出现拥塞 (实际未发生拥塞),因此可以尽快采取控制措施, 避免拥塞。
慢开始 (slow-start)和拥塞避免 (congestion avoidance)

举例:

image-20230102100424227

规则:

  1. 当 TCP 连接进行初始化时,拥塞窗口cwnd=1。

    图中的窗口单位不使用字节而使用报文段。 慢开始门限的初始值设置为 16 个报文段,即 ssthresh = 16。

  2. 发送方每收到一个对新报文段的确认 ACK, 就把拥塞窗口值加 1 倍,然后开始下一轮的传输。拥塞窗口 cwnd 随着传输轮次按指数规律增长。

  3. 当拥塞窗口 cwnd 增长到慢开始门限值 ssthresh 时(图中的点①,此时拥塞窗口 cwnd = 16),就改为执行拥塞避免算法,拥塞窗口按线性规律增长。

  4. 当拥塞窗口 cwnd > 16 时,进入拥塞避免,拥塞窗口每一轮次只加1。

  5. 假设当拥塞窗口 cwnd = 24 时,网络出现了超时(图中的点②),发送方判断为网络拥塞。于是调整门限值 ssthresh = cwnd / 2 = 12,同时设置拥塞窗口 cwnd = 1,进入慢开始阶段。

缺点:

  • 慢开始:每次拥塞窗口都从1开始,下降速度太快,网络性能波动太大。
  • 拥塞避免:认为网络出现大面积超时重传时, 则网络网络拥塞,执行慢开始算法。但是,很多情况下,网络只出现一个小小的分组丢失, 就会引起“小题大做”的结果。
快重传 (fast retransmit)
  • 定义

    • 要求接收方不要等待自己发送数据时才进行捎带确认,而是要立即发送确认,即使收到了失序的报文段也要立即发出对已收到的报文段的重复确认。
    • 发送方只要一连收到三个重复确认,就知道接收方确实没有收到报文段,因而应当立即进行重传,这样就不会出现因少数几个分组超时,导致发送方误认为出现了网络拥塞。
  • 优点

    让发送方尽早知道发生了个别报文段的丢失,可以使整个网络的吞吐量提高约 20%。

  • 举例

    image-20230102102737251

快恢复 (fast recovery)
  • 定义

    • 当发送端收到连续三个重复的确认时,由于发送方现在认为网络很可能没有发生拥塞,因此现在不执行慢开始算法,而是执行快恢复算法 FR (Fast Recovery) 算法。
  • 规则

    1. 慢开始门限 ssthresh = 当前拥塞窗口 cwnd / 2 ;
    2. 新拥塞窗口 cwnd = 慢开始门限 ssthresh ;
    3. 开始执行拥塞避免算法,使拥塞窗口缓慢地线性增大。
  • 举例

    image-20230102100424227

    在图的点④,发送方知道现在只是丢失了个别的报文段。于是不启动慢开始,而是执行快恢复算法。 这时,发送方调整门限值 ssthresh = cwnd / 2 = 8, 同时设置拥塞窗口 cwnd = ssthresh = 8(见图中的点⑤),并开始执行拥塞避免算法。

TCP拥塞控制流程图

四个算法统一使用

image-20230102103651710

例题

5-39 TCP 的拥塞窗口 cwnd 大小与传输轮次 n 的关系如表所示:

n12345678910111213
cwnd1248163233343536373839
n14151617181920212223242526
cwnd4041422122232425261248

(1)试画出如教材中图 5-25 所示的拥塞窗口与传输轮次的关系曲线。

image-20230102172313557

(2)指明 TCP 工作在慢开始阶段的时间间隔。
[1, 6] 和 [23, 26]
(3)指明 TCP 工作在拥塞避免阶段的时间间隔。
[6, 16] 和 [17, 22]
(4)在第 16 轮次和第 22 轮次之后发送方是通过收到三个重复的确认还是通过超时检测到丢失了报文段?
在第 16 轮次之后发送方通过收到三个重复的确认,检测到丢失了报文段,因为题目给出,下一个轮次的拥塞窗口减半了。
在第 22 轮次之后发送方通过超时,检测到丢失了报文段,因为题目给出,下一个轮次的拥塞窗口下降到 1了。
(5)在第 1 轮次,第 18 轮次和第 24 轮次发送时,门限 ssthresh 分别被设置为多大?
在第 1 轮次发送时,门限 ssthresh 被设置为 32,因为从第 6 轮次起就进入了拥塞避免状态,拥塞窗口每个轮次加 1。
在第 18 轮次发送时,门限 ssthresh 被设置为发生拥塞时拥塞窗口 42 的一半,即 21。
在第 24 轮次发送时,门限 ssthresh 被设置为发生拥塞时拥塞窗口 26 的一半,即 13。
(6)在第几轮次发送出第 70 个报文段?
第 1 轮次发送报文段 1。(cwnd = 1)
第 2 轮次发送报文段 2, 3。(cwnd = 2)
第 3 轮次发送报文段 4 ~ 7。(cwnd = 4)
第 4 轮次发送报文段 8 ~ 15。(cwnd = 8)
第 5 轮次发送报文段 16 ~ 31。(cwnd = 16)
第 6 轮次发送报文段 32 ~ 63。(cwnd = 32)
第 7 轮次发送报文段 64 ~ 96。(cwnd = 33)
因此第 70 报文段在第 7 轮次发送出。
(7)假定在第 26 轮次之后收到了三个重复的确认,因而检测出了报文段的丢失,那么拥塞窗口 cwnd 和门限 ssthresh 应设置为多大?
检测出了报文段的丢失时拥塞窗口 cwnd 是 8,因此拥塞窗口 cwnd 的数值应当减半,等于 4,而门限 ssthresh 应设置为检测出报文段丢失时的拥塞窗口 8 的一半,即 4。

发送窗口的上限值

接收方窗口

接收方窗口rwnd/通知窗口(advertised window)

拥塞窗口

拥塞窗口cwnd

公式★

发送窗口的上限值 = Min [rwnd, cwnd]

  • 当 rwnd < cwnd 时,是接收方的接收能力限制发送窗口的最大值。
  • 当 cwnd < rwnd 时,则是网络的拥塞限制发送窗口的最大值。

rwnd 和 cwnd 中数值较小的一个,控制了发送方发送数据的速率。

首部格式★

  • TCP 虽然是面向字节流的,但 TCP 传送的数据单元却是报文段。
  • TCP 报文段首部的前 20 个字节是固定的,后面 有 4n 字节是根据需要而增加的选项 (n 是整数)。 因此 TCP 首部的最小长度是 20 字节。

image-20221231161044107

源端口和目的端口字段

各占 2 字节。端口是运输层与应用层的服务接口。运输层的复用和分用功能都要通过端口才能实现。

序号字段 seq

占 4 字节。TCP 连接中传送的数据流中的每一个字节都编上一个序号。序号字段的值则指的是本报文段所发送的数据的第一个字节的序号。

确认号字段 ack

占 4 字节,是期望收到对方的下一个报文段的数据的第一个字节的序号。

数据偏移(即首部长度)

占 4 位,它指出 TCP 报文段的数据起始处距离 TCP 报文段的起始处有多远。“数据偏移”的单位是 32 位字(以 4 字节为计算单位)。固定首部的数值为5。

保留字段

占 6 位,保留为今后使用,但目前应置为 0。

紧急 URG

当 URG = 1 时,表明紧急指针字段有效。它告诉系统此报文段中有紧急数据,应尽快传送(相当于高优先级的数据)。

确认 ACK

只有当 ACK = 1 时确认号字段才有效。当 ACK = 0 时,确认号无效。

推送 PSH (PuSH)

接收 TCP 收到 PSH = 1 的报文段,就尽快地交付接收应用进程,而不再等到整个缓存都填满了后再向上交付。

复位 RST (ReSeT)

当 RST = 1 时,表明 TCP 连接中出现 严重差错(如由于主机崩溃或其他原因),必须释放连接,然后再重新建立运输连接。

同步 SYN

同步 SYN = 1 表示这是一个连接请求或连接接受报文。

终止 FIN (FINish)

用来释放一个连接。FIN = 1 表明此报文段的发送端的数据已发送完毕,并要求释放运输连接。

窗口字段

占 2 字节,用来让对方设置发送窗口的大小依据,单位为字节。

检验和

占 2 字节。检验和字段检验的范围包括首部和数据这两部分。在计算检验和时,要在 TCP 报文段的前面加上 12 字节的伪首部。

紧急指针字段

占 16 位,指出在本报文段中紧急数据共有多少个字节(紧急数据放在本报文段数据的最前面)。

  1. TCP连接:TCP套接字(IP地址;端口号);TCP连接(套接字1,套接字2)
  2. TCP报文段的首部格式及其在具体问题中的理解
  3. “四报文挥手”释放连接的理解(注意发送报文段和确认报文段中 seq和 ack之间的关系)。

主动队列管理 AQM

背景
  • 对 TCP 拥塞控制影响最大的就是路由器的分组丢弃策略。
  • 路由器的队列通常都是按照“先进先出”FIFO (First In First Out) 的规则处理到来的分组。
  • 当队列已满时,以后再到达的所有分组(如果能够继续排队,这些分组都将排在队列的尾部) 将都被丢弃。这就叫做尾部丢弃策略 (tail-drop policy)。
定义

主动队列管理 AQM (Active Queue Management)。

主动:不要等到路由器的队列长度已经达到最大值时才不得不丢弃后面到达的分组。这样就太被动了。应当在队列长度达到某个值得警惕的数值时 (即当网络拥塞有了某些拥塞征兆时),就主动丢弃到达的分组。

实现方法

随机早期检测 RED (Random Early Detection)

连接管理★

计时器※

TCP共使用以下四种计时器,即重传计时器、持续计时器、保活计时器和时间等待计时器。这几个计时器的主要特点如下:
重传计时器:当TCP发送报文段时,就创建该特定报文段的重传计时器。可能发生两种情况:若在计时器截止时间到之前收到了对此特定报文段的确认,则撤销此计时器。若在收到了对此特定报文段的确认之前计时器截止期到,则重传此报文段,并将计时器复位。
持续计时器:为了对付零窗口大小通知,TCP需要另一个计时器。假定接收TCP宣布了窗口大小为零。发送TCP就停止传送报文段,直到接收TCP发送确认并宣布一个非零的窗口大小。但这个确认可能会丢失。我们知道在TCP中,对确认是不需要发送确认的。若确认丢失了,接收TCP并不知道,而是会认为它已经完成任务了,并等待着发送TCP接着会发送更多的报文段。但发送TCP由于没有收到确认,就等待对方发送确认来通知窗口的大小,双方的TCP都在永远地等待着对方。
要打开这种死锁,TCP为每一个连接使用一个持续计时器。当发送TcP收到一个窗口大小为零的确认时,就启动持续计时器。当持续计时器期限到时,发送TCP就发送一个特殊的报文段,叫做探测报文段。这个报文段只有一个字节的数据。它有一个序号,但它的序号永远不需要确认;甚至在计算对其他部分的数据的确认时该序号也被忽略。探测报文段提醒接收TCP:确认已丢失,必须重传。
持续计时器的值设置为重传时间的数值。但是,若没有收到从接收端来的响应,则需发送另一个探测报文段,并将持续计时器的值加倍和复位。发送端继续发送探测报文段,将持续计时器设定的值加倍和复位,直到这个值增大到门限值(通常是60秒)为止。在这以后,发送端每隔60秒就发送一个探测报文段,直到窗口重新打开。
保活计时器:保活计时器使用在某些实现中,用来防止在两个TCP之间的连接出现长时期的空闲。假定客户打开了到服务器的连接,传送了一些数据,然后就保持静默了。也许这个客户出故障了。在这种情况下,这个连接将永远地处理打开状态。
要解决这种问题,在大多数的实现中都是使服务器设置保活计时器。每当服务器收到客户的信息,就将计时器复位。超时通常设置为2小时。若服务器过了2小时还没有收到客户的信息,它就发送探测报文段。若发送了10个探测报文段(每一个相隔75秒)还没有响应,就假定客户出了故障,因而就终止该连接。
时间等待计时器:时间等待计时器是在连接终止期间使用的。当TCP关闭一个连接时,它并不认为这个连接马上就真正地关闭了,在时间等待期间中,连接还处于一种中间过渡状态。这就可以使重复的FIN报文段(如果有的话)可以到达目的站因而可将其丢弃,这个计时器的值通常设置为一个报文段的寿命期待值的两倍。

阶段
  1. 连接建立
  2. 数据传送
    1. 超时重传
    2. 流量控制
    3. 拥塞控制
  3. 连接释放
建立连接★
定义

TCP 建立连接的过程叫做握手。 握手需要在客户和服务器之间交换三个 TCP 报文段。称之为三报文握手(三次握手)。

状态

image-20230102162840006

步骤
  1. A 的 TCP 向 B 发出连接请求报文段,其首部中的同步位 SYN = 1,并选择序号 seq = x,表明传送数据时的第一个数据字节的序号是 x。①
  2. B 的 TCP 收到连接请求报文段后,如同意,则发回确认。B 在确认报文段中应使 SYN = 1,使 ACK = 1, 其确认号 ack = x + 1,自己选择的序号 seq = y。②
  3. A 收到此报文段后向 B 给出确认,其 ACK = 1, 确认号 ack = y + 1。③
  4. A 的 TCP 通知上层应用进程:TCP连接已经建立。
  5. B 的 TCP 收到主机 A 的确认后,也通知其上层应用进程:TCP 连接已经建立。
为什么是三次握手,而不是两次或四次?※
  1. 不是两次的原因:

    防止已失效的连接请求报文段被服务端接收,从而产生错误。

    若客户端向服务端发送的连接请求丢失,客户端等待应答超时后就会再次发送连接请求,此时,上一个连接请求就是『失效的』。由于只有两次握手,服务端收到请求就会进入ESTABLISHED状态,等待发送数据或主动发送数据。但此时的客户端早已进入CLOSED状态,服务端将会一直等待下去,这样浪费服务端连接资源。

  2. 不是四次或更多次的原因:

    三次通信是满足"在不可靠信道上可靠地传输信息"这一需求理论上的最小值,增加次数浪费资源。

连接释放★
定义

TCP 释放连接的过程叫做挥手。 握手需要在客户和服务器之间交换四个 TCP 报文段。称之为四报文挥手(四次挥手)。数据传输结束后,通信的双方都可释放连接。

状态

image-20230102163525390

步骤
  1. 假设现在 A 的应用进程先向其 TCP 发出连接释放报文段,并停止再发送数据,主动关闭 TCP 连接。

  2. A 把连接释放报文段首部的 FIN = 1,其序号 seq = u,等待 B 的确认。①

  3. B 发出确认,确认号 ack = u + 1, 而这个报文段自己的序号 seq = v。TCP 服务器进程通知高层应用进程。②

    至此,从 A 到 B 这个方向的连接就释放了,TCP 连接处于半关闭(half-close)状态。

  4. B 若发送数据,A 仍要接收。

  5. 若 B 已经没有要向 A 发送的数据, 其应用进程就通知 TCP 释放连接。在确认报文段中FIN = 1,ACK = 1,序号 seq = w ,确认号 ack = u + 1。③

  6. A 收到连接释放报文段后,必须发出确认。在确认报文段中 ACK = 1,确认号 ack = w + 1, 序号 seq = u + 1。④

  7. TCP 连接必须经过时间等待计时器(TIME-WAIT timer)设置的时间 2MSL 后才真正释放掉。

    时间MSL叫做最长报文段寿命(Maximum Segment Lifetime)

主动关闭连接方需要等待 2MSL才释放连接的原因★
  1. 保证A发送的最后一个ACK报文段能够到达 B。

    这个ACK报文段有可能丢失,因而使处在LAST-ACK状态的B收不到对已发送的FIN + ACK报文段的确认。B会超时重传这个FIN +ACK报文段,而A就能在2MSL时间内收到这个重传的FIN + ACK报文段。接着A重传一次确认,重新启动2MSL计时器。最后,A 和B都正常进入到CLOSED 状态。

    如果A在TIME-WAIT 状态不等待一段时间,而是在发送完ACK报文段后立即释放连接,那么就无法收到B重传的FIN + ACK报文段,因而也不会再发送一次确认报文段。这样,B就无法按照正常步骤进入CLOSED状态。

  2. 防止上一节提到的“已失效的连接请求报文段”出现在本连接中。

    A在发送完最后一个ACK 报文段后,再经过时间2MSL,就可以使本连接持续的时间内所产生的所有报文段都从网络中消失。这样就可以使下一个新的连接中不会出现这种旧的连接请求报文段。

为什么连接的时候是三次握手,关闭的时候却是四次握手?※
  • 建立连接时,服务端收到客户端的SYN连接请求报文后,可以直接发送SYN+ACK报文。
  • 关闭连接时,客户端向服务端发送 FIN 时,仅仅表示客户端不再发送数据了但是还能接收数据。
  • 服务器收到客户端的 FIN 报文时,先回一个 ACK 应答报文,而服务端可能还有数据需要处理和发送,等服务端不再发送数据时,才发送 FIN 报文给客户端来表示同意现在关闭连接。
TCP 挥手可以只需要三次吗?※

当服务器端收到客户端的FIN后,服务器端同时也要关闭连接,这样就可以把ACKFIN合并到一起发送,节省了一个包,变成了“三次挥手”。

TCP 的有限状态机
优点

可以更清晰地看出 TCP 连接各种状态之间的关系。

格式说明
  • 方框

    TCP 可能具有的状态

  • 方框中的大写英文字符串

    TCP 标准所使用的 TCP 连接状态名

  • 状态之间的箭头

    • 含义

      可能发生的状态变迁

    • 分类

      • 粗实线箭头

        表示对客户进程的正常变迁。

      • 粗虚线箭头

        表示对服务器进程的正常变迁。

      • 细线箭头

        表示异常变迁。

图示

image-20230102165726619

例题

5-41 用 TCP 传送 512 字节的数据。设窗口为 100 字节,而 TCP 报文段每次也是传送 100 字节的数据。再设发送端和接收端的起始序号分别选为 100 和 200,试画出类似于教材中图 5-28 的工作示意图。从连接建立阶段到连接释放都要画上。

img

要传送的 512 B 的数据必须划分为 6 个报文段传送,前 5 个报文段各 100 B,最后一个报文段传送 12 B。下图是双方交互的示意图。下面进行简单的解释。

【----- 进行三报文握手 -----】
报文段 #1:A 发起主动打开,发送 SYN 报文段,除以 SYN-SENT 状态,并选择初始序号 seq = 100。B 处于 LISTEN 状态。

报文段 #2:B 确认 A 的 SYN 报文段,因此 ack = 101(是 A 的初始序号加 1)。B选择初始序号 seq = 200。B 进入到 SYN-RCVD 状态。

报文段 #3:A 发送 ACk 报文段来确认报文段 #2,ack = 201(是 B 的初始序号加 1)。A 没有在这个报文段中放入数据。因为 SYN 报文段 #1 消耗了一个序号,因此报文段 #3 的序号是 seq = 101。这样,A 和 B 都进入了 ESTABLISHED 状态。
【----- 三报文握手完成 -----】

【----- 开始数据传送 -----】
报文段 #4:A 发送 100 字节的数据。报文段 #3 是确认报文段,没有数据发送,报文段 #3 并不消耗序号,因此报文段 #4 的序号仍然是 seq = 101。A 在发送数据的同时,还确认 B 的报文段 #2,因此 ack = 201。

报文段 #5:B 确认 A 的报文段 #4。由于收到了从序号 101 到 200 共 100 字节的数据,因此在报文段 #5 中,ack = 201(所期望收到的下一个数据字节的序号)。B 发送的 SYN 报文段 #2 消耗了一个序号,因此报文段 #5 的序号是 seq = 201,比报文段 #2 的序号多了一个序号。在这个报文段中,B 给出了接收窗口 rwnd = 100。

从报文段 #6 到报文段 # 13 都不需要更多的解释。到此为止,A 已经发送了 500 字节 的数据。

报文段 #14:A 发送最后 12 字节的数据,报文段 #14 的序号是 seq = 601。

报文段 #15:B 发送对报文段 #14 的确认。B 收到从序号 601 到 602 共 12 字节的数据。因此,报文段 #15 的确认号是 ack = 613(所期望收到的下一个数据字节的序号)。

从报文段 #5 一直到报文段 #15,B 一共发送了 6 个确认,都不消耗序号,因此 B 发送的确认报文段 #15 的序号仍然和报文段 #5 的序号一样,即 seq = 201。

【-----数据传送完毕-----】

【-----进行四报文挥手------】
报文段 #16:A 发送 FIN 报文段。前面所发送的数据报文段 #14 已经用掉了序号 601 到 612,因此报文段 #16 序号是 seq = 613。A 进入 FIN-WAIT-1 状态。报文段 #16 的确认号 ack = 202。

报文段 #17:B发送确认报文段,确认号为 614,进入 CLOSE-WAIT 状态。由于确认报文段不消耗序号,因此报文段 #17 的序号仍然和报文段 #15 的一样,即 seq = 201

报文段 #18:B 没有数据要发送,就发送 FIN 报文段 #18,其序号仍然是 seq = 201。这个 FIN 报文会消耗一个报文。

报文段 #19:A 发送最后的确认报文段。报文段 #16 的序号是 613,已经消耗掉了。因此,现在的序号是 seq = 614。但这个确认报文段并不消耗序号。
【-----四报文挥手结束-----】

第六章 应用层

功能

利用应用层协议提供网络与用户应用软件之间的接口服务。通过应用进程间的交互来完成特定网络应用。

协议

应用层协议(application layer protocol):精确定义应用进程之间的通信规则。

数据单位

报文(message)。

报文包含了将要发送的完整的数据信息,其长短不需一致。报文在传输过程中会不断地封装成分组、包、帧来传输,封装的方式就是添加一些控制信息组成的首部/报文头。

DNS★

功能

域名系统 DNS (Domain Name System)用于实现域名到IP地址的解析。

  • 名字到 IP 地址的解析是由若干个域名服务器程序完成的。
  • 域名服务器程序在专设的结点上运行,运行该程序的机器称为域名服务器。
  • 基于UDP

域名

定义

任何一个连接在互联网上的主机或路由器,都有一个唯一的层次结构的名字,即域名。

互联网的域名结构

定义
  • 域名采用了层次树状结构的命名方法。

  • 域名的结构由标号序列组成,各标号之间用点隔开:

    … . 三级域名 . 二级域名 . 顶级域名

  • 各标号分别代表不同级别的。

举例

image-20230102184104080

顶级域名 TLD (Top Level Domain)分类

国家顶级域名 nTLD

如 .cn 表示中国, .us 表示美国, .uk 表示英国,等等。

通用顶级域名 gTLD

如 .com(公司和企业) .net (网络服务机构 .org (非赢利性组织) .edu (美国专用的教育机构) .gov (美国专用的政府部门) .mil (美国专用的军事部门) .int (国际组织)

基础结构域名 (infrastructure domain)

这种顶级域名只有一个,即 arpa,用于反向域名解析,因此又称为反向域名。

域名服务器

区 (zone)

定义

一个域名服务器所负责管辖的(或有权限的)范围

规则
  • 各单位根据具体情况来划分自己管辖范围的区。 但在一个区中的所有节点必须是能够连通的。
  • 每一个区设置相应的权限域名服务器(authoritative name server),用来保存该区中的所有主机的域名到 IP 地址的映射。
  • DNS 服务器的管辖范围不是以“域”为单位, 而是以“区”为单位。
举例
区的不同划分方法

假定abc公司有下属部门x和y,部门x下面又分三个分部门u,v和 w,而 y下面还有其下属部门t。
图(a)表示 abc公司只设一个区abc.com。这时,区 abc.com和域 abc.com指的是同一件事。
图(b)表示 abc公司划分了两个区(大的公司可能要划分多个区):abc.com和 y.abc.com。这两个区都隶属于域abc.com,都各设置了相应的权限域名服务器。不难看出,区是“域”的子集。

image-20230102185309866

树状结构的DNS域名服务器

以上图(b)中公司abc划分的两个区为例,给出了DNS域名服务器树状结构图。
这种 DNS域名服务器树状结构图可以更准确地反映出 DNS的分布式结构。
图中的每一个域名服务器都能够进行部分域名到P地址的解析。
当某个 DNS服务器不能进行域名到IP地址的转换时,它就设法找互联网上别的域名服务器进行解析。

image-20230102185500930

分类

根域名服务器
定义
  • 根域名服务器是最高层次的域名服务器,也是最重要的域名服务器。
  • 所有的根域名服务器都知道所有的顶级域名服务器的域名和 IP 地址。
功能
  • 根域名服务器并不直接把域名直接转换成 IP 地址。
  • 根域名服务器把下一步应当找的顶级域名服务器的 IP 地址告诉本地域名服务器。
顶级域名服务器
定义

顶级域名服务器(即 TLD 服务器)负责管理在该顶级域名服务器注册的所有二级域名。

功能

当收到 DNS 查询请求时,就给出相应的回答(可能是最后的结果,也可能是下一步应当找 的域名服务器的 IP 地址)。

权限域名服务器
定义

负责一个区的域名服务器

功能

当一个权限域名服务器还不能给出最后的查询回答时,就会告诉发出查询请求的 DNS 客户, 下一步应当找哪一个权限域名服务器。

本地域名服务器
定义

每一个互联网服务提供者ISP,或一个大学,甚至一个大学里的系,都可以拥有一个本地域名服务器,这种域名服务器有时也称为默认域名服务器。

功能

当一个主机发出 DNS 查询请求时,这个查询请求报文首先发送给本地域名服务器

域名的解析过程

主机配置的DNS是根域名服务器的IP地址

递归查询

image-20230103101419348

如果主机所询问的本地域名服务器不知道被查询域名 的 IP 地址,那么本地域名服务器就以 DNS 客户的身份,向其他根域名服务器继续发出查询请求报文。

迭代查询

image-20230103101436923

当根域名服务器收到本地域名服务器的迭代查询请求报文时,要么给出所要查询的 IP 地址,要么告诉本地域名服务器:“你下一步应当向哪一个域名服务器进行查询”。然后让本地域名服务器进行后续的查询

FTP★

定义

文件传送协议 FTP (File Transfer Protocol) 是互联网上使用得最广泛的文件传送协议。基于TCP

功能

  • FTP 提供交互式的访问,允许客户指明文件的类型与格式,并允许文件具有存取权限。
  • FTP 屏蔽了各计算机系统的细节,减少或消除在不同操作系统下处理文件的不兼容性,因而适合于在异构网络中任意计算机之间传送文件。
  • FTP 只提供文件传送的一些基本的服务,它使用 TCP 可靠的运输服务。

基本工作原理

image-20230103103203923

  • FTP 使用客户服务器方式。一个 FTP 服务器进程可同时为多个客户进程提供服务。FTP 的服务器进程由两大部分组成:一个主进程,负责接受新的请求(21号端口);另外有若干个从属进程,负责处理单个请求。
  • 在进行文件传输时,FTP的客户和服务器之间要建立两个并行的TCP连接:“控制连接”和“数据连接”。
    • 控制连接在整个会话期间一直保持打开,FTP客户所发出的文件传送请求,通过控制连接发送给服务器端的控制进程,由其创建“数据传送进程”和“数据连接”,用来连接客户端和服务器端的数据传送进程。(服务器端21号端口)
    • 数据传送进程实际完成文件的传送,在传送完毕后关闭“数据传送连接”并结束运行。(服务器端20号端口)
    • 由于FTP使用了一个分离的控制连接,因此FTP的控制信息是**带外(out of band)**传送的。

主进程的工作步骤

  1. 打开熟知端口(端口号为 21),使客户进程能够连接上。
  2. 等待客户进程发出连接请求。
  3. 启动从属进程来处理客户进程发来的请求。从属进程对客户进程的请求处理完毕后即终止, 但从属进程在运行期间根据需要还可能创建其他一些子进程。
  4. 回到等待状态,继续接受其他客户进程发来的请求。主进程与从属进程的处理是并发地进行。

使用两个不同端口号的好处的优点

  1. 使协议更加简单和更容易实现。
  2. 在传输文件时还可以利用控制连接(例如,客户发送请求终止传输)。
  3. 数据连接与控制连接不会发生混乱。

TFTP★

定义

TFTP (Trivial File Transfer Protocol) 是一个很小且易于实现的文件传送协议。服务器端熟知端口号69。

  • TFTP 使用客户服务器方式和使用 UDP 数据报, 因此 TFTP 需要有自己的差错改正措施。
  • TFTP 只支持文件传输而不支持交互。
  • TFTP 没有一个庞大的命令集,没有列目录的功能,也不能对用户进行身份鉴别

特点

  1. 每次传送的数据 PDU 中有 512 字节的数据, 但最后一次可不足 512 字节。
  2. 数据 PDU 也称为文件块 (block),每个块按序编号,从 1 开始。
  3. 支持 ASCII 码或二进制传送。
  4. 可对文件进行读或写。
  5. 使用很简单的首部。

可靠机制

  • 发送完一个文件块后就等待对方的确认,确认时应指明所确认的块编号。
  • 发完数据后在规定时间内收不到确认就要重发 数据 PDU。
  • 发送确认 PDU 的一方若在规定时间内收不到下 一 个文件块,也要重发确认 PDU。这样就可保证文件的传送不致因某一个数据报的丢失而告失败。

TFTP 的工作很像停止等待协议

TELNET

定义

远程终端协议/终端仿真协议 TELNET 是一个简单的远程终端协议,也是互联网的正式标准。

功能

  • 用户用 TELNET 就可在其所在地通过 TCP 连接注册(即登录)到远地的另一个主机上(使用主机名或 IP 地址)。

  • TELNET 能将用户的击键传到远地主机,同时也能将远地主机的输出通过 TCP 连接返回到用户屏幕。这种服务是透明的,因为用户感觉到好像键盘和显示器是直接连在远地主机上。

    因此TELNET又称为终端仿真协议。

网络虚拟终端 NVT 格式

目的

适应计算机和操作系统的差异

流程

  • 客户软件发送数据时
    • 把用户的击键和命令转换成 NVT 格式,并送交服务器。
    • 服务器软件把收到的数据和命令,从 NVT 格式转换成远地系统所需的格式。
  • 向用户返回数据时
    • 服务器把远地系统的格式转换为 NVT 格式
    • 本地客户软件再从 NVT 格式转换到本地系统所需的格式。

万维网www

定义

万维网 WWW (World Wide Web) 简称web,是一个大规模的、联机式的信息储藏所。是分布式超媒体 (hypermedia) 系统,它是超文本 (hypertext) 系统的扩充。

功能

万维网用链接的方法能非常方便地从互联网上的一个站点访问另一个站点,从而主动地按需获取丰富的信息。提供分布式服务。

要解决的四个问题

  1. 怎样标志分布在整个互联网上的万维网文档?-URL
  2. 用什么协议实现万维网上的各种链接?-HTTP
  3. 怎样使不同作者创作的不同风格的万维网文档,都能在互联网上的各种主机上显示出来,同时使用户清楚地知道在什么地方存在着链接?-HTML
  4. 怎样使用户能够很方便地找到所需的信息?-搜索引擎

URL

定义

统一资源定位符 URL (Uniform Resource Locator) :标志万维网上的各种文档,使每一个文档在整个互联网的范围内具有唯一的标识符 URL。

格式

由以冒号隔开的两大部分组成,并且在 URL 中的字符对大写或小写没有要求。

<协议>://<主机>:<端口>/<路径>

  • <协议>:指出使用什么协议来获取该万维网文档。现在最常用的协议就是http(超文本传送协议HTTP),其次是 ftp(文件传送协议FTP)。
  • “😕/”:规定的格式。
  • <主机>:指出这个万维网文档是在哪一台主机上。这里的<主机>就是指该主机在互联网上的域名。
  • <端口>和<路径>:有时可省略。

HTTP★

定义

超文本传送协议 HTTP (HyperText Transfer Protocol):在万维网客户程序与万维网服务器程序之间进行请求和响应的交互所使用的协议。它使用 TCP 连接进行可靠的传送。

从层次的角度看,HTTP 是面向事务的 (transaction-oriented) 应用层协议,它是万维网上能够可靠地交换文件(包括文本、声音、 图像等各种多媒体文件)的重要基础。

工作过程

  1. 每个万维网网点都有一个服务器进程,它不断地监听 TCP 的端口(HTTP默认端口号是 80),以便发现是否有浏览器向它发出连接建立请求。
  2. 一旦监听到连接建立请求并建立了 TCP 连接之后,浏览器就向万维网服务器发出浏览某个页面的请求,服务器接着就返回所请求的页面作为响应。
  3. 释放 TCP 连接。

主要特点

  1. HTTP 使用了面向连接的 TCP 作为运输层协议, 保证了数据的可靠传输。
  2. HTTP 协议本身也是无连接的,虽然它使用了面向连接的 TCP 向上提供的服务。
  3. HTTP 是面向事务的客户服务器协议。
  4. HTTP 1.0 协议是无状态的 (stateless)。

报文结构

组成
开始行

用于区分是请求报文还是响应报文。
在请求报文中的开始行叫做请求行(Request-Line);
在响应报文中的开始行叫做状态行(Status-Line)。
在开始行的三个字段之间都以空格分隔开,最后的“CR”和“LF”分别代表“回车”和“换行”。

首部行

用来说明浏览器、服务器或报文主体的一些信息。首部可以有好几行,但也可以不使用。在每一个首部行中都有首部字段名和它的值,每一行在结束的地方都要有“回车”和“换行”。整个首部行结束时,还有一空行将首部行和后面的实体主体分开。

实体主体(entity body)

在请求报文中一般都不用这个字段,而在响应报文中也可能没有这个字段。

请求报文
格式

image-20230103114746841

方法
  • 定义

    对所请求的对象进行的操作,决定请求报文的类型

  • 类型

    方法(操作)意义
    OPTION请求一些选项的信息
    GET请求读取由URL所标志的信息
    HEAD请求读取由URL所标志的信息的首部
    POST给服务器添加信息(例如,注释)
    PUT在指明的URL下存储一个文档
    DELETE删除指明的URL所标志的资源
    TRACE用来进行环回测试的请求报文
    CONNECT用于代理服务器
url

所请求的资源的 URL

版本

HTTP 的版本。

举例

GET /dir/index.htm HTTP/1.1 {请求行使用了相对URL}
Host : www.xyz.edu.cn {此行是首部行的开始。这行给出主机的域名}
connection: close {告诉服务器发送完请求的文档后就可释放连接}
User-Agent: Mozilla/5.0 {表明用户代理是使用火狐浏览器Firefox}
Accept-Language: cn {表示用户希望优先得到中文版本的文档}
{请求报文的最后还有一个空行}

响应报文
格式

image-20230103120152121

状态码

状态码(Status-Code)都是三位数字的,分为5大类。这5大类的状态码都是以不同的数字开头的。

状态码含义举例
1xx通知信息请求收到了或正在进行处理
2xx成功接受或知道了
3xx重定向要完成请求还必须采取进一步的行动
4xx客户的差错请求中有错误的语法或不能完成
5xx服务器的差错服务器失效无法完成请求
短语

解释状态码的简单短语

举例

HTTP/1.1 301 Moved Permanently {永久性地转移了}
Location: http://www.xyz.edu/ee/index.html {新的URL}
{响应报文的最后还有一个空行}

HTML

定义

超文本标记语言 HTML (HyperText Markup Language) :使万维网页面的设计者可以很方便地用一个超链从本页面的某处链接到互联网上的任何一个万维网页面,并且能够在自己的计算机屏幕上将这些页面显示出来。

  • HTML定义了许多用于排版的命令(即标签)
  • HTML把各种标签嵌入到万维网的页面中。这样就构成了所谓的HTML文档。
  • HTML文档是一种可以用任何文本编辑器创建的 ASCII码文件。
  • 仅当HTML文档是以.html或.htm为后缀时,浏览器才对此文档的各种标签进行解释
  • 当浏览器从服务器读取HTML文档后,就按照HTML文档中的各种标签,根据浏览器所使用的显示器尺寸和分辨率大小,重新进行排版并恢复出所读取的页面

分类

  1. 静态万维网文档(static document)
  2. 动态万维网文档(dynamic document)
  3. 活动万维网文档(active document)

搜索引擎

定义

在万维网中用来进行搜索的工具。

分类

  1. 全文检索搜索
  2. 分类目录搜索

EMAIL

定义

电子邮件/电子信箱(e-mail)是互联网上使用最多的和最受用户欢迎的一种应用。电子邮件把邮件发送到收件人使用的邮件服务器,并放在其中的收件人邮箱(mail box)中,收件人可在自己方便时上网到自己使用的邮件服务器进行读取。

发送和接收电子邮件的步骤

  1. 发件人调用 PC 中的用户代理撰写和编辑要发送的邮件。

  2. 发件人的用户代理把邮件用 SMTP 协议发给发送方邮件服务器。

  3. SMTP 服务器把邮件临时存放在邮件缓存队列中,等待发送。

  4. 发送方邮件服务器的 SMTP 客户与接收方邮件服务器的 SMTP 服务器建立 TCP 连接,然后就把邮件缓存队列中的邮件依次发送出去。

  5. 运行在接收方邮件服务器中的SMTP服务器进程收到邮件后,把邮件放入收件人的用户邮箱中,等待收件人进行读取。

  6. 收件人在打算收信时,就运行 PC 机中的用户代理,使用 POP3(或 IMAP)协议读取发送给自己的邮件。

    POP3 服务器和 POP3 客户之间的通信是由 POP3 客户发起的。

组成

image-20230103162609710

用户代理

定义

用户代理UA (User Agent)/电子邮件客户端软件:用户与电子邮件系统的接口,在大多数情况下它就是运行在用户电脑中的一个程序。用户代理向用户提供一个很友好的接口(目前主要是窗口界面)来发送和接收邮件。

功能

撰写、显示、处理和通信

邮件服务器

功能

发送和接收邮件,同时还要向发信人报告邮件传送的情况(已交付、被拒绝、丢失等)。

工作方式

邮件服务器按照客户−服务器方式工作。邮件服务器需要使用发送和读取两个不同的协议。

邮件发送协议★

SMTP
定义

SMTP(Simple Mail Transfer Protocol) :规定了在两个相互通信的SMTP进程之间应如何交换信息。由于SMTP使用客户服务器方式,因此负责发送邮件的 SMTP进程就是 SMTP客户,而负责接收邮件的SMTP进程就是SMTP服务器。服务器端熟知端口号25。基于 TCP

阶段
  1. 连接建立:连接是在发送主机的 SMTP 客户和接收主机的 SMTP 服务器之间建立的。SMTP 不使用中间的邮件服务器。
  2. 邮件传送
  3. 连接释放:邮件发送完毕后,SMTP 应释放 TCP 连接。

邮件读取协议★

POP3
定义

邮局协议 POP 是一个非常简单、但功能有限的邮件读取协议,现在使用的是它的第三个版本 POP3。服务器端熟知端口号110。基于 TCP

工作方式

POP 也使用客户–服务器的工作方式。在接收邮件的用户 PC 机中必须运行 POP 客户程序,而在用户所连接的 ISP 的邮件服务器中则运行 POP 服务器程序。

IMAP

目前较新版本为IMAP4。服务器端熟知端口号143。

MIME

背景

SMTP只能传送可打印的7位ASCII 码邮件

定义

互联网邮件扩充MIME (Multipurpose Internet Mail Extensions)在其邮件首部中说明了邮件的数据类型(如文本、声音、图像、视像等)。在 MIME邮件中可同时传送多种类型的数据。这在多媒体通信的环境下是非常有用的。

和 SMTP 的关系

image-20230103172508141

DHCP

定义

动态主机配置协议 DHCP (Dynamic Host Configuration Protocol) 提供了即插即用连网 (plug-and-play networking) 的机制。这种机制允许一台计算机加入新的网络和获取 IP 地址而不用手工参与。基于 UDP

流程

image-20230103174336924

  1. DHCP 服务器被动打开 UDP 端口 67, 等待客户端发来的报文。①

  2. 需要 IP 地址的主机在启动时就从 UDP 端口 68 向 DHCP 服务器广播发送发现报文(DHCPDISCOVER),这时该主机就成为 DHCP 客户。②

    发现报文源IP地址全0,目的IP地址全1

  3. 本地网络上所有主机都能收到此广播报文,但只有 DHCP 服务器才回答此广播报文。凡收到 DHCP 发现报文的 DHCP 服务器都发出 DHCP 提供报文,因此 DHCP 客户可能收到多个 DHCP 提供报文。③

  4. DHCP 服务器先在其数据库中查找该计算机的配置信息。

    1. 若找到,则返回找到的信息。
    2. 若找不到,则从服务器的 IP 地址池 (address pool) 中取一个地址分配给该计算机。DHCP 服务器的回答报文叫做提供报文(DHCPOFFER)
  5. DHCP 客户从几个 DHCP 服务器中选择其中的一个,并向所选择的 DHCP 服务器发送 DHCP 请求报文(DHCPREQUEST)。④

  6. 被选择的 DHCP 服务器发送确认报文(DHCPACK),进入已绑定状态。DHCP 客户可开始使用得到的临时 IP 地址了。⑤

  7. DHCP 客户现在要根据服务器提供的租用期 T 设置两个计时器 T1 和T2,它们的超时时间分别是 0.5T 和 0.875T。 当超时时间到就要请求更新租用期。

  8. 租用期过了一半(T1 时间到),DHCP 发送请求报文 DHCPREQUEST要求更新租用期。⑥

  9. DHCP服务器

    1. 若同意,则发回确认报文 DHCPACK。DHCP 客户得到了新的租用期,重新设置计时器。⑦
    2. 若不同意,则发回否认报文 DHCPNACK。这时 DHCP 客户必须立即停止使用原来的 IP 地址,而必须重新申请 IP 地址(回到步骤 ②)。⑧
    3. 若不响应步骤 ⑥ 的请求报文 DHCPREQUEST,则在租用期过了 87.5%(T2) 时,DHCP 客户必须重新发送请求报文 DHCPREQUEST(重复步骤 ⑥),然后又继续后面的步骤。
  10. DHCP 客户可随时提前终止服务器所提供的租用期,这时只需向 DHCP 服务器发送释放报文 DHCPRELEASE即可。⑨

SNMP

网络管理

定义

网络管理包括对硬件、软件和人力的使用、综合与协调,以便对网络资源进行监视、测试、 配置、分析、评价和控制,这样就能以合理的价格满足网络的一些需求,如实时运行性能, 服务质量等。网络管理常简称为网管。

组成

  1. 管理者 (manager)/管理器

    1. 管理站(硬件)也常称为网络运行中心 NOC(Network Operations Center),是网络管理系统的核心。
    2. 管理程序(软件)在运行时就成为管理进程
  2. 网络管理员 (administrator) 指的是人。

    大型网络往往实行多级管理,因而有多个管理者,而一个管理者一般只管理本地网络的设备。

  3. 被管设备/网络元素/网元

    1. 网络的每一个被管设备中可能有多个被管对象 (Managed Object)

    2. 在被管设备中也会有一些不能被管的对象。

    3. 代理 (agent)

      • 在每一个被管设备中都要运行一个程序以便和管理站中的管理程序进行通信。这些运行着的程序叫做网络管理代理程序,或简称为代理

      • 代理程序在管理程序的命令和控制下在被管设备上采取本地的行动。

  4. 网络管理协议,简称为网管协议

    是管理程序和代理程序之间进行通信的规则。

网络管理员利用网管协议通过管理站对网络中的被管设备进行管理。

工作方式

SNMP中的管理程序和代理程序按客户服务器方式工作。管理程序运行SNMP客户程序,而代理程序运行SNMP服务器程序。

流程

管理程序运行 SNMP 客户程序,向某个代理程序发出请求(或命令),代理程序运行 SNMP 服务器程序,返回响应(或执行某个动作)。

组成

SNMP 本身

简单网络管理协议SNMP(Simple Network Management Protocol)定义了管理站和代理之间所交换的分组格式。所交换的分组包含各代理中的对象(变量)名及其状态(值)。SNMP 负责读取和改变这些数值。

管理信息结构 SMI (Structure of Management Information)

作用
  1. 定义了命名被管对象的规则
  2. 定义了被管对象数据类型(包括范围和长度)的通用规则
  3. 定义了在网络上传送的管理数据编码的规则。从而确保网络管理数据的语法和语义的无二义性。

管理信息库 MIB (Management Information Base)

定义

管理信息库 MIB (Management Information Base):被管对象必须维持的可供管理程序读写的若干控制和状态信息。

作用

MIB在被管理的实体中创建了命名对象,并规定了其类型。管理程序使用 MIB 中这些信息的值对网络进行管理(如读取或重新设置这些值)。

网络编程

背景

有一些特定的应用需要互联网的支持进行通信,但这些应用又不能直接使用已经标准化的互联网应用协议,那么我们应当做哪些工作?

系统调用

定义

大多数操作系统使用系统调用 (system call) 的机制在应用程序和操作系统之间传递控制权。

对程序员来说,每一个系统调用和一般程序设计中的函数调用非常相似,只是系统调用是将控制权传递给了操作系统。

多个应用进程使用系统调用的机制

image-20230103184629744

步骤

  1. 当某个应用进程启动系统调用时,控制权就从应用进程传递给了系统调用接口。
  2. 此接口再把控制权传递给计算机的操作系统。操作系统把这个调用转给某个内部过程,并执行所请求的操作。
  3. 内部过程一旦执行完毕,控制权就又通过系统调用接口返回给应用进程。

系统调用接口实际上就是应用进程的控制权和操作系统的控制权进行转换的一个接口。

实现举例

下面以使用TCP的服务为例介绍几种常用的系统调用

系统调用使用顺序的例子★

image-20230103191045006

连接建立阶段
服务器端
  1. 创建套接字,此时它的端口号和 IP 地址都是空的

  2. 调用 bind(绑定)把本地地址绑定到套接字:把熟知端口号和本地 IP 地址填写到已创建的套接字中。

  3. 调用 listen(收听):把套接字设置为被动方式,以便随时接受客户的服务请求。

    UDP 服务器由于只提供无连接服务,不使用 listen 系统调用。

  4. 调用 accept(接受):把远地客户进程发来的连接请求提取出来。

    系统调用 accept 的一个变量就是要指明从哪一个套接字发起的连接。

客户端
  1. 调用socket创建了套接字
  2. 客户端调用bind
    1. 调用:进程使用指定的端口号。
    2. 不调用:由操作系统内核自动分配一个动态端口号(通信结束后由系统收回)。
  3. 客户进程调用connect,以便和远地服务器建立连接(这就是主动打开,相当于客户发出的连接请求)。在 connect系统调用中,客户必须指明远地端点(即远地服务器的IP地址和端口号)。
传送阶段
  • 客户和服务器都在 TCP 连接上使用 send 系统调用传送数据。
    • 客户使用 send 发送请求
    • 服务器使用 send 发送回答。
  • 服务器使用 recv 接收客户用 send 调用发送的请求。
  • 客户在发完请求后用 recv 接收回答。
连接释放阶段

一旦客户或服务器结束使用套接字,就把套接字撤消。这时就调用 close 释放连接和撤销套接字。

API

定义

应用编程接口API (Application Programming Interface):是应用进程的控制权和操作系统的控制权进行转换的一个接口。

由于应用程序在使用系统调用之前要编写一些程序,特别是需要设置系统调用中的许多参数,因此系统调用接口又称为API

功能

API 从程序设计的角度定义了许多标准的系统调用函数。应用进程只要使用标准的系统调用函数就可得到操作系统的服务。

实现

套接字接口

Berkeley UNIX操作系统定义了一种API,称为套接字接口。

Windows Socket

微软公司在其操作系统中采用了套接字接口 API,称之为 WinSock(Windows Socket)。

TLI

AT&T 为其 UNIX 系统 V 定义了一种 API,简写为 TLI (Transport Layer Interface)。

应用进程通过套接字接入到网络

在讨论网络编程时常常把套接字作为应用进程和运输层协议之间的接口。图中假定了运输层使用TCP协议(若使用UDP协议,情况也是类似的,只是UDP是无连接的。通信的两端仍然可用两个套接字来标志)。现在套接字已成为计算机操作系统内核的一部分。

image-20230103185936462

P2P

原理

在 P2P 工作方式下,所有的音频/视频文件都是在普通的互联网用户之间传输。相当于有很多分散在各地的媒体服务器向其他用户提供所要下载的音频/视频文件。

优点

  1. P2P方式的最突出特性之一就是它的可扩展性。因为系统每增加一个对等方,不仅增加的是服务的请求者,同时也增加了服务的提供者,系统性能不会因规模的增大而降低。
  2. 当对等方的数量很大时,采用P2P方式下载大文件,要比传统的客户-服务器方式快得多。
  3. P2P文件分发方式解决了集中式媒体服务器可能出现的瓶颈问题。
  4. P2P方式具有成本上的优势,因为它通常不需要庞大的服务器设施和服务器带宽。

开放题

网络强国

建设网络强国,作为大学生应该怎么做?

  1. 要勇于进行核心技术创新。
  2. 抓住网络创业就业机遇。
  3. 积极弘扬向上向善正能量。
  4. 树立网络诚信理念,养成文明上网好习惯。
  5. 坚持不懈地弘扬社会主义核心价值观

网络强国战略重要性

  1. 网络强国思想是对人类历史发展机遇的准确把握
  2. 在新的历史阶段只有掌握先进的信息技术、网络技术、数字技术,才能抢占经济社会和科技发展先机。
  3. 网络强国对建设中国特色社会主义新时代具有重要意义
  4. 网络强国战略是实现人类命运共同体的必然需要

互联网发展趋势

  1. 互联网将成为全球产业转型升级的重要助推器
  2. 互联网将成为世界创新发展的重要新引擎
  3. 从消费互联网到工业互联网

SAP-Garson
原文链接:https://blog.csdn.net/qq_33843237/article/details/128539476

文章来自于网络,如果侵犯了您的权益,请联系站长删除!

上一篇:水晶报表--弹框(登录数据库和参数字段)
下一篇:2020网络安全投融资趋势报告
评论列表

发表评论

评论内容
昵称:
关联文章

科大 2022 计算机网络期末复习资料
计算机网络期末复习
计算机网络期末复习习题总结
计算机网络复习笔记(部分)
2022-8-21 计算机网络复习_谢希仁
科大计算机体系结构
计算机网络:(终章)4万字长文,总复习
计算机网络
计算机网络
计算机网络课程期末大总结
科大郑烇《计算机网络》视频课程笔记
计网期末复习笔记
计算机网络
【理论】计算机网络知识点复习【408统考】
福建工程学院计算机网络技术期末考试试卷,福建工程学院计算机网络考卷.doc...
计算机网络资料整理《谢希仁版》
计算机网络资料整理《谢希仁版》
计算机网络原理 笔记
计算机网络【王道】
计算机网络面试题

热门标签
CBP 问题处理 # ALV # 【SAP | 前世今生】 # 1.moonsec-2020-[持续更新] # ABAP # ABAP-接口 # abap学习路线 # ALV # AVRCP协议 # bdc # BMS项目实战记录 # BW # ClickHouse # crud 框架 (mybatis-plus/ jpa等) # dynpro # ERP # JCo3.0 # PyRFC # Python数据分析与机器学习 # SAP ABAP # SAP FICO # SAP FTP # SAP HANA # SAP MM # SAP-Restful # SAP消息号A类 # sap应用技巧 # 工具使用 # 数据库 # 网安神器篇 # 优化篇 # 语法 # 筑基08:渗透测试综合实验 (path.Combinee(rootDir, "nwrfcsdk", "icuuc50")) ,ides .NET .NET 6 .NET Core .NET Remoting和WebServices .net(C#) .NET/C# .netcore .NET技术 .NET连接SAP .UD选择集 /h /ui2/cl_json @click.prevent _E8_AE_BA_E6_96_87 ~ { ABAP} ~ ~{一起学ABAP}~ “SAP.Middleware.Connector.RfcConfigParameters”的类型初 《ABAP专栏》 《SAP ABAP基础通关百宝书》【从入门到精通】 《测绘程序设计精品案例合集》 《计算机网络自顶向下方法》学习笔记 【Azure 应用服务】 【SAP】ABAP-CDSVIEW 【速成之路】SQLserver 0.0-SAP BW学习 001-计算机基础 01检验类型 1 10.Abap 10.ABAP-CTS 102 1024程序员节 103 1155服务器装系统 12.SAP-SKILL 122 13台根服务器位置 15行 1809 1909 1核1g1m服务器相当于什么性能 2003服务器修改ftp密码 2010 2012服务器系统安装数据库 2012服务器系统安装数据库吗 2018年终总结 2019 2019java专科 2019年终总结之SAP项目实践篇 2022跨年烟花代码 2022年 2023云数据库技术沙龙 2023云数据库技术沙龙 “MySQL x ClickHouse” 专场 2-step picking 2-step拣配 2月一次的flyback 321 32位服务器系统安装教程 3D 40 408 408——计算机网络 408学习笔记 40位 478g+ 虚拟服务器 4hana 545移动类型 5G 6.824 60.技术开发 6------SAP 701 711 740新语法 7------SAP A a2dp AA AB01 ABAP ABAP 语法 ABAP AES加密解密 ABAP ALV abap alv 更改数据 abap alv新增行数据 ABAP AMDP abap bapi ABAP BAPI分享 ABAP BASE64加解密 ABAP BC400 ABAP CDS ABAP checkbox ABAP Dialog开发 ABAP DOI ABAP EXCEL ABAP Expression ABAP GUID ABAP Handy program abap hr ABAP IDOC abap java ABAP JSON ABAP JSON大小写 ABAP JSON驼峰 abap me21n增强 abap mm后台表 ABAP Modify 的用法 ABAP New ABAP REST API ABAP REST JSON ABAP RSA PSE ABAP RSA 加密解密 ABAP SAP ABAP SESSION传递 ABAP SMARTFORMS 默认 WORD 编辑 ABAP Table ABAP Toolbar ABAP tools ABAP wait abap xml 日期格式 ABAP 报错 ABAP 笔记 ABAP 常见错误 ABAP 程序开发 abap 程序模板 ABAP 初级技术 abap 创建出口历程 abap 调用java abap 发送json报文 ABAP 关键字 ABAP 基础知识 ABAP 技巧 ABAP 接口 ABAP 开发 ABAP 乱乱记 ABAP 内表 ABAP 内表 排序 abap 内表 条件查找 ABAP 配置相关 ABAP 批量创建货源清单 ABAP 屏幕开发激活显示 ABAP 人事模块 abap 上传excel数字去除千分符 ABAP 实用程序记录 ABAP 事务代码 ABAP 数据字典 ABAP 替换 ABAP 替换字符 ABAP 条件断点 DEBUG ABAP 未按大小排序 ABAP 销售模块 ABAP 新语法 ABAP 选择屏幕 ABAP 学习 ABAP 学习笔记 ABAP 一些常用技巧 ABAP 语法备忘 ABAP 增强 abap 指定长度服务器上传数据 ABAP 中级技术 abap 转换成字符串 ABAP 字符查找 abap 字符串操作 ABAP  屏幕流 ABAP 开发模块 ABAP/4 ABAP_01 ABAP_02 ABAP_BASIS ABAP_FUNCTION MODULE ABAP_OTHERS ABAP_SYNTAX ABAP_各路小技能 ABAP2XLSX ABAP4 ABAP7.50 ABAP740新语法 abapdata定义方法 abaper ABAP-FICO ABAP报表程序结构框架 ABAP报错 abap捕获当前功能键sy ABAP查找代码块 ABAP常用代码段 ABAP程序例子 ABAP初级 ABAP创建搜索帮助 ABAP打印 ABAP的BAPI ABAP调优 LOOP ABAP定时job abap动态变量 ABAP动态修改屏幕 abap读取sap服务器文件名 abap对接外围系统 abap分页 ABAP工具 ABAP关键字 ABAP函数 abap获取日期 ABAP基础 abap基础入门 ABAP基础语法 ABAP基础知识 ABAP技能树 ABAP技巧之游标 ABAP技术 abap技术栈 ABAP加密 ABAP-接口 ABAP开发 ABAP开发回顾总结 ABAP开发随便记录 ABAP开发学习 ABAP开发语言 abap开发注释快捷键 ABAP开源项目清单 ABAP快捷键 abap连接mysql ABAP模块 ABAP内表汇总 abap判断包含字符当中包含小数点 ABAP屏幕相关 ABAP其他增强 ABAP入门 ABAP时间戳 ABAP实例分享 ABAP使用技巧 abap视图字段限制 ABAP数据库删除 abap数据类型转换 ABAP四代增强 ABAP四舍五入 ABAP随笔 ABAP提取汉字 abap文件上传 abap文件下载导出 ABAP问题记录 abap系列 ABAP相关 ABAP小工具 ABAP小记 ABAP小技巧 ABAP校验时间日期格式 abap新语法 ABAP新语法汇总 ABAP新语法收集整理 ABAP修改删除数据 ABAP选择屏幕 ABAP选择屏幕开发 ABAP学习 ABAP学习记录 ABAP学习实用网址 abap语法 ABAP语法优化 ABAP语言 ABAP增强 ABAP知识点总结 ABAP指针 ABAP中RANGES的用法 ABAP中的同步和异步调用 abap字符串值变量 Abaqus ABLDT ABLDT_OI ABMA AC_DOCUMENT Account Group ACDOCA Activate ADD NEW FONT ADO.NET Adobe Form ADT AES AFAB/AFABN AFAMA AG1280 AirByte AJAB ajax AL11 ALE all in one Allocation Rule ALV ALV List ALV SEL_MODE alv 刷新 ALV报表 ALV横列单元格颜色 ALV模板 ALV鼠标右键 alv下拉 alv显示基础 ALV知识点 AMDP amp AMS系列产品 android android studio Android9设备打开WIFI热点 android不同版本风格 android模拟器 android热点流程 Android网络接入框架分析 Android系统开发 Angular angular.js ANSYS Ant Anywhere数据库监控 AO25 aof apache Apache DolphinScheduler API api document APM APO APO函数 APO开发 app App Service for Window application app测试 app服务器设计文档 app服务器数据库文件夹下 aps APT Architecture Archiving Area Menu arm arraylist ar路由器的虚拟服务器 ASAP asp.net asp.net MVC Assortment ATO Attribute AuCs authorization Automatic AutomaticScrg automation AVForamt AW01N Awesome Java awk awr AWS AWS SAP AWS SAP认证 aws认证 AWS战报 Azure Azure Storage B2B增长 Backflush BADI BANK Bank Account BAPI bapi sap 创建物料 BASE base64 bash BASIS Basis Consultant Questionnaire BASIS基础知识 BASIS模块 BASIS系统配置及操作 BASIS中遇到的问题 batch Batch Data Conversion BD87 BDC bdv021-clickHouse Beginning WF 4.0翻译 BGP路由器协议排错 bgRFC BI BI+BW+BO仓库管理 big data BigData ble bluetooth BO BOBF bom bom成本分析模型 bom更改编号 sap books bookv001——navigationing Boost完整实战教程 bootstrap BOPF BP BPC BPC开发 BP共用编码 BP和客商关联后台表 BP-客商 BP配置 bp配置 sap BP文档 break BRF+ BRFplus BSP BSTAT=U bt BTE BTEs BTP BUG BUG问题解决 BulkStorage BurpSuite插件 Business Suite BusinessPartner BUT000 BW BW/4 HANA BW4 bw4/ hana BW4/HANA BW4HANA BW报表使用操作手册 BW技术 BW建模 BW实施 ByteDance C# C# IO相关 C# sap集成 C# WPF C# 编程 C# 窗体应用 C# 读取txt文本数据 C# 读取文本每行每列数据 C# Stopwatch C#Winform C#编程 C#高级 C#格式转化 C#基础 C#基础知识 C#教程 C#入门经典 C#算法演义 c#学习 C#知识点笔记 C/4 C/4HANA c/c++ C++ C4C CA CS CO cad项目数据库服务器 Calculation CapacityCheck case when Cash Management cast CA周记 CBS CCNP题库 CDISC CDS CDS View CDS Views CDS视图 Cell Popin centos certificate CertificateType Change Log ChatGPT CHECK_ACCESS_KEYS CHECKBOX CheckBoxGroup Check按钮 chrome CI & CD CIO ci上传文件到不同服务器 cj20n sap 报错未知列的名称 CKM3 CKMLCP CL_GUI_ALV_GRID cl_ukm_facade Class ClickHouse clickhouse数据库 Client Copy CLIENTCOPY Cloud Cloud Native Cloud Platform CloudFoundry CMS CMU15-445 (Fall 2019) CO CO01 co88 sap 实际结算 COCA单词表 COCA高频单词 COCA核心词汇 COCA英语分频词汇 COCA英语语料库 CO-CCA CODE COGI COKEY Commerce Commvault Commvault技术知识点 Configuration connect_by_path ContentServer continue Control ControlQuantity CONV Conversion COPA COPC COPY来源 Cording Block Core Data Service(CDS View) CO控制 CO配置 CPI CPI技术小知识 CPLD CPM cpu CRM CRM系统 crm系统服务器要求 cross warehouse Crystal Reports CS CSharp CSI SAP2000 CSI SAP2000安装教程 css css3 CSV认证 CTCM ctf CTF-MISC CTF-Misc-wp CTS Customers CVI_CUST_LINK CVI_VEND_LINK C和C++Everything教程 C语言 C语言程序设计 Dapr Data Services Data sources database datagridview dataTable交换列 dataTable列操作 DATAX date DateNavigator DB DB LUW DB2 dba DBA 实战系列 DBCO DD08V DDIC DDS算法 debian debian云服务器项目 Debug debug方法 DEBUG改SAP表数据 Decal Decline demo DEMO程序 des DESADV DESTINATION DestinationProvider devexpress v22.1 devops DevSecOps DIalog Dictionary Encoding Diff discuz服务器系统 disk dms dns怎么修改默认服务器 docker docker容器 dom dont show this message again Driver E5调用API E5开发者 E5续订 EBS Ecc ECC_常用标准函数标准方法 ECC6 ECC6是否支持linux7 echarts eclips Eclipse eclipse报错 ECM ecmascript ECM企业管理 ecn EDI EDIT Ehancement EHP EHP4 EHP8 elasticsearch elementui ELT emqx English Enhancement enhancement MBCF0007 Enterprise Servers and Development Entity Linking Enumeration EOS空项目添加服务器 EPIC EPIC_PROC epoll EPPM erp erp oracle数据库连接失败 ERP 增强 erp5 ERP-SAP erp服务器系统分区多大 ERP供应链 ERP实施 erp无线架设服务器 ERP系统 erp系统 服务器在哪里的 ERP项目 ERP小讲堂 es6 esb ESP8266 esri ESXI ETBAS二次开发 eth节点计划服务器维护 ETL etl工程师 ETL工具 ETL开发规范 ETL社区版 ETL数据集成 ETO events EWM EWM模块 Example examples EXCEL Excel服务器数据库修改 Exception EXCLUDING express F.13 F-02 F110 F5080 FAA_CMP_LDT FAGL_FC_VAL FAGLGVTR FB05 FBB1 FBL1N ffmpeg FI FI01 FI12 FI12_HBANK FI-AA FICO fico bapi FICO Integration FICO-AA FICO模块 FICO-年结 FICO问题点 FICO-月结 FICO增强 field-symbols fifaol服务器不稳定 file Fine finereport FINSC_LEDGER Fiori fiori 2.0 fiori app configuration fiori launchpad Fiori-Web FIORI配置 Fixed point arithmetic FixedStorageBin FI财务 FI金额 FI配置 FLCU00 flex FLVN00 FM Focus FONT FONTS For FOR ALL ENTRIES IN FPGA fpga开发 FPGA项目例子总结 FPM framework freemarker Freight标签页 freshman to ABAP FS15会计科目扩充 FTP ftp 网页如何上传到服务器 ftp传输文件到其他服务器 ftp服务器存放文档 ftp服务器端文件大小设置 ftp服务器设置上文件大小 ftp服务器生成xml文件 FTP服务器收不到传送的文件 ftp服务器数据存放位置 ftp服务器文件路径怎么写 ftp服务器限制文件大小 function Function ALV Function Modules functional programming Functions Game Gartner Gateway GATEWAY100 GBase gdal GeneXus GeneXus 2021 gentoo 安装php7 GeoTools GET Parameter GIS Git github Gizmos gnu go google Google 微软 亚马逊 阿里 腾讯 字节跳动面试总结 GR GR Date GR/IR GR/IR余额清单 GRaph Process groovy GroupNumber gui GUI STATUS gui740的消息服务器 GUID GW100 H3c 服务器bmc管理芯片 h3c服务器 raid 型号 h3虚拟服务器 h5修改服务器数据 hadoop HAHA SQL halcon HANA HANA Advanced Data Modeling HANA Advanced Data Modeling 读书笔记 HANA DB HANA DBA hana s4 服务器 HANA SQL hana sql mysql oracle HANA SQLScript HANA Studio HANA VIEW hana vs oracle hana 表空间 hana 查看表字段 HANA 导入数据 hana 服务器性能测试 HANA Studio HANA安装 hana查询去重 HANA常用函数 hana抽数到mysql hana的date对应oracle日期 hana服务器销售资质 HANA进阶学习 hana生产系统服务器 HANA实战 hana数据库 hana数据库 字段长度 hana数据库导入mysql hana数据库导入到oracle hana数据库服务器文件丢失 hana数据库教程php hana数据库连接mysql hana数据库连接oracle hana数据库与mysql HANA信息建模 Hana性能优化 hana修改字段 HANA学习 hana语法 HANA在线日志 Hashid hash-identifier hbase HCM HCP HDI Container HEC hibernate hierarchy Hints his系统服务器数据存在哪里 His系统数据库服务器关系 hive HNUST湖南科技大学计科专业考试复习资料 hp380G5服务器系统安装 hp服务器产品文档 HR HR模块 HR薪资发放过账 HR增强 HTAP HTAP for MySQL html html5 HTML5/CSS/Bootstrap http http://95u.free.fr/index.php httpcompnents https https://mp.weixin.qq.com/s/keb HU Hybris I/F IBAN IBP ICF ID ide idea idea中项目如何上传到服务器中 IDES IDoc idoc java IDOC技术 IDT ifm_research_notes IFRS16 iis ftp服务器文件大小 ijkplayer IM image imessage IMG子菜单 import IM层面 Include Informatica inspection point intellij idea Inter-company Intergration Internal table Interview INVOIC ios iot IP ipad协议 ipfs存储服务器销售 IQ02 IQ09 IR IRPA ISO IS-RETAIL issue IT IT - Linux ITS ityangjia IT技术 IT企划 IT生涯 IT项目与团队 IT养家 j2ee J3RCALD jar Java java b1 b1 be a9 Java Connector java jco sap 重连 JAVA PI PO SOAP JAVA PO SOAP java sap总账凭证接口 java webservice调用sap Java Why java 访问hana java 薪水完爆abap JavaScript javaSE基础篇 Java并发 Java调用SAP java调用sap接口 JAVA调用SAP接口地址 java对接sap java更换sap配置不生效 Java工具类 JAVA工作日常 java函数调用报错 java获取hana接口数据 java获取sap数据 java开发 java连接hana java连接sap Java连接sap无明显报错信息 java实战 java项目所需服务器 JAVA学习 java云服务器怎么上传文件大小 java怎么安装apple JAVA重点部分的笔记 java转sap hybris方向 JCo jco.client.saprouter JCo3 JCO连接 jdbc JDBC连接 JDK jira JOC Join JOIN 内表 jpa jquery js json json 服务器 文件 js基础笔记 junit JVM jwt K3 kafka KANBAN KE24 kernel kettle KEY kohana KP06与KP26 KSU5 KSV5 kubernetes labview lambda lamp LAN leetcode LEFT DELETING LEADING LENGTH Leonardo less linq Linux linux 64位vcs linux hana linux hana 版本查询 linux 安装sap linux 划分两个VDisk linux 命令是 的sap linux64 solvers Linux查看hana数据库进程 linux登录Hana数据库 linux调用rfc函数配置 Linux开发分享 Linux启动SAP服务 linux如何查看MBFE版本信息 Linux网络 linux系统的服务器怎么重启 linux相关 linux中停sap服务 lisp list LISTING Lock Logic LogicSystem lpfs存储服务器怎样维护 LQ02 LSETBF01 LSMW LT23 LT41 LT42 LT45 LTMC LTMC和LSMW等 LTMOM LX03 LX09 LX10 LX11 LX12 LX29 LX39 M_MSEG_LGO mac mac os x macos Mail makefile Manage Banks manager mariadb Markdown mass MASTER DATA MAST表 matdoc Material Group Material Ledger MaterialSpec matplotlib matrix maven MaxDB MaxWeight MB04 MB51清单格式 MB5B MB5M MBSM MBST MBST冲销 mcu md01和md02区别 MD04 MD04中例外信息30 MDBS MDG MDG 2021 MDG 2022 MDG BP MDG顾问 MDG项目 ME me15 me21nme22nme23n增强ME_ ME22N ME57界面看到的供应源跟Source List主数据不一致 MEBV memcached MES Mesh Message Messages MetaERP Method List MF47和COGI MI10 MIBC microsoft Microsoft Access Microsoft Azure Microsoft365 E5 MIGO MIGO 241 migo 311 MIGO+201 migo初始化库存 s4 MIGO事务代码 MIGO增强 MIGO子功能 migration Migration cock MIRO MIRO发票校验 MIRO发票校验多采购订单选择 mkpf ml MM mm bapi MM/SD mm17 MM41创建的商品主数据 MM41创建商品主数据 MM60 MMBE MMPV MMSC MM-报表功能开发 MM-采购管理 MM-采购审批 MM常用BAPI MM-定价过程 MM更改物料类型 MM顾问 MM教程 MM模块 MM配置 MM物料管理 mobile MODIFY table MOVE TO movement type mp3 MP38 MPN MPN物料的采购初探 mps MQTT mqtt服务器数据存储位置 mqtt协议库服务器 MRP MRP标识 MRP处理代码 MRP过程 MRP组 MS SQL mseg mssql MTE MTO MTO/MTS MTS MTS/MTO/ATO/ETO MTS/MTO/ETO Mule ESB 开发 Mule ESB 社区版 实施 Mule ESB 实施 Mule ESB开发 Mule ESB社区版实施 Mule ESB实施 MultipleBOM MultipleSpecifications MultipleSpecs Muxer mvc MWSI mybatis mybatis-plus myeclipse mysql mysql 1060指定的服务未安装 mysql hana数据同步 mysql版本情况 Mysql等数据库 MySQL高级 mysql和hana mysql数据库停库停不下来 MZ SAP FICO精讲视频 MZ SAP那些事 nagios name_mappings Naming Convention NAST nas怎么备份服务器文件夹 NativeLibrary.Load nat服务器性能 nc 二次开发 NCO NCO3.0 nc文件服务器 数据库文件 NDSS NetSuite 案例 NetSuite新闻 Netweaver network New NineData nlp Node node.js nodejs nokia NoSQL NOTE npm null Number Range numbers numpy NW751 nwa key-storage NWBC NX文档服务器 o365 OA OAAQ OABL oa办公 OB07 OB08 OB13 OB52 OB62 OB74 OBBH OBJK ObjType OBR1 OBR2 OBR3 OBYC-DIF OBYC-PRD oceanbase ocx OData odbc odoo office OI-题解 olap OMIR OMSJ OMSY OMX6 Onenote_DB Onenote_Others onetime vendor On-premise OO OOALV OOALV进阶 OOALV增删改查 OPEN open item OPEN SQL Open Storage Opengauss openGauss核心技术 OPENSAP UI5 扫盲 OPENSQL Openui5 openwrt系统安装到云服务器异常 ops$ oracle数据库用户 ora 01005 linux Oracle oracle 60401 oracle clob minus oracle dba Oracle EBS oracle e-business suite 下载 Oracle ERP oracle ftp 文件乱码 oracle hana 字段长度 oracle logon 乱码 oracle nid ora 24324 oracle sap 备份 oracle sap金蝶 oracle set newpage Oracle Tuning oracle 抽数据到 hana oracle 创建一揽子协议 oracle 打开数据库三步 oracle 应用系统 oracle创建服务出错1073 oracle和netsuite培训 Oracle数据库 oracle数据库恢复版本不一致 oracle与用友的差别 OS other Others Outbound Overtime p2p PA PaaS PACKAGE SIZE Pandas parallel Parameter Partner payment Payment method Payment Terms PA认证 PB00 PBXX PC PC00_M99_CIPE PCo PCP0 PC安装服务器系统 PDA pdf performance PE安装服务器系统6 PFCG PGI Pharos(小白路标) php php功能函数 PHP开发erp功能模块 php连接sap hana数据库 php清理服务器文件大小 php与sap系统 php转行自学java PhysicalSamples PI PI/PO ping pip PIPO PIR PI接口常见问题处理 pi节点虚拟服务器怎么弄 Plant Group PLG PLG Application跳转传参 plm PLSQL PLSQL13 PLSQL弹出框 PM pmp pms PMW PO po 价格条件表 PO&amp poi PolarDB Popup Port Portal POS POS Interface PostgreSQL posting key postman Postman 接口测试 Power BI PowerBI PowerBuilder Powered by 金山文档 powerpoint PowerQuery&amp PO接口常见问题处理 PO中基于GR的IV清单 PP PP &amp PP Module PPM PP模块 pp模块常用表 sap PP生产订单 PP生产过程 PR PREPACK Pricing Print PROCEDURE Product Hierarchy project management PS PS模块 pu Purchase Purchase Order History Categor pyautogui pycharm python Python Golang 人工智能 机器学习 图像处理 Python场景积累 python获取sap数据 Python基础 PYTHON接口开发 python连接sap接口 python能连sap吗 python学习 python与sap QA08 QA11 QC51 QE01 QE23 QM QM Control Key QM采购质量管理 QM质量管理 QP01 qRFC QS28 QS61 qt qt5 Quality Certificate Quant QUERY R3 rabbitmq rac 服务器 修改时间 RadioButtonGroup Random react react.js READ receive idoc redhat redis REDUCE Reflex WMS REM REP Report ReRAM rest REST ADAPTER RESTful RETAIL ReturnDelivery RFC rfcv函数实现 RFC查询SAP数据库 rfc方式的集成 sap RFC封装WEBService RFC函数 rfc垮端口 sap RFSEPA02 RIGHT DELETING TRAILING Rollout project Routing RPA RPA机器人 RPA机器人流程自动化 RPA魔力象限 RPA资讯 RPC0 RSA RSA Encryption RSA PRIVATE KEY RSS RTMP协议云服务器 runtime rust RV_ORDER_FLOW RWBE r语言 R语言入门课 S/4 S/4 HANA S/4 HANA 1809 S/4HANA S/4HANA 2020 S/4HANA 2021 S/4HANA 2022 S/4HANA迁移 S/4补0 去0 s_alr_87013127 S_ALR_87013611 S_ALR_870136XX s2k S4 S4 CLOUD/ FIORI S4 CRM S4 HANA s4 hana ecc S4 HANA 功能变化清单 S4 HANA数据迁移工具 S4 HAVA S4 Kernel S4CRM S4H PA S4HANA S4HANA Conversion S4HC S4HC产品相关 S4新表ACDOCA S4新型数据导入工具 saas SAC Sales Area SALES PRICE SampleSize SAP sap abap SAP ABAP学习 SAP Basis SAP / 后台配置 SAP 1809 sap 46c oracle 从unix 迁移至 windows SAP ABAP SAP ABAP  Excel模板上传及Excel数据批导 SAP ABAP AES128 SAP ABAP AES256 SAP ABAP for HANA SAP ABAP HANA SAP ABAP Runtime Error SAP ABAP SHA512 SAP ABAP 编程教程 SAP ABAP 并发 SAP ABAP 核心代码 SAP ABAP 基础 学习 SAP ABAP 李斌的分享笔记本 SAP ABAP 问题整理 SAP ABAP 学习资料 SAP ABAP 增强 SAP ABAP(总结) sap abap接口篇 SAP ABAP开发 sap abap开发从入门到精通 SAP ABAP开发实战——从入门到精通 SAP ABAP开发问题记录 SAP ABAP开发专栏 SAP ABAP零碎知识 SAP ABAP浅尝截止 SAP ABAP实例大全 SAP ABAP性能优化 SAP ABAP增强 SAP ABAP自学教程 SAP Adapter SAP Adobe Form SAP AES加密解密 SAP ALE SAP ALV SAP Analytics Cloud sap and oracle SAP APO SAP APO 介绍 SAP Ariba SAP ARM SAP B1 SAP B1 License Serve SAP B1原创 SAP BAPI SAP Basis SAP Basis Tips SAP Basis 系统学习 SAP Basis&amp SAP BDC SAP BDC MODE SAP BDC模式 SAP BI on HANA SAP BO SAP BOBF/FPM/WEBDYNPRO SAP BOBJ SAP BOM反查 SAP BOM记录查询 SAP BOM修改记录 SAP BP SAP BTP SAP business one SAP Business One 二次开 SAP BW sap bw、echar、smart bi sap bw4 sap C/4HANA SAP C4C SAP CAR sap cds view SAP client2.0 download SAP Cloud SAP Cloud Platform SAP Cloud Platform Cockpit SAP CO SAP Consultancy SAP CP SAP CPI SAP CRM sap crm button SAP Data Service sap dbco访问oracle SAP DEMO数据增加 SAP Dialog调用 SAP Dialog开发 SAP Dialog学习 SAP ECC SAP ECC6 SAP ECC6 / CO SAP ECC6 / FI SAP EDI SAP EPIC SAP ERP SAP ERP系统 SAP EWM SAP excel数据导入 SAP FI sap fi  凭证跳号 SAP FI-AA SAP FICO SAP FICO 报错处理办法 SAP FICO 开发说明书03(源代码仅做参考) SAP FICO 系统配置 SAP FICO 资料免费分享 SAP FICO开发说明书_01(源代码仅作参考) SAP FICO开发说明书_02(源代码仅作参考) SAP Fiori SAP Fiori & SAP(open) UI5 SAP Fiori 开发实践 SAP FM SAP freelancer SAP Frori SAP Gateway SAP GUI sap gui script SAP GUI 登录不需要密码 SAP GUI 界面 SAP GUI 快捷方式密码 SAP GUI 密码保存 SAP GUI 免密登录 SAP GUI 主题 SAP GUI 主题切换 SAP GUI+WEBGUI SAP GUI界面切换 SAP GUI密码设定 SAP GUI切换 SAP HAN SAP HANA SAP HANA Hint sap hana oracle exadata SAP HANA SDI sap hana 迁移 oracle SAP HANA 数据库学习 SAP HANA  上云 SAP HANA2.0 SAP HANA总结 SAP HCM SAP HCM学习 SAP HR sap http SAP IBP SAP IDOC sap idoc java SAP INBOX SAP IRPA SAP ISSUE sap java客户端 sap java乱码 SAP JCO NCO SAP JCO 负载均衡 SAP License sap linux客户端 sap linux系统安装教程 sap linux下配置文件 SAP List Viewer(ALV) SAP LOGON SAP LSMW SAP LSMW教程 SAP LUW SAP MASS SAP material classification SAP MDG SAP ME sap me21n增强 sap me22n增强 sap me23n增强 sap mes java SAP MII SAP MM SAP MM BAPI SAP MM 对于MRKO事务代码的几点优化建议 SAP MM 后台配置 SAP MM 特殊库存之T库存初探 SAP MM 小贴士 SAP MM/SD 业务相关 SAP MM06 SAP MM基础配置 SAP MM模块面试 SAP MRP默认值 SAP MRP默认值设置 SAP MRP配置 sap mysql SAP Native SQL SAP Nco 3 Connector 连接SAP 并接收数据 SAP NetWeaver sap netweaver 7.02 sap netweaver application server java SAP NetWeaver RFC library SAP NWBC sap nwds as java SAP ODATA SAP OData 开发实战教程 - 从入门到提高 sap oracle client SAP PA证书 SAP PI SAP PI - 同步 vs. 异步 SAP PI PO 接口调用 SAP PI PO 接口问题 SAP PI SSL证书 SAP PI&amp SAP PI/PO SAP PI/PO 系统集成 SAP PI架构 SAP PLM SAP PM SAP PM 工厂维护 SAP PO SAP PO PI 系统接口集成 SAP PO SSL证书 SAP PO 导入SSL证书 SAP PO/PI接口 sap powerdesigner SAP PO安装 SAP PP SAP project SAP PS SAP QM sap query SAP R/3 SAP R3 SAP R3 ABAP4 SAP R3 主流系统EAI接口技术剖析 sap r3的lanuage 代码 SAP REST API SAP REST JSON SAP Retail SAP RFC SAP RFC 与 Web有啥区别 SAP ROUTRE SAP RSA 加密解密 SAP S/4 SAP S/4 HANA SAP S/4 HANA Cloud Sap S/4 Hana 和Sap ERP有什么不同 SAP S/4 HANA新变化-FI数据模型 SAP S/4 HANA新变化-MM物料管理 SAP S/4 HANA新变化-SD销售与分销 SAP S/4 HANA新变化-信用管理 SAP S/4 HANA新变化-主数据:物料主数据 SAP S/4 HANA新变化-主数据:业务伙伴之后台配置 SAP S/4 HANA与SAP Business Suit SAP S/4 MM SAP S/4HANA SAP S/4HANA表结构之变 SAP S4 SAP S4 HANA SAP S4 HANA CLOUD SAP S4  有用链接 SAP S4/Cloud应用 SAP S4/HANA FICO都有哪些改变? SAP S4HANA SAP S4HANA里委外加工采购功能的变化 SAP SBO9.1 SAP SBO重装 SAP SCM EWM SAP script SAP SD SAP SD MM PP FICO SAP SD 常用表 SAP SD 基础知识之定价配置(Pricing Confi SAP SD 基础知识之计划行类别(Schedule Lin SAP SD 基础知识之物料列表与物料排除 SAP SD 基础知识之行项目类别(Item Categor SAP SD 销售中的借贷项凭证 SAP SD 信贷管理的操作流程 sap sdi mysql SAP SD常用表 SAP SD基础知识之凭证流(Document Flow) SAP SD基础知识之输出控制(Output Control SAP SD模块 SAP SD模块-送达方和售达方的区别和联系 SAP SD微观研究 SAP SHIFT SAP SICF REST SAP smartforms乱码 SAP smartforms转pdf SAP smartforms转pdf乱码 SAP SQL sap srm SAP SRM 开发 SAP SRM  函数 sap strans解析json SAP TIPS SAP UI5 SAP UI5&amp SAP Variant 配置 SAP VC SAP Web Service SAP Web Service简介与配置方法 SAP Webservice SAP WM SAP WORKFLOW SAP XI/PI SAP 案例方案分享 sap 报错 注册服务器错误 SAP 报错集合大全 SAP 标准功能 SAP 标准教材和自学方法 sap 标准委外和工序委外 sap 查看服务器文件夹 SAP 常规 SAP 常用表 SAP 常用操作 sap 成本中心下的po SAP 成都研究院 SAP 导出 HTML sap 导出系统所有的单位 SAP 登录图片修改 SAP 顶级BOM查询 sap 订单状态修改时间 SAP 端口 SAP 发票合并与拆分 sap 发送mesage SAP 反查顶级BOM SAP 反查一级BOM sap 服务器信息 SAP 功能函数 sap 供应商表 SAP 顾问宝典 SAP 函数 SAP 后台表 SAP 后台配置 sap 计划订单 sap 假脱机请求 SAP 接口 SAP 接口测试 SAP 结账流程 sap 界面创建凭证 SAP 金税接口介绍 SAP 开发 sap 流程图 退货销售订单 sap 默认屏幕变式 SAP 配置 &amp SAP 批量创建货源清单 SAP 请求号 SAP 权限 SAP 权限配置 SAP 商超订单统一管理系统 SAP 商品主数据 SAP 数据库删除 SAP 数据字典 sap 双计量单位 sap 思维导图 SAP 锁机制认识 SAP 通用功能手册 SAP 透明表 SAP 图片修改 sap 文档服务器安装 SAP 问题以及报错 SAP 物料版次 SAP 物料不一致 SAP 物料删除标记 SAP 物料在启用序列号管理或者不启用序列号管理之间快速切换 SAP 系统 sap 消耗策略999 sap 消息服务器 bat sap 小技巧 sap 新建事务 sap 新增科目表 sap 修改服务器时间格式 sap 修改许可服务器 SAP 虚拟机配置1-FI SAP 虚拟机配置2-CO SAP 虚拟机配置3-MM SAP 虚拟机配置7-WM SAP 序列号与库存关联起来? SAP 选择屏幕 SAP 选择屏幕开发 SAP 演示数据增加 SAP 业务 SAP 业务顾问成长之路 sap 一代增强 SAP 银企直连 SAP 银企直联 SAP 银行对账 sap 用户权限表 SAP 语法(Syntax) SAP 员工主数据 SAP 原材料 SAP 云 SAP 杂项 SAP 增強 SAP 增强 SAP 之门 01 SAP 中国研究院 SAP 主题 SAP 字段增强 SAP 自动化 SAP  ERROR sap  hana SAP  MM知识点 SAP  PP SAP  配置 BOM SAP Enhancement SAP Migration SAP SD SAP STMS SAP&amp SAP* sap*账号 SAP,SD SAP/ABAP SAP/ABAP 相关汇总 SAP/ABAP记录 SAP/ERP SAP/FICO sap/hana SAP_ABAP SAP_ABAP知识点 SAP_BAPI SAP_BASIS SAP_FICO sap_mm SAP_PP SAP_SD SAP_Table SAP_TCODE SAP_モジュール_MM SAP_モジュール_SD SAP_常见问题集合 SAP_常用BAPI SAP_常用表 SAP_各路小技能 SAP_基本配置 SAP_接口 SAP_视图 SAP·SD SAP2000 sap2000学习笔记 SAPabap SAP-ABAP SAP-ABAP-Function SAP-ABAP基础语法 SAP-ABAP-基础知识 SAP-ABAP小白学习日常 SAP-ALL SAP-ALV SAPB1 SAP-BASIC SAP-Basis SAP-Bassic-基础知识 SAP-C01 SAP-CO SAPECC6.0 SAPFI SAP-FI SAP-FI/CO SAP-FICO SAP-FICO-CO SAP-Fiori SAP-GR SAPGUI SAPHANA SAP-HANA saphana服务器操作系统说明 saphana服务器硬件评估 SAP-IR sapjco SAPJCO3 sapjco配置文件下载 sapjoc3 SAPLINK SAP-MDG SAP-MDG-GEN SAP-MDG-HOWTO SAP-MDG-INTEGRATION SAPMM SAP-MM SAP--MM SAP-MM-采购管理 SAP-MM-后台 SAP-MM-前台 SAP-MM问题集锦 SAP-MM-问题记录 sapmto生产模式配置及操作详解 sapnco sapnco3 receive idoc sapnco3 接收 idoc sapnco3.0 SapNwRfc.dll SAPOSS SAP-Other SAP-PM SAP-PO SAPPP SAP-PP SAP-PP模块 SAP-PS SAP-QM SAP-RETAIL SAProuter SAP-RPA SAP-SD SAPUI5 SAP-UI5 SAPUI5核心内容 SAPUI5教程 SAP-WDA SAP-WM SAP案例教程 SAP宝典 SAP报表开发工具 Report Painter SAP边做边学(自学)-看看坚持多久 SAP标准工具程序 SAP表 SAP--表相关 sap采购订单更改记录 SAP采购订单增强 sap采购申请自动转采购订单 SAP仓储单位SU SAP-操作文档 SAP策略组 sap产品 sap产品图谱 - road to sap.pdf SAP常规功能 SAP-常见问题 SAP常用BAPI SAP常用表 SAP超时设置 sap成本流怎么看 SAP创建自定义权限 SAP呆滞库存的计算 SAP代码分享 SAP单链接 SAP的NOTE sap的pod确认 sap的工作日历 SAP的技术战略 SAP的竞争战略 sap的清账是什么意思 SAP调用 SAP队列 SAP访问本机虚拟机服务器 sap放弃java sap服务器安全证书 sap服务器查看系统日志目录 sap服务器出pdf文件 sap服务器迁移性能问题 sap服务器数据库配置文件 sap服务器文件上传 sap服务器怎么安装双系统 sap服务器之间文件复制 SAP改表 SAP--概念 SAP干货分享 SAP各种BOM汇总——含义解释 SAP更改物料类型 sap更改主题 SAP工具 SAP-工作 SAP公司 sap供应商更改组 sap固定资产号码范围 SAP顾问 SAP顾问进行时 SAP顾问那些事 SAP管理 SAP核心模块 SAP后台配置 sap后台配置原因代码 SAP环境配置 sap获取系统时间 SAP基本安装 sap基于mysql安装 SAP技巧 SAP技巧集 SAP技术 SAP技术端 SAP技术文档 SAP技术小知识 SAP技术总结 SAP加解密 SAP加密 SAP架构 SAP-架构 sap假脱机打印机设置 SAP监控 SAP监控常用TCODE sap脚本运行 SAP教程 SAP接口 SAP接口 证书和密钥 SAP接口编程 SAP接口常见问题处理 SAP接口开发 SAP接口数据库 SAP接口相关设置 SAP解密 SAP界面设置 SAP经验 SAP开发 SAP-开发 sap开发需要java吗 sap开发语言 sap可以指定应用服务器 SAP客户数据 SAP客户数据导出 sap客户信贷 sap客户主数据bapi SAP-跨模块知识 SAP零售 SAP零售行业 SAP密码过期设置 sap模糊搜索闪退 SAP模块 SAP模块知识 sap内部顾问 sap内部运维 sap培训 SAP培训机构 SAP配置 SAP批量打开工单 SAP批量导出客户 SAP批量导出客户数据 SAP批量修改 sap期初导资产代码 sap清账使用反记账 SAP请求传输 SAP取历史库存(可查询期初期末库存和指定日期之库存) SAP权限管理 sap权限激活 SAP认证 SAP如何发布webservice SAP入门 SAP软件 SAP删除物料 SAP上云 sap生产工单报工 SAP实施 SAP实施攻略 SAP实施知识 SAP使用技巧 sap事务代码 sap事务代码如何收藏 SAP视频 SAP视频教程 SAP视图 SAP视图批量维护 SAP视图维护 SAP数据表 SAP数据导入导出 SAP数据分析 SAP-数据库 sap税码配置 SAP索引不存在 SAP通用技能 sap外币重估流程图 SAP维护 SAP-未分类 sap未分摊差异怎么处理 sap文化 SAP文章 SAP问题处理记录 sap无法正常启动服务器配置文件 SAP物料classification SAP物料类型 SAP物料删除 SAP物料视图批量维护 SAP物料视图维护 SAP物料特性值 SAP物料主数据 SAP稀有模块 sap系统 SAP--系统 sap系统ftp服务器下文件 SAP系统-MM模块 sap系统搭建教程 sap系统登录时没有服务器 SAP系统管理 SAP系统界面 SAP系统配置 sap系统前台数据与后台表之间 SAP系统研究 sap系统中的batch sap相关知识 SAP项目 sap项目部署到服务器 SAP-项目经验 SAP项目实施 SAP-项目实施随笔小计 SAP项目问题 sap消息服务器错误 SAP--消息号 SAP消息监控器 SAP销售订单邮件 sap销售发货的流程 sap销售凭证流mysql表 sap销售维护 SAP销售员维护 SAP小问题 SAP写入mysql SAP心得 SAP新产品系统 SAP修改已经释放了的请求号 sap虚拟机 多个服务器 sap虚拟机作为服务器 SAP选择屏幕 SAP选择屏幕开发 SAP学习 SAP业务 SAP异常处理 SAP银企直连 SAP银企直联 SAP银行账户管理(BAM) sap应用服务器超载 SAP邮件发送 SAP邮件记录 SAP邮件记录查询 SAP云平台 SAP运维 SAP-运维记录 SAP杂谈 SAP-杂谈 SAP杂项 SAP在采购和销售中的税务处理-增值税 sap增加事务代码权限 SAP增强 SAP战报 SAP战略中的机器学习 SAP知多少 SAP知识点 SAP制造集成和智能 SAP智能云ERP SAP中CK11N成本估算 sap中re凭证是什么意思 SAP中s_p99_41000062查询物料价格数据库表 SAP中报表清单导出的常用方法 SAP中的client SAP中的贷项凭证、借项凭证 SAP中的移动类型 SAP中方会计凭证解决方案 sap中国 sap中文使用手册 模块指南 SAP中销项税MWSI和MWST有什么区别? SAP中执行没有权限的事务 SAP中自动登出 SAP转储订单(STO) SAP咨询公司 SAP资讯 sap字段及描述底表 sap自带samples sap自动化 SAP自习室 SAP组连接 SAP最大用户数设置 sara SAST SAT SBO开发 SCA scala SCC4 Schema schema增强 scipy scm SCP SCP Cockpit scpi Screen SCRIPTFORM scripting Tracker SD sd bapi SD Module SDI SD常用表 SD模块 SD销售 se09 SE11索引 SE16N SE16和SE16N修改后台表数据方法 SE37 SE38 se91 SE93 Search search help security segw SELECT Select Screens select sql Selenium SEN SER01 Serial  Numbers SERVER Serverless service servlet Set SET Parameter setting SFW5 ShaderGraph sharepoint Sharepoint Or Online shell SLD SLT SM02 sm36 SM37 SM50 SM59 smartbi问题 Smartform smartforms SNOR SNP BLUEFIELD SNP 中国数据转型公司 SNUM SOA soamanager soap SoapUI 接口测试 socket SOD Software Development Notes Sort and Filter Sotap Source Scan spa Hana SPAD Spartacus标准开发 Spartacus二次开发 SPC SPED SPOOL打印 spring Spring Boot SpringBoot SPRO spss打开oracle SQL SQL server SQL Trace sqlite Sqlmap使用教程 sql-sap SQLSERVER SQLSERVER内部研究 SqlSugar sql笔记 SQL语法 sqoop SR2 sRFC srm SSCRFIELDS ssh SSIS ssl SSL证书 ST05 ST12 START STE stm32 STO Stock Type stocktransfer Stopwatch StorageLocationControl StorageType StorageUnitType StorLocControl streamsets string SU20 SU21 SU24 Submission SUBMIT sudoku SUM Suport SUSE SUSE 11 SP4 SUSE Linux SU号码 SXI_MONITOR SXMB_MONI SXMSPMAST Sybase Sybase迁移数据到Oracle Sybase数据库迁移数据到Oracle SYSAUX Sysbase system System_failure s云服务器 网站群服 T184L T681 table TABLE FUNCTION Tableau Tabstrip TCode T-Code tcp/ip TCP/UDP Socket TCPH TCP客户端显示服务器图片 TDSQL-C TeamViewer Tech 专栏 TechArt Teradata Test Automation test-tools Textbox TH_POPUP TiDB TikTok tim发文件服务器拒绝 TITLE TM TMS TODO tomcat tomcat报错 ToPrintControl Tough tp5部署虚拟机服务器 tp5服务器信息 tp5网站 服务器部署 tp5项目链接服务器数据库端口888 TR TR LIST Trace Transact-SQL transformer tree control tRFC trigger TryHackMe typescript T公司 T库存 u3d微信小游戏 u8信息服务器 UB UB STO ubuntu UD udp UD配置 uefi ugui ui UI5 Uibot Uipath UI开发 UI控件 UI自动化 unicode unity Unity 100个实用技能 Unity UGUI Unity3D Unity开发 Unity日常开发小功能 Unity微信小游戏 unity项目部署到服务器上 unity游戏开发 Unity坐标转换 unix Url URP user Userid usual UUID ux U盘 U盘文件拷贝到服务器 VALUE VARIANT VariantBOM vasp计算脚本放在服务器的位置 vb.net VBA VBA开发专栏 VBFA v-bind vbs Vendor CoA VendorCOA VendorRebate Verilog-HDL veth vhm在服务器上创建虚拟机 v-html VIEW vim visual studio visualstudio vite VKM3 VKM4 VL02N VL04 VL10B VL31N VL32N VMware VN VOFM v-on VS Code vscode v-show Vue vue.js vue2 Vue3 基础相关 vue项目如何放到服务器上 VulnHub渗透测试 WA01 WA21 WBS WCF WCN WDA WDA的配置 wdb WE20 WeAutomate Web web app Web Dynpro web gui Web IDE Web Service WebDispather WEBGUI WEBI webm webrtc WebService WEBSOCKET webvervice webview web安全 Web安全攻防 web渗透工具 WF 4.0 while Wifi热点java win10服务器系统数据库 win7系统创建ftp服务器地址 win7系统数据库服务器 Window windows windows服务 windows服务器版本系列 windows系统部署git服务器 Windows系统电脑操作 winform wireshark wlan WM WMS WM仓库管理 WM层面盘点 WM模块 WM配置 WM移动类型 Work Work Flow workflow wpf wps WR60 WRMO wsdl xaf xml xp系统怎么上传到ftp服务器 XS HANA XS Job xsdbool yara规则 yqv001-navigation Y企业信息化集成 Zabbix ZIP zk zookeeper zypper in 安装下载不了 阿里云 阿明观察 埃森哲 X SAP:智慧转型高手论剑 安鸾靶场 安全 安全分析 安全工具 安全架构 安全手册 安全与测试 安阳虚拟服务器 安装 安装报错 安装服务器系统数据库服务器 安装数据库服务器需要的文件 安装完数据库服务器为空 安卓 安卓服务器文件 案例 案卓盒子建立文件服务器 靶机 百度 办公自动化 包含服务器数据库的聊天系统 保护交货计划 保留空格 报表 报表优化 报错 报工 贝叶斯 备份及容灾 备份文件到内网服务器 被合并的公司 笔记 笔记本通过服务器提升性能 币别转换 编程 编程技术 编程世界 编程语言 编程语言排名 编辑器 编辑器转换 变更物料类型 变化 变式物料 标题 标准 标准成本历史清单 标准价 标准价和移动平均价 标准解决方案 表白网站怎么上传到服务器 表关系 表维护生成器 博弈论 补丁 补货监控 不常用 不能从服务器上获取视频文件格式 不同系统可以用一个数据库服务器吗 布局 部署 部署网页到华为云服务器 部署系统时访问服务器 财务报表 财务报表版本 财务管理 财务会计 财务科目导入 财务凭证行项目 财务增强 财务账期 采购 采购订单 采购订单和内部订单对应关系清单 采购订单价格与发票价格差异 采购订单审批 采购订单收货和订单收货区别 采购订单修改触发重新审批 采购订单增强 采购订单状态标准查询配置 采购附加费 采购附加数据 采购合同与采购计划协议关联性 采购价格 采购凭证模板 采购申请 采购审批 采购审批过程 采购收货及发票校验记录清单 采购退货 采购退货操作 采购退货测试 采购退货流程 采购退货业务 采购退货移动类型 采购信息记录 采购组 踩坑 踩坑日记 菜根发展 菜鸟日记 菜鸟之家 参数文件 参与MRP 仓库 苍穹ERP 操作符 操作系统 测绘程序 测试 测试工程师 测试工具 测试环境 策略组 层级查询 查看ftp服务器里的文件 查看服务器上文件命令 查询分析器 查询服务器系统类型有哪些 查找代码段 查找增强点 差异 差异分析 产品 产品成本估算 产品成本核算号 产品创新 产品经理 产品驱动增长 产品运营 常见端口 常见问题 常用bapi 常用sql 常用函数 常用数据类型 常用问题收集 常用自建函数 超自动化 成本对象 成本分割 成本估价历史清单 成本估算 成本估算的取价逻辑 成本核算表计算间接费用 成本核算结构 成本核算中BOM和工艺路线 成本收集器 成本要素 成本要素不可更改 成本中心标准报表 成本中心实际/计划/差异报表 成都最稳定的dns服务器地址 程序/PROGRAM 程序导出 程序人生 程序人生 ABAPer 程序人生和职场发展 程序设计 程序下载 程序员 程序员职业发展 持久类 持续集成 冲销扣料 初级成本要素 初阶 初学 初学者 处理外向交货单 触发器 传媒 传输 传输层 传输请求 传输日期 串口通信 创建服务器共享文件夹 创建物料主数据时的视图状态 创新 创新案例 创新战略 垂直居中 磁盘管理虚拟磁盘服务器 次级成本要素 从u盘引导进入linux6 存储 错误处理 错误解决 达梦 打印 打印次数 打印机 大厂面试 大庆服务器维修 大数据 大数据分析 大数据工程师 大数据可视化 大小写 大型服务器安装什么系统 代码规范 代码片段 代码在哪用到了 带格式的邮件附件 带你走进SAP项目 单片机 单片机系列 单位 单文件 单元测试 弹出框问题 弹性计算 导出电子表格问题 导出内表数据至Excel文件中 导出期末或指定日期库存 导入 导入license 导入数据库显示服务器发生意外 倒冲 到期发票清单VF04功能 登陆语言 登录oa系统输入服务器地址 登录日志怎么实现 低代码 低功耗文件服务器 地球 递归 第三方 第三期间 第一个ABAP程序 点击ftp服务器的文件弹出登录界面 电话 电商 调试 调试器 调用sap接口 调用接口 调用子屏幕修主屏幕 调优 调制与编码策略 鼎信诺显示连接服务器失败 订单 定价 定价过程 定价例程 定价值 定时采用ajax方式获得数据库 定时器 定时任务 定时同步文件到ftp服务器 定义 定义详解 动态安全库存 动态获取字段名 动态类 动态属性和事件绑定 冻结功能 冻结库存 冻结库存转库 读取文件内表数据 端口 队列 队列末尾 对象 对象不支持属性或方法dbzz.html 多扣料冲销 多流 多人共用 不能访问目录 多送或者少送 多线程 多引擎数据库管理系统 多源异构数据汇聚平台 多重科目分配 俄罗斯报表 二代增强 二级标题-003-Pacemaker 发票处理系统 发票冻结原因 发票冻结原因及解除冻结 发票小金额差异 发票自动化 翻译 反冲 反记账 反记账数据转换 返工 泛微OA调用SAPwebservice详解 泛微OA开发 方便小函数 方格子无盘服务器怎么用 访问后台接口 非技术区 非技术文章 非限制库存 分包后续调整 分布式 分类 分类账 分配表 分配分摊 分三个屏幕的OOALV 分析云 分享学习 服务 服务类采购订单的收货审批确认 服务器 服务器 文件类型 服务器 稳定 重要性 服务器1g内存装什么系统 服务器cpu只显示一个核 服务器host文件目录 服务器raid1做系统 服务器vos系统怎么装 服务器安全证书登陆失败怎么办 服务器安装系统sles系统 服务器安装系统如何选择网关 服务器安卓系统安装教程 服务器被攻击 文件被删除 服务器比对数据库差异文件 服务器标识信息 服务器部署的参数文档 服务器操作系统套什么定额 服务器操作系统用什么好 服务器操作系统与数据库 服务器查看操作系统类型 服务器查看数据库日志文件 服务器查文件 服务器出生点配置文件 服务器传送过来的是什么信息 服务器搭建网站方案500字 服务器大内存系统吗 服务器的ftp数据库信息 服务器的参数配置文件 服务器的地址信息 服务器的共享文件地址 服务器的系统文件怎么恢复出厂设置密码 服务器登录需要信息吗 服务器定时任务系统 服务器读取不了文件 服务器放文件 服务器故障修复费用需要摊销吗 服务器光纤存储系统 服务器接入协议是什么 服务器快照能代替网站备份吗 服务器扩容文档说明 服务器链接数据库配置文件 服务器两个网站公用一个数据库 服务器默认文档 服务器内存扩展板位置 服务器内存条的种类文档 服务器内存性能好 服务器内存在哪个位置 服务器内核文件在哪 服务器迁移操作系统 服务器迁移需要哪些操作系统 服务器如何查看文件个数据库文件夹 服务器如何分多个文件 服务器设计虚拟内存 服务器设置上传文件大小 服务器适合安装深度系统deepin 服务器数据库查看版本信息 服务器数据库查看版本信息失败 服务器数据库的文件读取数据库 服务器数据库系统 服务器数据库协议 服务器数据库用什么系统 服务器数据系统 服务器网站关联数据库 服务器微端位置 服务器维护 吸尘器 服务器维护费入什么科目 服务器文件地址 服务器无盘镜像导入 服务器物理机部署 服务器物理内存只增不降 服务器物理组成 服务器系统安全方案 服务器系统安装ansys 服务器系统安装oracle数据库 服务器系统安装报价 服务器系统版本选择 服务器系统方案 服务器系统和数据库的用处 服务器系统架构讲解 服务器系统盘50g什么意思 服务器系统盘大文件检测指令 服务器系统盘分多少 服务器系统数据库安装 服务器系统性能灯 服务器系统有多大 服务器系统与数据库 服务器系统怎么恢复出厂设置 服务器修改mime类型 服务器修改密码规则 服务器虚拟化与企业私有云 服务器虚拟机的c盘怎么加 服务器选择系统版本 服务器与本地文件共享 服务器怎么清除日志文件 服务器只读团体字信息 服务器中文档存储在哪 服务器主板坏了怎么维修 服务器主板维修电子书 服务器装系统快吗 服务器装系统无显示屏 服务器租赁文档 服装信息化 浮点运算 福建工程学院计算机网络技术期末考试试卷 辅助线框 付款 付款流程 付款条款 付款信息 负号前置 负库存的相关设定 复合角色 复制创建采购申请 复制控制 复制文件到服务器 内容不足 概念整理 感悟 高级退货管理 高阶 高可用架构 高斯坐标 高性能服务器一体机 高性能有限元计算服务器 个人经历 个人开发 个税系统代理服务器参数是什么 个性化定制 给标准报表添加字段 给一个oracle账号密码是什么 更改成本要素类别 更改物料类型 更新服务器数据库文件位置 工厂 工厂管理 工厂内库存转移 工厂日历 工具 工具集锦 工具类 工具使用 工具使用指南 工具手册 工具系列 工业软件 工艺路线 工资发放和结算 工资计提 工作 工作笔记 工作量法 工作流程自动化 工作流自动化解决方案 工作杂记 工作总结 公式计算 公司财务系统html 公司代码货币 公司服务器可以查询员工哪些信息 公司间STO 公司间STO‘ 公司间过账 公有云-华为 功能 功能测试 功能开发说明书 供应链 供应链管理 供应商 供应商采购冻结 供应商评估 供应商清单输出 供应商子范围 沟通能力 购买云服务器配置项目 估价容差测试 固定点算术 固定资产 固定资产会计 固定资产折旧 固定资产折旧码 顾问之路 挂微群发软件需要什么服务器信 关闭 关系模型 关于R/3 关于赛锐信息 关于信用管理--信用更新 管理 管理数据库 广播 消息 没有服务器 归档 规格说明书 国产器件 国产软件 国产数据库 国科大学习 国内服务器内存缓冲芯片 国外服务器显示数据库 哈希算法 海康4200服务器进不去系统 海口服务器系统租用 海纳百川 含税价 邯郸虚拟服务器 函数 函数/FUNCTION 函数技巧 函数模块 函数式编程 好书推荐 合作案例 合作伙伴 和车神哥一起学 核心主数据 黑盒测试 黑名单 恨ta就教ta  SAP 红蓝攻防篇 后端 后端开发 后鸿沟时代 后台Job 后台表 后台导出表数据 后台服务器 后台开发 后台作业 胡思乱想 湖仓一体 互联网-开源框架 华为 华为2012服务器系统安装教程 华为hana服务器型号齐全 华为服务器gpu芯片 华为服务器raid1装系统 华为服务器安装2012系统怎么分区 华为服务器安装nas系统 华为服务器扩容内存进不去系统 华为服务器修改root密码 华为无线局域网 华为云 华为云服务器更换操作系统 华为云服务器还需要确定位置吗 华为云服务器系统备份 华为云服务器自己维护吗 华为怎么安装服务器系统版本 环境搭建 缓存 汇率维护 汇率转换 汇总 会计 会计分录 会计基础资料 会计科目 会计科目表 会计科目删除 会计凭证批量导出 会计凭证清账 会计凭证替代 会计凭证中的注释项目 会用到的 绘图 绘图工具 惠普服务器G8系列做raid 活动 伙伴功能 货币过期 货币类型 货币停用 货源清单 获取窗体下的所有控件 获取汇率 机器人流程自动化 机器学习 鸡肋 积累 基本单位 基本配置 基础 基础模块 基础入门 基于收货的发票校验配置过程 基准日期 集成 集团货币 集中采购 己建立BOM清单 计划策略 计划策略40 计划订单 计划时界应用 计划时界应用测试 计划数量小于收货或发票数量 计划协议 计划行类别 计划行类别中请求/装配 计划行统计清单 计量单位 计入物料成本 计算步骤 计算机 计算机毕业设计 计算机基础 计算机基础知识 计算机科学分成什么模块 计算机体系 计算机图书 计算机网络 计算机网络 王道 计算机网络rip路由表题目 计算机网络理论概述 计算机网络原理(谢希仁第八版) 计算机网络远程管理作业答案 计算机维护 计算机信息管理自考-04741计算机网络原理 计算机自学考试 记录问题 记账冻结 记账码 技能 技巧 技术 技术分享 技术干货 技术交流 技术类 技术沙龙 技术渗透 技术文档 技术总结 寄售 寄售交货 寄售结算规则 寄售模式 加密 加密算法 加前导零 加速器 价格修改历史 架构 架构设计 架设企业文件服务器 假期日历 监控 监控服务器系统备份 监控服务器系统密码忘了怎么办 监控平台 监控事件 监控系统 监控系统里服务器 监控系统是否要服务器 减值准备 检验点 检验计划 检验类型 检验类型89 检验批 检验批系统状态 简单窗体实现 简单的数据库管理系统 用什么云服务器 简述客户 服务器系统的组成 建议组件分配到BOM 渐变色UI描边 将服务器上数据库复制到本地文件 将已有项目转移到云服务器 交互 交货单 交货计划固定 交货计划期间保护 角色 角色继承 角色设计 教程 教育电商 阶梯价格 接管日期 接口 接口测试 接口方式 接口问题处理 接口-银企直连 结算会计年度 截取年月日在hana中怎么写 解决方案 界面 借贷 金丹期 金蝶 金蝶 系统服务器繁忙 金蝶K3 金蝶二次开发好跳槽吗 金蝶服务器维护 金蝶云星空操作手册 金蝶中间件部署报栈溢出 金额转换 金税接口 仅在总账中过账 仅装配 仅组件 进口采购 进入文档服务器不能输入密码 进销存 进销存报表 进销存系统怎么部署到自己服务器 经历 经验 经验分享 经验总结 精诚MES 精诚智慧工厂 精选 境外服务器稳定 镜像 玖章算术 就是玩儿 矩阵 聚合函数 聚集函数 开发 开发笔记 开发工具 开发管理报表 开发环境 开发平台 开发语言 开发者 开发知识点 开源 开源ERP 开源-JDK-镜像 开源系列谈 开源项目 看板 考试 考试复习 考研 科技 科技公司 科目行项目不显示 可配置物料 客供料 客户 客户冻结 客户端往服务器写文件 客户端修改opc服务器的数据 客户服务 客户-服务器数据库系统举例 客户服务器系统的特点是 客户关系处理能力 客户关系管理 客户贸易伙伴 客户信贷管理解析 客户主数据 课程 课程笔记 课堂笔记 空调控制系统节点服务器 空间管路 口碑效应 库存地点MRP 库存地点权限控制 库存管理 库存决定 库存批次 库存需求天数关系 库龄 跨公司STO 跨国跨公司间转储 块设备驱动 快捷 快捷键 快手服务器协议 快速定制 框架 鲲鹏服务器系统重装 扩充存储地点 扩展 扩展知识 来也科技 蓝桥杯 蓝牙 蓝牙A2dp 浪点服务器芯片 乐鑫 类型强转 理解 历史库存sap 利润表 利用云服务器传递信息 连接 链表 良仓太炎共创 两步法拣配 料主数据中的屏幕字段 列表 列存索引 列存引擎 零基础快速学习 ABAP 零散知识 零售 零售行业 零碎(凑数)的算法[题] 零停机 流程自动化 流水号 流水码 流星的程序集 漏洞预警 录屏 录像机显示服务器 乱码 论文 论文阅读笔记 蚂蚁无线管理器服务器 买个服务器来挂协议 买了一个服务器修改密码 漫谈计算机网络 贸易伙伴的应用 没有MANDT字段 没有中间凭证冲销 媒体 每日摸鱼新闻 门店视图 门店主数据 免费流量获取 免关税 面试 面向对象编程 面向对象方法 敏捷 敏捷开发 命名规范 模板语法 模块 模块测试 莫队 莫队算法 目标跟踪 内表 内表类型 内表字段 内部订单 内部订单清单 内部订单删除问题 内部订单月结差异 内存管理 内存数据库 内存图片 内核 内核驱动 内核驱动开发记录 内嵌Excel 内容服务 内容服务平台 内容服务软件 内容库 内外码转换 内网 内网渗透 内向交货单 那个网站的服务器不限制内容 能不能用pe安装服务器系统安装系统 能力建设 能源 年结 爬虫 排行榜 排序算法 盘点 盘点流程 培训 配额协议 配置 配置SAP服务器外网登陆以及网络故障解决示例 配置笔记 配置高性能文件服务器方案 批次 批次拆分 批次管理 批次号 批次确定 批次特定单位 批次特性 批导程序模板 批导模板下载 批量采购冻结 批量导出表数据 批量更改会计凭证文本 批量维护 批量用户账户锁定 平行记账 凭证冲销的种类和处理逻辑 凭证打印 凭证流 凭证状态 凭证状态S 屏幕(Dialog)开发 屏幕SCREEN字段属性 屏幕程序 屏幕设计 破坏式创新 破解 期初库存金额 期初资产数据导入 期刊阅读 期末不挂科 期末复习 期末库存金额 其他 其他应付款-代扣代缴 其他知识点 奇技淫巧 麒麟服务器数据库协议 企业/办公/职场 企业安全 企业服务器文件管理 企业管理软件 企业级应用 企业解决方案 企业内部控制 企业内容管理 企业软件 企业微信 企业文件服务器备份 企业系统 企业信息化 企业信息化前沿 企业资源计划 启用WEBGUI服务 迁移驾驶舱 前端 前端基础练手小项目 前端架构 前端开发 前端开发相关 前端框架 前后端 前台操作 嵌入式 嵌入式开发 嵌入式学习--STM32 嵌入式硬件 清软英泰plm服务器安装文档 清帐 清账 清账凭证 请求 请求传输再还原 请求号 区块链 区块链技术 区域菜单 驱动开发 取价逻辑 取消审批 取样策略 取值相关 去前导零 全角半角转换 全球最大sap hana系统建立在以下哪个厂商的服务器产品上 全球最大的采购服务平台 权限 权限对象 权限管理 权限合规检查系统 权限控制 権限 缺料提醒及警报 热点开启 流程 人工智能 日常ABAP开发记录 日常Bug 日常工作 日常记录 日常学习工作经验分享 日常知识分享 日记 日历 日期 日期函数 容器 容器服务 容灾 如何安装华为服务器系统软件 如何把项目部署到内网服务器 如何传输本地文件到服务器 如何从服务器上更新文件 如何导出序时账 如何读取服务器文件数据 如何复制服务器数据库文件大小 如何将CRM系统上传到服务器 如何将hana数据同步到oracle 如何设置sap生产订单自动关闭 如何统计输出条目数量 如何修改服务器root密码 如何知道有哪些物料存在BOM 入后在服务器修改数据库 入库 入门 入侵一个网站的服务器拿数据 入行SAP咨询 入职甲方 软件 软件安全 软件部署 软件测试 软件测试知识 软件程序 软件工程 软件教程视频集合 软件开发 软件生态 软件下载 软件显示未找到服务器 软考 软实力 软硬件运维 赛锐信息 三代增强 扫描代码 删除 删除记录 商城小程序买哪种服务器 商品主数据 商务智能 商业软件 商业智能 上传 上传附件出错 上传图片 上传文件到云服务器存储路径 上架策略B 上架策略C 上架策略P 上线 上云 设备维修 设计模式 设计与维护类 设置参数缺省值 社保管理系统连接不上服务器 社区活动 深度学习 深度优先 深澜系统服务器架构 审计导出表数据 审计序时账 审批策略 审批代码 渗透 渗透笔记 渗透测试 渗透测试自学日志之基础原理篇 渗透工具之信息收集 升级 生产版本 生产版本排序规则 生产版本选择规则 生产版本选择逻辑 生产版本选择顺序 生产版本优先顺序 生产成本收集 生产排程 生产系统服务器主机名怎么看 生活 生活感悟 什么情况使用一次性供应商及客户 什么是BAPI 什么是序时账 时间比较 时间对象 时序数据库 实施 实施SAP 实施项目 实时集成变式 实时库存 实体服务器怎么配置文件 实习 实习生 实战SAP程序开发 使用感受 使用决策 事务代码 事务代码LX04 事务代码WRCR 事务技术名称的显示与隐藏 事务码/TCODE 视觉语言导航 视频 视频处理 视频监控选择服务器的配置文件 视图 收货冲销 收货处理 手动加载ICU库 手机主服务器怎么配置文件 售后管理 输入历史记录 暑假复习 树查询 树莓派 数独 数据安全 数据仓库 数据仓库学习分享 数据从hana倒回Oracle的方法 数据导入 数据导入和处理 数据分析 数据分析 + 机器学习 数据分页 数据服务器 操作系统 数据服务器什么系统软件 数据服务器文件夹 数据服务器与文件服务器 数据格式 数据湖 数据结构 数据结构与算法 数据科学入门 数据可视化 数据库 数据库备份到文件服务器 数据库表字段 数据库操作 数据库的文件服务器配置 数据库服务器部署文档 数据库服务器网页 数据库服务器系统 数据库服务器系统崩溃 数据库服务器系统的 研发 数据库服务器系统软件 数据库服务器压缩文件 数据库管理与维护 数据库规划、部署 数据库和服务器什么协议 数据库和服务器系统怎么安装 数据库技术 数据库架构 数据库监控 数据库监控软件 数据库开发 数据库文件共享服务器配置 数据库系统概论 数据库系统原理 数据库系统怎么与软件连接到服务器 数据库与服务器通讯协议 数据库最新排名 数据类型 数据链路层 数据浏览器的字段名称显示 数据迁移 数据迁移驾驶舱 数据迁移完整性检查 数据挖掘 数据治理 数据中台 数据中心IDC架构及容灾与备份 数据重置 数据字典 数学建模篇 数字化 数字化管理 数字化转型 数字货币 数字业务整合 双计量单位 双路服务器只显示一半内存 双碳 双网文件服务器 水晶报表 税改 税率 税友报税软件让修改服务器地址 私有云虚拟化服务器群 思爱普 思科里服务器的dns配置文件 死锁 四代增强 四元数 搜索帮助 搜索引擎 搜索引擎营销 速食 算法 随便看看 随机方向 随机数 损益表 所见即所得的打印功能 锁定 锁定事务代码 抬头文本被强制清空 探测服务器操作系统版本 特殊库存 特殊移动标记 特性 腾讯云 提升工作效率的工具 题解 替代 替代/校验/BTE 天正服务器不显示 添加列到指定位置 条件 条件表 条件类型 条码系统 跳槽 跳过代码 贴花 通过SQVI增加表格字段 通信协议 同步 同方服务器系统安装 统驭科目理解 透明表 图论 图像处理 吐槽 外币评估 外币评估记账 外部采购 外部断点 外贸管理软件 外贸软件 外向交货单 外协加工 外语能力 完美汽配管理系统v12服务器 完整的采购订单业务信息凭证流 玩转STM32 万彩录屏服务器不稳定 网吧无盘用华为服务器 网卡 网卡驱动 网络 网络安全 网络安全学习 网络存储服务器的系统 网络管理定时备份服务器网站文件 网络接口 网络配置 网络通信 网络拓扑仿真模拟 网络文件服务器有哪些 网络协议 网络协议栈 网络设备 网络规划 网络工具开发 网络营销 网页 服务器 数据库 网页如何从服务器获取数据 网页与服务器数据库 网易数帆精彩活动 网站服务器存储数据库吗 网站服务器没有安装数据库 网站服务器没有数据库备份 网站服务器与系统部署策略 网站跨域访问服务器数据库 网站上传到服务器需要上传数据库 网站数据库断连重启服务器 网站虚拟服务器1核1g速度 网站需要数据库服务器吗 网站与数据库不在同一服务器 网站云服务器需要数据库吗 往来余额结转 往年购置资产 微前端 微软 微软azure 微信 微信小程序 为服务器安装操作系统的流程图解 为什么文件上传不了服务器上 为资产分类定义折旧范围 维护视图 维护思路 委托加工 委托租赁云服务器协议 委外 委外加工 委外加工采购流程里副产品的收货 委外库存 委外销售订单库存 未能找到使用主机名称的服务器 未能注册模块 未清项管理 文本编辑器 文本表 文档管理 文档管理软件 文档协作 文档资料 文华软件登录显示请选择服务器 文件存储服务器 方案 文件服务器 华为 文件服务器 内存需求 文件服务器 内存需求大么 文件服务器报码表xls 文件服务器存储 文件服务器放在哪里 文件服务器和nas存储 文件服务器和数据库的区别 文件服务器可以存储的文件类型有 文件服务器内存 文件服务器内存要大吗 文件服务器网盘 文件服务器为何存不了大文件 文件服务器帐号切换 文件服务器属于固定资产吗 文件共享服务器所需虚拟机资源 文件名带中文上传ftp服务器变乱码 文件虚拟服务器 文件一般存在数据库还是服务器 问答 问题 问题处理 问题记录 问题解决 问题总结 我的SAP系统开发里程碑 我的问题 无代码 无代码开发 无法输入事务代码 无盘服务器工作流程 无盘服务器内存多大好 无盘服务器配置20台 无线监控设置smtp服务器 无值记账 物定工厂物料状态 物联网 物料 物料编号 物料编码 物料编码更改 物料变式 物料单位更改 物料分类账 物料管理 物料价格清单 物料库存/需求及供应天 物料凭证 物料凭证类型和交易/事件类型 物料帐 物料账 物料账期 物料主数据 物料主数据视图 物料主数据视图维护状态 物料组 物料组的分配规则 物流 习题 系统/网络/运维 系统安全 系统安装 系统服务器常见出厂密码有哪些 系统集成 系统架构 系统开发 系统未配置文件服务器是啥意思 系统相关 系统云端服务器 系统怎么访问数据库服务器 系统中的缺料情况及控制 下架策略A 下架策略M 下拉框 下载 下载程序 先后顺序 先进的数据库服务器操作系统 先进生产力工具大全 现金管理 现金流量表 线段树 线性规划 响应函数 向上取整 向下取整 项目 项目表 项目部署在服务器上的形式 项目管理 项目迁移 项目前端 项目实施经验贴 项目实战 消耗冲销 消息服务器待办事项数据库 消息控制采购订单 销售 销售(SD)凭证流 销售订单 销售订单冻结 销售订单库存 销售订单项目类别 销售订单信用冻结 销售订单中的条件类型 销售发货冻结 销售发货可用性检查 销售交货 销售开票冻结 销售税 销售项目开票 销售员 小白 小白的SAP问题积累 小程序 小程序云服务器磁盘怎么分区 小丁的blog 小记 小结 小项目(新手可做) 小型服务器的操作系统 小型企业网络存储服务器系统方案 效率 协议 心得感悟 新程序员 新基建 新建表维护程序SM30 新收入准则 新手时期 新闻 新语法 新增漏洞报告 新增移动类型科目确定配置 新总帐 薪酬核算 薪酬计提和发放 信贷 信息安全 信息安全顶会论文导读 信息化 信息化建设 信息记录 信息收集 信用额度 信用管理 行业 行业客户信息 行业趋势 性能测试 性能优化 修改,F4帮助,添加按钮 修改Q系统代码 修改表数据 修改服务器端的访问模式 修改服务器网络 修改服务器信息使密钥不过期 修改记录 修改交货单 修改历史 修改数据库安装的服务器 系统时间 修改物料组 虚拟服务器需要网关吗 虚拟服务器英文翻译 虚拟服务器资源 虚拟服务器资源配置 虚拟服务器最大磁盘2TB 虚拟化 虚拟机 虚拟机迁移后服务器无法启动 虚拟机如何做服务器系统 需求分析 需求类型 需要访问其他服务器信息吗 序列号 序列号管理 序列号清单 序时账导出方法 序时账核对 选型 选择屏幕 选择屏幕打开文件路径 学术前沿 学习 学习ABAP笔记 学习笔记 学习方法 学习人生 学习问题 学校三级项目 循环 压力测试 压力测试 闪存 亚马逊 亚马逊云科技 研发管理 研发效能 业财一体化 业务 业务处理 业务范围 业务分析 业务功能 业务顾问 业务顾问的小需求 业务伙伴 业务价值 一般总账科目数据转换 一次性供应商及客户 一次性供应商及客户应用经验 一个服务器 定时从各个系统取数据 一键还原服务器系统 一台服务器能存放几个系统 一台服务器如何部署多个项目 一套适合 SAP UI5 开发人员循序渐进的学习教程 医药行业 移动开发 移动类型 移动类型101/102 移动类型325 移动类型343 移动类型配置 移动平均价 异步Function 异常 异速联客户端未获取到服务器信息 音频编码解码 音视频 音视频开发 银企直连 银企直连接口 银企直联 银行 银行账户管理 隐式增强 印度 印资企业 应付职工薪酬 应收应付 应用设计 应用性能监控 英一 英语 硬件服务器搭建系统步骤 用户 用户定义的消息搜索配置 用友 优化 由于质量原因而冻结 邮件发送 邮件服务器及相关配置 邮件合并居中,框线 邮件预警 游戏 游戏服务器修改其他玩家数据 游戏开发 游戏引擎 有没有便宜一点的网站服务器 有限元模拟 余额不平 与SAP集成相关 语言 语言概览 语音 预留 预算管理 预制凭证 原创 原创项目 原力计划 源码 源码分析 月结 阅读分享 云 文件 服务器 文件怎么恢复出厂设置密码 云ERP 云安全 云备份 云财经服务器维护 云存储系统服务器版安装 云打印 云端 云服务 云服务器 云服务器 ftp上传文件大小 云服务器 选择什么系统版本 云服务器 重做系统软件 云服务器1和1g装什么系统好 云服务器cpu系列 云服务器ecs销售渠道 云服务器ubuntu修改密码 云服务器安装其他版本系统 云服务器部署mqtt协议通信 云服务器部署tomcat文件修改 云服务器磁盘怎么安装系统 云服务器存放位置 云服务器搭建推流系统 云服务器可以存放文件吗 云服务器免费suse系统 云服务器哪种系统好用 云服务器如何修改ssh密码是什么 云服务器软件文件管理 云服务器数据库密码修改zoc 云服务器网络配置信息查询 云服务器维护安全管理制度 云服务器物理部署位置 云服务器系统类别怎么选 云服务器系统租赁费用 云服务器修改ssh密码 云服务器需要装系统吗 云服务器怎么存文件大小 云服务器怎么多人进去编辑文档 云服务器怎么设置数据库文件 云服务器转租赁协议 云基础架构 云计算 云计算/大数据 云解决方案 云排产 云平台 云文档管理 云文档管理系统 云原生 云运维&&云架构 运算符 运维 运维开发 运维实施 运维系统 服务器监控 运维相关 运行效率 杂货铺 杂记 杂谈 杂项 再次冲销 在服务器删除的文件 恢复出厂设置密码 在服务器上建一个文件夹 在建工程 在建工程期初数据 在没有配置的dns服务器响应之后名称 在制品 怎么看系统服务器类型 怎么修改存储在服务器的数据 怎么修改服务器php版本信息 怎么在服务器上备份数据库文件在哪里 怎么在服务器上复制网站 怎么找到服务器的文档 怎样读取服务器上的数据库文件 怎样修改美国的服务器节点 增长策略 增长黑客 增强 增删改查 增值税 增值税调整 掌握物料库存,需求及供应情况 账号 账期设置 账期未开 折旧记账数据不在BSEG 正确使用一次性供应商及客户 正则表达式 证书 知识分享 知识管理 知识库 知识图谱 直线折旧法 职场 职场和发展 职业 职业发展 只存放文件的服务器 指纹识别 指纹字典 指针 制造 制造商物料 质量部门 质量管理 质量信息记录 质量证书 智慧企业 智能开发 智能运维 智能制造IT规划 智能制造执行系统 中国本地化内容 中间件 中阶 中维监控显示无法连接服务器失败怎么办 中文名称的文件传不到ftp服务器 中小企业 中小型网站服务器搭建方案 中转 重复打印 重复制造 重置期初数据 重置业务数据 重置主数据 重置资产会计数据 主检验特性 主批次 主数据 主数据导入 注册机 注解 注塑行业ERP 注意事项 转换Lookup功能 转义字符 转载 装服务器得时候选择系统版本 状态栏 咨询 资产 资产负债表 资产会计 资产接管 资产年初切换上线 资产折旧 资金 资料 资讯 子屏幕 字典 字段符号 字符操作 字符串 字符串拆分 字符串前导0 字节跳动 自动补货 自动创建交货单 自动登录SAPGUI 自动化 自动化测试 自动化工具 自动清账 自动邮件 自考 自然语言处理 自学成才 综合 综合资源 总结 总账 总账科目 总账行项目中凭证缺失 总账余额结转 租赁mt4虚拟服务器 组件 组织架构 组织结构 最大限制 最佳业务实践 最具性价比的方式 作业返冲 作业价格计算 坐标反算