首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往
您找到你想要的搜索结果了吗?
是的
没有找到

浅谈ACL(访问控制列表)

ACL(访问控制列表)是应用在路由器接口的指令列表。这些指令列表用来告诉路由器,那些数据包可以接收,那些数据包需要拒绝。 基本原理为:ACL使用包过滤技术,在路由器上读取OSI七层模型的第三层及第四层包头中的信息,如源地址、目的地址、源端口、目的端口等,根据预先定义好的规则,对包进行过滤,从而达到访问控制的目的。 ACL通过在路由器接口处控制数据包是转发还是丢弃来过滤通信流量。 路由器根据ACL中指定的条件来检测通过路由器的数据包,从而决定是转发还是丢弃数据包。 ACL有三种类型: 1、标准ACL:根据数据包的源IP地址来允许或拒绝数据包。标准ACL的访问控制列表号是1~99。 2、扩展ACL:根据数据包的源IP地址、目的IP地址、指定协议、端口和标志来允许或拒绝数据包。扩展ACL的访问控制列表号是100~199. 3、命名ACL允许在标准ACL和扩展ACL中使用名称代替表号。 ACL依靠规则对数据包执行检查,而这些规则通过检查数据包中的指定字段来允许或拒绝数据包。ACL通过五个元素来执行检查,这些元素位于IP头部和传输层头部中。他们分别是源IP地址、目标IP地址、协议、源端口及目标端口。

03

BIO与反应器模式

我们熟知的Socket编程就是一种BIO,一个socket连接一个处理线程(这个线程负责这个Socket连接的一系列数据传输操作)。阻塞的原因在于:操作系统允许的线程数量是有限的,多个socket申请与服务端建立连接时,服务端不能提供相应数量的处理线程,没有分配到处理线程的连接就会阻塞等待或被拒绝。   比如说,当我们最开始使用Java编写网络请求,都是建立一个ServerSocket,它负责绑定IP地址,启动监听端口;然后,Socket负责发起连接操作,连接成功建立后,双方通过输入输出流进行同步阻塞式通信;如果没有成功建立,要么等待,要么被拒绝。即:一个连接,要求Server对应一个处理线程。   简单描述一下BIO的服务端通信模型:采用BIO通信模型的服务端,通常由一个独立的Acceptor线程负责监听客户端的连接,它接收到客户端连接请求之后为每个客户端创建一个新的线程进行链路处理每次处理完成后,通过输出流返回应答给客户端,线程销毁。即典型的一请求一应答通信模型。

02
领券