以太网详解(七)网络层协议概述

简介

常见网络层协议

  • IP(Internet Protocol):是互联网中最基本的协议,用于在网络中传输数据包。IP 协议定义了数据包的格式、寻址方式和路由选择等信息,是整个互联网的基础。
  • ICMP(Internet Control Message Protocol):用于在 IP 网络中传递控制消息和错误信息。ICMP 通常用于网络设备之间的通信,如路由器和主机之间的通信,以及用于检测网络连通性和故障诊断。
  • ARP(Address Resolution Protocol):用于将 IP 地址映射为 MAC 地址(物理地址)。ARP 协议在局域网内部使用,通过发送 ARP 请求获取目标设备的 MAC 地址,从而实现数据包的传输。
  • RARP(Reverse Address Resolution Protocol):与 ARP 相反,用于将 MAC 地址映射为 IP 地址。RARP 协议通常用于无盘工作站等设备,可以根据 MAC 地址获取对应的 IP 地址。
  • DHCP(Dynamic Host Configuration Protocol):动态主机配置协议 DHCP 是一种网络管理协议,用于集中对用户 IP 地址进行动态管理和配置。
    在这里插入图片描述

IP 协议

IP 协议特点

  • 数据包被独立处理
  • 不能保证包的发送
  • 丢失或损坏的数据包不会被恢复

报文格式

在这里插入图片描述
IP 报头中各个部分的含义分别是:

  • 版本(Ver.)
    占用 4 bit,标识目前采用的 IP 协议的版本号,通信双方使用的IP协议的版本必须一致。一般取值为 0100(IPv4)和 0110(IPv6)。
  • 首部长度(IHL)
    即 IP 报头长度,这个字段的作用是为了描述 IP 报头的长度。该字段占用 4 bit,由于在 IP 报头中有变长的可选部分,为了能多表示一些长度,因此采用 4 字节(32 bit)为本字段数值的单位,比如,4 bit 最大能表示为 1111,即 15,单位是 4 字节,因此最多能表示的长度为 15×4 = 60 字节。因为 IP 首部的固定长度是 20 字节,因此首部长度字段的最小值是 5(即二进制表示的首部长度是 0101)。当 IP 分组的首部长度不是 4 字节的整数倍时,必须利用最后的填充字段加以填充。因此 IP 数据报的数据部分永远在 4 字节的整数倍时开始。首部长度限制为 60 字节的缺点是有时可能不够用,但这样做是希望用户尽量减少开销。最常用的首部长度是 20 字节(即首部长度为 0101),这时不使用任何选项。
  • 服务类型(Service Type)
    占用 8 bit,用来获得更好的服务。这个字段在旧标准中叫做服务类型,但实际上一直没有被使用过。1998 年 IETF 把这个字段改名为区分服务 DS(DifferentiatedServices)。只有在使用区分服务时,这个字段才起作用,在一般的情况下都不使用这个字段。
  • 总长度(Packet Length)
    占用 16 bit,该字段表示以字节为单位的 IP 数据报的总长度(包括 IP 报头部分和 IP 数据部分)。如果该字段全为 1,就是最大长度了,即 2^16-1= 65535字节 ≈ 63.9990234375KB,有些教程上写最大是 64KB,其实是达不到的,最大长度只能是 65535 字节,而不是 65536 字节。
  • 标识(Identification)
    占用 16 bit,在协议栈中保持着一个计数器,每产生一个数据报,计数器就加 1,并将此值赋给标识字段。注意这个 “标识符” 并不是序号,IP 是无连接服务,数据报不存在按序接收的问题。当 IP 数据报由于长度超过网络的 MTU(Maximum Transmission Unit,最大传输单元)而必须分片(把一个大的网络数据报拆分成一个个小的数据报)时,这个标识字段的值就被复制到所有的小分片的标识字段中。相同的标识字段的值使得分片后的各数据报片最后能正确地重装成为原来的大数据报。
  • 标志(Flag)
    占用 3 bit,该字段最高位不使用,第二位称 DF(Don’t Fragment)位,DF 位设为 1 时表明路由器不对该上层数据报分片。如果一个上层数据报无法在不分段的情况下进行转发,则路由器会丢弃该上层数据报并返回一个错误信息。最低位称 MF(More Fragments)位,为 1 时说明这个 IP 数据报是分片的,并且后续还有数据报;为 0 时说明这个 IP 数据报是分片的,但已经是最后一个分片了。
  • 片偏移(Frag. Offset)
    占用 13 bit。该字段的含义是某个分片在原 IP 数据报中的相对位置。第一个分片的偏移量为 0。片偏移以 8 个字节为偏移单位。这样,每个分片的长度一定是 8 字节(64 位)的整数倍。
  • 生存时间(TTL,Time to Live,也称存活时间)
    占用 8 bit。表示数据报到达目标地址之前的路由跳数。TTL 是由发送端主机设置的一个计数器,每经过一个路由节点就减 1,减到为 0 时,路由就丢弃该数据报,向源端发送 ICMP 差错报文。这个字段的主要作用是防止数据报不断在 IP 互联网络上循环转发。
  • 协议(Protocol)
    占用 8 bit。该字段用来标识数据部分所使用的协议,比如取值 1 表示 ICMP、取值 2 表示 IGMP、取值 6 表示 TCP、取值 17 表示 UDP、取值 88 表示 IGRP、取值 89 表示 OSPF。
  • 首部校验和(Header Checksum)
    占用 16 bit。该字段用于对 IP 头部的正确性检测,但不包含数据部分。由于每个路由器会改变 TTL 的值,所以路由器会为每个通过的数据报重新计算首部校验和。
  • 起使和目标地址(Source Address、Destination Address)
    用于标识这个 IP 数据报的起使和目标 IP 地址。值得注意的是,除非使用 NAT(网络地址转换),否则整个传输的过程中,这两个地址不会改变。这两个地段都占用 32 bit。
  • 选项(Options,可选)
    这是一个可变长度的字段。该字段属于可选项,主要是给一些特殊的情况使用,最大长度是 40 字节。
  • 填充(Padding)
    由于 IP 报头长度这个字段的单位为 32 bit,所以 IP 报头的长度必须为 32bit 的整数倍。因此,在可选项后面,IP 协议会填充若干个 0,以达到 32bit 的整数倍。

