IP协议

概述

  • IP协议是Internet体系结构的核心协议, 该协议已成为连接异构网络的工业标准。
  • IP提供非面向连接的数据报服务, 每个IP分组长度 ≤64K字节, 传输效率高, 但不能保证分组可靠的、 按序到达。
  • IP协议需要路由协议, ICMP, ARP, RARP等协议支持。
  • IP协议包括IPv4和IPv6两个版本, 位于网络层

IP分组格式

IP分组由IP报头和数据组成, IP报头包括固定部分和可变部分。
在这里插入图片描述

  • 版本: 4位, 表示IP协议的版本号; 4表示IPv4, 6表示IPv6。
  • 头部长度: 4位, 给出IP报头的长度, 单位为字(32位) ;最小值为5(无任何选项) , 最大值为15(头部最大长度为60字节) 。
  • 服务类型: 告诉路由器该IP分组想获得何种服务,包括优先级、延迟、吞吐量和可靠性要求。该字段共有8位:
    前3位: 表示优先权。
    中3位 (D、 T、 R):表示想获得的服务质量(延迟,吞吐量,可靠性)。
    后2位: 保留。
    注: 几乎所有路由器都忽略“服务类型”字段。
  • 总长度: 表示整个IP分组长度,包括报头和数据部分;该字段16位,所以IP分组最大长度216-1 =65535字节(≈ 64KB) 。
  • 标识: 16位,用来标识一个分组,同一分组的不同分段具有相同的标识。
  • 标志: 3位。
    第1位: 保留
    第2位: DF位(Don’t Fragment)。 若DF=1,则IP分组在传输中不允许分段,如目的主机从远方引导启动机器的映像文件,目的主机无能力重组分组。若DF=0 ,则允许分段。
    第3位: MF位(More Fragment)。若MF=0 ,则该分段是原分组的最后一个分段
  • 分段偏移: 表示分段在原分组中所处位置的偏移量,单位为8字节,起始偏移量为0。由于该字段为13位,所以一个分组最多有213 = 819 2个分段。
  • 生命期: 该字段限制IP分组在Internet中的生存期,通常用下跳数表示,分组每经过一个路由器,则自动减1;当该字段为0时,则丢弃该分组,并向源节点发出ICMP警告信息。
  • 协议: 表示IP的上层协议,即IP分组将递交给哪一个高层协议处理(如TCP、 UDP等)。
  • 头部校验和: 将头部所有16位半字按二进制反码累加,再取其结果反码,以便接收端对IP头部进行校验。该字段每经过一个路由器都要重新计算,因为至少“生命期”字段会改变。
  • 源/目的地址: 源节点和目的节点IP地址(各32位) 。
  • 数据: 封装IP上层协议的载荷数据,如TCP或UDP报文段、 ICMP消息等。
  • 选项
    安全
    告诉路由器如何保证IP分组的安全性;例如,该分组不能经过某些路由器。
    严格的源路径
    以IP地址序列形式给出完整的源/目的路径,分组严格地按照此路径传输。
    宽松的源路径
    以IP地址序列形式给出到达目的节点必须经过的路由器, 但也允许经过其他路由器。
    路由记录
    告诉沿途经过的路由器将他们的IP地址加入到该选项中,以便接收端能够知道该分组经过哪条路由到达。
    时间标记
    类似“路由记录”,但除记录路由器的IP地址外,还要记录时间标记。

IP地址

IP地址概述

  • IP网络中的每台主机至少要分配一个IP地址, 一台路由器需要分配多个IP 地址(每个端口需分配一个IP地址) , 每个IP地址只能分配给一台主机或路由器。
  • Internet上IP地址由Internet 名字与号码分配机构(ICANN) 分配。
  • IP地址32位, 通常用带点的4个十进制数表示;如: 240.45.245.9。

IP地址结构

在这里插入图片描述- A类: 共有27-2=126个网络, 每个网络最多有224-2≈1.6×107台主机。

  • B类: 共有214-2=16382个网络, 每个网络最多有216-2=65534台主机。
  • C类: 共有221-2≈200万个网络, 每个网络最多有28-2=254台主机。
  • D类: 用于组播。
  • E类: 保留。

特殊的IP地址

  • 32位全“0”: 表示本机地址, 仅当初始启动时使用, 以后不再使用。
  • 32位全“1”: 本地网络的广播地址。
  • 主机号全“1”: 广播地址。例如, 192.210.200.255表示192.210.200.0的所有主机。
  • 主机号全“0”: 表示网络号。例如, 例192.254.252.0表示一个C类网络。
  • 127.xxx.yyy.zzz: 系统保留作为回路自测。
    发到127.xxx.yyy.zzz的分组实际上并不发送到网络上, 而是经过内部处理后又返回本机。

内部IP地址(私用地址)

  • A类: 10.0.0.0 (1个网络) 。
  • B类: 172.16.0.0 — 172.31.0.0(16个网络) 。
  • C类: 192.168.0.0 — 192.168.255.0(256个网络) 。
    Internet的路由器不会转发目的地址为上述地址的IP分组,即私用地址不能穿越内部网络边界。

