IP协议子网划分以及子网掩码


前言

IPv4 (Internet Protocol Version 4)协议族是TCP/IP协议族中最为核心的协议族。它工作在TCP/IP协议栈的网络层,该层与OSI参考模型的网络层相对应。
网络层提供了无连接数据传输服务,即网络在发送数据报文时不需要先建立连接,每一个IP数据报文独立发送。在篇文章中,将介绍IPv4地址的基本概念,介绍如何进行子网划分,并且会介绍网络IP地址规划和IP地址的基本配置。


网络层协议

网络层经常被称为IP层,但网络层协议并不只是IP协议,还包括ICMP(Internet Control Message Protocol)协议、IPX(Internet Packet Exchange)协议等。

IP协议

IP是Internet Protocol的缩写。 Internet Protocol本身是一个协议文件的名称,该协议文件的内容非常少,主要是定义并阐述了IP报文的格式。
经常被提及的IP,一般不是特指Internet Protocol这个协议文件本身,而是泛指直接或间接与IP协议相关的任何内容


IP作用

  1. 标识节点和链路:

IP为每个链路分配一个全局唯一的网络号(network-number)以标识每个网络;为节点分配一个全局唯一的32位IP地址,用以标识每一个节点。寻址和转发:IP路由器(router)根据所掌握的路由信息,确定节点所在网络的位置,进而确定节点所在的位置,并选择适当的路径将IP包转发到目的节点。

  1. 适应各种数据链路(用于IP报文在网络中的寻址):

为了工作于多样化的链路和介质上,IP必须具备适应各种链路的能力,例如可以根据链路的MTU(Maximum Transfer Unit,最大传输单元)对IP包进行分片和重组,可以建立IP地址到数据链路层地址的映射以通过实际的数据链路传递信息。


IPV4报文

在这里插入图片描述

版本: IP协议的版本号,分为IPv4和IPv6协议。

头部长度:IPv4的首部长度。

服务类型 : 用来获得更好的服务。只有在使用区分服务时,这个字段才起作用。

总长度:指首部和数据之和的长度。

标识:IPv4软件在存储器中维持一个计数器,每产生一个数据报,计数器就加1,并将此值赋给标识字段。分片重组时会用到该字段

标志:目前只有两位有意义。最低位为1表示后面“还有分片”的数据报,为0表示这已经是最后一个数据片;中间一位为1表示“不能分片”,为0才允许分片,最高位为保留位暂时无意义

片位移:指出较长的分组在分片后,该片在原分组中的相对位置。

生存时间TTL(Time To Live):表示数据报在网络中的寿命,功能是“跳数限制”。此字段设置了数据包可以经过的路由器数目。一旦经过一个路由器,TTL值就会减1,当该字段值为0时,数据包将被丢弃。

协议:指出此数据报携带的数据是使用何种协议。

首部检验和:数据报每经过一个设备,设备都要重新计算一下首部检验和,若首部未发生变化,则此结果必为0,于是就保留这个数据报。这个字段只检验数据报的首部,但不包括数据部分。

源地址:报文发送方的IPv4地址。

目的地址:报文接收方的IPv4地址。

选项字段:0~40字节(长度可变),用来支持排错、测量以及安全等措施。在必要的时候插入值为0的填充字节。


数据包分片

将报文分割成多个片段的过程叫做分片。网络中转发的IP报文的长度可以不同,但如果报文长度超过了数据链路所支持的最大长度,则报文就需要分割成若干个较小的片段才能够在链路上传输。


IP地址

地址构成

IPv4地址由如下两部分组成:
网络部分 (网络号):用来标识一个网络。网络号码字段判断出主机属于哪个网络。对于网络号相同的设备,无论实际所处的物理位置如何,它们都是处在同一个网络中。
主机部分 (主机号):用来区分一个网络内的不同主机。

网络掩码

网络掩码 (Netmask),又称子网掩码 (Subnet Mask):用于划分主机号和网络号

网络掩码为32 bit,与IP地址的位数一样,通常也以点分十进制数来表示。网络掩码不是一个IP地址,在二进制的表示上是一堆连续的1、后面接一堆连续的0。通常将网络掩码中1的个数称为这个网络掩码的长度。如:掩码0.0.0.0的长度是0,掩码252.0.0.0的长度是6。
网络掩码一般与IP地址结合使用,其中值为1的比特对应IP地址中的网络位;值为0的比特对应IP地址中的主机位,以此来辅助我们识别一个IP地址中的网络位与主机位。即网络掩码中1的个数就是IP地址的网络号的位数,0的个数就是IP地址的主机号的位数。


IP地址的分类

