网络TCP/IP基础(IP地址与子网划分)

简介: IP地址、IP地址的格式、IP地址的分类、A类地址、B类地址、C类地址、其它地址、Internet上的IP地址、IP地址数制转换、二进制转十进制、十进制转二进制、子网划分、子网划分的原因、子网划分的原理、子网划分的应用

前言


     现在网络中常用的IP地址版本是IPv4,随着Internet的快速发展,接入Internet的站点越来越多,导致IP地址资源越来越少,为了更好地利用现有的IP地址资源,减少浪费,可以把IP地址进一步划分为更小的网络,即子网划分,下面介绍一下IP地址(IPv4)和子网划分


一、IP地址


1、IP地址的格式


     互联网上连接的网络设备和计算机都有唯一的地址,以此作为该主机在Intermet上的唯一标识,称其为IP地址,在计算机网络中,每个被传输的数据包也要包括一个源IP地址和一个目的IP地址,IP地址由32位二进制数组成,将组成计算机IP地址的32位二进制数分成四段,每段八位,中间用点隔开,然后将每八位二进制数转换成十进制数(这种形式称为点分十进制),这样,计算机的IP地址就变成了我们常见的IP地址


2、IP地址的分类


     IP地址由两部分组成:网络部分(netlD)和主机部分(hostlD),网络部分用于标识不同的网络,主机部分用于标识在一个网络中特定的主机,IP地址的网络部分由 IANA (Internet Assigned Numbers Authority,Internet 地址分配机构)统一分配,以保证IP地址的唯一性,为了便于分配和管理,IANA将IP地址分为A、B、C、D、E五类,按照二进制表示方法根据IP地址前几个比特位,可以判断IP地址属于哪类


(1)A类地址


     在A类地址中,规定第1个八位组为网络部分,其余三个八位组为主机部分,即A类地址=网络部分+主机部分+主机部分+主机部分
     IP地址的前几个比特位称为引导位,对A类地址来说,它的第1个八位组的第1个比特位是0,因此它的第1个八位组的范围就是00000000~01111111,换算成十进制就是0~127,其中127是一个比较特殊的地址,我们用于本机测试的地址就是127.0.0.1,由于A类地址的第一个地址块(网络号为0)和最后一个地址块(网络号为127)保留使用,即全0表示本地网络,全1表示保留作诊断用,因此A类地址的有效网络范围为1~126,全世界只有126个A类网络,每个A类网络可以拥有的主机数就是后面24个比特位的组合,为224个,主机部分也不能全为0或全为1,全为0代表的是网络ID,全为1代表的是本网络的广播地址,因此每个A类网络拥有的最大可用主机数为2的24次方-2(公式为2的n次方-2,n为IP地址中主机部分的比特数),A类地址适宜在大型网络中使用


(2)B类地址


     在B类地址中,规定前两个八位组为网络部分,后两个八位组为主机部分,即B类地址=网络部分+网络部分+主机部分+主机部分
     B类地址中作为引导位的前两个比特位必须是10,因此它的网络部分的范围就是
10000000.00000000~10111111.11111111,其中第一个八位组换算成十进制就是128~191,B类地址的有效网络范围是网络部分中后14个比特位的组合,为2的14次方个,每个B类地址拥有的最大主机数为2的16次方-2,B类地址适宜在中等规模的网络中使用


(3)C类地址


     在C类地址中,规定前三个八位组为网络部分,最后一个八位组为主机部分,即C类地址=网络部分+网络部分+网络部分+主机部分
     C类地址中作为引导位的前三个比特位必须是110,因此它网络部分的范围就是11000000.00000000.00000000~11011111.11111111.11111111,其中第一个八位组换算成十进制就是192~223, C类地址的有效网络范围是网络部分中后21个比特位的组合,为2的21次方个,每个C类地址拥有的最大主机数为2的8次方-2,C类地址适合在主机数量比较少的中小型网络中使用


(4)其它地址


     D类地址是用于组播通信的地址, E类地址是用于科学研究的保留地址,它们都不能在互联网上作为节点地址使用


