目录
一.IP地址的概述
1.IP地址的概念
IP地址是唯一标识出主机所在的网络及网络中位置的编号。IP地址就像是网络中的“电话号码”,每一台电脑、手机或其他网络设备在网络中都有一个他人没有的IP地址。通过这个地址,设备们可以相互找到对方并交换信息。IP地址由网络位和主机位组成。
2. IP地址的组成
“点分十进制”表示。 四个字节,每个字节以(0~255)表示,各个数之间以英文圆点分离。
3.IP地址的作用
用来表示一个节点的网络地址
4.IP地址规划
① 什么是ip地址:互联网里每个节点(主机)都需要一个地址,这个地址就是ip地址。
② 主机唯一的标识,保证主机间正常通信 。
③ 一种网络编码,用来确定网络中一个节点 。
④ IP地址由32位二进制(32bit)组成。
⑤ ip协议:
version 4:ipv4 32 2^32 42亿多
version 6:ipv6 128 2^128
MAC地址由48位的二进制组成。
⑥ ip地址:是Internet protocol 互联网协议
5.网络层的功能
①定义了基于IP协议的逻辑地址
②连接不同的媒介类型
③选择数据通过网络的最佳路径
6.IP包头的格式:
版本:ipv4、ipv6。
TTL:(很重要):time to live :(使用ping可以查看到ttl)生命周期,经过一个路由器值减1,为0时,数据包丢弃。为了防止一个数据包在网络中无限的循环下去。
协议号: 协议字段,用来标识封装的上层(传输层)数据是UDP还是TCP,UDP是17,TCP是6。
源地址(mac:32)
目的地址(mac:32)
可选项:
首部长度(4):IP包头部长度,因为长度可变,因此需要定义。
优先级与服务类型(8):
总长度(16):IP数据总长度
首部校验码:优先级与服务类型,提供3层的QoS
标识符、标志(3)、段偏移量(13):上层来的数据到IP层会被分段,这几个字段用来对数据包进行标识,使在数据到达目的端重组的时候,不会乱序。
二、IP地址的表示
# 一个IPv4地址有32 bit。
# IPv4地址通常采用“点分十进制”表示。
# IPv4地址范围:0.0.0.0~255.255.255.255。
三、IP地址的分类
1.IP地址的分类
IP地址分为5类,A、B、C三类是常用地址,D类用于组播,E类用于试验和保留。
IP地址 | 网络号字节数 | 主机号字数 | 第一个字节十进制范围 |
A类 | 1 | 3 | 1-126 |
B类 | 2 | 2 | 128-191 |
C类 | 3 | 1 | 192-223 |
2.A、B、C、三类IP地址的组成
A类地址:IP地址的前8位表示网络层,后24位表示主机ID。
B类地址:IP地址的前16位表示网络层ID,后16位表示主机ID。
C类地址:IP地址的前24位表示网络ID,后8位表示主机ID。
使用的位数越多,包含的组合就越多,可知A类地址较少的网络ID,但每个网络都具有大量的可用主机ID。
# A类地址详解:
A类地址: 1~126 127被用做测试使用 网+主+主+主 : 2^24-2 ~=1600万个ip地址
(网络地址):2^7(7是指本来网络部分一个地址占8位,但是前面固定了一个值为0,所以2的八次方减一)
(主机地址)是等于:(2^24-2 ~=1600万个ip地址):
减2的原因:00000000 00000000 00000000 00000000和01111111 11111111 11111111 11111111(全1和全0的都不要,是因为主机部分全为0表示网段号,全为1表示1表示广播地址。)
# B类地址详解:
B类地址: 128~191 网+网+主+主 2^16-2
网络地址:2^14 (2的16次减前面占了的两个值:10) 主机地址:2^16-2= 65534
减二的原因:10000000 00000000 00000000和10111111 11111111 11111111不要
# C类地址详解:
C类地址: 192~223 网+网+网+主 2^8-2
2^21 2^8-2 = 254
四、特殊的IP地址
特殊的IP地址不能用于普通主机地址。
- 网络地址:网络号不变,主机号全为0。(判断哪类为网络号/主机号)
- 广播地址:网络号不变,主机号全为1。
- 回送地址:第一字节的十进制为127。
- 私有地址:满足企业用户在内部网络中使用的需求,私有地址不能在Internet上使用。
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) |
# 全球全球公网ip地址不足的问题:
1、公司内部使用私有ip地址
2、使用NAT技术,一个公司使用一个或者多个公网ip上网
私有ip---》nat ---》公网ip
公网ip---》nat ----》私有ip
nat:network address translate 网络地址转换。---路由器这个设备将这个网络地址进行了转换。
# 在公网上使用的是ABC类ip地址
d类是组播地址
e类是保留地址,给科学研究使用的。
====
LOOPBACK -->lo 回环地址:127.0.0.1这个地址用来测试本机的tcp/ip协议是正常工作,每台电脑都有这个地址-----自己、本机。
整个127开头的网段给测试使用,不在公网上使用。
主机部分全为0 ,表示网段号
主机部分全为1,表示广播地址。
五、IP地址的计算
1.Ip地址计算相关知识点
Ip地址:网络地址+主机地址
网络地址:主机位全0
广播地址:主机位全1
网络位24位,主机位8位
A类 | 1~126 |
B类 | 128~191 |
C类 | 192~223 |
子网和主机数:
子网数= (n为网络位借主机位的位数)
主机数=(m为主机位数)
2.Ip地址计算例子
题目:已知一个IP地址是192.168.1.1,子网掩码是255.255.255.0,那么它的网络地址是多少?
(1)IP地址:192.168.1.1 转化为二进制
11000000.10101000.00000001.00000001
(2)子网掩码 255.255.255.0转化为二进制
11111111.11111111.11111111.00000000
(3)将IP地址和子网掩码进行 “与” 运算:
(4)转化成网络地址:192.168.1.0
(5)将网络地址的主机位全部变为1,得到广播地址。
(6)除去网络地址和广播地址,剩下的就是IP地址的范围:
192.168.1.1~192.168.1.254
根据IP地址和子网掩码计算
1、网络地址 2、广播地址 3、IP地址范围 4、该网段允许分配的主机数或者IP地址数
六、C语言IP地址知识
ip地址转换工具
int inet_aton(const char *cp, struct in_addr *inp);
struct sockaddr_in adr_inet;
if( !inet_aton("127.0.0.1",&adr_inet.sin_addr))
char *inet_ntoa(struct in_addr in);
str_addr = inet_ntoa(session->sin.sin_addr);
七、子网掩码
1.子网掩码概念
子网掩码,顾名思义,是用于遮挡或划分IP地址的一部分的工具。它的主要作用是帮助我们区分网络标识和主机标识。
与网络部分对应的位全为“1”,与主机部分对应的位全为“0”。
2.子网掩码的作用
# 切割网络,增加网络数。
# 判断主机位置。
# 确定网段号
3.32个二进制位
对应IP地址的网络部分用1表示 对应IP地址的主机部分用0表示
IP地址和子网掩码作逻辑“与”运算得到网络地址
0和任何数相与都等于0
1和任何数相与都等于任何数本身
A、B、C三类地址的默认子网掩码:
默认掩码
A类地址:子网掩码255.0.0.0对应的二进制: 11111111.00000000.00000000.00000000
B类地址:子网掩码255.255.0.0对应的二进制: 11111111.11111111.00000000.00000000
C类地址:子网掩码255.255.255.0对应的二进制:11111111.11111111.11111111.00000000
八、子网划分
1.为什么要划分子网?
· IP地址空间的极大浪费。
· 一个广播域中PC数量过于庞大,网络可能被广播报文消耗大量的资源。
· 减少网络上的通信量,节省IP地址,便于网络管理,解决物理网络本身的某些问题。
· 满足不同网络对IP地址的需求,实现网络的层次性。
2.如何进行子网划分?
网络掩码和IP地址进行逐位“与”。
即网络位向主机位借位,从而是得网络部分的位数加长:
3. 子网掩码是怎样给IP地址划分的?
首先模拟器搭建拓扑图如下
配置PC机上的IPV4地址如下
打开PC1和PC2 ping 一下网端是通的
改掉IPv4 地址为1.1时,这个时候他们就不同网段了,这里PC2ping一下PC1是不通的,此时需要改成255.255.254
4.子网划分原理
子网掩码的位数也是32位,分4段,每段8位
子网掩码的位数对应于ip地址网络部分的位数
子网掩码的作用是用来确定网段的
有效ip地址段=网络部分(网段)+主机部分
路由器的作用是实现跨网段通信。
九、子网划分实例
1.实例1
&需求描述
# 用10.10.10.0/24 这个网段实现对公司5个部门以及服务器组的IP地址分配(包括管理地址及互联地址)
# 实现PC和所有内部部门互通
# RTA路由器的配置
# SW-3L交换机的配置
# 生产部交换机配置
2.子网划分应用
大网络划分成小网络:每个小网络里可以容纳多个个ip。
子网数:2^n,其中n为子网部分位数。
主机数:2^n-2;n是借了两位置之后的值。
3.小练习
1、将192.168.1.0/24 划分为4个小网段:
192. 168. 1. 0
11000000 10101000 0110 0011 00|000000(借两位)查看上面ip地址的组成中的所对应的的二进制
00|000000(0)
01|000000(64)
10|000000(128)
11|000000(128+64=192)
划分为4个网段:需要2^n>=4,所以n=2;所以就需要借两位:借两位就是00、01、10、11
所以可用的网段为: 每段可用的ip地址 广播地址 子网掩码
192.168.1.0 192.168.1.1~192.168.62 192.168.1.63 255.255.255.192(/26)
192.168.1.64 192.168.1.65-192.168.1.126 192.168.1.127
192.168.1.128 192.168.1.129-192.168.1.190 192.168.1.191
192.168.1.192 192.168.1.193-192.168.1.254 192.168.1.255
每段可用的ip地址的计算:全为0和1的都不取,所以从1开始,因为是借了两位,由公式:2^m-2;m是借了两位置之后的值:2^6(8-2)-2=62位。(1~62)+ 可用网段=可用ip地址 。
广播地址的计算:对于广播地址是主机部分全为0的表示网段号,全为1的表示广播地址。
所以全为0的是为00|000000=0,所以不取;全为1的:00|111111=63、01|111111(127)、10|111111(63+128=191)、11|111111(63+192=255)所以为广播地址。
所以子网掩码为:255.255.255.192(/26),其中的26位表示是借了两位之后,由24+2=26位。