路由器IP寻址

  • 路由器根据目的网络号而不是目的IP地址转发IP分组, 以减少路由表的信息量。
  • 路由器保存一张路由表, 该表保存的主要内容: (目的网络号, 最佳输出链路, …) , 指示如何到达目的网络, 至于到达该网络后, 如何到达目的主机则不是路由器所考虑的。
  • 当一个分组到达时, 路由器通过子网掩码获取它的网络号。 如果是本网, 则该IP分组直接发送到指定主机;如果是其他网络, 则根据路由表转发到下一路由器。
  • 如果路由表中找不到目的网络, 则将该分组转发到 “缺省链路”。

Internet控制协议

IP协议用于分组传输, Internet还需要一些控制协议,包括ICMP,ARP, RARP等。

ICMP协议

ICMP用于报告IP协议运行过程中意外事件的发生,也用于网络测试。ICMP消息主要有12种,这些ICMP消息封装在IP分组中传输。因此,ICMP消息可视为“IP控制分组”。

主要ICMP消息

  • 目的不可达: 当目的路由器无法找到目的主机, 或者DF为“1”的分组经过MTU较小的网络而无法传输时, 返回该消息。
  • 超时: 当分组的生命期减至0时, 则自动丢弃该分组, 并返回该消息。
  • 参数出错: 当IP头部参数出现非法值时, 返回该消息, 说明发送主机或路由器软件有问题。
  • 源抑制: 源主机收到该消息后, 则降低发送速度, 以减轻网络拥塞。事实上, 该消息几乎从未使用, 因为当网络拥赛时, 再发送“源抑制” 分组等于火上浇油。 目前, Internet的拥塞控制主要由传输层的TCP完成。
  • 重导向: 当某路由器发现某分组的路由选择有问题时, 向源主机返回该消息。
  • 回声请求与应答: 这两个消息用于测试目的地址是否可达和目的主机工作是否正常。
  • 时间戳请求与应答: 用于记录探测分组的发出时间和到达时间, 通过计算时间差, 可得到分组的当前延迟。
  • 其他ICMP消息: 主要涉及到Internet的地址问题, 不常用。

ARP协议

IP地址是网络层地址, 链路层无法识别。 当知道目的IP地址后, 目的路由器必须获得对应的目的MAC地址, 才能构造出MAC帧发送到目的主机。

每台主机使用的IP地址不允许重复。 因此, 主机配置IP地址后, 必须检测该IP地址是否已被使用

ARP协议的功能

  • 地址解析, 即根据IP地址找到相应的MAC地址。
  • 检测IP地址是否可用。

地址解析

在这里插入图片描述

  • R收到目的地址192.31.63.4的分组,知道要从E0端口转发。
  • 广播询问帧:
    在这里插入图片描述
    询问谁的IP地址是192.31.63.4
  • B返回响应帧:
    在这里插入图片描述
    告诉R,我的IP地址是192.31.63.4, MAC地址是E2
  • R收到B的响应帧,知道目的MAC地址为E2 ,于是为要转发的分组192.31.63.4构造数据帧,并从E0端口转发

ARP分组格式

在这里插入图片描述

  • 硬件类型取值为1, 表示以太网。
  • 协议类型为0x0800,表示IP协议。
  • 硬件地址长度为6, 表示48位MAC地址。
  • 协议地址长度为4, 表示32位IP地址。
  • 操作:请求为1, 响应为2。

ARP缓存

  • 为了提高效率, 减少ARP广播, 当收到某主机的ARP请求或响应分组后(ARP请求或响应分组中均含有IP/MAC地址) , 将IP/MAC地址映射(对应关系) 保存在ARP缓存中, 若缓存中已有该映射, 则更新。
  • 当下一分组到达时, 先查找ARP缓存, 若找到对应的MAC地址, 则无需广播ARP询问帧。
  • ARP缓存时间缺省值为20分钟;如果缓存超时, 则该主机很可能关机或移动到其他网络上, 相应的IP/MAC地址映射就会从ARP缓存中移除。

检测IP地址是否可用

主机配置IP地址后, 广播一个ARP请求分组, 询问其他主机是否已使用了该IP地址。若其他主机已使用了该IP地址, 则返回一个ARP响应分组, 告知该IP地址冲突 。

IP子网

子网

  • 将一个网络(A, B或C类) 内部分割成若干部分, 每个部分称为一个子网。
  • 子网对外部不可视。

子网掩码

  • IP地址由两部分组成:网络号+主机号。
  • 子网掩码由32位组成, 用于获取IP地址中的网络号, 即:网络号=IP地址∩子网掩码
  • 在不进行子网划分的情况下, 每个网络(A, B或C类) 都有一个缺省的子网掩码, 分别是:
    A类: 255.0.0.0
    B类: 255.255.0.0
    C类: 255.255.255.0

子网划分

为什么进行子网划分

  • 充分利用IP地址
  • 便于网络管理

如何进行子网划分
子网划分的实质是用若干位主机号来标识子网号。 子网数目越多,则每个子网内的主机数目越少;子网数目越少, 则每个子网内的主机数目越多。

子网划分步骤

  • 确定子网数目和子网内的最大主机数目。
    路由器的每个端口对应一个子网!
  • 确定用几位主机号来标识子网号。
    设:需要的子网数目为n, 子网内的最大主机数目为m, 原主机号为k位, 取x位作为子网号, 则:
    2x -2≥n
    2k-x -2≥m
  • 选择子网号, 配置子网掩码、 网关地址。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值