数字货币RFC
⑴ Ldap有哪些标准
什么是LDAP?
LDAP的英文全称是Lightweight Directory Access Protocol,一般都简称为LDAP。它是基于X.500标准的,
但是简单多了并且可以根据需要定制。与X.500不同,LDAP支持TCP/IP,这对访问Internet是必须的。LDAP
的核心规范在RFC中都有定义,所有与LDAP相关的RFC都可以在LDAPman RFC网页中找到。现在LDAP技术不仅
发展得很快而且也是激动人心的。在企业范围内实现LDAP可以让运行在几乎所有计算机平台上的所有的应
用程序从LDAP目录中获取信息。LDAP目录中可以存储各种类型的数据:电子邮件地址、邮件路由信息、人力
资源数据、公用密匙、联系人列表,等等。通过把LDAP目录作为系统集成中的一个重要环节,可以简化员工
在企业内部查询信息的步骤,甚至连主要的数据源都可以放在任何地方。
LDAP目录的优势
如果需要开发一种提供公共信息查询的系统一般的设计方法可能是采用基于WEB的数据库设计方式,即前端
使用浏览器而后端使用WEB服务器加上关系数据库。后端在Windows的典型实现可能是Windows NT + IIS + Acess
数据库或者是SQL服务器,IIS和数据库之间通过ASP技术使用ODBC进行连接,达到通过填写表单查询数据的功能;
后端在Linux系统的典型实现可能是Linux+ Apache + postgresql,Apache和数据库之间通过PHP3提供的函数进
行连接。使用上述方法的缺点是后端关系数据库的引入导致系统整体的性能降低和系统的管理比较繁琐,因为需
要不断的进行数据类型的验证和事务的完整性的确认;并且前端用户对数据的控制不够灵活,用户权限的设置一
般只能是设置在表一级而不是设置在记录一级。
目录服务的推出主要是解决上述数据库中存在的问题。目录与关系数据库相似,是指具有描述性的基于属性的记
录集合,但它的数据类型主要是字符型,为了检索的需要添加了BIN(二进制数据)、CIS(忽略大小写)、CES
(大小写敏感)、TEL(电话型)等语法(Syntax),而不是关系数据库提供的整数、浮点数、日期、货币等类型,
同样也不提供象关系数据库中普遍包含的大量的函数,它主要面向数据的查询服务(查询和修改操作比一般是大于
10:1),不提供事务的回滚(rollback)机制,它的数据修改使用简单的锁定机制实现All-or-Nothing,它的目标
是快速响应和大容量查询并且提供多目录服务器的信息复制功能。
现在该说说LDAP目录到底有些什么优势了。现在LDAP的流行是很多因数共同作用的结果。可能LDAP最大的优势是:
可以在任何计算机平台上,用很容易获得的而且数目不断增加的LDAP的客户端程序访问LDAP目录。而且也很容易
定制应用程序为它加上LDAP的支持。
LDAP协议是跨平台的和标准的协议,因此应用程序就不用为LDAP目录放在什么样的服务器上操心了。实际上,LDAP
得到了业界的广泛认可,因为它是Internet的标准。产商都很愿意在产品中加入对LDAP的支持,因为他们根本不用
考虑另一端(客户端或服务端)是怎么样的。LDAP服务器可以是任何一个开发源代码或商用的LDAP目录服务器(或
者还可能是具有LDAP界面的关系型数据库),因为可以用同样的协议、客户端连接软件包和查询命令与LDAP服务器
进行交互。与LDAP不同的是,如果软件产商想在软件产品中集成对DBMS的支持,那么通常都要对每一个数据库服务
器单独定制。不象很多商用的关系型数据库,你不必为LDAP的每一个客户端连接或许可协议付费 大多数的LDAP服务
器安装起来很简单,也容易维护和优化。
LDAP服务器可以用“推”或“拉”的方法复制部分或全部数据,例如:可以把数据“推”到远程的办公室,以增加
数据的安全性。复制技术是内置在LDAP服务器中的而且很容易配置。如果要在DBMS中使用相同的复制功能,数据库
产商就会要你支付额外的费用,而且也很难管理。
LDAP允许你根据需要使用ACI(一般都称为ACL或者访问控制列表)控制对数据读和写的权限。例如,设备管理员可
以有权改变员工的工作地点和办公室号码,但是不允许改变记录中其它的域。ACI可以根据谁访问数据、访问什么数
据、数据存在什么地方以及其它对数据进行访问控制。因为这些都是由LDAP目录服务器完成的,所以不用担心在客
户端的应用程序上是否要进行安全检查。
LDAP(Lightweight Directory Acess Protocol)是目录服务在TCP/IP上的实现(RFC 1777 V2版和RFC 2251
V3版)。它是对X500的目录协议的移植,但是简化了实现方法,所以称为轻量级的目录服务。在LDAP中目录是按照
树型结构组织,目录由条目(Entry)组成,条目相当于关系数据库中表的记录;条目是具有区别名DN(Distinguished
Name)的属性(Attribute)集合,DN相当于关系数据库表中的关键字(Primary
Key);属性由类型(Type)和多个值(Values)组成,相当于关系数据库中的域(Field)由域名和数据类型组成,
只是为了方便检索的需要,LDAP中的Type可以有多个Value,而不是关系数据库中为降低数据的冗余性要求实现的各
个域必须是不相关的。LDAP中条目的组织一般按照地理位置和组织关系进行组织,非常的直观。LDAP把数据存放在
文件中,为提高效率可以使用基于索引的文件数据库,而不是关系数据库。LDAP协议集还规定了DN的命名方法、存
取控制方法、搜索格式、复制方法、URL格式、开发接口等
LDAP对于这样存储这样的信息最为有用,也就是数据需要从不同的地点读取,但是不需要经常更新。
例如,这些信息存储在LDAP目录中是十分有效的:
l 公司员工的电话号码簿和组织结构图
l 客户的联系信息
l 计算机管理需要的信息,包括NIS映射、email假名,等等
l 软件包的配置信息
l 公用证书和安全密匙
什么时候该用LDAP存储数据
大多数的LDAP服务器都为读密集型的操作进行专门的优化。因此,当从LDAP服务器中读取数据的时候会比从专门为
OLTP优化的关系型数据库中读取数据快一个数量级。也是因为专门为读的性能进行优化,大多数的LDAP目录服务器
并不适合存储需要需要经常改变的数据。例如,用LDAP服务器来存储电话号码是一个很好的选择,但是它不能作为
电子商务站点的数据库服务器。
如果下面每一个问题的答案都是“是”,那么把数据存在LDAP中就是一个好主意。
l 需要在任何平台上都能读取数据吗?
l 每一个单独的记录项是不是每一天都只有很少的改变?
l 可以把数据存在平面数据库(flat database)而不是关系型数据库中吗?换句话来说,也就是不管什么范式不
范式的,把所有东西都存在一个记录中(差不多只要满足第一范式)。
最后一个问题可能会唬住一些人,其实用平面数据库去存储一些关系型的数据也是很一般的。例如,一条公司员工
的记录就可以包含经理的登录名。用LDAP来存储这类信息是很方便的。一个简单的判断方法:如果可以把保数据存
在一张张的卡片里,就可以很容易地把它存在LDAP目录里。
安全和访问控制
LDAP提供很复杂的不同层次的访问控制或者ACI。因这些访问可以在服务器端控制,这比用客户端的软件保证数据的
安全可安全多了。
用LDAP的ACI,可以完成:
l 给予用户改变他们自己的电话号码和家庭地址的权限,但是限制他们对其它数据(如,职务名称,经理的登录名,
等等)只有“只读”权限。
l 给予“HR-admins"组中的所有人权限以改变下面这些用户的信息:经理、工作名称、员工号、部门名称和部门号。
但是对其它域没有写权限。
l 禁止任何人查询LDAP服务器上的用户口令,但是可以允许用户改变他或她自己的口令。
l 给予经理访问他们上级的家庭电话的只读权限,但是禁止其他人有这个权限。
l 给予“host-admins"组中的任何人创建、删除和编辑所有保存在LDAP服务器中的与计算机主机有关的信息
l 通过Web,允许“foobar-sales"组中的成员有选择地给予或禁止他们自己读取一部分客户联系数据的读权限。这
将允许他们把客户联系信息下载到本地的笔记本电脑或个人数字助理(PDA)上。(如果销售人员的软件都支持LDAP,
这将非常有用)
l 通过Web,允许组的所有者删除或添加他们拥有的组的成员。例如:可以允许销售经理给予或禁止销售人员改变Web
页的权限。也可以允许邮件假名(mail aliase)的所有者不经过IT技术人员就直接从邮件假名中删除或添加用户。
“公用”的邮件列表应该允许用户从邮件假名中添加或删除自己(但是只能是自己)。也可以对IP地址或主机名加以
限制。例如,某些域只允许用户IP地址以192.168.200.*开头的有读的权限,或者用户反向查找DNS得到的主机名必须
为*.foobar.com。
LDAP目录树的结构
LDAP目录以树状的层次结构来存储数据。如果你对自顶向下的DNS树或UNIX文件的目录树比较熟悉,也就很容易掌握
LDAP目录树这个概念了。就象DNS的主机名那样,LDAP目录记录的标识名(Distinguished Name,简称DN)是用来读取
单个记录,以及回溯到树的顶部。后面会做详细地介绍。
为什么要用层次结构来组织数据呢?原因是多方面的。下面是可能遇到的一些情况:
l 如果你想把所有的美国客户的联系信息都“推”到位于到西雅图办公室(负责营销)的LDAP服务器上,但是你不想
把公司的资产管理信息“推”到那里。
l 你可能想根据目录树的结构给予不同的员工组不同的权限。在下面的例子里,资产管理组对“asset-mgmt"部分有完
全的访问权限,但是不能访问其它地方。
l 把LDAP存储和复制功能结合起来,可以定制目录树的结构以降低对WAN带宽的要求。位于西雅图的营销办公室需要每
分钟更新的美国销售状况的信息,但是欧洲的销售情况就只要每小时更新一次就行了。
刨根问底:基准DN
LDAP目录树的最顶部就是根,也就是所谓的“基准DN"。基准DN通常使用下面列出的三种格式之一。假定我在名为FooBar
的电子商务公司工作,这家公司在Internet上的名字是foobar.com。
o="FooBar, Inc.", c=US
(以X.500格式表示的基准DN)
在这个例子中,o=FooBar, Inc. 表示组织名,在这里就是公司名的同义词。c=US 表示公司的总部在美国。以前,一般
都用这种方式来表示基准DN。但是事物总是在不断变化的,现在所有的公司都已经(或计划)上Internet上。随着
Internet的全球化,在基准DN中使用国家代码很容易让人产生混淆。现在,X.500格式发展成下面列出的两种格式。
o=foobar.com
(用公司的Internet地址表示的基准DN)
这种格式很直观,用公司的域名作为基准DN。这也是现在最常用的格式。
dc=foobar, dc=com
(用DNS域名的不同部分组成的基准DN)
就象上面那一种格式,这种格式也是以DNS域名为基础的,但是上面那种格式不改变域名(也就更易读),而这种格式
把域名:foobar.com分成两部分 dc=foobar, dc=com。在理论上,这种格式可能会更灵活一点,但是对于最终用户来说
也更难记忆一点。考虑一下foobar.com这个例子。当foobar.com和gizmo.com合并之后,可以简单的把“dc=com"当作基
准DN。把新的记录放到已经存在的dc=gizmo, dc=com目录下,这样就简化了很多工作(当然,如果foobar.com和wocket.e
合并,这个方法就不能用了)。如果LDAP服务器是新安装的,我建议你使用这种格式。再请注意一下,如果你打算使用活动
目录(Actrive Directory),Microsoft已经限制你必须使用这种格式。
更上一层楼:在目录树中怎么组织数据
在UNIX文件系统中,最顶层是根目录(root)。在根目录的下面有很多的文件和目录。象上面介绍的那样,LDAP目录也是
用同样的方法组织起来的。
在根目录下,要把数据从逻辑上区分开。因为历史上(X.500)的原因,大多数LDAP目录用OU从逻辑上把数据分开来。OU
表示“Organization Unit",在X.500协议中是用来表示公司内部的机构:销售部、财务部,等等。现在LDAP还保留ou=这
样的命名规则,但是扩展了分类的范围,可以分类为:ou=people, ou=groups, ou=devices,等等。更低一级的OU有时用
来做更细的归类。例如:LDAP目录树(不包括单独的记录)可能会是这样的:
dc=foobar, dc=com
ou=customers
ou=asia
ou=europe
ou=usa
ou=employees
ou=rooms
ou=groups
ou=assets-mgmt
ou=nisgroups
ou=recipes
单独的LDAP记录
DN是LDAP记录项的名字
在LDAP目录中的所有记录项都有一个唯一的“Distinguished Name",也就是DN。每一个LDAP记录项的DN是由两个部分
组成的:相对DN(RDN)和记录在LDAP目录中的位置。
RDN是DN中与目录树的结构无关的部分。在LDAP目录中存储的记录项都要有一个名字,这个名字通常存在cn(Common Name)
这个属性里。因为几乎所有的东西都有一个名字,在LDAP中存储的对象都用它们的cn值作为RDN的基础。如果我把最喜欢的
吃燕麦粥食谱存为一个记录,我就会用cn=Oatmeal Deluxe作为记录项的RDN。
l 我的LDAP目录的基准DN是dc=foobar,dc=com
l 我把自己的食谱作为LDAP的记录项存在ou=recipes
l 我的LDAP记录项的RDN设为cn=Oatmeal Deluxe
上面这些构成了燕麦粥食谱的LDAP记录的完整DN。记住,DN的读法和DNS主机名类似。下面就是完整的DN:
cn=Oatmeal Deluxe,ou=recipes,dc=foobar,dc=com
举一个实际的例子来说明DN
现在为公司的员工设置一个DN。可以用基于cn或uid(User ID),作为典型的用户帐号。例如,FooBar的员工Fran Smith
(登录名:fsmith)的DN可以为下面两种格式:
uid=fsmith,ou=employees,dc=foobar,dc=com
(基于登录名)
LDAP(以及X.500)用uid表示“User ID",不要把它和UNIX的uid号混淆了。大多数公司都会给每一个员工唯一的登录名,
因此用这个办法可以很好地保存员工的信息。你不用担心以后还会有一个叫Fran Smith的加入公司,如果Fran改变了她的
名字(结婚?离婚?或宗教原因?),也用不着改变LDAP记录项的DN。
cn=Fran Smith,ou=employees,dc=foobar,dc=com
(基于姓名)
可以看到这种格式使用了Common Name(CN)。可以把Common Name当成一个人的全名。这种格式有一个很明显的缺点就是:
如果名字改变了,LDAP的记录就要从一个DN转移到另一个DN。但是,我们应该尽可能地避免改变一个记录项的DN。
定制目录的对象类型
你可以用LDAP存储各种类型的数据对象,只要这些对象可以用属性来表示,下面这些是可以在LDAP中存储的一些信息:
l 员工信息:员工的姓名、登录名、口令、员工号、他的经理的登录名,邮件服务器,等等。
l 物品跟踪信息:计算机名、IP地址、标签、型号、所在位置,等等。
l 客户联系列表:客户的公司名、主要联系人的电话、传真和电子邮件,等等。
l 会议厅信息:会议厅的名字、位置、可以坐多少人、电话号码、是否有投影机。
l 食谱信息:菜的名字、配料、烹调方法以及准备方法。
因为LDAP目录可以定制成存储任何文本或二进制数据,到底存什么要由你自己决定。LDAP目录用对象类型
(object classes)的概念来定义运行哪一类的对象使用什么属性。在几乎所有的LDAP服务器中,你都要根据
自己的需要扩展基本的LDAP目录
的功能,创建新的对象类型或者扩展现存的对象类型。
LDAP目录以一系列“属性对”的形式来存储记录项,每一个记录项包括属性类型和属性值(这与关系型数据库
用行和列来存取数据有根本的不同)。下面是我存在LDAP目录中的一部分食谱记录:
dn: cn=Oatmeal Deluxe, ou=recipes, dc=foobar, dc=com
cn: Instant Oatmeal Deluxe
recipeCuisine: breakfast
recipeIngredient: 1 packet instant oatmeal
recipeIngredient: 1 cup water
recipeIngredient: 1 pinch salt
recipeIngredient: 1 tsp brown sugar
recipeIngredient: 1/4 apple, any type
请注意上面每一种配料都作为属性recipeIngredient值。LDAP目录被设计成象上面那样为一个属性保存多个值的,
而不是在每一个属性的后面用逗号把一系列值分开。
因为用这样的方式存储数据,所以数据库就有很大的灵活性,不必为加入一些新的数据就重新创建表和索引。更
重要的是,LDAP目录不必花费内存或硬盘空间处理“空”域,也就是说,实际上不使用可选择的域也不会花费你
任何资源。
作为例子的一个单独的数据项
让我们看看下面这个例子。我们用Foobar, Inc.的员工Fran Smith的LDAP记录。这个记录项的格式是LDIF,用来
导入和导出LDAP目录的记录项。
dn: uid=fsmith, ou=employees, dc=foobar, dc=com
objectclass: person
objectclass: organizationalPerson
objectclass: inetOrgPerson
objectclass: foobarPerson
uid: fsmith
givenname: Fran
sn: Smith
cn: Fran Smith
cn: Frances Smith
telephonenumber: 510-555-1234
roomnumber: 122G
o: Foobar, Inc.
mailRoutingAddress: [email protected]
mailhost: mail.foobar.com
userpassword: 3x1231v76T89N
uidnumber: 1234
gidnumber: 1200
homedirectory: /home/fsmith
loginshell: /usr/local/bin/bash
属性的值在保存的时候是保留大小写的,但是在默认情况下搜索的时候是不区分大小写的。某些特殊的属性
(例如,password)在搜索的时候需要区分大小写。
让我们一点一点地分析上面的记录项。
dn: uid=fsmith, ou=employees, dc=foobar, dc=com
这是Fran的LDAP记录项的完整DN,包括在目录树中的完整路径。LDAP(和X.500)使用uid(User ID),不要
把它和UNIX的uid号混淆了。
objectclass: person
objectclass: organizationalPerson
objectclass: inetOrgPerson
objectclass: foobarPerson
可以为任何一个对象根据需要分配多个对象类型。person对象类型要求cn(common name)和sn(surname)
这两个域不能为空。persion对象类型允许有其它的可选域,包括givenname、telephonenumber,等等。
organizational Person给person加入更多的可选域,inetOrgPerson又加入更多的可选域(包括电子邮件信息)。
最后,foobarPerson是为Foobar定制的对象类型,加入了很多定制的属性。
uid: fsmith
givenname: Fran
sn: Smith
cn: Fran Smith
cn: Frances Smith
telephonenumber: 510-555-1234
roomnumber: 122G
o: Foobar, Inc.
以前说过了,uid表示User ID。当看到uid的时候,就在脑袋里想一想“login"。
请注意CN有多个值。就象上面介绍的,LDAP允许某些属性有多个值。为什么允许有多个值呢?假定你在用
公司的LDAP服务器查找Fran的电话号码。你可能只知道她的名字叫Fran,但是对人力资源处的人来说她的
正式名字叫做Frances。因为保存了她的两个名字,所以用任何一个名字检索都可以找到Fran的电话号码、
电子邮件和办公房间号,等等。
mailRoutingAddress: [email protected]
mailhost: mail.foobar.com
就象现在大多数的公司都上网了,Foobar用Sendmail发送邮件和处理外部邮件路由信息。Foobar把所有用户
的邮件信息都存在LDAP中。最新版本的Sendmail支持这项功能。
Userpassword: 3x1231v76T89N
uidnumber: 1234
gidnumber: 1200
gecos: Frances Smith
homedirectory: /home/fsmith
loginshell: /usr/local/bin/bash
注意,Foobar的系统管理员把所有用户的口令映射信息也都存在LDAP中。FoobarPerson类型的对象具有这
种能力。再注意一下,用户口令是用UNIX的口令加密格式存储的。UNIX的uid在这里为uidnumber。提醒你一下,
关于如何在LDAP中保存NIS信息,有完整的一份RFC。在以后的文章中我会谈一谈NIS的集成。
LDAP复制
LDAP服务器可以使用基于“推”或者“拉”的技术,用简单或基于安全证书的安全验证,复制一部分或者所
有的数据。
例如,Foobar有一个“公用的”LDAP服务器,地址为ldap.foobar.com,端口为389。Netscape Communicator
的电子邮件查询功能、UNIX的“ph"命令要用到这个服务器,用户也可以在任何地方查询这个服务器上的员工
和客户联系信息。公司的主LDAP服务器运行在相同的计算机上,不过端口号是1389。
你可能即不想让员工查询资产管理或食谱的信息,又不想让信息技术人员看到整个公司的LDAP目录。为了解决
这个问题,Foobar有选择地把子目录树从主LDAP服务器复制到“公用”LDAP服务器上,不复制需要隐藏的信息。
为了保持数据始终是最新的,主目录服务器被设置成即时“推”同步。这些种方法主要是为了方便,而不是安全,
因为如果有权限的用户想查询所有的数据,可以用另一个LDAP端口。
假定Foobar通过从奥克兰到欧洲的低带宽数据的连接用LDAP管理客户联系信息。可以建立从ldap.foobar.com:1389
到munich-ldap.foobar.com:389的数据复制,象下面这样:
periodic pull: ou=asia,ou=customers,o=sendmail.com
periodic pull: ou=us,ou=customers,o=sendmail.com
immediate push: ou=europe,ou=customers,o=sendmail.com
“拉”连接每15分钟同步一次,在上面假定的情况下足够了。“推”连接保证任何欧洲的联系信息发生了变化就
立即被“推”到Munich。
用上面的复制模式,用户为了访问数据需要连接到哪一台服务器呢?在Munich的用户可以简单地连接到本地服务
器。如果他们改变了数据,本地的LDAP服务器就会把这些变化传到主LDAP服务器。然后,主LDAP服务器把这些变化
“推”回本地的“公用”LDAP服务器保持数据的同步。这对本地的用户有很大的好处,因为所有的查询(大多数是读)都在本地的服务器上进行,速度非常快。当需要改变信息的时候,最终用户不需要重新配置客户端的软件,因为LDAP目录服务器为他们完成了所有的数据交换工作。
⑵ 璁╄储瀵屾俯鏆栨垜浠鐨勪汉鐢
80鍚庣殑鏉滄潹鑰佸笀锛屼汉鐢熺洰鏍40宀侀浼戯紝鍒版椂瑕佽繃鎯宠叉墠璁诧紝璇楀拰杩滄柟鐨勭敓娲!
鍦ㄥス韬涓婏紝鎴戝緱鍒扮殑鍚绀烘槸閫傚簲鏃朵唬锛岀煡璇嗘洿杩锛岃亴涓氶夋嫨锛屼汉鐢熺涓妗堕噾(鍒涘瘜)锛屽畧瀵岀殑杩囩▼80鍚庯紝90鍚庯紝鐢氳嚦00鍚庯紝杩滄瘮鎴戜滑鐜拌薄鐨勬洿蹇锛岄浼戝拰骞撮緞鏃犲叧锛岃兘灏芥棭鍘诲疄鐜拌嚜宸辩殑姊︽兂锛屽畬鍏ㄧ収椤惧埌鑷宸辩殑鍏ㄧ敓鍛藉懆鏈熺殑鎵鏈夐渶瑕!
鐢ㄥ叏鏂逛綅璐㈠姟瑙勫垝鏂瑰紡锛岀被浼糝FC鍥介檯璁よ瘉璐㈠姟椤鹃棶鐨勬巿璇撅紝璁╂垜浠寰堟湁鍏卞悓鎰!鍏ㄧ悆涓浣撳寲锛岃澊铦舵晥搴旇╄繙鍦ㄥ崈閲屼箣澶栵紝涓嶅悓鍖哄煙鍥藉害鐨勫井灏忎釜浣撻兘鍦ㄥ叾涓锛屽湪瀹跺涵璐㈠姟瑙勫垝涓鐪嬮噸瀹跺涵鏀舵敮琛ㄥ拰璧勪骇璐熷鸿〃(鍜孯FC瀹跺涵璐㈠姟鎶ュ憡鐩镐技)锛屽綋鐒讹紝瑕佹湁璁板笎鐨勪範鎯锛屾垜涓浜鸿秴杩20鍏冪殑娑堣垂閮借🤭
姣忔$粡娴庡嵄鏈哄2008骞达紝姣忔$伨闅惧傝繖娆℃柊鍐犱箣鍚庯紝璁ょ煡鎰熷己鐨勪紭绉浜哄+涓嶄細澶变笟锛岀敋鑷虫敹鍓茶储瀵岋紝浜哄彛鍑烘柊锛岃储瀵屽嚭鏂般
鐗瑰埆鏄2000鍚庝腑鍥借繘鍏ヤ腑绛夋敹鍏ラ櫡闃憋紝缁忔祹澧為暱鏀剧紦锛屽叏姘戝垢绂忔劅涓嬮檷锛屾渶涓ラ噸灏嗘槸涓浜ф敹鍏ラ櫡闃憋紝璐㈠瘜闃跺眰鍥哄寲锛屼絾鍦ㄨ繘鍏ユ柊鍗佸勾锛屾柊缁忔祹鍛ㄦ湡涓灏嗗彂鐢熻储瀵岃浆绉(鍦熷湴锛屾埧鍦颁骇锛岄噾铻嶅垱瀵)
浜т笟鏀跨瓥50浜"鏂板熀寤"锛岃揣甯佹斂绛朚2澧炲箙鍐嶄笂10%锛岃繖浜涘畯瑙傛斂绛栧皢淇冭繘鍐呭惊鐜锛岃储鍔¢【闂甯堝湪杩欒繃绋嬩腑锛屽皢鍗忓姪瀹㈡埛杩涜360搴﹀姩鎬佽祫浜ч厤缃瑙e喅璐熺浉鍏抽棶棰橈紝鍗忓姪娑堥櫎瀹忚傜幆澧冧笅鐨勪笉纭瀹氭э紝閬垮厤椤圭洰鐖嗛浄锛岃繘琛屽噯纭鐨勬満浼氬垽鏂鍜屽畨鍏ㄧ殑鎶曡祫鍥炴姤鐜囦及鍊笺
浠婂勾鍏ㄥ浗鑴辫传鐩鏍囧疄鐜帮紝灏嗚繘鍏ュ畧瀵岄樁娈碉紝鏇村氬跺涵浼氳冭檻鏉犳潌锛屾潵鎹㈠彇鎬昏储瀵岀殑瀹夊叏鎬э紝杩涢樁鎬ц揪鎴愯储鍔″畨鍏锛岃嚜涓伙紝鑷鐢辩敋鑷宠储瀵岃嚜鐢便
浜轰笌璐㈠瘜鐨勫叧绯:
1,杩囧線閭d箞澶氬勾鎴戜滑鐣欎笅鏉ュ氬皯璐㈠瘜
2,鐣欎笅鏉ョ殑璐㈠瘜鏈夊摢浜涙槸涓烘垜浠鍗栧懡璧氶挶?
3,鎴戜滑鎬庝箞鏍峰惰储涓囪疮锛屾棩杩涙枟閲?
閫氳繃瀹跺涵璧勪骇璐熷鸿〃鍜屾敹鍏ユ敮鍑鸿〃锛岄噸濉戣储瀵岃ょ煡锛岀敤璐㈠瘜娓╂殩鎴戜滑鐨勫叏鐢熷懡鍛ㄦ湡!
璐㈠瘜鏄鐢ㄦ椂闂磋閲
鑰屼笉鏄鐢ㄦ暟瀛楀害閲
鏂板崄骞达紝鏈夎ょ煡鐨勪汉閮藉簲璇ヨ禋娆¤秼鍔跨殑閽!
鐢辨槸瑙備箣锛屽瘜鏃犵粡涓氾紝鍒欒揣鏃犲父涓伙紝鑳借呰緪鍑戯紝涓嶈倴鑰呯摝瑙!銆婂彶璁奥疯揣娈栧垪浼犮
⑶ 介绍一下 SET协议和SSL协议的区别
相同点:
两种都是应用于电子商务用的网络安全协议。都能保证交易数据的安全性、保密性和完整性。
区别:
SSL叫安全套接层协议,是国际上最早用的,已成工业标准,但它的基点是商家对客户信息保密的承诺,因此有利于商家而不利于客户。
SET叫安全电子交易协议,是为了在互联网上进行在线交易时保证信用卡支付的安全而设立的一个开放的规范。因它的对象包括消费者、商家、发卡银行、收单银行、支付网关、认证中心,所以对消费者与商家同样有利。
⑷ IP鍒板簳鏄浠涔堟剰鎬濆晩
IP鏄疘P鍗忚鎻愪緵鐨勪竴绉嶇粺涓鐨勫湴鍧鏍煎紡锛屽畠涓轰簰鑱旂綉涓婄殑姣忎竴涓缃戠粶鍜屾瘡涓鍙颁富鏈哄垎閰嶄竴涓閫昏緫鍦板潃锛屼互姝ゆ潵灞忚斀鐗╃悊鍦板潃鐨勫樊寮傘傚父瑙佺殑IP鍦板潃锛屽垎涓篒Pv4涓嶪Pv6涓ゅぇ绫汇傜洰鍓嶈繕鏈変簺ip浠g悊杞浠讹紝浣嗗ぇ閮ㄥ垎閮芥敹璐广
渚嬪傦紝鏌愬彴鑱斿湪鍥犵壒缃戜笂鐨勮$畻鏈虹殑IP鍦板潃涓猴細 11010010 01001001 10001100 00000010 寰堟槑鏄撅紝杩欎簺鏁板瓧瀵逛簬浜烘潵璇翠笉澶濂借板繂銆
浜轰滑涓轰簡鏂逛究璁板繂锛屽氨灏嗙粍鎴愯$畻鏈虹殑IP鍦板潃鐨32浣嶄簩杩涘埗鍒嗘垚鍥涙碉紝姣忔8浣嶏紝涓闂寸敤灏忔暟鐐归殧寮锛岀劧鍚庡皢姣忓叓浣嶄簩杩涘埗杞鎹㈡垚鍗佽繘鍒舵暟锛岃繖鏍蜂笂杩拌$畻鏈虹殑IP鍦板潃灏卞彉鎴愪簡锛210.73.140.2銆
鎵╁睍璧勬枡锛
IP鍦板潃鐨勫垎绫伙細
1銆侀潤鎬両P鍦板潃
鏄鎸囩粰姣忎竴鍙拌$畻鏈洪兘鍒嗛厤涓涓鍥哄畾鐨処P鍦板潃锛屼紭鐐规槸渚夸簬绠$悊锛岀壒鍒鏄鍦ㄦ牴鎹甀P鍦板潃闄愬埗缃戠粶娴侀噺鐨勫眬鍩熺綉涓锛屼互鍥哄畾鐨処P鍦板潃鎴朓P鍦板潃鍒嗙粍浜х敓鐨勬祦閲忎负渚濇嵁绠$悊銆
鍙浠ュ厤闄ゅ湪鎸夌敤鎴锋柟寮忚¤垂鏃剁敤鎴锋瘡娆′笂缃戦兘蹇呴』杩涜岀殑韬浠借よ瘉鐨勭箒鐞愯繃绋嬶紝鍚屾椂涔熼伩鍏嶄簡鐢ㄦ埛缁忓父蹇樿板瘑鐮佺殑灏村艾銆傞潤鎬両P鍦板潃鏄闀挎湡鍒嗛厤缁欎竴鍙拌$畻鏈烘垨缃戠粶璁惧囦娇鐢ㄧ殑IP鍦板潃銆備竴鑸鏉ヨ达紝閲囩敤涓撶嚎涓婄綉鐨勮$畻鏈烘墠鎷ユ湁鍥哄畾鐨処P鍦板潃銆
2銆佸姩鎬両P鍦板潃
閫氳繃Modem銆両SDN銆丄DSL銆佹湁绾垮介戙佸皬鍖哄介戠瓑鏂瑰紡涓婄綉鐨勮$畻鏈猴紝鍦ㄩ渶瑕佺殑鏃跺欐墠杩涜孖P鍦板潃鍒嗛厤鐨勬柟寮忋傚綋浣犳瘡涓娆′笂缃戞椂锛岀數淇′細闅忔満鍒嗛厤涓涓狪P鍦板潃锛屾瘡娆′笂缃戞墍鍒嗛厤鍒扮殑IP鍦板潃閮戒笉鐩稿悓锛岃繖灏辨槸鍔ㄦ両P鍦板潃銆傚洜涓篒P鍦板潃璧勬簮寰堝疂璐碉紝澶ч儴鍒嗙敤鎴烽兘鏄閫氳繃鍔ㄦ両P鍦板潃涓婄綉鐨勩
IP鐨勫熀鏈鏍煎紡锛
1銆佸備粖鐨処P缃戠粶浣跨敤32浣嶅湴鍧锛屼互鐐瑰垎鍗佽繘鍒惰〃绀猴紝濡192.168.0.1銆傚湴鍧鏍煎紡涓猴細IP鍦板潃=缃戠粶鍦板潃+涓绘満鍦板潃鎴 IP鍦板潃=缃戠粶鍦板潃+瀛愮綉鍦板潃+涓绘満鍦板潃銆
2銆佺綉缁滃湴鍧鏄鍥犵壒缃戝崗浼氱殑ICANN鍒嗛厤鐨勶紝涓嬫湁璐熻矗鍖楃編鍦板尯鐨処nterNIC銆佽礋璐fф床鍦板尯鐨凴IPENIC鍜岃礋璐d簹澶鍦板尯鐨凙PNIC 鐩鐨勬槸涓轰簡淇濊瘉缃戠粶鍦板潃鐨勫叏鐞冨敮涓鎬с備富鏈哄湴鍧鏄鐢卞悇涓缃戠粶鐨勭郴缁熺$悊鍛樺垎閰嶃
鍙傝冭祫鏂欙細鐧惧害鐧剧-IP鍦板潃
⑸ 闄愬埗 dns 灞傛$粨鏋勪腑鐨勭骇鍒鏁伴噺浼氬艰嚧鏇村揩鐨勫悕绉拌В鏋愬悧
闄愬埗 dns 灞傛$粨鏋勪腑鐨勭骇鍒鏁伴噺浼氬艰嚧鏇村揩鐨勫悕绉拌В鏋愬悧
浣犲筪ns鐨勭悊瑙h繕鏄瀵圭殑锛屼綔鐢ㄥ氨鏄杩欎釜銆備絾鏄痙ns鍦板潃杈撳叆鐨勫簲璇ユ槸dns浼烘湇鍣ㄧ殑ip鍦板潃锛屽彲涓嶈兘闅忎究杈撳叆鐨勶紝鍙鏈夎緭鍏ユg‘浜嗘墠鍙浠ユe父瑙f瀽锛屼綘闅忎究杈撳叆鏄鍥犱负浣跨敤鐨勫介戯紝pppoe鎷ㄥ彿鍚庝細寤虹珛涓涓铏氭嫙鐨勭綉缁滃崱锛屽苟浼氳嚜鍔ㄥ垎閰嶄竴涓猟ns鍦板潃锛岃屼綘淇鏀圭殑鏈鍦.
鍌ㄥ瓨鍣ㄧ殑灞傛$粨鏋勶紵灞傛$粨鏋勫彂灞曞巻绋嬶紵浠涔堝師鍥犲艰嚧鍌ㄥ瓨鍣ㄥ彂灞曪紵
SRAM涓鑸鐢ㄦ潵浣滀负璁$畻鏈轰腑鐨勯珮閫熺紦鍐插偍瀛樺櫒(Cache)銆 DRAM鏄鍔ㄦ侀殢鏈哄偍瀛樺櫒(...SDRAM鐨勮诲啓鍛ㄦ湡涓10鑷15ns銆 SDRAM鍩轰簬鍙屽偍瀛樹綋缁撴瀯锛屽唴鍚涓や釜浜ら敊鐨勫偍瀛...
dns鐨勫眰娆$粨鏋勫彲浠ラ氳繃浠ヤ笅鍝浜涢檺鍒舵潯浠舵潵澧炲己
DNS灏辨槸鍩熷悕瑙f瀽锛岀畝鍗曟潵璇村氨鏄鐢佃剳璁块棶缃戠珯闇瑕佺煡閬撶綉绔欐墍鍦ㄧ殑IP鍦板潃锛屾湁浜咲NS鏈嶅姟涔嬪悗鐧婚檰鐧惧害鍙闇瑕佽緭鍏ヨ屼笉鏄202.108.22.5銆侱NS鏈嶅姟浼氬皢鍩熷悕瑙f瀽涓篒P鍦板潃锛屾柟渚夸娇鐢ㄨ呰块棶缃戠珯鏃朵笉闇瑕佽颁綇鏋鐕ョ殑鏁板瓧銆侱NS锛圖omainNameSystem锛屽煙鍚嶇郴缁燂級锛屽洜鐗圭綉涓婁綔涓哄煙鍚嶅拰IP鍦板潃鐩镐簰瀵规槧鐨勪竴涓鍒嗘暎寮忚祫鏂欏簱锛岃兘澶熶娇浣跨敤鑰呮洿鏂逛究鐨勮块棶缃戦檯缃戣矾锛岃屼笉鐢ㄥ幓璁颁綇鑳藉熻鏈哄櫒鐩存帴璇诲彇鐨処P鏁颁覆銆傞氳繃涓绘満鍚嶏紝鏈缁堝緱鍒拌ヤ富鏈哄悕瀵瑰簲鐨処P鍦板潃鐨勮繃绋嬪彨鍋氬煙鍚嶈В鏋愶紙鎴栦富鏈哄悕瑙f瀽锛夈侱NS鍗忚鎵ц屽湪UDP鍗忚涔嬩笂锛屼娇鐢ㄥ煚鍙53銆傚湪RFC鏂囦欢涓璕FC2181瀵笵NS鏈夎勮寖璇存槑锛孯FC2136瀵笵NS鐨勫姩鎬佹洿鏂拌繘琛岃存槑锛孯FC2308瀵笵NS鏌ヨ㈢殑鍙嶅悜蹇鍙栬繘琛岃存槑銆
鍩熷悕灞傛$粨鏋
浣犳寚鐨勫眰娆$粨鏋勬槸锛
寮鍙戣呮ā寮忛噷锛岄檺鍒跺悗鍙扮▼搴忔暟閲忎細涓嶄細瀵艰嚧鑰楃數鏇村揩
鑰楃數鏈甯歌佺殑鍘熷洜涔嬩竴灏辨槸瀹夎呭お澶氱殑杞浣擄紝鍗犵敤浜嗗お澶氱殑鎵嬫満璁板繂浣擄紝浣挎柊瑁呰蒋浣撳彲鐢ㄦ墽琛岃板繂浣撳噺灏戯紝鎵ц岃捣鏉ュ崱椤匡紝涓嶆祦鐣呫傝楃數灏卞揩锛岃嚜鍚杞浣撳お澶氾紝杞浣撳湪鍚庡彴鍋峰伔鎵ц岋紝鍗犵敤澶澶氭墽琛岃板繂浣擄紝鎵嬫満鎵ц屼竴浼氬効娴璐瑰緢澶氱數浜嗐
缁忓父娓呯悊蹇鍙栫殑妗f堝拰瑙i櫎瀹夎呭瀮鍦俱
寰呮満椤甸潰涓嬶紝闀挎寜钀ゅ箷閿锛屽嚭鐜板伐浣滅$悊鍛橀〉闈銆傜偣閫夊伐浣滅$悊鍛樺浘绀鸿繘鍏ャ
鐐归夆滄椿鍔ㄥ簲鐢ㄧ▼寮忊濓紝鍙浠ョ湅鍒板綋鍓嶆e湪鎵ц岀殑绋嬪紡锛涘傛灉鎯冲皢涓嶄娇鐢ㄧ殑绋嬪紡缁撴潫锛岀偣閫夆滅粨鏉熲-鈥滅‘瀹氣濆嵆鍙銆
鐐归夆滃凡涓嬭浇鈥濓紝鎵鏈夊畨瑁呯殑绋嬪紡锛屼細浣撶幇鍦ㄨ繖閲岋紝瑙i櫎瀹夎呬笉甯哥敤鐨勭▼寮忥紝閬垮厤缁欑‖浣撻犳垚鍘嬪姏锛屽奖鍝嶆墽琛屻
鐐归夆淩AM鈥濆彲浠ュ瑰偍瀛樺櫒杩涜屾竻鐞嗭紝RAM鍗抽殢鏈哄偍瀛樺櫒锛岀敤浜庝复鏃跺偍瀛樿祫鏂欙紝瀵逛娇鐢ㄧ殑浣撻獙褰卞搷鏈涓烘槑鏄俱
鍒嗘瀽涓嬪嶅彞鐨勫眰娆$粨鏋
1濡傛櫤鍔涗笉闆嗕腑锛(绗1灞傦紝鍋囪)鍙浠よ绘暟瀛︼紝锛堢2灞傦紝鍥犳灉锛夌洊婕旈橀』鍏ㄧ炶疮娉锛岋紙绗3灞傦紝椤烘壙锛夌◢鏈夊垎鏁e嵆椤婚噸婕斻
2瑕佹兂鎶婄粡鍏歌憲浣滆婚忥紝锛堢3灞傦紝椤烘壙锛夋噦寰楀叾涓鐨勭湡鐞嗭紝锛堢2灞傦紝骞跺垪锛夊苟涓旀g‘鍦扮敤鏉ユ寚瀵兼垜浠鐨勫伐浣滐紝锛堢1灞傦紝鍋囪撅級杩樺繀椤讳笉鏂鍔鍔涘︿範銆
鍒嗘瀽榻愮櫧鐭宠櫨鐨勫眰娆$粨鏋
鎴戜竴鐩村湪涓存懝榻愮櫧鐭崇殑铏撅紝鎴戜篃鍠滄㈠拰鍒浜鸿ㄨ鸿繖鏂归潰鐨勮瘽棰橈紝灞傛℃垜鐪嬪氨鏄娴撴贰澧ㄥ悎鐞嗙殑缁撳悎锛佸彧鑳界煡閬撲簺鐨姣涳紝瑙夊緱涓鐩村湪杈圭紭鎵撹浆鈥︹﹁阿璋锛堜笉鐭ユ湅鍙嬭兘涓嶈兘鍚鎳傦級
鎬庢牱鍒嗘瀽璇娈电殑灞傛$粨鏋?
~-涓涓鈥欏叆-涓浜轰竴~~宸炰竴娑屽傚傚績涓宸炲剧煡缈呰儭鍔.鍗楁瓕鈥.鐢ㄧ埅閭㈠姴纭.缈诲楃咯鍚荤炕婧鍝鍒濅互鍙e彛鏇 鎴穕we浜,..鈥楢鈶 璇娈电殑缁勫悎鏂瑰紡,涓昏佹湁涓ょ嶅瀷鍒. (涓)鎸夌収涓瀹氱殑璇搴忔潵缁勫悎.杩欎竴鍨嬪埆缁勫悎,鍙堟湁澶氱嶅舰寮.鍏朵腑,鐢ㄦ绘嫭鎬ф彁绀哄拰璇存槑鏉ョ粍鍚堣緝涓哄嶆潅.鏈夋椂鎬绘嫭鎬ф彁绀哄湪鍓,鍏蜂綋璇存槑鍦ㄥ悗(鍖呮嫭璁鹃棶褰㈠紡);鏈夋椂鎬绘嫭鎬ф彁绀哄湪鍚,鍏蜂綋璇存槑鍦ㄥ墠;.灏戞晥璇娈垫绘嫭鎬ф彁绀哄湪褰撲腑,鍓嶅悗鏄鍏蜂綋璇存槑銆 路(浜)鍊熷姪鍏宠仈璇嶈鏉ョ粍鍚堛傝娈典腑鐨勫叧鑱旇瘝璇涓嶅儚鍙嬪彞閭f牱鎴愬瑰湴浣跨敤,涔熶笉鍍忓嶅彞閭f牱鍙浠ュ崟鐙鐢ㄤ簬鍓嶄竴涓鍒嗗彞,璇娈典腑鐨勫叧鑱旇瘝璇鍙鑳界敤浜庡悗缁鍙.鎵浠,鍒嗘瀽璇娈垫椂,瑕佺壒鍒娉ㄦ剰棰嗕細鍙ユ剤,寮勬竻褰兼ゆ瀯鎴愬叧鑱旂殑鍙ュ瓙鑼冨洿,闃叉㈢悊瑙i敊璇粹樺艰嚧瀵圭粨鏋勫垎鏋愬け褰. 楂樿冭瘯棰,鍒嗘瀽鈥滀竴娈垫枃瀛椻欑殑灞傛$粨鏋,澶у氫笉鏄涓涓璇娈,鑰屾槸鍚鏈変袱涓浠ヤ笂璇娈电殑璇娈电兢.璇娈电兢鏄璇娈佃〃鎰忕殑鎵╁ぇ,缁勫悎鏂瑰紡鐨勬墿澶;鑳藉垎鏋愯娈电殑灞傛$粨鏋,涔熷氨涓嶉毦鍒嗘瀽璇娈电兢鐨勫眰娆$粨鏋勩 璇娈垫湁鍗曞眰娆$殑,鏈夊氬眰娆$殑;璇娈电兢閮芥槸澶氬眰娆$殑.鍒嗘瀽璇娈.璇娈电兢鐨勫眰娆$粨鏋,涓庡垎鏋愬嶅彞銆佸氶噸澶嶅彞鐨勬柟娉曠浉鍚;璇存槑鍙ラ棿鍏崇郴鐨勬湳璇涔熷樊涓嶅,鏈夊苟鍒椼佹壙鎺ャ侀掕繘銆侀夋嫨銆佸洜鏋溿......(鏈鏂囧叡璁1椤) 璧瀃缁х画闃呰绘湰鏂嘳
缃戣矾鐨勫眰娆$粨鏋勶紵
鍥介檯鏍囧噯鍖栫粍缁嘔SO(International Standards Organization)鍦80骞翠唬鎻愬嚭鐨勫紑鏀剧郴缁熶簰鑱斿弬鑰冩ā鍨婳SI(Open System Interconnection)锛岃繖涓妯″瀷灏嗚$畻鏈虹綉璺閫氳鍗忚鍒嗕负涓冨眰锛屽垎鍒鏄锛
鐗╃悊灞(Physical Layer)
璧勬枡閾捐矾灞(Data Link Layer)
缃戣矾灞(Net Work Layer)
浼犺緭灞(Transport Layer)
浼氳瘽灞(Session Layer)
琛ㄧず灞(Presentation Layer)
搴旂敤灞(Application Layer)
浣欓濆疂鐨勫眰娆$粨鏋
浣犲ソ銆備綑棰濆疂鐢遍樋閲屽反宸淬傚ぉ寮樺熀閲戙傚唴钂欏悰姝d笁瀹跺叕鍙告帶鑲℃姇璧勭粍鎴愩傚叾涓澶╁紭鍩洪噾鏄鍥芥湁璧勪骇锛屼篃鏄鍥藉唴鏈澶х殑璐у竵鍩洪噾鍏鍙搞備綑棰濆疂鐨勫畨鍏ㄧ瓑绾х浉褰撲簬鍥芥湁鍚勫ぇ閾惰屻
⑹ c# format 格式化如何理解
{0:X2}后面这个X2表示格式化这个参数的显示,不能的数据类型有不同的格式内容,如格式化一个 DOUBLE 类型:
string str = string.Format("{0:F2}",12.12236);
这里的 F2 表只保存两位小数,所以 str 的值等于 12.12
您这里的-20
指的是.去除掉文字后补充的空格数.
引号内17个空格!