网络地址转换(NAT),也叫做网络掩蔽或IP掩蔽
这是一种IP数据包通过路由器或者防火墙时,重写来源IP地址或目的IP地址的技术,这种技术普遍用在有多台主机但只通过一个公有IP地址访问因特网的私有网络中.当然,NAT也让主机之间的通信变得复杂,导致了通信效率变低.
概述
90年代中期,NAT是作为解决IPv4地址短缺以避免保留IP地址困难的方案而流行起来的.所以NAT就成了家庭和小型办公网络连接上的路由器的一个标准特征,因为申请独立的IP地址的代价要高于所带来的效益.
在一个典型的配置中,一个本地网络使用一个专有的网络的指定子网(比如192.168.X.X或10.X.X.X)和连在这个网络上的一个路由器.这个路由器占有这个网络地址空间的一个专有地址(入如192.168.0.1),同时他还有一个Internet服务提供商提供的公有IP地址(叫做过载NAT).当信息从本地网络向Internet传输时,原地址由专有地址转换为公用地址.由路由器跟踪每个连接上的基本数据,主要是目的地址和端口.当有回复返回路由器时,它通过输出阶段记录的连接跟踪数据决定转发给内部网的哪个主机.
Ipv6的广泛采用将使得NAT不再需要.
缺点
在路由器下的主机并没有创建真正的IP地址,并且不能参与一些因特网协议. NAT也会使安全协议变得复杂.
子网掩码(subnet mask)
子网掩码(subnet mask)是每个使用互联网的人必须要掌握的基础知识,只有掌握它,才能够真正理解TCP/IP协议的设置. 子网掩码:屏蔽一个IP地址的网络部分的全1比特模式.
- 对于A类地址,默认子网掩码是255.0.0.0;
- 对于B类地址,默认子网掩码是255.255.0.0;
- 对于C类地址,默认子网掩码是255.255.255.0;
利用子网掩码可以把大的网络划分成子网,即VLSM(可变长子网掩码),也可以把小的网络归并成大的网络即超网。
子网掩码构成
要想理解什么是子网掩码,就不能不了解IP地址的构成。互联网是由许多小型网络构成的,每个网络上都有许多主机,这样便构成了一个有层次的结构。IP地址在设计时就考虑到地址分配的层次特点,将每个IP地址都分割成网络号和主机号两部分,以便于IP地址的寻址操作。 IP地址的网络号和主机号各是多少位呢?如果不指定,就不知道哪些位是网络号、哪些是主机号,这就需要通过子网掩码来实现。
子网掩码的设定必须遵循一定的规则。与二进制IP地址相同,子网掩码由1和0组成,且1和0分别连续。子网掩码的长度也是32位,左边是网络位,用二进制数字“1”表示,1的数目等于网络位的长度;右边是主机位,用二进制数字“0”表示,0的数目等于主机位的长度。这样做的目的是为了让掩码与ip地址做按位与运算时用0遮住原主机数,而不改变原网络段数字,而且很容易通过0的位数确定子网的主机数(2的主机位数次方-2,因为主机号全为1时表示该网络广播地址,全为0时表示该网络的网络号,这是两个特殊地址)。只有通过子网掩码,才能表明一台主机所在的子网与其他子网的关系,使网络正常工作。
定义主机数目
用于子网掩码的位数决定于可能的子网数目和每个子网的主机数目。在定义子网掩码前,必须弄清楚本来使用的子网数和主机数目。 定义子网掩码的步骤
- 确定哪些组地址归我们使用。比如我们申请到的网络号为 “210.73.a.b”,该网络地址为c类IP地址,网络标识为“210.73.a”,主机标识为“b”。
-
根据我们所需的子网数以及将来可能扩充到的子网数,用宿主机的一些位来定义子网掩码。比如我们需要12个子网,将来可能需要16个。用第四个字节的前四位确定子网掩码。前四位都置为“1”,即第四个字节为“11110000”,这个数我们暂且称作新的二进制子网掩码。
- 把对应初始网络的各个位都置为“1”,即前三个字节都置为“1”,则子网掩码的间断二进制形式为:“11111111.11111111.11111111.11110000” 。
- 把这个数转化为间断十进制形式为:“255.255.255.240” 。
地址判断
子网掩码是用来判断任意两台计算机的IP地址是否属于同一子网络的根据。 最为简单的理解就是两台计算机各自的IP地址与子网掩码进行AND运算后,如果得出的结果是相同的,则说明这两台计算机是处于同一个子网络上的,可以进行直接的通讯。就这么简单。
表示方法
子网掩码通常有以下2种格式的表示方法: 1. 通过与IP地址格式相同的点分十进制表示 如:255.0.0.0 或255.255.255.128 2. 在IP地址后加上”/”符号以及1-32的数字,其中1-32的数字表示子网掩码中网络标识位的长度 如:192.168.1.1/24 的子网掩码也可以表示为255.255.255.0 子网掩码一般为255.255.255.0
ABC类地址
0开头的A类,10开头B类,110开头C类,1110开头D类,11110开头E类
1. A类地址
A类地址的表示范围为:0.0.0.0~126.255.255.255,默认网络掩码为:255.0.0.0;A类地址分配给规模特别大的网络使用。A类网络用第一组数字表示网络本身的地址,后面三组数字作为连接于网络上的主机的地址。分配给具有大量主机(直接个人用户)而局域网络个数较少的大型网络。例如IBM公司的网络。
2. B类地址
B类地址的表示范围为:128.0.0.0~191.255.255.255,默认网络掩码为:255.255.0.0;B类地址分配给一般的中型网络。B类网络用第一、二组数字表示网络的地址,后面两组数字代表网络上的主机地址。
3. C类地址
C类地址的表示范围为:192.0.0.0~223.255.255.255,默认网络掩码为:255.255.255.0;C类地址分配给小型网络,如一般的局域网和校园网,它可连接的主机数量是最少的,采用把所属的用户分为若干的网段进行管理。C类网络用前三组数字表示网络的地址,最后一组数字作为网络上的主机地址。
实际上,还存在着D类地址和E类地址。但这两类地址用途比较特殊,在这里只是简单介绍一下:D类地址称为广播地址,供特殊协议向选定的节点发送信息时用。E类地址保留给将来使用。