网络基础知识

计算机网络的功能

计算机网络通过数据信息的快速传递,实现资源共享,通过提高可靠性,提供负载均衡与分布式处理能力,实现信息集中管理以及综合信息等服务。具体来说,计算机网络的功能有:

1、数据通信

2、资源共享

3、分布式处理

4、提高可靠性

5、负载均衡

下面我们主要回顾一下计算机网络的数据通信功能。

数据是如何通信的,通信过程中都发生了什么?我们可以根据OSI(Open System Interconnection,即开放系统互联)的七层模型来理解:

网络基础知识_第1张图片

TCP/IP与OSI相比,先定义协议,再定义参考模型,并且简化了高层的协议,将会话层和表示层融合入到应用层中,精简了通信层次,大大提高了通信效率。

网络基础知识_第2张图片

在TCP协议中,通信双方将通过三次TCP报文实现对信息的了解,并在此基础上建立一个TCP连接,通信双方的这三次TCP报文段的交换过程,也就是我们通常所说的TCP连接建立实现的三次握手(Three-Way Handshake)过程。

网络基础知识_第3张图片

四次挥手是指TCP连接的释放,由于TCP连接是全双工的,因此每个方向都必须单独进行关闭,所以四次挥手就是终止协议。

网络基础知识_第4张图片

计算机网络的组成

终端:用户进入网络所用的设备,如电传打字机、键盘显示器、计算机等。

在局域网中,终端一般由微机担任,叫工作站,用户通过工作站共享网上资源。

主机:有于进行数据分析处理和网络控制的计算机系统,其中包括外部设备、操作系统及其它软件。在局域网中,一般由服务器担任,它应具有丰富的资源,如大容量硬盘、足够的内存和各种软件等。

通信处理机:在接有终端的通信线路和主机之间设置的通信控制处理机器,分担数据交换和各种通信的控制和管理。在局域网中,一般不设通讯处理机,直接由主机承担通信的控制和管理任务。

本地线路:指把终端与节点蔌主机连接起来的线路,其中包括集中器或多路器等,是一种低速线路,费用和效率均较低

计算机网络的分类 – 按地理范围分类

局域网(LAN):计算机网络按地理范围可以分为局域网(LAN)、城域网(MAN)和广域网(WAN)。局域网是一种在小区域内使用的,由多台计算机组成的网络,覆盖范围通常局限在10千米范围之内,属于一个单位或部门组建的小范围网。

城域网:城域网是作用范围在广域网与局域网之间的网络,其网络覆盖范围通常可以延伸到整个城市,借助通信光纤将多个局域网联通公用城市网络形成大型网络,使得不仅局域网内的资源可以共享,局域网之间的资源也可以共享。

广域网:广域网是一种远程网,涉及长距离的通信,覆盖范围可以是个国家或多个国家,甚至整个世界。由于广域网地理上的距离可以超过几千千米,所以信息衰减非常严重,这种网络一般要租用专线,通过接口信息处理协议和线路连接起来,构成网状结构,解决寻径问题。

网络基础知识_第5张图片

计算机网络的分类 – 按照管理方式分类

计算机网络按照管理方式可以分为对等网 (工作组) 和客户机/服务器网 (域) 。

对等网 (工作组):

通常是由很少几台计算机组成,现在一般都称之为工作组,工作组采用分散管理的方式,因为账号存放在每台主机上,相同的配置工作需要在每台主机上重复进行,所以工作量较大,不适合大型网络的管理。

网络基础知识_第6张图片

客户机/服务器网 (域):

通常应用于大型网络中,采用集中管理方式,现在一般称之为域,在域中用户账号统一存放在域控制器上,管理员可以在DC上通过组策略对账号的权限进行设置,而不需要在每台机器上都设置一遍,大大减轻了管理人员的负担。适合大型网络的管理。

网络基础知识_第7张图片

