OSI-网络层
--------------
| Application | Network Process to Applications
--------------
|
--------------
| Persentation | Data Representation
--------------
|
--------------
| Session | Interhost Communication
--------------
|
--------------
| Tansport | End-to-End Connections
--------------
|
--------------
| Network | Data Delivery
--------------
|
--------------
| Data Link |
--------------
|
--------------
| Physical |
--------------
我们知道OSI的第二层,即数据链路层使用MAC地址来编址,而MAC地址是一个平面的编址方案。为啥说是平面的编址方案,是因为它并没有层次化的设计,这就带来了一些问题:
- 所有设备处在同一个广播域;
- 设备定位查找比较困难;
- 难以对设备区分应用策略;
因为有这些问题,所以我们才需要对我们的网络做划分。划分后,就可以对不同的网络使用不同的策略,可以对网络做层次化的管理。有了层次化的管理,我们再去定位一台主机就会变的容易了很多。
那么问题就来了,如果去实现呢?对,就是IP协议。
IP Address Classses
我们知道IP地址分为了两个部分网络部分和主机部分。那么网络部分和主机部分都分别占多少位呢?
传统的IP地址分类将IP地址分为了A类,B类,C类,D类和E类。其中A类,B类和C类是正常使用的,而D类用来做组播,E类是保留使用的。
--------- ----- ----- -----
A类 | 0******* | . | Host | . | Host | . | Host |
--------- ----- ----- -----
0 ~ 126
127 (01111111) 是一个A类地址,是给loopback testing保留的,不能在network中使用。
--------- -------- ----- -----
B类 | 10****** | . | NetWork | . | Host | . | Host |
--------- -------- ----- -----
128 ~ 191
--------- -------- -------- -----
C类 | 110***** | . | NetWork | . | NetWork | . | Host |
--------- -------- -------- -----
192 ~ 223
Reserved Address
你一定记得,我们在计算一个网络有多少台主机时,会使用2n-2来计算这个网络可以容纳多少台主机。为什么要减2呢?
- Network Address
主机部分全为0
的是网络地址。 比方说,192.168.1.0
,这是一个C类地址,后8位是主机部分,而后8位全为0,说明192.168.1.0
代表的是一个网络。
- Broadcast Address
凡是向广播地址发送的数据,所有设备都需要处理。
广播地址又分为:直接广播和受限广播
例如,172.16.0.0/16
这个网络的直接广播地址为�172.16.255.255
,而受限广播地址为:255.255.255.255
。
直接广播
主机部分全为1
的是直接广播。
直接广播可以被路由转发,发送到目标网络的所有主机,如:ip地址为 192.168.2.1 的主机也可以发送广播到192.168.1.0这个网络。当然不是所有的路由器,傻瓜式路由器是默认阻止直接广播的。
受限广播
路由器不会转发受限广播的数据包,但同一个子网的所有主机都会接收到受限广播的数据包。
IP 地址的网络字段和主机字段全为 1 就是受限广播地址255.255.255.255
Private IP Addresses
Class | Private Address Range |
---|---|
A | 10.0.0.0 ~ 10.255.255.255 |
B | 172.16.0.0 ~ 172.31.255.255 |
C | 192.168.0.0 ~ 192.168.255.255 |
一般来说内网都用private ip address,而外网都用public ip address。这样的话,为了能在出口处能够通信,就必须要做地址转换(NAT)。