ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

考研级《计算机网络》知识梳理——第十七期

2022-02-07 22:31:18  阅读:292  来源: 互联网

标签:IP ICMP 主机 报文 计算机网络 第十七期 IPv6 路由器 考研


ARP协议(Address Resolution Protocol)

  ARP本质上也是跟MAC存储表差不多的一种缓存,它是一种高速缓存,专门存储IP地址与MAC地址的映射表。

1、发送数据的过程

  

  情况一:在局域网内查找IP对应的MA地址映射

    

    依靠交换机等数据链路层设备对请求分组(一种含有源IP、源MAC、目的IP、目的MAC为默认全1广播值)进行局域网内广播,目标主机在收到该广播后会回复一个带有自身IP和MAC的分组以非广播(单播)的形式传回源主机。

  情况二:跨路由器查找IP对应的MAC地址映射

    

    首先根据子网掩码判断目标主机的IP地址在不在同一个网段(子网)内,如果不在,首先还没出局域网的时候同样是依靠广播的形式,目标IP替换为必经之路默认网关接口的IP地址发送请求分组,默认网关路由器会单播回复该请求,ARP协议体系中就获取到这个网关接口的MAC(此时还没有跑出广播域),后面就是路由器间点对点的以相同的方式进行MAC获取,直到到达目的主机所在的局域网,最终由广播该局域网的路由器获取到目的主机的MAC地址。

2、ARP协议

  必要性:由于在实际网络的链路上传送数据帧时,最终必须使用MAC地址。有的主机在高速缓存中恰好没有对应MAC地址的就需要借助ARP协议来得到下一跳的MAC地址。

  作用:完成主机或路由器IP地址到MAC地址的映射。(解决下一跳走哪的问题,个人理解是IP有点像全局坐标,MAC有点像局部坐标,IP给你一个大方向保证你不迷路,但真要完成点对点的传递任务还得依靠MAC)

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

  ARP协议4种典型情况(由于ARP协议已经非常成熟且相关网络设备上对协议的应用也很完备,所以用户几乎不需要考虑相关的内容,设备间以一种及其成熟的方式自动执行该协议):

    1、主机A发给本网络上的主机B:用ARP找到主机B的硬件地址;

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

    3、路由器发给本网络的主机A:用ARP找到主机A硬件地址;

    4、路由器发给另一网络上的主机A:用ARP找到本网络上的一个路由器的硬件地址。

3、ARP协议习题

  

 

   

 

 

 

DHCP协议(动态主机配置协议Dynamic Host Configuration Protocol)

1、主机如何获得IP地址

   在网络体系中需要通讯肯定会用到IP,主机通过分配获得自身的IP的方式有两种,分别为静态配置方式、动态配置方式。

    静态配置

      电脑机房或网吧中的主机,管理员根据一定规律将IP人为分配好(大概率是私有IP再通过NAT与外网连接),需要配置的几个参数有:IP地址、子网掩码、默认网关(获取目标MAC地址等作用)

    动态配置

      主要用于通过无线局域网连接的移动设备,因为会随时移动位置,所以需要动态地分配IP,值得注意的是DHCP协议是应用层协议,使用客户/服务器方式,客户端和服务端通过广播方式进行交互,基于UDP(UDP传输层再详细讲解)。

      

      DHCP提供即插即用联网的机制,主机可以从服务器动态获取IP地址、子网掩码、默认网关、DNS服务器名称与IP地址,允许地址重用(地址池),支持移动用户加入网络,支持在用地址续租(分配的地址是时间性的,超出使用时间需要申请地址续租)。

      过程原理(全为广播):

        1、主机广播DHCP发现报文

          “有没有DHCP服务器呀?”    试图找到网络中的服务器,服务器获得一个IP地址。

        2、DHCP服务器广播DHCP提供报文

          “有!有!有!”    服务器拟分配给主机一个IP地址及相关配置,先到先得。

        3、主机广播DHCP请求报文

          “给我分配一个IP地址!”    主机向服务器请求提供IP地址。

        4、DHCP服务器广播DHCP确认报文

          “好嘞!”    正式将IP地址分配给主机。

 

 

 

 

 

ICMP协议(因特网控制报文协议Internet Control Message Protocol)

1、TCP/IP协议栈

  

  ICMP协议、IGMP协议都是为传输层直接提供服务,为了更有效地转发IP数据报和提高交付成功的机会。

2、网络控制报文协议ICMP

  主要功能支持主机或路由器的:

    1、差错(或异常)报告    →    发送特定的ICMP报文

      

      报文类型分为:ICMP差错报文、ICMP询问报文

    2、网络探询

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

  1、终点不可达:当路由器或主机不能交付数据报时就向源点发送终点不可达报文。(无法交付的情况)

  2、源点抑制:当路由器或主机由于拥塞而丢弃数据报时,就向源点发送源点抑制报文,使源点知道应当把数据报的发送速率放慢。(拥塞丢数据的情况)

  3、时间超过:当路由器收到生存时间TTL=0的数据报时,除丢弃该数据外,还要向源点发送时间超过报文。当终点在预先规定的时间内不能收到一个数据报的全部数据报片时,就把已收到的数据报片都丢弃,并向源点发送时间超过报文。(TTL=0的情况)

  4、参数问题:当路由器或目的主机收到的数据报的首部中有的字段的值不正确时,就丢弃该数据报,并向源点发送参数问题报文。(首部字段有问题的情况)

  5、改变路由(重定向):路由器把改变路由报文发送给主机,让主机知道下次应将数据报发送给另外的路由器(更换为更好的路由的情况)。

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

  ICMP的数据字段内容是根据出错的IP数据报做的编辑。

    

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

  1、对ICMP差错报告报文不再发送ICMP差错报告报文。(禁止禁止禁止套娃!!)

  2、对第一个分片的数据报片的所有后续数据报片都不发送ICMP差错报告报文。(意思意思得了)

  3、对具有组播地址的数据报都不发送ICMP差错报告报文。(组播与广播的区别是,广播是一点对广播域内所有点,组播是一点对广播域内部分点)

  4、对具有特殊地址(如127.0.0.1或0.0.0.0)的数据报不发送ICMP差错报告报文。

