计算机网络-IP协议

一、概念

IP是Internet Protocol(网际互连协议)的缩写,是TCP/IP体系中的网络层协议。IP是整个TCP/IP协议族的核心,也是构成互联网的基础。

IP位于TCP/IP模型的网络层(相当于OSI模型的网络层),它可以向传输层提供各种协议的信息,例如TCP、UDP等;对下可将IP信息包放到链路层,通过以太网、令牌环网络等各种技术来传送。

IP协议的版本有IPV4和IPV6,目前用的最广泛的还是IPV4,所以这篇主要介绍IPV4

二、IPV4报文格式

在这里插入图片描述

  • 4位版本号(version):指定IP协议的版本,对于IPv4来说,就是4。
  • 4位头部长度(headerlength):IP头部的长度是多少个32bit,也就是 length * 4 的字节数。4bit表示最大的数字是15,因此IP头部最大长度是60字节。
  • 8位服务类型(Type OfService):3位优先权字段(已经弃用),4位TOS字段,和1位保留字段(必须置为0)。4位TOS分别表示:最小延时,最大吞吐量,最高可靠性,最小成本。这四者相互冲突,只能选择一个。对于ssh/telnet这样的应用程序,最小延时比较重要;对于ftp这样的程序,最大吞吐量比较重要。
  • 16位总长度(total length):IP数据报整体占多少个字节。
  • 16位标识(id):唯一的标识主机发送的报文。如果IP报文在数据链路层被分片了,那么每 一个片里面的这个id都是相同的。
  • 3位标志字段:第一位保留(现在不用),第二位置为1表示禁止分片,这时候如果报文长度超过MTU,IP模块就会丢弃报文。第三位表示"更多分片",如果分片了的话,最后一个分片置为1,其他是0,类似于一个结束标记。
  • 13位分片偏移(framegament offset):是分片相对于原始IP报文开始处的偏移。其实就是在表示当前分片在原报文中处在哪个位置。实际偏移的字节数是这个值 * 8 得到的。因此,除了最后一个报文之外,其他报文的长度必须是8的整数倍(否则报文就不连续了)。
  • 8位生存时间(Time To Live,TTL):数据报到达目的地的最大报文跳数。一般是64。每次经过一个路由,TTL -=1,一直减到0还没到达,那么就丢弃了。这个字段主要是用来防止出 现路由循环。 8位协议:表示上层协议的类型。
  • 16位头部校验和:使用CRC进行校验,来鉴别头部是否损坏。 32位源地址和32位目标地址:表示发送端和接收端。
  • 选项字段:不定长,最多40字节。

三、 IP地址

IP地址是32位的,给互联网上面的每一个主机分配一个地址,以十进制的形式表示,叫做点分十进制。

IP地址的形式:网络号+主机号

网络号:实现了互联网用户身份标识,用户识别主机所在的网络

主机号:用于识别同一网段内的不同主机

1. IP地址的分类

IP地址是一种分等级的地址结构,分为A、B、C、D、E五类。

  • A类地址:第1个字节为网络地址,后3个字节为主机地址,并且第一个字节的第一位为0。可用网络数为2^7 - 2,减二的原因是:

网络地址全0,表示本网络

网络地址全1,表示环回测试地址。127.X.X.X

  • B类地址:前两位总是10,第1、2个字节为网络地址,第3、4字节为主机地址。可用网络数为2^14-1,减一是因为128.0是不可指派的网络号。
  • C类地址:前两位总是110,第1、2、3个字节为网络地址,第4个字节为主机地址。可用网络数为2^21-1,减一的原因是192.0是不可指派的网络号.
  • D类地址:前两位总是1110,没有网络地址和主机地址之分
  • E类地址:前两位总是11110

优点

路由器根据所连目的主机的网络号部分来进行分组转发,节省了路由表的空间。

缺点

地址空间无法最大限度的得到利用

2. 子网掩码

为了更大限度的使用地址,使用子网掩码。将一个网络划分为多个子网。此时,IP地址的形式变为:网络+子网号+主机号

网络号和子网号唯一标识网络,使用子网掩码来确定哪些属于子网号和网络号,哪些属于主机号。子网掩码为1的表示网络号和子网号,为0的表示主机号。

子网地址: IP地址和子网掩码做AND运算

3. CIDR

3.1 概念

CIDR的全称是: Classless InterDomain Routing,无类域间路由,这可以更加精细的划分IP地址。

3.2 表示形式

IP地址={网络前缀,主机号}/网络前缀的长度

A.B.C.D/N

  • A.B.C.D/N 就是点分十进制的形式
  • N代表的就是前缀长度,表示网络号。
  • 四部分组成的点分十进制地址,后跟一个斜扛,最后是范围在0到32之间的一个数字:A.B.C.D/N。

不需要告知路由器地址掩码,仅需要通过网络前缀所占的位数就可以得到地址掩码。

举个例子~~
192.25.14.7/20 = 11000000 00011001 0000 1110 00000111
可以得知:

  • 子网掩码:
    255.255.240 = 11111111 11111111 1111 0000 00000000

  • 最小地址(主机为全0)
    192.25.0.0 = 11000000 00011001 0000 0000 00000000

  • 最大地址(主机位全1)
    192.25.15.555 = 11000000 00011001 0000 1111 11111111

3.3 CIDR聚合

也称路由聚合,就是将多个子网聚合到一起形成超网,方法是将前缀缩短。将多个子网的IP地址写成二进制的形式,所有IP地址网络地址相同的部分变为新的前缀。有效地减少了要对外显示的网络数,防止了’路由表爆炸’,也遏制了互联网进一步扩大。

  • 29
    点赞
  • 15
    收藏
    觉得还不错? 一键收藏
  • 33
    评论
评论 33
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值