2013年(13)
分类: 数据库开发技术
2013-05-03 10:44:28
在《数据库安全之--数据库安全体系结构》一文中,我们介绍了数据库安全的体系结构,数据库安全比较复杂,涉及路由器,防火墙,操作系统,数据库等;还涉及到硬件和软件。而要讲清楚数据库安全,我们不得不了解一下TCP/IP协议族。如果抛开TCP/IP协议族,我们就没有办法讲清楚路由器、防火墙等设备的安全设置;即使我们勉强讲清楚了,估计很多朋友也很难理解数据库安全的深层次的原理,数据库安全的深层次原理其实已经深入到操作系统知识和网络知识中。所以,我们名为讲数据库安全,其实是在讲解数据库之外,但是又很重要,很难绕开的东西。
网络通常分为局域网和广域网两类,局域网一般包括以太网(Ethernet)、令牌网(Token Ring)和光纤分布式数据接口(FDDI) 网、异步传输模式网(ATM)等。我们常说常用的就是以太网。它基本上取代了其他局域网标准。以太网的标准拓扑结构为总线型拓扑。网络有2种模型:七层协议OSI参考模型和4层TCP/IP参考模型,它们的关系和区别如下图所示。
OSI的“数据链路层”、“物理层”对应TCP/IP的“网络接口层”;OSI的“应用层”、“表示层”、“会话层”对应TCP/IP的“应用层”。
只有清楚地理解了TCP/IP协议各层的作用和关系,你才能更好地理解,TCP/IP协议各层对Oracle的安全到底有什么影响,以及Oracle安全的各种机制是如何实现的。 接下来,我们将对下面的几层做简单的介绍:
? 应用层(Application Layer)
? 传输层(Transport Layer/TCP Layer)
? 网络层(Network Layer/IP Layer)
? 数据链路层(Data link Layer)
? 物理层(Physical Layer)
物理层
物理层是最低层,连接通信媒体实现数据传输。数据实际上就是在物理层进行传输的。物理层定义了一些有关网络的物理特性。说白了,物理层就是和电讯号相关(只有OSI有物理层的概念)。
数据链路层
数据链路层在物理层和网络层之间提供通信,建立相邻节点之间的数据链路,数据链路层的传送单位是帧,这是数据链路层的一大特征。发送端根据报文分为帧发送,当数据帧到达接收端后,接收端根据校验结果向发送端发出应答帧,发送端根据收到的应答帧的内容来决定是继续发送还是重新发。以下是帧的结构:
Dest MAC:表示目标MAC地址
Source MAC:表示源MAC地址
Data:表示用户数据
CRC:用于校验
特别要注意的是,在数据链路层,处理的单位是帧,而帧中含有MAC地址,这一点和网络安全搭上了一点关系,这也正是我们要介绍数据链路层的原因。
网络层
网络层也叫IP层。它负责把数据序列从网络中的一台计算机传输到网络中的另外一台计算机。这层对端到端的包传输进行定义,它定义了能够标识所有结点的逻辑地址,还定义了路由实现的方式和学习的方式。这一层还负责包的拆分和组装。路由器就工作在这一层,这也是为什么要介绍这一层的原因。网络层涉及对IP地址的处理,和我们所说的网络安全息息相关。
传输层
传输层为最终用户之间提供透明的数据传输服务,它有错误恢复和流控制的功能,以确保传输数据的完整性。这一层主要是负责数据的完整性。传输层有2种服务:一种是可靠的、面向连接的TCP服务;另一种服务是UDP(User Datagram Protocol,用户数据报协议),它是一种不可靠、非面向连接的协议。TCP可靠但是速度没有UDP快。
应用层
应用层是最高层,一些特定的程序就运行在该层。属于应用层的有:
运行在TCP上的协议:
? HTTP(Hypertext Transfer Protocol)超文本传输协议和HTTPS(安全超文本传输协议)
? FTP(File Transfer Protocol)文件传输协议。
? POP3(Post Office Protocol)邮局协议,收邮件用。
? SMTP(Simple Mail Transfer Protocol)简单邮件传输协议,用来发送电子邮件。
? TELNET(Teletype over the Network),通过一个终端(terminal)登陆到网络。
? SSH(Secure Shell),用于加密安全登陆用。
运行在UDP协议上的协议:
? BOOTP(Boot Protocol),启动协议,应用于无盘设备。
? NTP(Network Time Protocol),时间同步协议,用于时间同步。
以上只是简单地介绍了OSI和TCP/IP的参考模型,要想深入地理解各层的功能,还需要读者参阅三更多的资料。