计算机网络的分类 – 按照传输方式分类

 广播网络(Broadcasting Network);

计算机网络按照传输方式可以分为广播网络 (Broadcasting Network)和点对点网络 (Point to Point Network)。网络中的计算机或设备通过一条共享的通信介质进行数据传播,所有节点都会收到任何节点发出的数据信息。这种传输方式主要应用于局域网中。广播网络中有三种传输类型:单播、组播和广播。

网络基础知识_第8张图片

点对点网络 (Point to Point Network):

网络中的计算机或设备通过单独的链路进行数据传输,并且两个节点间都可能会有多条单独的链路。这种传播方式主要应用于广域网中。

网络基础知识_第9张图片

交换机和路由器的功能

计算机网络也包含一些非常重要的硬件,比如网络传输媒体、中继器、集线器、交换机和路由器,下面我们就着重讲解一下交换机和路由器的功能。

交换机(多端口网桥):

是一种用于电/光信号转发的网络设备,它可以为接入交换机的任意两个网络节点提供独享的电信号通道。交换机根据工作位置的不同可分为广域网交换机和局域网交换机,广域网交换机是一种在通信系统中完成信息交换功能的设备,一般应用于数据链路层。交换机的每个端口都具备桥接功能,可连接一个局域网或一台高性能服务器或工作。

网络基础知识_第10张图片

路由器(即网关设备):是连接互联网中各局域网、广域网、城域网的一种互联设备,一般应用于网络层,它会根据信号的情况自动选择和设定路由,以最佳路径,按照前后顺序发送信号。连接两个或多个网络的硬件设备,在网络间起网关的作用,读取每一个数据包中的地址然后决定如何传送的专用智能性的网络设备。

网络基础知识_第11张图片

IP网段规划以及二进制转化 – IP规划

IP地址的格式:

IP地址=网络地址+主机地址

若IP进行了子网划分:

则IP地址=网络地址+子网地址+主机地址

网络地址是互联网上的节点在网络中具有的逻辑地址。MAC地址,处于数据链路层,IP地址处于网络层,端口号处于传输层。

例如IP地址,192.168.54.4.

显然属于一个C类地址,网络地址为:192.168.54.0;

主机地址为:0.0.0.4。

在设计互联网络时,为了便于寻址以及层次化构造网络,每个IP地址包括两个标示码(ID),即网络ID和主机ID。同一个物理网络上的所有主机都使用同一个网络ID,网络上的一个主机(包括网络上的工作站,服务器和路由器等)有一个主机ID与其对应。IP地址根据网路ID的不同分为5种类型,A类地址,B类地址,C类地址,D类地址和E类地址。

IP网段规划以及二进制转化 – 子网

对于一般由路由器和主机组成的互连系统,我们可以使用下列方法定义系统中的子网。为了维护安全,当一个较大的网络被划分为较小的网络时,这就是所谓的子网。对于较小的网络,维护更容易。

IP网段规划以及二进制转化 – IP地址段的划分

A类地址

一个A类IP地址由一个字节的网路地址和3个字节主机地址组成,网络地址的最高位必须是“0”。最高字节网络的地址范围从00000000-01111111。

地址范围为:1.0.0.0到126.0.0.0。默认的子网掩码为:255.0.0.0

数量:可用的A类网络有126个。每个网路可以容纳2^24-2个,约一亿多个主机。

应用:A类地址分配给规模特别大的网络使用。A类网络用第一个字节表示网络本身的地址,后面三个字节作为连接于网络上的主机地址。例如MS和IBM,阿里这样公司的网络。

B类地址

一个B类IP地址由2个字节的网路地址和2个字节的主机地址组成,网络地址的最高位必须是10。

网络的地址范围从:10000000.00000000-10111111.11111111

地址范围为:128.0.0.0到191.255.255.255

默认的子网掩码为:255.255.0.0

数量:可用的B类网络有:2^8*64个,约有1.6万个,每个网络能容纳的主机有:2^16个,约6万多个。

