TCP/IP详解卷一之防火墙和网络地址转换

1 防火墙
—代理防火墙和包过滤防火墙的主要区别是所操作的协议栈的层次以及由此决定的IP地址和端口号的使用。
(1)包过滤防火墙
— 包过滤防火墙是一个互联网路由器,能够丢弃符合(或不符合)特定条件的数据包。
—最简单的包过滤防火墙是无状态的,它会单独处理每一个数据报。
—更复杂的包过滤防火墙是有状态的,它能够通过关联已经或者即将到达的数据包来推断流或者数据报的信息,即那些属于同一个传输关联的数据包或构成同一个IP数据报的IP分片。
—通常情况下,过滤器会全力拦截来自外网的恶意流量,但不会限制从内网到外网的流量。
(2)代理防火墙
—从Internet客户端的角度来看,代理防火墙是一个多宿主的服务器主机。它是TCP和UDP传输关联的终点,通常不会在IP协议层中路由IP数据报。
—代理防火墙支持使用私有地址范围。其常见的配置是为“外”接口分配一个全局路由的IP地址,为“内”接口分配一个私有的IP地址。
—代理防火墙是非常安全的,但它是以脆性和缺乏灵活性为代价的:
· 由于这种类型的防火墙必须为每个传输层服务设置一个代理,任何要使用的新服务必须安装一个相应的代理,并通过该代理来操作发起连接;此外必须配置每个客户端以便能够找到代理。
· 在部署方面,代理防火墙在所有被访问的网络服务均能提前确定的环境中能工作得很好,但是添加额外的服务可能需要网络运营者的重大干预。
—代理防火墙的两种常见形式:
· HTTP代理防火墙:也称为Web代理,只能用于HTTP和HTTPS协议。这种代理往往也提供Web缓存功能,从而减少显示网页的延迟,提高用户访问网站的体验。
· SOCKS防火墙:比HTTP代理使用更为广泛,可用于Web之外的其他服务。

2 网络地址转换(NAT)
—NAT本质上是一种允许在互联网的不同地方重复使用相同的IP地址集的机制。
—NAT的引入用以解决两个问题:IP地址枯竭和关于路由可扩展性的担忧。后者由于无类别域间路由(CIDR)的发展而被解决了。
—NAT的缺点:
· 由于互联网上的用户无法直接访问具备私有地址的主机,因此,需要做特殊配置才能使处于NAT内部的主机能够提供可供互联网访问的服务。
· 为了使NAT正常工作,每一个隶属于同一个连接或关联的双向数据包都必须通过相同的NAT。
· 在许多方面,NAT和互联网协议的基本宗旨是背道而驰的:“智能边缘”和”哑巴中间“。
· 为完成工作,NAT需要跟踪每个关联(或每个连接)的连接状态,其操作贯穿多个协议层。
· NAT会对一些应用协议造成困扰,尤其是那些在应用层的有效载荷内记录IP地址信息的协议,如FTP协议。
—大多数NAT同时执行转换和包过滤,包过滤的标准取决于NAT的动态状态。
—传统NAT可分为两类:
· 基本NAT:只执行IP地址的重写,无助于减少需要使用的IP地址数量。
· 网络地址端口转换(NAPT):使用传输层标识符(即TCP和UDP端口,ICMP查询标识符)来确定一个特定的数据包到底和NAT内部的哪台私有主机关联,这使得大量的内部主机可以同时访问互联网,而所使用的公有地址却很少。
—保留了三个IPv4地址范围作为私有地址范围使用:10.0.0.0/8,172.16.0.0/12,192.168.0.0/16。
—NAT提供了一定程度上的类似于防火墙的安全性:
· 默认情况下,从互联网上无法访问NAT私有端的所有系统。
· 必须借助NAT的参与,才能保证私有地址领域和公共领域中的主机之间的正常通信。一般采取的策略是:几乎允许所有的传出及其返回流量通过NAT,但几乎阻断所有传入的新连接请求。
· NAT对外隐藏内部地址的数量和配置。
—当IP数据报被分片后,除第一个分片之外,其他的分片并没有包含端口号信息。因此,在一般情况下,分片不能被NAT或NAPT正确处理。

3 NAT地址和端口转换行为、NAT过滤行为
—各种NAT端口和地址行为、过滤行为如下表:
在这里插入图片描述
—在所有常见的传输层协议中(包括TCP和UDP),所需的NAT地址和端口处理行为是独立于端点的,来帮助应用程序确定一个确保流量能够正常工作的外部地址。
—地址配对:当位于NAT后的一个主机同时发起多个连接时,为每个连接分配相同的外部IP地址。
—地址配对是所有传输层的推荐NAT行为。
—若NAT中缺乏任何形式的地址映射,那么它无法转发从外到内的任何流量。

猜你喜欢

转载自blog.csdn.net/qq_43008490/article/details/86305987