ICMP 协议

ICMP 协议的功能主要有:

  • 确认 IP 包是否成功到达目标地址
  • 通知在发送过程中 IP 包被丢弃的原因
    在这里插入图片描述

ARP、RARP 协议

ARP

ARP 协议的主要任务是将网络层的 IP 地址映射为链路层的 MAC 地址。当网络设备需要向同一局域网中的另一台主机或设备发送数据时,它必须知道对方的 IP 地址。然而,仅仅知道 IP 地址是不够的,因为 IP 数据报必须封装成帧才能通过物理网络发送。因此,发送方还需要知道接收方的物理地址,即 MAC 地址。ARP 协议就是用来实现这一映射功能的。

当一台主机需要与另一台主机通信时,它会首先检查自己的 ARP 缓存表,查看是否已经有了目标 IP 地址对应的 MAC 地址。如果有,就直接使用这个 MAC 地址进行通信。如果没有,主机会发送一个 ARP 请求广播,询问网络上的其他设备,看谁拥有目标 IP 地址,并请求其回复 MAC 地址。收到 ARP 请求的设备会检查 IP 地址,如果匹配,就会回复其 MAC 地址。这样,发送方就能获得接收方的物理地址,并进行通信。
在这里插入图片描述

RARP

与 ARP 相反,RARP 协议的作用是将链路层的 MAC 地址转换为网络层的 IP 地址。这在无盘工作站或其他无法从本地存储介质读取 IP 地址的设备中特别有用。这些设备在启动时会发送 RARP 请求,询问网络上的 RARP 服务器分配一个 IP 地址。RARP 服务器会检查其 RARP 表,查找与请求中的 MAC 地址对应的 IP 地址,并将其发送给请求方。

RARP 协议的实现相对复杂,因为服务器通常需要为多个主机提供硬件地址到 IP 地址的映射,这些映射信息通常包含在磁盘文件中。RARP 请求是作为特殊类型的以太网帧在硬件层上进行广播的,不经过路由器转发。因此,RARP 服务器的功能通常由用户进程提供。
在这里插入图片描述

ARP 与 RARP 的区别

ARP 用于获取已知 IP 地址的 MAC 地址,而 RARP 用于获取已知 MAC 地址的 IP 地址。

ARP 请求是由客户端广播其 IP 地址并请求 MAC 地址,服务器响应相应的 MAC 地址。RARP 请求是由客户端广播其 MAC 地址并请求 IP 地址,服务器响应相应的 IP 地址。

ARP 在现代网络中广泛使用,用于解析 IP 地址到 MAC 地址。而 RARP 在现代网络中很少使用,因为大多数设备都有预分配的 IP 地址。

总的来说,ARP 和 RARP 都是网络通信中不可或缺的协议,它们通过地址转换来确保数据能够在网络中正确地发送和接收。

DHCP 协议

DHCP 协议就是一个基于 UDP 协议工作在局域网内的网络协议,其最终的目的就是获取响应的 IP 地址,其中这过程中有多种分配方式,以及发送报文的格式要求等。
在这里插入图片描述

协议字段

在这里插入图片描述

总结

  • 网络层提供了一种将信息从源路由到目的的方法。
  • IP 是定义两台主机的网络层交互方式的标准。
  • ICMP 是针对 TCP/IP 消息中的错误而发送的协议。
  • ARP 将 IP 网络地址映射到物理地址。
  • RARP 将物理地址映射为 IP 地址。
  • DHCP 可以在使用 TCP/IP 协议的设备上自动配置 IP 地址。
  • IP 以数据报的形式通过网络传输信息。
  • IP 在数据报报头中使用协议号来标识对特定数据报使用哪个协议。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值