3、Internet上的IP地址


     目前在Internet上只使用A、B、C这三类地址,而且为了满足企业用户在intranet(企业内部网)上使用的需求,从A、B、C这三类地址中分别划出一部分地址供企业内部网络使用,这部分地址称为私有地址,私有地址是不能在Internet上使用的,私有地址包括以下三组
     10.0.0.0~10.255.255.255
     172.16.0.0~172.31.255.255
     192.168.0.0– 192.168.255.255


4、IP地址数制转换


     IPv4地址由32位二进制数组成,32位每八位二进制数转换成十进制数就是我们常见的IP地址,二进制特点是逢二进一,因此在二进制中,只有0和1两个数字符号,十进制基数是10,数值部分用十个不同的数字符号0、1、2、3、4、5、6、7、8、9来表示,逢十进一


(1)二进制转十进制


     要将二进制数转换为十进制数,通过按权展开相加即可,例如:110111=1x2的5次方+1x2的4次方+0x2的3次方+1x2的2次方+1x2的1次方+1x2的0次方=32+16+0+4+2+1=55


(2)十进制转二进制


     将一个十进制整数转换为二进制数可使用余数法,即:将要转换的十进制整数除以2,取余数;再用商除以2,再取余数,直到商等于0为止,将每次得到的余数按倒序的方法排列起来作为结果


二、子网划分


1、子网划分的原因


     为了满足不同网络对IP地址的需求,实现网络的层次性,节省IP地址,所以划分了子网,将掩码中主机位划分为网络位来使用
     经过子网划分后,IP地址的子网掩码不再是具有标准IP地址的掩码,由此IP地址可以分为两类:有类地址和无类地址
     有类地址:标准的IP地址(A,B,C三类)属于有类地址,A类地址掩码8位,B类地址掩码16位,C类地址掩码24位,都属于有类地址
     无类地址:为了更灵活地使用IP地址,需要根据需求对IP地址进行子网划分,使划分后的P地址不再具有有类地址的特征,这些地址称为无类地址
     划分子网除了具有充分利用IP资源和便于管理的优点之外,还能够为LAN提供基本的安全性,通过子网划分可以实现网络的层次性,一些大集团公司的网络层次较复杂,如集团公司可能由多个行业公司组成,各个行业公司又分为总公司和分公司,总公司内部又分为各个职能部门,这些复杂的层次关系单靠A、B.、C这三类地址是很难实现的


2、子网划分的原理


     子网划分是通过子网掩码的变化实现的,不同的子网掩码可以分割出不同的子网,需要将主机位借到网络位,如果将一位主机位借到网络位(一位有两种变化0、1),原有网段将被分为两部分,如果将两位主机位借到网络位(两位有四种变化00、01、10、 11),则网段被分为四部分,所以要将网段划分为四个小网段,只需将主机位的两位借到网络位即可,也就是把子网掩码的分界线向后挪两位(即借位充当网络位)就能实现,划分之后的四个小网段的网络部分通过借位的不同而加以区分


3、子网划分的应用


     子网数用来确定默认网段分为几段,子网IP数量用来确定这个划分后的子网段有多少个IP地址
     子网数=2的n次方(n为网络位接主机位的位数)
     子网IP数量=2的m次方(m为剩余主机位数)
     有效子网IP数量=2的m次方-2(网络标识位和广播地址位是不能用于主机的IP地址的,俗称掐头去尾)
     A类有效子网IP数量=2的24次方-2=16777214
     B类有效子网IP数量=2的16次方-2=65534
     C类有效子网IP数量=2的8次方-2=254


结语


     一般情况下不使用/31的掩码,而/32的拖码一般使用在配置Loopback接口地址时将其作为设备管理地址,这样可以节约地址,在子网划分时需要注意网段划分的分界点