6、ICMP询问报文

  1、回送请求和回答报文

    主机或路由器向特定目的主机发出的询问,收到此报文的主机必须给源主机或路由器发送ICMP回送回答报文。(典型的例子是Ping,测试目的站是否可达以及了解其相关状态。)

  2、时间戳请求和回答报文

    请某个主机或路由器回答当前的日期和时间。(用来进行时钟同步和测量时间)

  3、掩码地址请求和回答报文(不再使用)

  4、路由器询问和通告报文(不再使用)

7、ICMP的应用

  1、PING

    PING(Packet Internet Groper)是一种因特网包探索器,用于测试网络连接量的程序。Ping是工作在 TCP/IP网络体系结构中应用层的一个服务命令, 主要是向特定的目的主机发送 ICMP(Internet Control Message Protocol 因特网报文控制协议)Echo请求报文,测试目的站是否可达及了解其有关状态 。(测试两个主机之间的连通性,使用了ICMP回送请求和回答报文)

  2、Traceroute

    跟踪一个分组从源点到终点的路径,使用了ICMP时间超过差错报告报文。其具体原理是,发送一连串的分组,分组的生存时间TTL依次递增1,因此就可以逐个分组的向前探索路径,直到到达目的地。最终测算出源点到目的主机之间的距离。

 

 

 

 

IPv6

1、IPv6的产生背景

   纵使绞尽脑汁发明了NAT、CIDR等网络细分与网络细分的细分,让IP地址使用率有所提高,但是32bit的长度终究有限,很快就要用完了。因此又发明了一种超长的地址IPv6。(除了扩充数量的原因,另一个目的是改进IP数据报中的首部格式,从而快速处理/转发数据报;还有一个目的是为了支持QoS)

    (QoS(Quality of Service,服务质量)指一个网络能够利用各种基础技术,为指定的网络通信提供提供更好的服务能力,是网络的一种安全机制,是用来解决网络延迟和阻塞等问题的一种技术)

2、IPv6数据报格式

  固定40Byte基本首部,扩展首部负责各种功能的扩充。

  

  

  版本:指明了协议版本,总是6。

  优先级:区分数据报的类别和优先级。

  流标签:“流”是互联网络上从特定源点到特定终点的一系列数据报。所有属于同一个流的数据报都具有同样的流标签。(类似于来自同一IP数据报的不同分片)

  有效载荷长度:扩展首部+数据部分的长度

  下一个首部:标识下一个扩展首部(例如基本首部中的下一个首部指向的是扩展首部1,扩展首部1的下一个首部指向的是扩展首部2,依此类推,最后一个扩展首部的下一个首部指向的是数据部分)或上层协议首部。

  跳数限制:与IPv4中的生存时间TTL的概念相同。

  源地址、目的地址:长度都是128位,对应IPv6的长度。

3、IPv6和IPv4区别

  1、IPv6将地址从32位(4B)扩大到128位(16B),拥有更大的地址空间。

  2、IPv6将校验和字段彻底移除,以减少每一跳的处理时间。

  3、IPv6将IPv4的可选字段移出首部,变成了扩展首部,成为灵活的首部格式,路由器通常不对扩展首部进行检查,大大提高了路由器的处理效率。

  4、IPv6支持即插即用(即自动配置),不需要DHCP协议。(因为地址数量足够多,有钱任性)

  5、IPv6首部长度必须是8B的整数倍,IPv4首部是4B的整数倍。

  6、IPv6只能在主机处分片,IPv4可以在路由器和主机处分片。(所以有一个比较大的问题就是,IPv6的数据报如果传到了某个路由器但是接下来的链路MTU太小,那么这个IPv6数据报并不能在当前的路由器被分片,只能被残忍丢弃,然后通过ICMPv6返回给发送主机一个错误报告)

  7、ICMPv6协议:附加报文类型“分组过大”。

  8、IPv6支持资源的预分配,支持实时视像等要求,保证一定的带宽和时延的应用。

  9、IPv6取消了协议字段,改成下一个首部字段。

  10、IPv6取消了总长度字段,改用有效载荷长度字段。

  11、IPv6取消了服务类型字段。

4、IPv6地址表示形式

  对于机器肯定就是一长串二进制数了,对于人的话有以下两种表示方式。

    一般形式:冒号十六进制记法:  

 

       用一个16进制数表示4位,所以是32个十六进制,四个十六进制数表示一组,用冒号隔开,一共是八组。

    压缩形式:如果一组的高位有0直接省略掉:

      

      还想再精简的话,还可以再进行零压缩

        零压缩:一连串连续的0可以被一对冒号取代。

          

5、IPv6基本地址类型

  单播:一对一通信    可做源地址、目的地址

    

  多播:一对多通信    可做目的地址

    

  任播:一对多中的一个通信    可做目的地址

    

6、IPv6向IPv4过渡的策略(如何兼容两种IP)

  双栈协议(两种IP的协议栈都准备好,给机器既配置IPv4又配置IPv6)

    

 

   隧道技术(在传递中使用处理设备对数据进行再封装,相当于披个马甲)

    

    

 

 

标签:IP,ICMP,主机,报文,计算机网络,第十七期,IPv6,路由器,考研
来源: https://www.cnblogs.com/monkiki/p/15862296.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有