应用:B类地址一般分配给中性网络。

IP网段规划以及二进制转化 – IP地址段的划分

C类地址:

一个C类地址由3个字节的网络地址和1个字节的主机地址组成,网路地址的最高位必须是“110”。

网络地址的范围是:11000000.00000000.00000000-11011111.11111111.11111111

转化为10进制为:192.0.0.0到223.255.255.255

默认的子网掩码为:255.255.255.0

数量:可用的C类网络有:2^16*32个,约有209万个。每个网路能容纳的主机个数为:254个。

应用:C类地址一般分配给小型网路,如一般的局域网和校园网,它连接的主机数量比较少,把用户分为若干段进行管理。

D类地址:

D类地址多用于多点广播(Multicast)。D类IP地址是以“1110”开始的,它是一个保留的地址。它并不指向特定的网络,目前这一类地址被用在多点广播中。多点广播用来一次寻址一组计算机,它标识共享同一协议的一组计算机。

E类地址:

以“11110”开始,为将来使用保留。

注:全零"0.0.0.0"地址对应于当前的主机,全1地址(“255.255.255.255”)是当前子网的广播地址。

在IP地址3种主要类型里,各保留了3个区域作为私有地址。

其地址范围如下:0.0.0.0~255.255.255.255,包括了mask地址。

IP网段规划以及二进制转化 – IP地址段的划分

网络基础知识_第12张图片

A类 0.0.0.0到127.255.255.255

B类 128.0.0.0到191.255.255.255

C类 192.0.0.0到223.255.255.255

D类 224.0.0.0到239.255.255.255

E类 240.0.0.0到247.255.255.255

协议的作用及常见协议 – 协议的作用

一个网络协议的作用主要有两个:

       一是建立对等层之间的虚拟通信;

       二是实现层次之间的无关性。

层次间的无关性所谓层次间无关性,就是指较高层次和相邻的相低层次进行通信时,只是利用较低层次提供的接口和服务,而不需了解低层实现该功能所采用的算法和协议的细节;较低层次也仅是使用从高层系统传送来的参数和控制信息,这就是层次间的无关性。

协议的作用及常见协议 – TCP/IP应用层协议介绍

应用层是TCP/IP协议组的顶层,所有的应用程序包含在这一层中;它们包括:HTTP ,FTP,Telnet,SMTP,SNMP,DNS等。

网络基础知识_第13张图片

Telnet:

} Telnet是TCP/IP中的一种应用协议,可以为终端仿真提供支持。

} Telnet可使用户连接到主机上,使主机响应起来就像它直接连接在终端上一样。

Telnet在发送端和接收端使用TCP的23号端口以进行专用的通信。

协议的作用及常见协议 – TCP/IP应用层协议介绍

文件传输协议

FTP协议使用TCP20号和21号端口

    20号端口用于数据交换

    21号端口用于建立连接

允许目录和文件访问,上传下载,不能远程执行文件

简单文件传输协议(Trivial File Transfer Protocol,TFTP)

    TFTP是无连接的,使用UDP的69号端口

用于当数据传输错误无关紧要而且无须安全性时的小型文件的传输

SMTP:

 简单邮件传输协议(Simple Mail Transfer Protocol,SMTP)是为网络系统间的电子邮件交换而设计的。使用25 端口 。

SMTP只需要在接收端的一个电子邮件地址即可发送邮件,POP3 协议用来接收邮件使用110端口。

DNS:

域名服务(Domain Name Service, DNS)将域名转换为IP地址,或将IP地址转换为域名,用于解析完全合格域名(FQDN),例如 www.163.com,使用53号端口。

DHCP:

动态主机配置协议(DHCP)服务器可以提供的信息有:

1、IP地址

2、子网掩码(subnet mask)

3、域名(domain name)

4、默认网关(default gateway)

5、DNS

