1、单元3 网络体系结构与协议 教学模块五:网络层其他协议教学模块五:网络层其他协议【知识目标知识目标】 1.掌握ARP/RARP/ICMP三个协议【能力目标能力目标】 1. 具备自主学习的能力; 2. 具备团队协作的能力。 教学目标教学目标TCP/IPTCP/IP协议栈协议栈应用层网络接口层网络层传输层 IPICMPARPRARP ICMP(Internet Control Message Protocol): 提供控制和传递消息的提供控制和传递消息的 功能(但通信时功能(但通信时需用需用IP封装封装);); ARP(Address Resolution Protocol): 为已知的为已知的I
2、P地址确定网络接口层的地址确定网络接口层的 MAC地址;地址; RARP(Reverse Address Resolution Protocol) :为已知的网络接口层:为已知的网络接口层MAC 地址确定对应的地址确定对应的IP地址。地址。 4 4个协议中仅个协议中仅IPIP具有全网的寻址能力,而具有全网的寻址能力,而ICMPICMP、ARPARP和和RARPRARP均无全网的均无全网的 寻址能力,寻址能力,ICMPICMP需要在不同网络之间传递,因此必须用需要在不同网络之间传递,因此必须用IPIP封装,封装,ARP ARP 和和RARPRARP只在一个网络的内部进行通信,不需要在网络之间寻址
3、,所以只在一个网络的内部进行通信,不需要在网络之间寻址,所以 无须用无须用IPIP封装。封装。网络层协议网络层协议地址转换协议ARP和RARP 网络中的任何设备都有唯一的物理地址,也称之为硬件地址或MAC地址,它存储在网卡中。在节点之间进行数据传输时,必须将IP地址转换为物理地址。 就以太网和令牌环网而言,IEEE标准规定它们的帧都使用6字节表示MAC地址,前24位标识网卡的生产厂商,后24位由该厂商标识其网卡。2022-6-23IP地址与MAC地址2022-6-23IP 地址与MAC地址 TCP 报文IP 数据报MAC 帧应用层数据首部首部尾部首部链路层及以下使用物理地址物理地址网络层及以上
4、 使用 IP 地址IP 地址HA1HA5HA4HA3HA6主机 H1主机 H2路由器 R1硬件地址路由器 R2HA2IP1IP2局域网局域网局域网通信的路径H1经过 R1 转发再经过 R2 转发H2查找路由表查找路由表主机H1和主机H2之间的通信HA1HA5HA4HA3HA6主机 H1主机 H2路由器 R1硬件地址路由器 R2HA2IP1IP2局域网局域网局域网IP1HA1HA5HA4HA3HA6HA2IP6主机 H1主机 H2路由器 R1IP 层上的互联网MAC 帧IP2IP4IP3IP5路由器 R2 IP1 IP2IP1 IP2IP1 IP2从 HA1 到 HA3从 HA4 到 HA5从
5、HA6 到 HA2MAC 帧MAC 帧IP 数据报从协议栈的层次上看数据的流动2022-6-23HA1HA5HA4HA3HA6主机 H1主机 H2路由器 R1硬件地址路由器 R2HA2IP1IP2局域网局域网局域网IP1HA1HA5HA4HA3HA6HA2IP6主机 H1主机 H2路由器 R1IP 层上的互联网MAC 帧IP2IP4IP3IP5路由器 R2 IP1 IP2IP1 IP2IP1 IP2从 HA1 到 HA3从 HA4 到 HA5从 HA6 到 HA2MAC 帧MAC 帧IP 数据报从IP 层上看 IP 数据报的流动2022-6-23HA1HA5HA4HA3HA6主机 H1主机 H
6、2路由器 R1硬件地址路由器 R2HA2IP1IP2局域网局域网局域网IP1HA1HA5HA4HA3HA6HA2IP6主机 H1主机 H2路由器 R1IP 层上的互联网MAC 帧IP2IP4IP3IP5路由器 R2 IP1 IP2IP1 IP2IP1 IP2从 HA1 到 HA3从 HA4 到 HA5从 HA6 到 HA2MAC 帧MAC 帧IP 数据报在链路上看 MAC 帧的流动2022-6-23IP1HA1HA5HA4HA3HA6HA2IP6主机 H1主机 H2路由器 R1IP 层上的互联网MAC 帧IP2IP4IP3IP5路由器 R2 IP1 IP2IP1 IP2IP1 IP2从 HA1
7、 到 HA3从 HA4 到 HA5从 HA6 到 HA2MAC 帧MAC 帧IP 数据报在 IP 层上只能看到 IP 数据报图中的 IP1IP2 表示从源地址 IP1 到目的地址 IP2 两个路由器的 IP 地址并不出现在 IP 数据报的首部中 2022-6-23IP1HA1HA5HA4HA3HA6HA2IP6主机 H1主机 H2路由器 R1IP 层上的互联网MAC 帧IP2IP4IP3IP5路由器 R2 IP1 IP2IP1 IP2IP1 IP2从 HA1 到 HA3从 HA4 到 HA5从 HA6 到 HA2MAC 帧MAC 帧IP 数据报路由器只根据目的站的 IP 地址的网络号进行路由选
8、择 2022-6-23IP1HA1HA5HA4HA3HA6HA2IP6主机 H1主机 H2路由器 R1IP 层上的互联网IP2IP4IP3IP5路由器 R2 IP1 IP2IP1 IP2IP1 IP2MAC 帧从 HA1 到 HA3从 HA4 到 HA5从 HA6 到 HA2MAC 帧MAC 帧IP 数据报在具体的物理网络的链路层只能看见 MAC 帧而看不见 IP 数据报 2022-6-23IP1HA1HA5HA4HA3HA6HA2IP6主机 H1主机 H2路由器 R1IP 层上的互联网IP2IP4IP3IP5路由器 R2 IP1 IP2IP1 IP2IP1 IP2MAC 帧从 HA1 到 H
9、A3从 HA4 到 HA5从 HA6 到 HA2MAC 帧MAC 帧IP 数据报IP层屏蔽了下层很复杂的细节在抽象的IP层上讨论问题,就能够使用统一的、抽象的 IP 地址研究主机和主机或主机和路由器之间的通信 2022-6-23地址解析协议 ARP 和反向地址解析协议 RARP 不管网络层使用的是什么协议,在实际网络的链路上传送数据帧时,最终还是必须使用硬件地址。 地址转换协议(ARP)的作用就是将IP地址转换为物理地址。每一台主机都设有一个 ARP 高速缓存,里面有所在的局域网上的各主机和路由器的 IP 地址到硬件地址的映射表。p 对于在主机的ARP高速缓存中存在的内容,可以使用命令:ARP
10、 A查看。p 例如在IP地址是192.168.2.2的主机中使用arp a命令可查看到该主机arp高速缓存中的信息2022-6-23地址解析协议 ARP 和反向地址解析协议 RARP 当主机 A 欲向本局域网上的某个主机 B 发送 IP 数据报时,就先在其 ARP 高速缓存中查看有无主机 B 的 IP 地址。如有,就可查出其对应的硬件地址,再将此硬件地址写入 MAC 帧,然后通过局域网将该 MAC 帧发往此硬件地址。p 也有可能查不到目的主机的IP 地址的项目,原因可能如下: 目的主机才入网,其物理地址还不为其它用户所知 源主机刚刚加电,其高速缓存还是空的。p 在这种情况下,源主机就自动运行A
11、RP,以广播方式发出请求,找出目的主机的物理地址。如图IP地址MAC地址192.168.2.200 01 01 00 13 0C192.168.2.300 01 01 00 13 06192.168.2.400 01 01 00 13 AD2022-6-23ARP 响应AYXBZ主机 B 向 A 发送ARP 响应分组 主机 A 广播发送ARP 请求分组 ARP 请求ARP 请求ARP 请求ARP 请求209.0.0.5209.0.0.600-00-C0-15-AD-1808-00-2B-00-EE-0A我是 209.0.0.5,硬件地址是 00-00-C0-15-AD-18我想知道主机 209
12、.0.0.6 的硬件地址我是 209.0.0.6硬件地址是 08-00-2B-00-EE-0AAYXBZ209.0.0.5209.0.0.600-00-C0-15-AD-182022-6-23应当注意的问题 ARP 是解决同一个局域网上的主机或路由器的 IP 地址和硬件地址的映射问题。 如果所要找的主机和源主机不在同一个局域网上,那么就要通过 ARP 找到一个位于本局域网上的某个路由器的硬件地址,然后把分组发送给这个路由器,让这个路由器把分组转发给下一个网络。剩下的工作就由下一个网络来做。19ARP协议的运行过程(通信双方在不同子网内)198.150.12.16如果源主机如果源主机A与目的主机
13、与目的主机B不在同一子网不在同一子网中,假设中,假设A的的IP地址是地址是198. 150. 11.15,B的的IP地址是地址是198.150.12.16,这种情况,这种情况下,下,A发出的发出的ARP请求分组是为了获取请求分组是为了获取自己所在网络的网关的自己所在网络的网关的MAC地址地址,之后,之后A只需要将数据封装成帧发送给路由器,只需要将数据封装成帧发送给路由器,然后由路由器转交然后由路由器转交 。2022-6-23应当注意的问题 从IP地址到硬件地址的解析是自动进行的,主机的用户对这种地址解析过程是不知道的。 只要主机或路由器要和本网络上的另一个已知 IP 地址的主机或路由器进行通信
14、,ARP 协议就会自动地将该 IP 地址解析为链路层所需要的硬件地址。 2022-6-23反向地址解析协议 RARP 反向地址解析协议 RARP 使只知道自己硬件地址的主机能够知道其 IP 地址。 这种主机往往是无盘工作站。 因此 RARP协议目前已很少使用。 Internet控制报文协议ICMP IP数据报的交付是无连接的,即在IP层,数据报文并不保证数据的可靠传输,而是“尽最大努力传输”,它采用分组交换方式,不同的IP分组报文可以沿不同路径到达目的地,在目的地进行组装。ICMP协议允许主机或路由器报告差错情况和提供有关异常情况,即ICMP报文通常是由某个监测到IP分组中错误的站点产生,IC
15、MP是作为IP报文的数据部分封装的。 ICMP 报文是封装在IP 数据报内部的,8字节长,其中前4个字节是固定的格式,包含8位类型字段,8位代码字段和16位的校验和;后4个字节根据ICMP包的类型而取不同的值。其他字节则互不相同。IP首部(20字节)ICMP报文8位类型8位代码16位校验和内容(不同类型和不同代码内容不同)16位ICMP报文结构报文结构v ICMP 网络错误通告的数据报包括网络错误通告的数据报包括目的端不可达通告、超目的端不可达通告、超时通告、参数错误通告时通告、参数错误通告等等,并,并以代码的形式通知发送数据以代码的形式通知发送数据的源端。的源端。vICMP报文根据类型和代码
16、的不同,分为两类:报文根据类型和代码的不同,分为两类: ICMP差错控制报文差错控制报文 ICMP查询报文查询报文终点不可达:当路由器无法转发或交付IP数据报时,路由器就向源站发送终点不可达报文,然后丢弃该报文,例如“网络不可达”表示路由器失败,“主机不可达”表示交付失败。源站抑制:当路由器或主机由于拥塞而丢弃数据报时,就向源站发送源站抑制报文,于是源站将降低发送速率时间超时:当路由器收到的IP数据报中的TTL字段为0时,一方面丢弃该报文,同时向源站发送时间超时报文。同样,当目的站在规定的时间内不能收到一个数据报的全部片段时,就会丢弃已经收到的所有片段,同时向源站发送“时间超时”报文参数问题:
17、当路由器或目的主机收到的IP数据报的首部中的字段出现错误时,就丢弃,并向源站发送此类报文路由重定向:路由器将改变的路由报文发送给主机,让主机知道下次应将数据报发送到另外的路由器。5种差错控制报文4种查询报文:ICMP回送请求和回答:主机和路由器可以向一个特定的主机或路由器发出“回送请求”查询,收到此查询的主机或路由器发回“ICMP回送回答”报文,这种查询测试目的站是否可达等状态,例如ping命令的使用。ICMP时间戳请求和回答:请求某台主机或路由器回答当前的日期和时间,可进行时钟同步和测量时间。ICMP掩码地址请求和回答:主机向路由器发出请求并接收回答,目的是获得所在网络的子网掩码路由器询问和
18、通告:主机将路由询问报文进行广播或多播,收到询问的路由器用通告报文广播其路由信息,其目的是为了使网络内的主机获得最新的路由信息,以选择更好的路由。适合于网络内有多台路由器的情况 ICMP 差错报告都是采用路由器到源主机的模式,也就是说,所有的差错信息都需要向源主机报告。 但ICMP 协议并不严格规定对出现的差错采取什么处理方式。源主机接收到ICMP 差错报告后,常常需将差错报告与应用程序联系起来,才能进行响应的差错处理。 网络测试工具“Ping” 命令和“Tracert”就都是基于ICMP 实现的。 例如,若在主机1 上输入一个“Ping192.168.1.1”命令,则相当于向目的主机192.
19、168.1.1 发出了一个以回送请求为消息类型的ICMP 包,若目的主机存在,则其会向主机1 发送一个以回送应答为消息类型的ICMP 包;若目的主机不存在,则主机1 会得到一个以不可达目的地为消息类型的ICMP 错误消息包。复习1.主机什么情况下使用ARP协议( )A. 知道本网段某台主机的MAC地址,而想获取其对应的IP地址 B. 知道本网段某台主机的IP地址,而想获取其对应的主机名C. 知道本网段某台主机的主机名,而想获取其对应的IP地址 D. 知道本网段某台主机的IP地址,而想获取其对应的MAC地址 D 2.用ping命令探测另一台主机时,发送的是( )A. ARP请求帧 B. ARP响应帧C. ICMP回送回答报文 D. ICMP回送请求报文D3.下列属于MAC地址的是( )。A Az32:6362:2434 B Sj:2817:8288 C GGG:354:665 D A625:cbdf:D小结本教学单元里学习了以下内容:n掌握ARP、RARP、ICMP三个网络层协议Thank you!