【计算机网络】网络层——ARP DHCP ICMP三大协议
数据发送的过程
同一局域网内(一号到三号)
应用层是pdf
到传输层把它分成一个个报文
网络层,就拿报文段1距离,给他加上IP1(源地址) 和 IP3(目的地址)
到数据链路层,就加前后缀。
后缀中要增加MAC地址。MAC1是自己的地址,MAC3是目的地址
一般会应用ARP高速缓存中IP地址和MAC地址的映射来获取MAC3目的地址,填到后面
但是如果是第一次,没有MAC3怎么办
会先发送一次ARP请求分组。
发送后只有3号主机会响应,告诉主机下面的信息:
于是就得到MAC3,再加上前缀。传给物理层
局域网外(一号到五号)
到上面这一步时,ARP高速缓存是作用于局域网,所以查不到
怎么办?
一号主机会先用自己的子网掩码去与IP5进行与操作,发现不是一个子网
我们就该查询默认网关的网址IP6
就是说寻找下一跳!!!
他会为了寻找路由器IP6,发送广播
只有路由器单播返回:
于是信息就传到了路由器。路由器再去存储转发给别人
ARP协议:完成IP-MAC
由于在实际网络的链路上传送数据帧时,最终必须使用MAC地址。
ARP协议使用过程:
检查ARP高速缓存,有对应表项则写入MAC帧,没有则用目的MAC地址为FF-FF-FF-FF-FF-FF的帧封装并广播ARP请求分组,同一局域网中所有主机都能收到该请求。
目的主机收到请求后就会向源主机单播一个ARP响应分组,源主机收到后将此映射写入ARP缓存(10-20min更新一次)。
ARP协议自动进行
例题
ARP协议是解决下一跳走哪的问题
中间全是路由器,所以有几条线就用几次
DHCP协议:从服务器动态获取IP地址
主机如何获得IP地址?
-
静态配置:学校机房
-
配置了IP地址 子网掩码 默认网关
-
动态配置
-
-
DHCP是什么
动态主机配置协议DHCP是应用层协议,使用客户/服务器方式,客户端和服务端通过广播方式进行交互,基于UDP.
DHCP提供即插即用联网的机制,主机可以从服务器动态获取IP地址、子网掩码、默认网关、DNS服务器名称与IP地址允许地址重用,支持移动用户加入网络,支持在用地址续租。
工作流程
-
主机广播DHCP发现报文
“有没有DHCP服务器呀?”试图找到网络中的服务器,服务器获得一个IP地址。
-
DHCP服务器广播DHCP提供报文
“有!”“有!”“有!”服务器拟分配给主机一个IP地址及相关配置,先到先得。
-
主机广播DHCP请求报文
“我用你给我的IP地址啦?”主机向服务器请求提供IP地址。
-
DHCP服务器广播DHCP确认报文
“用吧!” 正式将IP地址分配给主机。
ICMP协议:某种差错控制
TCP/IP 协议栈
网际控制报文协议ICMP
ICMP报文
ICMP差错报文
1.终点不可达:当路由器或主机不能交付数据报时就向源点发送终点不可达报文。
无法交付
2.源点抑制:当路由器或主机由于拥塞而丢弃数据报时,就向源点发送源点抑制报文,使源点知道应当把数据报的发送速率放慢。
拥塞丢数据
3.时间超过:当路由器收到生存时间TTL=0的数据报时,除丢弃该数据报外,还要向源点发送时间超过报文。当终点在预先规定的时间内不能收到一个数据报的全部数据报片时,就把已收到的数据报片都丢弃,并向源点发送时间超过报文。
TTL=0(生存时间)
4·参数问题:当路由器或目的主机收到的数据报的首部中有的字段的值不正确时,就丢弃该数据报,并向源点发送参数问题报文。
首部字段有问题
5·改变路由(重定向) :路由器把改变路由报文发送给主机,让主机知道下次应将数据报发送给另外的路由器(可通过更好的路由)。
有更好的路由
不应该发送差错报文的情况
1.对ICMP差错报告报文不再发送ICMP差错报告报文。
2.对第一个分片的数据报片的所有后续数据报片都不发送ICMP差错报告报文。
3.对具有组播地址的数据报都不发送ICMP差错报告报文。组播:一到多,但是不是一到全部
4.对具有特殊地址(如127.0.0.0或0.0.0.0)的数据报不发送ICMP差错报告报文。
ICMP询问报文
ICMP协议的应用
PING
测试两个主机之间的连通性,使用了ICMP回送请求和回答报文。
Traceroute
跟踪一个分组从源点到终点的路径,使用了ICMP时间超过差错报告报文。
方法:不断的以TTL为1,2,3,,,的数据报向路由器发送。(广度优先搜索)
【推荐】还在用 ECharts 开发大屏?试试这款永久免费的开源 BI 工具!
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步