互联网控制消息协议ICMP和地址解析协议ARP及拥塞控制

互联网控制消息协议ICMP

  • 为什么需要ICMP
  • IP分组传送不可靠,可能遭遇各种问题(丢包,可能发生拥塞,产生很大的延迟、抖动等)

为了解决这些问题设计了IP协议的姊妹协议ICMP,它可以向源报告拥塞、超时、目标不可达等问题,也可以用来测试网络(ping、tracert)

ICMP消息格式

ICMP被封装到IP分组的数据域中,这个时候IP报头的协议字段值为1,ICMP数据报分为ICMP头标和数据,头里包括类型,代码和校验和。
ICMP消息格式

ICMP的应用

  • ping
  • ping时,源机向母的站点发送一个icmp回声请求报文。目的站点接收到后,必须向源站点发挥一个ICMP回声应答报文,源站点收到应答报文且其数据和发出的数据相同,则目的可达。

** ping可以做的事情**

测试TCP/IP是否正常工作ping 127.0.0.1
网络设备是否正常ping 本机IP地址
检查对外连接的路由器ping 默认网关 IP
检查与某台设备的畅通情况ping IP
检查DNS设置ping www.scut.edu.cn
DNS 反向查询ping -a ip地址
  • 当ping不同时,如果想知道是哪一个环节出现故障,则可以使用tracert,tracert可以通过ICMP超时报文来得到一张途径的路由器列表(相对稳定的网络tracert才有意义)
  • 路径MTU(PMTU):动态发现互联网上任意一条路径的最大传输单元的技术(以太网的MTU=1500字节),当超过一个网络的MTU,网络将无法承载这个数据,这个时候需要进行分片,但是分片不安全,所以最好源机一开始就知道网络中的最小MTU。而PMTU算法就可以通过使用ICMP协议来发现网络中的最小MTU。

地址解析协议ARP

如果发放只知道对方的IP地址,而不知道对方的MAC地址怎么办?

  • 这时候就需要地址解析协议ARP(Address Resolution Protocol),运行在局域网中,他将目标机的IP地址映射到MAC地址上。当主机A向同一个局域网内的主机E发送消息,而不知道他的MAC地址时,会发送ARP请求,同一局域网内的所有主机都会收到这个请求,但只有主机E会应答,那并告知对方自己的MAC地址。
    ARP请求帧的格式:在这个帧中目的地址是48个1,广播地址
    ARP请求帧ARP应答帧:目的地址有明确的地址,即是单播回请求机,
    ARP应答帧
  • 为了让ARP工作的更高效,可以采用一些优化措施:1). 见一个ARP表缓存ARP的结果,2). 用ARP请求中的源信息来更新ARP表 3). 每一台主机在启动的时候回广播自己的IP地址与MAC地址映射对,这时候ARP请求帧的目标ip是他自己ip。
  • ARP是一个二层协议,当目标机是一个远程机时,怎么办?
  • Host1 想跟Host4 进行通信的时候,首先发现他们不在同一个局域网内,这时候Host1将通过默认网关(在上网时配置好的,或主机通过DHCP协议自动获取的),对外进行通信,这时候默认网关收到ARP请求后会将自己的mac地址发送给Host1,host1 将吧这个Mac地址封装到帧中,Host1将数据法向默认网关,默认网关将数据发向host4所在的网络,在最后一个网段通过MAC寻址定位到了host4。 **数据在途径每一个路由器或默认网关的时候头中的源IP地址和目的IP地址都不会发生改变,而MAC地址一直在发生改变。
    ARP跨网请求
  • 为了减少ARP请求,每个设备都有自己的ARP表包括路由器,这个ARP表是自动建立、更新 和维护的。
  • 通过广播ARP请求中的源设备信息添加和更新表
  • 利用自己的ARP请求之瘾大信息添加和更新表
  • 删除超过一定时限的信息
  • ARP表的动态维护,减少了人工操作和ARP请求的次数,但是同时也带来了安全隐患,局域网中经常出现ARP病毒,要彻底消除ARP病毒,只需要静态绑定IP地址和MAC地址即可

拥塞控制

当一个网或子网的一部分出现太多分组的时候,网络的性能开始急剧下降,这就是拥塞。网络出现拥塞的时候,分组被丢弃、重传,导致网络吞吐量急剧下降,甚至无法传输分组。

拥塞控制的两类措施

  • 开环

开环是试图通过良好的设计来避免拥塞的发生,它的本质是从一开始就保证问题不会发生,开环决定不考虑网络的当前状态,他是提前考虑;但网络变换太快,很难准确估计需求,即使超前的设计,随着时间的推移,也会越来越力不从心。所以更多的时使用闭环控制。

  • 闭环

闭环控制是建立在反馈环路上,分为三步:1). 监视系统,发现网络在何时何地发送拥塞;2). 传递拥塞信号:将拥塞信号传递到可以解决问题的地方;3). 调整运行,控制拥塞

  • 如何知道何时何地发生拥塞?可以通过查看一些参数:比如,拥塞度量:因为缺乏缓存空间而丢弃的分组百分比;平均队列长度;超时和重传的分组数;平均分组延迟;分组延迟的标准方差。
  • 检测到拥塞后怎么办? 拥塞信息传播
  • 检测到拥塞的路由器发送一个警告分组给流量源,但是这个消息可能无法到达源
  • 其他方法:每个分组可以保留一位或一个域,当拥塞度量超过阈值时候,路由器填充该位域,以此警告他的邻居。
  • 其他方法:主机或路由器周期性的向外发送探寻分组,显示的询问有关拥塞的情况,然后,再有问题的区域利用回收的信息来路由流量

怎么解决拥塞问题

拥塞根源:负载>资源措施就分为两大类

  • 降低负载
  1. 拒绝为某些用户提供服务
  2. 给某些服务降低等级
  3. 绕开拥塞点
  • 增加资源
  1. 某些点之间增加通道,增加带宽
  2. 启用空闲的光纤,路由器
  • 数据报子网中的流量限制方法
  1. 每台路由器监视它的输出线路和其他资源的使用情况
    2)每条线路和一个实变量u关联在一起,其值位于(0.0-1.0)之间
    3)无论何时,只要u超出了阈值,对应的线路就进入到警告状态
    4)每个新到达的分组都将被检查,看他的输出线路是否处于“警告状态”,处于“警告状态”可以采取抑制分组的措施
  • 负载脱落 (分组丢弃)
    1)随机丢弃
    2)丢弃新到达的分组(葡萄酒策略,适合文件传输类)
    3)丢弃早到达的分组(牛奶策略,适合多媒体类)
    4)丢弃不太重要的分组

随机早期检测(RED):在情况恶劣之前,早早的开始丢弃分组,

注:主要参考袁华老师课程

  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值