面向连接的服务TCP

源端与目的端在通信前要先建立连接,然后在此连接上互相传输数据帧,每一个帧都被编号,数据链路层保证传送的帧被对方收到,且只收到一次,双方通信完毕后拆除连接。

无确认、无连接的服务(UDP)

源端不需要建立连接就向目的端发送独立的数据帧,而目的端也不需要对收到的帧进行确认。

TCP与UDP的比较

1、TCP协议在传送数据段的时候要给段标号;UDP协议没有

2、TCP协议可靠;UDP协议不可靠

3、TCP协议是面向连接;UDP协议采用无连接

4、TCP协议负载较高;UDP协议低负载

5、TCP协议的发送方要确认接受方是否收到数据段;UDP反之

6、TCP协议采用窗口技术和流量控制;UDP协议没有

知识讲解

Keystone身份认证服务

OpenStack身份认证服务(Identity Service),即Keystone,是为OpenStack云环境中的用户的账户和角色信息提供认证和管理服务的,这是一个关键的服务,OpenStack云环境中所有服务之间的鉴权和认证都需要经过它,所以它也是OpenStack环境中第一个安装的服务。

经OpenStack身份认证服务认证通过之后,它会返回一个在OpenStack各个服务之间传输用的鉴权密钥,接下来就可以用这个密钥来为某个具体服务做鉴权和验证,如OpenStack的存储和计算服务。

因此,第一步就要配置OpenStack身份认证服务,并为用户创建合适的角色,以及服务、租户、用户账户和服务API endpoints,这些服务构成了我们的云基础设施。

网络基础知识_第14张图片

Keystone身份认证服务流程

  1. 用户想Keystone提供身份凭证,Keystone验证通过后向用户返回令牌,同时返回通用目录。
  2. 用户使用该令牌向该目录列表中的端点请求对应的项目信息,Keystone验证通过后返回用户对应的项目列表。
  3. 用户从列表中选择要访问的项目,再次向Keystone发出请求,Keystone验证通过后返回管理该项目的服务列表和运行访问该项目的令牌。
  4. 用户通过服务列表和通用的目录映射找到服务的端点,并通过端点找到实际服务组件的位置。
  5. 用户凭借项目令牌和端点访问实际服务的组件。
  6. 服务组件向Keystone提供用户项目令牌进行验证,Keystone验证通过后返回一系列确认信息和附加信息给服务。

网络基础知识_第15张图片

域、项目、用户和角色的概念

序号

名词

概念

1

认证(Authentication)

确认用户身份的过程,身份验证。

2

凭证(Credentials)

是用于确认用户身份的数据。

3

令牌(Token)

访问OpenStack API和各种资源需要提供的一种特殊的文本字符串。

4

用户(User)

使用OpenStack云服务的个人、系统或服务的账户名称。

5

项目(Project)

分配和隔离资源或身份对象的一个容器,也是一个权限组织形式。

6

域(Domain)

项目和用户的集合,目的是为身份实体定义管理界限。

7

组(Group)

表示域所拥有的用户集合的容器。

8

角色(Role)

用于定义用户权利和权限的集合。

9

端点(Endpoint)

OpenStack组件能够访问的网络地址,通常是一个URL。

10

服务(Service)

提供一个或多个端点,供用户通过这些端点访问资源和执行操作。

11

分区(Region)

OpenStack部署的通用分区。

12

认证(Authentication)

确认用户身份的过程,身份验证。

实验任务

实验名称:安装Keystone身份认证服务

实验级别:初阶\进阶\高阶

实验时长:1小时

实验目标:

1、掌握阿里云ECS服务器上安装Keystone的方法;

2、掌握阿里云ECS服务器上验证Keystone服务;

3、掌握其他服务在Keystone上的注册过程;

4、掌握客户端脚本的使用;

5、掌握域、项目、用户和角色创建。

实验步骤:

网络基础知识_第16张图片

