1.4 IP编址

2016年4月10日 0 条评论 1.71k 次阅读 0 人点赞

接上一章以太网帧剥掉头尾当Type为0x0800,表示为ip协议,

IP报文头部

Version 表示ip协议版本号,现网通用版本4比较多,也就是ipv4,也有ipv6。

Header Length 表示ip头部长度。

DS 字段早期用来表示业务类型,现在用于支持QoS中的差别服务模型,实现网络流量优化。

Source IP 和 Destination IP 表示源ip地址和前往的目的ip地址。

Identification 表示分片(当报文长度超过了数据链路所支持的最大长度则需要分片传输)报文,是否属于同一数据包分片,确保分片会被正确组合。

Flags 分片中的标志,用于判断是否已经收到最后一个分片,最后一个分片的标志段设置为0,其他为1,目的端收到标志段为0的分片后开始重组报文。

Fragment Offset 片偏移,表示每个分片在原始报文中的位置,第一分片偏移为0,第二分片偏移字段值为前一报文包含比特数目+1。

Time to Live TTL 字段表示生存时间,没过1个路由器则值会-1,当值为0时,报文会被丢弃,防止环路。

Protocol 协议号,类似于以太网帧中的Type字段,用于标识网络层协议,如ICMP,也可以标识上层协议,比如TCP(0x06),UDP(0x11)。

IP编址

IP地址分为网络位和主机位。

由32个二进制组成,通常用点分十进制的表达方式

每个网段都有2个特殊地址,即主机位全为0的,表示网段ID,全为1表示广播地址(注:并不是点分十进制中的0和1,为二进制中的0和1)如下图:

IP地址分类

• 私有地址

    • 10.0.0.0~10.255.255.255

    • 172.16.0.0~172.16.255.255

    • 192.168.0.0~192.168.255.255

• 特殊地址

    • 127.0.0.0~127.255.255.255

    • 0.0.0.0

    • 255.255.255.255

处于同一物理环境中的主机,当网络位相同时,主机位不同则可以相互通信,当网络为不同的时候,主机需要获取吓一跳路由器地址,然后将报文下发到底层协议处理。

变长子网掩码(VLSM)

十进制转二进制:

将数值分别与 128 64 32 16 8 4 2 1相减,分别记录:当能减(比如十进制数值为127,拿127减去128)时记此位为1,然后拿余数继续与下一个数减,不能减记0,

128 64 32 16 8 4 2 1
127减128不能减,数值为0 127减64,可以减,记1余数为63, 63可以减32,记1余数为31, 31可以减16记1,余数为15 15可以减8,记1,余数为7 7可以减4,记1,余数为3 3可以减2,记1,余数为1 1可以减1,余数为0
0 1 1 1 1 1 1 1

那么127用二进制表示则为01111111

二进制转十进制:

把二进制位1的位置数作为2的次方值,比如11000000,坐起第一个1位为第八个1,需要减1,因为第一位是2的0次方,所以是27次方,第二个1为26次方,就是128+64=192。

相关计算:

子网掩码转换:

举例,任意一个ip和子网掩码,今天是10号,现在是18点4分45秒,10.18.4.45,掩码17,首先将掩码除8,得2,余1,先写出2个255.255

代入下表对于的余数

1 2 3 4 5 6 7 8
128 192 224 240 248 252 254 255

可以看出此表之间的关系,相隔之间的差值就是26=64, 25=32, 24=16, 23=8, 22=4, 21=2, 20=1

那么掩码17位的子网掩码换成点分十进制就是255.255.128.0, 对应ip10.18.4.45,那么首先确定的是10.18这个位置是不用改变的,然后看第三段,用256减去子网掩码不为255的数值128,就是127,也就是128为一个网段,

0~128~255,这里只有2个网段,分别是10.18.0.0/17,10.18.128.0/17,4.45属于10.18.0.0/17网段,所以其网络ID是10.18.0.0,广播地址为10.18.127.255,主机数为232-17,也就是256*128=32768个主机,除掉网络ID和广播地址,则为32764个主机



无类域间路由

CIDR 用于在通告路由时,减少通告条目、路由表条目。

Sevenfal

这个人太懒什么东西都没留下

文章评论(0)