相关文章
|
12天前
|
网络安全 Python
Python网络编程小示例:生成CIDR表示的IP地址范围
本文介绍了如何使用Python生成CIDR表示的IP地址范围,通过解析CIDR字符串,将其转换为二进制形式,应用子网掩码,最终生成该CIDR块内所有可用的IP地址列表。示例代码利用了Python的`ipaddress`模块,展示了从指定CIDR表达式中提取所有IP地址的过程。
30 6
|
15天前
|
网络协议
网络通信的基石:TCP/IP协议栈的层次结构解析
在现代网络通信中,TCP/IP协议栈是构建互联网的基础。它定义了数据如何在网络中传输,以及如何确保数据的完整性和可靠性。本文将深入探讨TCP/IP协议栈的层次结构,揭示每一层的功能和重要性。
41 5
|
17天前
|
网络协议 安全 文件存储
动态DNS(DDNS)技术在当前网络环境中日益重要,它允许使用动态IP地址的设备通过固定域名访问
动态DNS(DDNS)技术在当前网络环境中日益重要,它允许使用动态IP地址的设备通过固定域名访问,即使IP地址变化,也能通过DDNS服务保持连接。适用于家庭网络远程访问设备及企业临时或移动设备管理,提供便捷性和灵活性。示例代码展示了如何使用Python实现基本的DDNS更新。尽管存在服务可靠性和安全性挑战,DDNS仍极大提升了网络资源的利用效率。
35 6
|
25天前
|
网络协议 网络安全 网络虚拟化
本文介绍了十个重要的网络技术术语,包括IP地址、子网掩码、域名系统(DNS)、防火墙、虚拟专用网络(VPN)、路由器、交换机、超文本传输协议(HTTP)、传输控制协议/网际协议(TCP/IP)和云计算
本文介绍了十个重要的网络技术术语,包括IP地址、子网掩码、域名系统(DNS)、防火墙、虚拟专用网络(VPN)、路由器、交换机、超文本传输协议(HTTP)、传输控制协议/网际协议(TCP/IP)和云计算。通过这些术语的详细解释,帮助读者更好地理解和应用网络技术,应对数字化时代的挑战和机遇。
69 3
|
25天前
|
存储 网络协议 安全
30 道初级网络工程师面试题,涵盖 OSI 模型、TCP/IP 协议栈、IP 地址、子网掩码、VLAN、STP、DHCP、DNS、防火墙、NAT、VPN 等基础知识和技术,帮助小白们充分准备面试,顺利踏入职场
本文精选了 30 道初级网络工程师面试题,涵盖 OSI 模型、TCP/IP 协议栈、IP 地址、子网掩码、VLAN、STP、DHCP、DNS、防火墙、NAT、VPN 等基础知识和技术,帮助小白们充分准备面试,顺利踏入职场。
72 2
|
27天前
|
网络协议 网络安全 数据安全/隐私保护
计算机网络概念:网关,DHCP,IP寻址,ARP欺骗,路由,DDOS等
计算机网络概念:网关,DHCP,IP寻址,ARP欺骗,路由,DDOS等
45 4
|
1月前
|
网络协议 安全 Go
Go语言进行网络编程可以通过**使用TCP/IP协议栈、并发模型、HTTP协议等**方式
【10月更文挑战第28天】Go语言进行网络编程可以通过**使用TCP/IP协议栈、并发模型、HTTP协议等**方式
49 13
|
27天前
|
网络协议 Linux
使用nmcli命令设置IP地址并排查网络故障
nmcli 是一个功能强大的网络管理工具,通过它可以轻松配置IP地址、网关和DNS,同时也能快速排查网络故障。通过正确使用nmcli命令,可以确保网络配置的准确性和稳定性,提高系统管理的效率。希望本文提供的详细步骤和示例能够帮助您更好地掌握nmcli的使用方法,并有效解决实际工作中的网络问题。
44 2
|
29天前
|
网络协议 定位技术 网络架构
IP 路由:网络世界的导航仪
IP 路由:网络世界的导航仪
36 3
|
22天前
|
数据采集 Java API
java怎么设置代理ip:简单步骤,实现高效网络请求
本文介绍了在Java中设置代理IP的方法,包括使用系统属性设置HTTP和HTTPS代理、在URL连接中设置代理、设置身份验证代理,以及使用第三方库如Apache HttpClient进行更复杂的代理配置。这些方法有助于提高网络请求的安全性和灵活性。