1数据库的安装

创建keystone数据库

除了基础环境之外,Keystone 身份管理服务是需要第一个安装的 OpenStack 服务。该服务通常单独安装在控制节点上。考虑到扩展性,需要部署 Fernet 令牌和 Apache HTTP 服务器来处理认证请求。

安装keystone相关组件

安装依赖包,其中 openstack-keystone 是 Keystone 软件包名。Keystone 是基于 WSGI 的 Web 应用程序,而 httpd 是一个兼容 WSGI 的 Web 服务器,因此还需安装 httpd 及其 mod_wsgi 模块。

配置keystone

让 Keystone 服务能知道如何连接到后端的数据库 keystone。其中pymysql 是一个可以操作 mysql 的 python 库。双斜杠后面的格式为:数据库用户名:密码@mysql服务器地址/数据库。还应注意将[database]节中的其他连接配置注释掉,或直接删除。

初始化数据库

初始化Fernet密钥库

完成了 Keystone 对自己授权的一个过程,创建了一个 keystone 用户与一个 keystone 组,并对这个用户和组授权。因为 keystone 是对其他组件提供认证的服务,所以它先要对自己进行一下认证。

Keystone服务的初始化

通过命令执行基本的初始化过程,为 Keystone 服务设置管理员密码,并创建API 端点。在 OpenStack 的 Queens 版本发布之前,Keystone 需要在两个分开的端口上运行以适应 Identity v2 API(它在 35357 端口上运行单独的管理服务)。

2httpd服务器的安装

必须将 Web 服务器与 Keystone 进行整合,这就涉及了 WSGI。配置servername指向控制节点,创建到wsgi-keystone.conf的链接文件,这实际上是为 mod_wsgi 模块添加配置文件,除了做软链接,还可以直接复制该文件。

3、手动创建域、项目、用户和角色

Keystone 服务为每个 OpenStack 服务提供认证服务。认证服务需要使用域、项目、用户和角色的组合。注意在控制节点上执行下面的操作之前,确认已经在当前命令行中导出了管理员账户的环境变量。Keystone 安装过程中默认已经创建了一个默认域。

执行 openstack project list 命令可以查看默认已经创建的项目。可以发现,默认仅创建一个名为 admin 的项目供管理员使用。其他 OpenStack 服务要通过 Keystone 进行集中统一认证,必须进行注册,本项目云部署所有的 OpenStack 服务共用一个名为 service 的项目,其中包含添加到环境中每个服务的一个唯一用户。

4、创建OpenStack客户端脚本

前面使用环境变量和命令选项的组合来让 OpenStack 客户端与身份管理服务进行交互。为提高客户端操作的效率,OpenStack 支持使用简单的客户端环境脚本,该脚本也被称为OpenRC 文件。这些脚本通常包含适合所有客户端的通用选项,但也支持独特的选择。

创建脚本

这里为 admin 和 demo 项目以及用户创建客户端环境脚本。本项目的后续部分将参考这些脚本来加载用于客户端操作的相应凭据。客户端环境脚本文件的存放路径不受限制,可以根据需要存放到任何位置,但要确保其安全。为方便实验操作,这里将其存放在/root目录,即 root 用户的主目录。在控制节点上的/root 目录中创建一个名为 admin-openrc 的文件作为 admin 管理员的客户端环境脚本。

使用脚本

执行以下命令加载 admin-openrc 文件,通过身份管理服务的位置、admin 项目和用户凭据来设置环境变量,然后向身份管理服务请求一个认证令牌。使用 source命令导出脚本时往往使用“.” 符号来替代该命令。

总结

本文主要讲解了以下内容:

1、理解其他服务在Keystone注册、认证过程;

2、Keystone数据库的创建、登录;

3、安装Keystone的相关组件;

4、添加客户端基本环境脚本;

5、验证Keystone认证服务,获取token。

你可能感兴趣的:(网络)