乱弹....
Hash
Hash一般译为“散列”,也有直接音译为“哈希”的,就是把任意长度的输入通过散列算法变换成固定长度的输出,该输出就是散列值。这种转换是一种压缩映射,也就是散列值的空间通常远小于输入的空间,不同的输入可能会散列成相同的输出,他们并非一一对应,因此不可能从散列值来唯一确定输入值。简单来说散列就是一种将任意长度的消息压缩到某一固定长度消息摘要的函数。
不同的关键字可能得到相同的散列值,如key1≠key2,而f(key1)=f(key2),这种现象称碰撞。
散列函数的特性:
常用的hash算法:MD4、MD5、SHA-1等,常用于文件校验、数字签名、鉴权协议等场景。参考这里。
防火墙
防火墙指的是一个有软件和硬件设备组合而成、在内部网络和外部网络之间、专用网与公共网之间的界面上构造的保护屏障,是一种获取安全性方法的形象说法。他是一种计算机硬件和软件的结合,使Internet和Intranet之间建立起一个安全网关(Security Gateway),从而保护内部网络免受非法用于的侵入,防火墙主要由服务访问规则、校验工具、包过滤盒应用网关4个部分组成,防火墙就是一个位于计算机和它所连接的网络之间的软件和硬件,而计算机流入流出的所有网络通信和数据包均要经过此防火墙,其实它是一种隔离技术。参考这里。
防火墙主要类型:
DMZ(Demilitarized zone),中文称为“隔离区”,也称“非军事化区”,与军事区和信任区相对应,作用是把WEB,E-mail,等允许外部访问的服务器单独接在该区端口,使整个需要保护的内部网络接在信任区端口后,不允许任何访问,实现内外网分离,达到用户需求。DMZ可以理解为一个不同于外网或内网的特殊网络区域,DMZ内通常放置一些不含机密信息的公用服务器,比如Web、Mail、FTP等。这样来自外网的访问者可以访问DMZ中的服务,但不可能接触到存放在内网中的公司机密或私人信息等,即使DMZ中服务器受到破坏,也不会对内网中的机密信息造成影响。
原理:将部分用于提供对外服务的服务器主机划分到一个特定的子网——DMZ内,在DMZ的主机能与同处DMZ内的主机和外部网络的主机通信,而同内部网络主机的通信会被受到限制。这使DMZ的主机能被内部网络和外部网络所访问,而内部网络又能避免外部网络所得知。
当规划一个拥有DMZ的网络时候,我们可以明确各个网络之间的访问关系,可以确定以下六条访问控制策略。
以下为两种基本的架构——单防火墙和双防火墙,当然,可以根据实际网络的情况,使其结构更为复杂。
NAT(网络地址转换)
由于保密原因或 IP 在外网不合法,网络的内部 IP 地址无法在外部网络使用,就产生了 IP 地址转换的需求。网络地址转换(NAT,Network Address Translation)属接入广域网(WAN)技术,是一种将私有(保留)地址转化为合法IP地址的转换技术,它被广泛应用于各种类型Internet接入方式和各种类型的网络中。原因很简单,NAT不仅完美地解决了lP地址不足的问题,而且还能够有效地避免来自网络外部的攻击,隐藏并保护网络内部的计算机。使用这种转换方法是有一定限制的,即会话的请求及响应的发送必须经过相同的 NAT路由器。
NAT的实现方式有三种,即静态转换Static Nat、动态转换Dynamic Nat和端口多路复用OverLoad:
Memcached
Memcached是一个高性能的分布式缓存系统,主要用来减轻数据库的负载,从而提高相应速度,它是基于一个存储键值对的hashmap,其守护进程是用C些的,但客户端可以用任何语言来编写,并通过memcached协议与守护进程通讯。
memcached的API使用32位元的循环冗余校验(CRC-32)计算键值后,将数据分散在不同的机器上。当内存满了以后,接下来新增的数据会以LRU(最近最少使用)机制替换掉。而且它并不提供冗余,当某个服务器S停止运行或崩溃了,所有存放在S上的键/值对都将丢失。
memcached作为高速运行的分布式缓存服务器,具有以下的特点。
为了提高性能,memcached中保存的数据都存储在memcached内置的内存存储空间中。由于数据仅存在于内存中,因此重启memcached、重启操作系统会导致全部数据消失。另外,内容容量达到指定值之后,就基于LRU(Least Recently Used)算法自动删除不使用的缓存。memcached本身是为缓存而设计的服务器,因此并没有过多考虑数据的永久性问题。
优质内容筛选与推荐>>