为了方便IP地址的管理及组网,IP地址分成五类:A、B、C、D、E类
在这里插入图片描述

在这里插入图片描述

A、B、C类地址比较:
使用A类地址的网络称为A类网络;使用B类地址的网络称为B类网络;使用C类地址的网络称为C类网络。
A类网络的网络号为8 bit,个数很少,但所允许的主机接口的个数很多;首位恒定为0,地址空间为:0.0.0.0~127.255.255.255。
B类网络的网络号为16 bit,介于A类和C类网络之间;首两位恒定为10,地址空间为:128.0.0.0~191.255.255.255。
C类网络的网络号为24 bit,个数很多,但所允许的主机接口的个数就很少;首三位恒定为110,地址空间为:192.0.0.0~223.255.255.255。


IP地址的分类

我们通常把一个网络号所定义的网络范围称为一个网段
网络地址:用于标识一个网络。
例如:192.168.10.0/24

广播地址:用于向该网络中的所有主机发送数据的特殊地址
例如:192.168.10.255/24

可用地址:可分配给网络中的节点或网络设备接口的地址
例如:192.168.10.1/24
一个网段可用地址数量(可用地址要减去广播地址和网络地址所以要减2)为:2ⁿ-2(n:主机部分的比特位数)


IP地址的计算

IP地址是由4组8位的二进制组成的,每组之间用点隔开。

二进制表示为 xxxxxxxx . xxxxxxxx . xxxxxxxx . xxxxxxxx
每组最低为8个0即 “ 00000000” 转换为十进制就为 0,最高为8个1即“11111111” 转换为十进制就为255

IP地址转为二进制如下图:

在这里插入图片描述

前面粉红色的为网络号,表示是同一网段,此时每一位我们都用 “1” 来锁定,每组转化为十进制,子网掩码就为 “255.255.255.252”,总共有30个1所以也可用CIDR方法表示为 192.168.0.0/30

那如果不是同一网段的ip呢?
在这里插入图片描述

比如:“ 192.168.0.4 ” 二进制就变成了 “11000000.10101000.00000000.00000100锁定就被破坏,于是计算机就可判断出这个IP地址与上面的地址不是同一网段。

进制转换速查表

请添加图片描述
比如 50 =32+16+2 转为二进制就为 “00110010


特殊IP地址

在这里插入图片描述


子网划分

为什么要子网划分?

  1. 满足不同网络对IP地址的需求

  2. 实现网络的层次化

  3. 节省IP地址

假如一个公司有两个部门,每个部门的电脑不超过100台,如果一个部门给一个ip地址为 “192.168.10.0/24”的地址的话就有点浪费地址,“192.168.10.0/24”这个网段可用的主机数为2的32减24次方在减二,就等于254台。

这时就可以把这个IP划分成多个网段实现节省IP地址

前面提到IP地址由网络位和主机位构成,想划分多个网段的话子网掩码就得向主机位借位
在这里插入图片描述

现在,将原有的24位网络位向主机位去“借”1位,这样网络位就扩充到了25位,相对的主机位就减少到了7位,而借过来的这1位就是子网位,此时网络掩码就变成了25位。

2个子网
子网1:192.168.10.0/25
子网2:192.168.10.128/25
新掩码:255.255.255.128

可用IP地址数:27^7-2=126个

可划分的子网个数为 2^n 次方,n 为借位的个数。主机数为 (2^m) -2m 为剩下的主机位。


ICMP协议

Internet控制消息协议ICMP (Internet Control Message Protocol)是IP协议的辅助协议。
ICMP协议用来在网络设备间传递各种差错和控制信息,对于收集各种网络信息、诊断和排除各种网络故障等方面起着至关重要的作用。


ICMP重定向

ICMP重定向报文是ICMP控制报文中的一种。在特定的情况下,当路由器检测到一台机器使用非最优路由的时候,它会向该主机发送一个ICMP重定向报文,请求主机改变路由。


ICMP差错检测

ICMP Echo消息常用于诊断源和目的地之间的网络连通性,同时还可以提供其他信息,如报文往返时间等。

ICMP的一个典型应用是Ping。Ping是检测网络连通性的常用工具,同时也能够收集其他相关信息。用户可以在Ping命令中指定不同参数,如ICMP报文长度、发送的ICMP报文个数、等待回复响应的超时时间等,设备根据配置的参数来构造并发送ICMP报文,进行Ping测试。


ICMP错误报告

ICMP定义了各种错误消息,用于诊断网络连接性问题;根据这些错误消息,源设备可以判断出数据传输失败的原因。如:当网络设备无法访问目标网络时,会自动发送ICMP目的不可达报文到发送端设备。
在这里插入图片描述


评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值