1. 分类的 IP 地址
整个互联网就是一个单一的, 抽象的网络 IP 地址就是给互联网上的每一台主机的每一个接口分配一个在全世界范围内是唯一的 32 位的标识符
IP 地址的编址方法经历过三个历史阶段:
分类的 IP 地址 -> 子网的划分 -> 构成超网
所谓分类的 IP 地址就是将 IP 地址划分为若干个固定类, 每一类地址都是由两个固定长度的字段组成, 其中第一个字段是网络号, 标志主机所连接到的网络第二个字段是主机号, 标志该主机一个 IP 地址在整个互联网范围内是唯一的
两级的 IP 地址可以记为: IP 地址 ::={<网络号>,< 主机号 >}
常用的三种 IP 地址:
IP 地址特点:
(1) 每一个 IP 地址都是由网络号和主机号两部分组成
(2) 实际上 IP 地址是标准一台主机和一条链路的接口
(3) 用转发器或网桥连接起来的若干个局域网仍为一个网络, 因为这些局域网都具有相同的网络号
(4) 在 IP 地址中, 所有分配到网络号的网络都是平等的 (互联网平等对待每一个 IP 地址)
IP 地址是一种分等级的地址结构, IP 地址管理机构在分配 IP 地址时只分配网络号, 而主机号则由得到该网络号的单位自行分配, 路由器仅根据目的主机所连接的网络号来转发分组
2.IP 地址与硬件地址
从层次角度看, 物理地址是数据链路层和物理层使用的地址, 而 IP 地址是网络层和以上各层使用的地址, 是一种逻辑地址
在发送数据时, 数据从高层下到底层, 然后才到通信链路上传输使用 IP 地址的 IP 数据报一旦交给了数据链路层, 就被封装成 MAC 帧 MAC 帧在传送时使用的源地址和目的地址都是硬件地址, 这两个硬件地址都写在 MAC 帧的首部中
(1) 在 IP 层抽象的互联网上只能看到 IP 数据报
(2) 虽然在 IP 数据报首部有源站 IP 地址, 但路由器只根据目的站的 IP 地址的网络号进行路由选择
(3) 在局域网的链路层, 只能看见 MAC 帧
(4) 尽管互联在一起的网络的硬件地址体系各不相同, 但 IP 层抽象的互联网却屏蔽了下层这些很复杂的细节只要在网络层上讨论问题, 就能够使用统一的抽象的 IP 地址研究主机和主机或路由器之间的通信
3. 地址解析协议 ARP
由于是 IP 协议使用了 ARP 协议, 因此通常把 ARP 协议划归为网络层
用途: 为了从网络层使用的 IP 地址, 解析出在数据链路层使用的硬件地
地址解析协议 ARP 解决这个问题的方法是在主机 ARP 高速缓存中存放一个从 IP 地址到硬件地址的映射表, 并且这个映射表还经常动态更新
每一台主机都有一个 ARP, 里面有本局域网上的个主机和路由器的 IP 地址到硬件地址的映射表, 这些都是该主机目前知道的一些地址 那么主机怎么直到这些地址呢?
当主机 A 要向本局域网的某台主机 B 发送 IP 数据报时, 就先在其 ARP 高速缓存中查看有无主机 B 的 IP 地址, 如有, 就在 ARP 高速缓存中查出其对应的硬件地址, 再把这个硬件地址写入 MAC 帧, 然后通过局域网把该 MAC 帧发往此硬件地址
也有可能查不到主机 B 的 IP 地址的项目, 可能主机 B 才入网, 可能主机 A 刚刚加电, 其高速缓存还是空的此时, 主机 A 自动运行 ARP 按如下步骤找出知己 B 的硬件地址
(1)ARP 进程在本局域网上广播发送一个 ARP 请求分组
(2) 在本局域网上的所有主机上运行的 ARP 进程都收到此 ARP 请求分组
(3) 主机 B 的 IP 地址与 ARP 请求分组中要查询的 IP 地址一致, 就收下这个 ARP 请求分组, 并向主机 A 发送 ARP 相应分组, 同时在这个 ARP 响应分组中写入自己的硬件地址
(4) 主机 A 收到主机 B 的 ARP 响应分组后, 就在其 ARP 高速缓存中写入主机 B 的 IP 地址到硬件地址的映射
4. 划分子网和构造超网
从两级 IP 地址到三级 IP 地址
两级 IP 地址:
(1)IP 地址空间的利用率有时很低
(2) 给每一个物理网络分配一个网络号会使路由表变得太大因而使网络性能变坏
(3) 两级 IP 地址不够灵活
因此, 又增加了一个子网号字段, 使两级 IP 地址变为三级 IP 地址, 这种做法叫做划分子网
划分子网的基本思路:
(1) 一个拥有许多物理网络的单位, 可将所属的物理网络划分为若干个子网, 划分子网纯属一个单位内部的事情, 本单位以外的网络看不见这个网络是由多少个子网组成
(2) 从网络的主机号中借用若干位作为子网号, 当然主机号也就相应的减少了同样的位数于是两级 IP 地址在本单位内部就变为三级 IP 地址
IP 地址::={< 网络号 >,< 子网号 >,< 主机号 >}
(3) 凡是从其它网络发送给本单位某台主机的 IP 数据报, 仍然是根据 IP 数据报的目的网络号找到连接在本单位网络上的路由器但此路由器在收到 IP 数据报后, 再按目的网络号和子网号找到目的子网, 把 IP 数据报交付目的主机
5. 子网掩码
把三级 IP 地址的子网掩码和收到的数据报的目的 IP 地址 145.13.3.10 逐位相与运算, 就立即得出网络地址来
归纳上述要点: 从网络 145.13.0.0 外面看, 这就是一个普通的 B 类网络, 其子网掩码为 16 个 1 后面跟 16 个 0. 但进入网络之后还有许多网络, 其网络地址是 145.13.x.0, 在这个 B 类网络的外面和里面看到的网络是不一样的
现在互联网的标准规定: 所有的网络都必须使用子网掩码, 同时在路由器的路由表中也必须有子网掩码这一栏如果一个网络不划分子网, 那么该网络的子网掩码就使用默认子网掩码
A 类地址的默认子网掩码: 255.0.0.0
B 类地址的默认子网掩码: 255.255.0.0
C 类地址的默认子网掩码: 255.255.255.0
例题:
已知 IP 地址是 141.14.72.24, 子网掩码是 255.255.192.0 试求网络地址
解: 子网掩码是 11111111 11111111 11000000 00000000
掩码的前两个字节全是 1, 因此网络地址的前两个字节可写为 141.14 子网掩码的第四字节是全 0, 因此网络地址的第四字节是 0
如果把上例中的子网掩码改为 255.255.224.0, 同样方法所得网络地址仍为 141.14.64.0.
由此可说明: 同样的 IP 地址和不同的子网掩码可以得出相同的网络地址, 但是不同的掩码效果是不同的
来源: http://blog.csdn.net/zjx624bjh/article/details/79346832