网络层之ARP协议、DHCP协议和ICMP协议

学习的最大理由是想摆脱平庸,早一天就多一份人生的精彩;迟一天就多一天平庸的困扰。各位小伙伴,如果您:

想系统/深入学习某技术知识点...

一个人摸索学习很难坚持,想组团高效学习...

想写博客但无从下手,急需写作干货注入能量...

热爱写作,愿意让自己成为更好的人...

文章目录


一、ARP协议

1、发送数据的过程

ARP高速缓存:(IP地址与MAC地址的映射)


在数据链路层会有一个ARP请求分组

此时返回一个MAC3,并封装FCS。

2、ARP协议概述

由于在实际网络的链路上传送数据帧时,最终必须使用MAC地址。

ARP协议:完成主机或路由器IP地址到MAC地址的映射。(解决下一跳走哪的问题)

ARP协议使用过程:

检查ARP高速缓存 ,有对应表项则写入MAC帧,没有则用目的MAC地址为FF-FF-FF-FF-FF-FF的帧封装并广播ARP请求分组,同一局域网中 所有主机都能收到该请求。目的主机收到请求后就会向源主机单播一个ARP响应分组,源主机收到后将此映射写入ARP缓存(10-20min更新一次)。

ARP协议4种典型情况:

  • 1.主机A发给本网络上的主机B:用ARP找到主机B的硬件地址;
  • 2.主机A发给另一网络上的主机B:用ARP找到本网络上一个路由器(网关)的硬件地址;
  • 3.路由器发给本网络的主机A:用ARP找到主机A的硬件地址;
  • 4.路由器发给另一网络的主机B:用ARP找到本网络上的一个路由器的硬件地址。

例题:

主机发送IP数据报给主机B,经过了5个路由器,请问此过程总共使用了几次ARP协议?

解答:
六次

二、DHCP协议

1、DHCP协议简介

动态主机配置协议DHCP是应用层协议,使用客户/服务器方式,客户端和服务端通过广播方式进行交互,基于UDP。DHCP提供即插即用 联网的机制,主机可以从服务器动态获取IP地址、子网掩码、默认网关、DNS服务器名称与IP地址,允许地址重用 ,支持移动用户加入网络 ,支持在用地址续租

2、DHCP协议流程

1.主机广播DHCP发现报文------"有没有DHCP服务器呀?"试图找到网络中的服务器,服务器获得一个IP地址。

2.DHCP服务器广播DHCP提供报文------"有!""有!""有!"服务器拟分配给主机一个IP地址及相关配置,先到先得。

3.主机广播DHCP请求报文------"我用你给我的IP地址啦?"主机向服务器请求提供IP地址。

4.DHCP服务器广播DHCP确认报文------"用吧!"正式将IP地址分配给主机。

三、ICMP协议

ICMP协议作用:为了更有效地转发IP数据报和提高交付成功的机会。

ICMP协议支持主机或路由器:

  • 差错(或异常)报告
  • 网络探询

对于出错处理,我们不能直接丢弃,需要发送ICMP报文。

  • ICMP差错股文
  • ICMP询问报文

1、ICMP差错报告报文 (5种)

  • 1.终点不可达:当路由器或主机不能交付数据报时就向源点发送终点不可达报文。(无法交付)
  • ⒉源点抑制:当路由器或主机由于拥塞而丢弃数据报时,就向源点发送源点抑制报文,使源点知道应当把数据报的发送速率放慢。(拥塞丢数据)(不再使用了)
  • 3.时间超过:当路由器收到生存时间TTL=0的数据报时,除丢弃该数据报外,还要向源点发送时间超过报文。当终点在预先规定的时间内不能收到一个数据报的全部数据报片时,就把已收到的数据报片都丢弃,并向源点发送时间超过报文。(TTL=0)
  • 4.参数问题:当路由器或目的主机收到的数据报的首部中有的字段的值不正确时,就丢弃该数据报,并向源点发送参数问题报文。(首部字段有问题)
  • 5.改变路由(重定向)︰路由器把改变路由报文发送给主机,让主机知道下次应将数据报发送给另外的路由器(可通过更好的路由)。(值得更好的路由)

2、ICMP差错报告报文数据字段

3、不应发送ICMP差错报文的情况

  • 1.对ICMP差错报告报文不再发送ICMP差错报告报文。
  • 2.对第一个分片的数据报片的所有后续数据报片都不发送ICMP差错报告报文。
  • 3.对具有组播地址的数据报都不发送ICMP差错报告报文。
  • 4.对具有特殊地址(如127.0.0.0或0.0.0.0)的数据报不发送ICMP差错报告报文。

4、ICMP询问报文

  • 1.回送请求和回答报文:主机或路由器向特定目的主机发出的询问,收到此报文的主机必须给源主机或路由器发送ICMP回送回答报文。测试目的站是否可达以及了解其相关状态。
  • 2时间戳请求和回答报文︰请某个主机或路由器回答当前的日期和时间。用来进行时钟同步和测量时间。
  • 3.掩码地址请求和回答报文(不再使用了)
  • 4.路由器询问和通告报文(不再使用了)

5、ICMP的应用

  • 测试两个主机之间的连通性,使用了ICMP回送请求和回答报文。
  • 跟踪一个分组从源点到终点的路径,使用了ICMP时间超过差错报告报文。

总结

以上就是网络层之ARP协议、DHCP协议和ICMP协议的相关知识点,希望对你有所帮助。

积跬步以至千里,积怠惰以至深渊。时代在这跟着你一起努力哦!

相关推荐
10WTW0117 小时前
NTP协议
网络协议·计算机网络·ntp·ntp协议
多巴胺梦想家3 天前
计算机系统概述
计算机网络
AI人工智能+电脑小能手3 天前
【大白话说Java面试题 第210题】【10_网络协议篇】第1题:说说 TCP/IP 网络五层模型
java·网络协议·tcp/ip·计算机网络·网络五层模型
一条泥憨鱼3 天前
【从0开始学习计算机网络】| HTTP方法疑点解析
开发语言·计算机网络·http
一条泥憨鱼3 天前
【从0开始学习计算机网络】| RESTful API 设计原则
计算机网络·http·restful api
纵有疾風起3 天前
计算机网络的性能指标体系:带宽、时延、吞吐量
计算机网络·rtt·408·带宽·性能指标·吞吐量·时延
纵有疾風起4 天前
从OSI到TCP/IP——分层架构的思想根源与模型之争
tcp/ip·计算机网络·架构·osi·408·体系结构·分层
游戏开发爱好者84 天前
TraceEagle 代理抓包详解,无感代理、去证书绑定与 HTTP/3 解密能力解析
网络协议·计算机网络·网络安全·ios·adb·https·udp
2501_915918415 天前
抓包鹰 抓包会话重放与压力测试,接口回归验证与性能压测的方法
网络协议·计算机网络·网络安全·ios·adb·https·压力测试
一条泥憨鱼5 天前
【从0开始学习计算机网络】| HTTP 状态码
开发语言·网络·网络协议·计算机网络·http