IP地址
采用前缀+后缀的情况
IP编址方案
前缀为网络号字段,用来表示属于的子网络
后缀为主机号字段,用来表示网络中主机所处的IP地址
显然,主机号字段的位数越多,网络中能够包含的主机数就越多
(但是需要说明的是,主机号字段有两个特殊的地址不能使用,即主机号全为0<网络地址>和全为1<广播地址>的两个地址)
采用点分十进制的记法,比如192.168.1.100,也就是每八位用一个小数点分开
对于三个类别的地址,其对应的点分十进制地址范围如下所示:
一般来说,一台主机只需要一个IP地址即可
但是对于路由器这种需要连接多个网络的设备,其IP地址需要两个,其网络号分别属于两个连接的网络,如下图所示:
IP分组
版本:占4字节,表示IP协议的版本,目前通常来说是4(IPv4)
首部长度:占4字节,表示的是首部的长度,其单位为4字节(由于最大是1111,所以首部最长为60字节)
服务类型:占8字节,基本没用,全0
总长度:占16字节,指首部以及数据之和,由此可以推断数据报最大长度为65535字节,但是实际的总长度不能超过MTU
标识:(见IP分片)
标志:(见IP分片)
片位移:(见IP分片)
生存时间:占8位,数据报在网络中允许保留的时间(单位为跳),
1跳指的是一个数据从一个路由转到另一个路由
协议:采用的是什么通信协议(比如:ICMP,TCP,UDP等等)
首部检验和:只对首部进行校对
源地址:发送设备的IP地址
目的地址:接受设备的IP地址
可选部分:没什么大用,但要保证数据字节数是4的整数倍,因此不够的情况需要补0
IP分片
标识:占16位,这是源主机赋予数据报的唯一标识符,分片时会原封不动的复制到各个分片当中
标志:占3位,第一位不用
第二位,DF位,代表是否允许被分片(0:允许)
第三位,MF位,标识是否有后续分片(1:标识该数据报不是最后一个分片)
片位移:占13位,代表本数据报片相对于院士数据报中数据部分的偏移量,偏移量的计数单位为8字节
ARP协议(地址解析协议)
将网络的IP地址转化为数据链路层(MAC)地址的协议
以以太网为例:
A想要与B进行通讯
第一步,A先向网络中广播ARP请求分组
第二步,B向A返回其ARP请求,把B的MAC地址传给A,另外,X,Y,Z将A的ARP映射存入自己的ARP Cache中
第三步,A与B建立通讯,直接进行点对点传输
ARP Cache(高速缓存)
目的:考虑到这样每次广播过于麻烦,通讯效率不是很高,所以采用ARP Cache的办法
定义:在每台主机中都会存在一个高速缓存,用来存放最近获得的ARP映射表
具体的查阅方法:
在cmd命令行中输入命令 arp -a,即可查阅ARP Cache
ARP Cache超时:若一条信息无效了,则在20分钟后其将被删除
实际上,通过上图,我们发现,我们去访问WWW服务器的时候,主机获得的实际上是第一个路由器与我们相连端口的MAC地址
ICMP协议
是因特网控制报文协议,主要用于主机或路由报告差错或提供有关异常情况的报告
子网编址
作用:对某个网络号下的网络进一步进行拆分,将其拆分成若干个子网
子网编址办法:
IP地址 = [网络号,子网号,主机号]
tips:子网号是从主机号中借用了若干位的一个号段,子网位是从主机域的**最左边**开始**连续**借用
子网掩码
作用:用于反映有多少位被用于表示子网号的一个标识
子网掩码 = [11…11,11…11,00…00]
也就是说,网络号以及子网号的部分全用1来表示,而主机号的部分用0来表示,因此通过子网掩码,我们就可以判断当前我们身处的子网网络是什么(把IP地址和对应的子网掩码进行按位与运算就可以得到对应的子网网络地址)
tips:对于windows系统可以cmd --> ipconfig 就能够查到
默认子网掩码:对于没有进行子网掩码的网络,尤其对应的默认子网掩码
A类:255.0.0.0
B类:255.255.0.0
C类:255.255.255.0
也就是子网号的位数为0
广播地址
作用:要用广播的方式(也就是对自己所处网络的所有主机发送信息)发送一个分组时,目的的IP地址是一个广播地址
编址方式:主机号部分全为1
无分类编址与CIDR
目的:为了更好地利用IPv4的全部地址,新版的编址方式不再分为A~E类,而采用五分类编制的办法
编址方法:
32位中的网络号部分可以选定任意长度,其余部分为主机号
示例: 202.119.230.0/24
“/”后面的部分表示的是网络号的长度(24位),区域部分为主机号
前24位全是网络号,后8位是主机号
那么实际上这就是一个C类网络