你的位置:pcMing工作室 >> 资讯 >> 网络技术 >> 网络配置 >> 详细内容 在线投稿

关于ACL的established使用

排行榜 收藏 打印 发给朋友 举报 来源: 互联网   发布者:未知
热度101票  浏览5次 【共0条评论】【我要评论 时间:2010年4月05日 16:35
1,首先回顾一下TCP协议:
$]6d:G;q \0
TCP数据包中有六个标志位(Code Bits):6 位标志域。表示为:紧急标志、有意义的应答标志、推、重置连接标志、同步序列号标志、完成发送数据标志。按照顺序排列是:URG、ACK、PSH、RST、SYN、FIN。在整个TCP数据传输过程中ACK位除了在第一次握手的时候置位为0外,其他任何时候都置位为1。
-c2w%euF0[!I0pcMing工作室iD7do:{ k
三次握手过程:pcMing工作室:CkZx3z
在TCP/IP协议中,TCP协议提供可靠的连接服务,采用三次握手建立一个连接。  
{,x"MD4u2TxR0第一次握手:建立连接时,客户端发送syn包(syn=j)到服务器,并进入SYN_SEND状态,等待服务器确认;  pcMing工作室(B#a&MQ(ec#r
第二次握手:服务器收到syn包,必须确认客户的SYN(ack=j+1),同时自己也发送一个SYN包(syn=k),即SYN+ACK包,此时服务器进入SYN_RECV状态;  
(@mh2E4n0CM0第三次握手:客户端收到服务器的SYN+ACK包,向服务器发送确认包ACK(ack=k+1),此包发送完毕,客户端和服务器进入ESTABLISHED状态,完成三次握手。
3t&v,X!L2a0
4ADo Rl~.} ZP.E_02,再次拿一个ACL来举例说明(摘自TCP/IP路由技术 第一卷 第556页):
$UlFUZA7{`~!P]h.J0假设你实现了一个访问列表可以阻止外部发起的TCP会话进入到你的网络中,但是你又想让内部发起的TCP会话的响应通过,那应该怎么办?通过检查TCP段头内的ACK和RST标记,关键字established可以实现这一点。如果这两个标记都没有被设置,表明源点正在向目标建立TCP连接,那么匹配不会发生。最终报文将会在访问列表中的后继行中被拒绝。示例如下:
)yea5d:Y3b'R0access-list 110 permit tcp any 172.22.0.0 0.0.255.255 establishedpcMing工作室n0S,c$l;lGJ
access-list 110 permit tcp any host 172.22.15.83 eq 25
wR+R'cj,H8Su;A0access-list 110 permit tcp 10.0.0.0 0.255.255.255 172.22.114.0 0.0.255 eq 23
Bie"DA M0第1行:如果链接是从网络172.22.0.0发起的,那么允许从热和原电到该网络的TCP报文通过;pcMing工作室NuvQ0K
第2行:允许来自任意源点,且目标端口号是主机172.22.16.83的端口25的TCP报文通过;pcMing工作室t QIN+vE;v[gli
第3行:允许来自网络10.0.0.0,去向网络172.22.114.0/24且目标端口为23的TCP报文通过。
)M,IB2w`3S u0pcMing工作室P)mf1uT2e5e
通过上面的ACL,大家有没有注意过,一个从any到172.22.15.83的25端口的连接,TCP的三次握手,第一次握手肯定是需要匹配第2行ACL,因为此报文的标志位ACK置位为0,不能匹配第1行ACL。但是此会话的后面的所有数据报文都会匹配第1行了,因为此报文的标志ACK已经置位为1了。这里是否有问题,请相关牛人鉴定!pcMing工作室/bM#ia j R$EvL`j
pcMing工作室C1|6ga6yRg]
3,ACL对分片包的处理(摘自一英文技术宝典,经我翻译如下):
-s\V-dJ!p"H5j0Q0当一IP包被分片时,仅在第一个分片中包含所有三层与四层信息,而后续分片则只包含三层信息,四层信息丢失。pcMing工作室*mWNggO
ACL的处理机制:pcMing工作室v)^ P]m;dn7YX
对于permit ACEs:当第一分片被匹配上后,后续分片也会匹配上(不检查四层信息);
6]5?2M/| \;Vt0对于deny ACEs:所有分片都要检查三、四层信息。实际上,对于deny ACEs,当第一分片被匹配上后被丢弃,而后续分片由于无四层信息则不能匹配该deny ACEs,可能在后面检查时允许通过,则传到目标地后,由于不能进行重组而被丢弃。但这样占用了带宽及目标主机的CPU。
[ _$JB5i;z1K*I1H3W0pcMing工作室@,q-K^0WG v D
综合以上,根据3,是否可以判定ACL的处理机制有点smart,它可以根据每条ACE条目记录某一个时段的匹配内容,匹配内容主要包括源和目标IP地址,甚至端口号(tcp条目),从而不会将流量报文匹配错。也就是说根据2说的同一会话的后续报文不会去匹配第1行ACL,而根据ACL的记录内容去匹配第2行ACL。
5|[#tC.Q*cz0pcMing工作室Tzc$FVz!a R{
以上纯粹是我个人针对ACL的分析,有任何不对或者有争议之处,还请牛人指正,不胜感激!!!pcMing工作室h cH v1Y#XN4Z*umL
本文出自 “Network Manage Tech Experience” 博客,请务必保留此出处http://ipneter.blog.51cto.com/341177/74361
顶:9 踩:9
对本文中的事件或人物打分:
当前平均分:0.31 (29次打分)
对本篇资讯内容的质量打分:
当前平均分:0.11 (27次打分)
【已经有27人表态】
5票
感动
2票
路过
5票
高兴
1票
难过
2票
搞笑
2票
愤怒
7票
无聊
3票
同情
上一篇 下一篇
发表评论
换一张

网友评论仅供网友表达个人看法,并不表明本网同意其观点或证实其描述。

查看全部回复【已有0位网友发表了看法】

网络资源