HCIA 03
什么是IP
IP地址(Internet Protocol Address)是指互联网协议地址,又译为网际协议地址。
IP头部及其他字段功能
Version(版本)
用于区分不同IP版本。如IPv4、IPv6,用4bit表示,IPV4=0100
HeaderLength(头长度):
该字段用四位表示,表示整个ip包头的长度,其中数的单位是4字节。即二进制数0000-1111(十进制数0-15),其中一个最小长度为0字节,最大长度为60字节。一般来说此处的值为0101,表示头长度为20字节。
Differentiated Services Field (区分服务领域)
现在一般用于支持QoS中差分服务模型,实现网络流量优化
Total Length(总长度)
指IPv4数据报的总长度。数据报的最大长度为:2*16-1=65535字节,当IP数据报超过最大传输单元MTU后,会被分片处理
Identification(标识符)
该字段是与ip分片有关的。其中有三位,但只后有两位是有效的,分别为MF,DF。
第1位没有被使用
第2位D是不分片位(DF),Do not fragment,顾名思义,不要分片,当DF位设置为1时,表示路由器不能对报文进行分片处理
第3位M表示还有后继分片(MF),More fragment,多分片,当路由器对报分进行分片时,除了最后一个分片的MF位设置为0外,其他所有分片的MF位均设置1,以便接收者直到收到MF位为0的分片为止
Flags(标记)
该字段是与ip分片后,相应的ip片在总的ip片的位置。
time to live(生存时间)
数据报到达目的地的最大报文跳数,一般是64。每经过一个路由,TTL 就会 -1,一直减到0还没有到达,那就丢弃了。这个字段主要是防止出现路由循环。
Protocol(协议)
标识上层的协议,占8位。
其中1,标识ICMP、
2标识IGMP、
6标识TCP、
17标识UDP、
89标识OSPF
Header Checksum(头部校验和)
1)只校验头部,数据部分由高层协议校验
2)无需重复校验数据部分
3)缩短了路由器转发分组时的处理时间,把工作交给终端主机使用高层的协议校验数据
Source Ip Address(源地址):
源IP地址,32bit
Destination Ip Address(目标地址):
目的IP地址,32bit
Ip Option:IP选项>IP支持很多可选选项。
使用Wireshark抓包分析
IP地址
IP地址是一个32位的二进制数,通常被分割为4个“8位二进制数”(也就是4个字节)
IP类型 | 范围 | 用途 | 掩码 |
---|---|---|---|
A类 | 0.0.0.0~127.255.255.255 | 分配主机用 | 8 |
B类 | 128.0.0.0~191.255.255.255 | 分配主机用 | 16 |
C类 | 192.168.0.1~233.233.255.255 | 分配主机用 | 24 |
D类 | 224.0.0.0~239.255.255.255 | 用于组播 | |
E类 | 240.0.0.0.0~255.255.255.255 | 用于研究 |
IP地址构成
网络部分:用于标识一个网络。
主机部分:用于区分一个网络内不同主机。
子网掩码:区分一个IP地址中网络部分及主机部分。
比如:255.255.255.0转换为2进制,为24个1,代表IP地址前24位是网络位,后8位为主机位。
同网段通信:直接通信
不同网段通信:必须先找到网关
网络地址:
IP地址和子网掩码进行与运算,将运算结果中的网络地址不变,主机地址变为0,即主机号全0的IP地址是网络地址。例如IP地址为111.181.21.9,子网掩码为255.192.0.0,它的网络地址则为:111.128.0.0。
广播地址:
广播地址(Broadcast Address)是专门用于同时向网络中所有工作站进行发送的一个地址。
主机位全为1的为网段的广播地址,例如10.1.1.0 (255.255.255.0 )网段,其广播地址为10.1.1.255 (255 即为2 进制的11111111 )
网络地址和广播地址不能直接被节点或网络设备所使用。所以一个网段可用地址数量为 2^n-2
IP地址的计算
例如:给定IP地址和子网掩码 172.31.128.255 / 18
&运算”的规则是1&1=1,0&1=0,1&0=0,0&0=0
IP地址数:2^18=262144
可用IP地址数2^18-2=262142
公有/私有IP地址
公网IP地址:有IANA统一分配,确保任何一个IP地址在Internet上的唯一性。
私网IP地址:不需要连接Internet的网络,比如局域网,预留的A、B、C类的地址。
特殊IP地址
特殊IP地址 | 地址范围 | 作用 |
---|---|---|
广播地址 | 255.255.255.255 | 可作为目的网址,发往该网段所有的主机(受限于网关) |
任意地址 | 0.0.0.0 | “任何网络”的网络地址,这个网络上这个主机接口的IP地址 |
环回地址 | 127.0.0.0 / 8 | 测试设备自身软件系统 |
本地链路地址 | 169.254.0.0/24 | 当主机自动获取地址失败后,可使用该网段中的某个地址进行临时通信 |
0.0.0.0和127.0.0.1的区别
0.0.0.0
首先,0.0.0.0是不能被ping通的。0.0.0.0称为“unspecified”,即未指定(即无效的,无意义的)地址。从功能上看,一般用于某些程序/网络协议中不便使用具体ip的特殊情况(说白了就是一个用于某些比较坑的情况的“占位符”),比如DHCP客户端还未获取到ip的时候规定使用0.0.0.0作“源地址”,或者在服务器中,0.0.0.0并不是一个真实的的IP地址,它表示本机中所有的IPV4地址。服务器不指定在哪个网卡上监听时,也使用0.0.0.0,这个时候监听本机中所有IP的端口。
用途:
用作服务端,表示本机上的任意IPV4地址。
127.0.0.1
首先我们要先知道一个概念,凡是以127开头的IP地址,都是回环地址(Loop back address),其所在的回环接口一般被理解为虚拟网卡,并不是真正的路由器接口。
所谓的回环地址,通俗的讲,就是我们在主机上发送给127开头的IP地址的数据包会被发送的主机自己接收,根本传不出去,外部设备也无法通过回环地址访问到本机。
最后127.0.0.1属于{127,}集合中的一个,而所有网络号为127的地址都被称之为回环地址,所以回环地址!=127.0.0.1,它们是包含关系,即回环地址包含127.0.0.1。
用途:回环测试,通过使用ping 127.0.0.1 测试某台机器上的网络设备,操作系统或者TCP/IP实现是否工作正常。
DDos攻击防御:网站收到DDos攻击之后,将域名A记录到127.0.0.1,即让攻击者自己攻击自己。大部分Web容器测试的时候绑定的本机地址。
localhost
相比127.0.0.1,localhost具有更多的意义。localhost是个域名,而不是一个ip地址。之所以我们经常把localhost与127.0.0.1认为是同一个是因为我们使用的大多数电脑上都讲localhost指向了127.0.0.1这个地址。
但是localhost的意义并不局限于127.0.0.1。
localhost是一个域名,用于指代this computer或者this host,可以用它来获取运行在本机上的网络服务。
总结
127.0.0.1 是一个环回地址。并不表示“本机”。0.0.0.0才是真正表示“本网络中的本机”。
在实际应用中,一般我们在服务端绑定端口的时候可以选择绑定到0.0.0.0,这样我的服务访问方就可以通过我的多个ip地址访问我的服务。
比如我有一台服务器,一个外放地址A,一个内网地址B,如果我绑定的端口指定了0.0.0.0,那么通过内网地址或外网地址都可以访问我的应用。但是如果我之绑定了内网地址,那么通过外网地址就不能访问。 所以如果绑定0.0.0.0,也有一定安全隐患,对于只需要内网访问的服务,可以只绑定内网地址。
0.0.0.0和127.0.0.1的区别的文章 引用坚果公众号
子网划分
题目2:已知IP地址是142.15.73.25,子网掩码是255.255.192.0,求划分的子网个数及每个子网的网络地址。
方法如下
(1)写出题目所给IP地址的默认子网掩码为A;
(2)将A及题目给定的子网掩码转换为二进制并对应相减;
(3)结果中所包含1的个数为n。
(4)2n(n是上标)为子网的个数。(子网号全0与全1可用)
(5)2n(n是上标)-2为子网的个数。(子网号全0与全1不可用)
https://baijiahao.baidu.com/s?id=1726241045100285809&wfr=spider&for=pc
ICMP
ICMP是 Internet Control Message Protocol 的缩写,即互联网控制消息协议。
ICMP 协议和 TCP、UDP 等协议不同,它不用于传输数据,只是用来发送消息。
ICMP 的主要功能
1、确认 IP 包是否能够成功到达目标地址
2、进行网络诊断
ICMP通知类型
1、有关 IP 数据报传递的 ICMP 报文,这类报文也叫做差错报文(error message);
2、有关信息采集和配置的 ICMP 报文,这类报文也被称为查询 query 或者信息类报文。
可以通过wireshark来分析出ICMP的类型
type(类型)字段表示 ICMP 消息的类型,code(代码)字段表示 ICMP 消息的具体含义
比如TYPE 3 CODE 5属于差错报文