1.前言

本文主要讲述链路层和网络层的协议IPV6,ICMP

2.IPV6

2.1 IPV6特性

IPv6是IPv4的更新。其最显著的差别在于地址空间由32位转换成128位

2.2 从应用的角度看IPv6

lwIP正在加入IPv6,直到版本为1.4.x才可以使用IPv4或IPv6,但是并不能同时使用IPv4和IPv6。

双协议栈的代码已经在当前的开发版本中(可以通过git下载)。能同时支持双协议栈的代码版本号将会为1.5.0。一些人认为LwIP的IPv6已经非常稳定了。

开发版本可以从下面的地址下载:

2.3 IPv6 support history in lwIP

0,6.0
See: http://savannah.nongnu.org/patch/?7409

2.4 外部参考文献

  • Wikipedia:IPv6
  • WireShark:IPv6
  • RFC 2460 - Internet Protocol, Version 6, Specification
  • RFC 2461 - Neighbor Discovery for IP Version 6 (IPv6)
  • RFC 2462 - IPv6 Stateless Address Autoconfiguration
  • RFC 4443 - ICMPv6
  • RFC 2464 - Transmission of IPv6 Packets over Ethernet Networks
  • RFC 4291 - IP Version 6 Addressing Architecture
  • RFC 3587 - IPv6 Global Unicast Address Format
  • RFC 3493 - Basic Socket Interface Extensions for IPv6
  • RFC 3542 - Advanced Sockets Application Program Interface (API) for IPv6
  • RFC 4038 - Application Aspects of IPv6 Transition
  • RFC 3484 - Default Address Selection for Internet Protocol version 6 (IPv6)

3. ICMP

3.1 ICMP特性

ICMP(Internet Control Message Protocol)网际控制报文协议。IP协议使用该协议控制消息

LwIP中的ICMP实现了3种协议:

  • Echo Replay(0)或者“ping”

客户端应答ping,并以IP的格式回传数据。

  • Destination Unreachable(3)

指示设备不能转发IP数据包。比如,当一个寻址到该设备的数据包需要一个协议,但该设备并不支持该协议,设备会发送错误的信息  。

  • Time exceeded(11)

这是一个设备已经放弃该包的指示,由于TTL(time to live)已经减小到0。

3.2 从应用的角度看ICMP

lwIP自身可以产生ICMP消息,并处理ICMP消息。因此应用程序不要与ICMP的代码产生作用。如果用户希望产生自己的ping,则可以把数据包转换成IP格式的数据包并通过IP模块发送。

3.3 lwIP支持ICMP的历史记录

支持ICMPv4、echo(0)、destination unreachable(3)和exceeded(11)

3.4 外部参考链接

4.IGMP

4.1 从应用的角度看ICMP

4.2 lwIP支持ICMP的历史记录

1.2Unspecified.

4.3 外部参考链接

  • WireShark: IGMP
  • RFC 988 Host Extensions for IP Multicasting - describes the obsolete "version 0" of IGMP
  • RFC 1112 Host Extensions for IP Multicasting - describes version 1 of IGMP
  • RFC 2236 Internet Group Management Protocol, Version 2
  • RFC 3376 Internet Group Management Protocol, Version 3

4. 参考文献

LwIP Application Developers Manual3---链路层和网络层协议之IPV6,ICMP,IGMP的更多相关文章

  1. LwIP Application Developers Manual3---链路层和网络层协议之ARP,IPV4

    1.前言 本文主要讲述链路层和网络层的几种协议:ARP,ipv4 2. ARP 2.1 ARP的主要应用 ARP的主要应用是在与互联网相连的以太网网络层,该层需要一些机制将MAC地址(该地址主要由制造 ...

  2. LwIP Application Developers Manual4---传输层之UDP、TCP

    1.前言 本文主要讲解传输层协议UDP TCP 2.UDP 2.1 UDP from an application perspective 2.2 UDP support history in lwI ...

  3. LwIP Application Developers Manual2---Protocols概览

    1.前言 本文是对LwIP Application Developers Manual的翻译 lwIP是模块化的并支持广泛的协议,这些大部分协议可以被裁减从而减小代码的尺寸 2.协议概览 链路层和网络 ...

  4. LwIP Application Developers Manual1---介绍

    1.前言 本文主要是对LwIP Application Developers Manual的翻译 2.读者(应用开发手册的读者) 谁适合读这份手册 网络应用的开发者 想了解lwIP的网络应用开发者 阅 ...

  5. 在计算机通信中,可靠交付应当由谁来负责?是网络还是端系统? 网络层协议 MAC帧、IP数据报、TCP报文 关系 IP地址与硬件地址 链路层与网络层

    小结: 1. 网络层两种服务 虚电路服务 virtual circuit  电信网 网络层负责可靠交付 数据报服务  网络层不负责可靠交付 提供灵活的.无连接的.尽最大努力交付的数据报服务 不提供服务 ...

  6. TCP\IP协议实践:wireshark抓包分析之链路层与网络层

    目录 TCP\IP协议实践:wireshark抓包分析之链路层与网络层 从ping开始 链路层之以太网封装 ip首部 开启ping程序,开始抓包 由一个ping的结果引出来的两个协议ARP ICMP ...

  7. LwIP Application Developers Manual6---Application API layers

    1.前言 lwIP提供3种应用编程接口来跟TCP/IP内核通信,如下所示: 低水平的内核/回调或raw API 2个高水平序列API: 1) netconn API 2) socket API(为了兼 ...

  8. (网络层)IP 协议首部格式与其配套使用的四个协议(ARP,RARP,ICMP,IGMP)

    目录 IP协议首部格式地址解析协议 ARP逆向地址解析协议 RARP网际控制报文协议 ICMP网际组管理协议IGMP IP 数据报首部 IP数据报首部格式: 最高位在左边,记为0 bit:最低位在右边 ...

  9. 网络层 IP 协议首部格式与其配套使用的四个协议(ARP,RARP,ICMP,IGMP)

    目录 IP协议首部格式地址解析协议 ARP逆向地址解析协议 RARP网际控制报文协议 ICMP网际组管理协议IGMP IP 数据报首部 IP数据报首部格式: 最高位在左边,记为0 bit:最低位在右边 ...

随机推荐

  1. 最接近原点的K个点

    一.题目描述 我们有一个由平面上的点组成的列表 points.需要从中找出 K 个距离原点 (0, 0) 最近的点 这里,平面上两点之间的距离是欧几里德距离 你可以按任何顺序返回答案.除了点坐标的顺序 ...

  2. SVN简单的使用

    一.什么是SVN有什么用? SVN是Subversion的简称,是一个开放源代码的版本控制系统.主要是用于团队开发中的资源共享和团队协作. 二.SVN服务器的安装 1.下载安装文件 在下面地址下载Vi ...

  3. 【C#】C#获取文件夹下的所有文件

    #基础知识 1.获得当前运行程序的路径 string rootPath = Directory.GetCurrentDirectory(); 2.获得该文件夹下的文件,返回类型为FileInfo st ...

  4. 11.享元模式(Flyweight Pattern)

    面向对象的代价    面向对象很好地解决了系统抽象性的问题,同时在大多数情况下,也不会损及系统的性能.但是,在某些特殊的应用中下,由于对象的数量太大,采用面向对象会给系统带来难以承受的内存开销.比如: ...

  5. linux 下安装ftp 并远程连接

    1.确认是否已安装 ftp 1 pgrep vsftpd   #查看ftp 服务进程 无结果如下图所示 2.执行安装 1 yum install vsftpd     #安装ftp 服务 3.执行过程 ...

  6. java项目反编译获得源码

    经常能找到一些 过时的 项目源码,但是还是有研究价值的.但是肯定是不会给你源码的. 下面介绍怎么反编译: 1.在项目中找到classes这个文件夹,这个就是编译过的文件. 2.下载反编译工具JD-GU ...

  7. idea代码回退到前面的版本

    好多时候一个项目添加了新功能,导致整个项目不能运行,而之前的版本又没有保存.怎么办了?回退到以前的版本就OK啦, 没错IDEA就是这个智能化. 第一步:点击项目名称->右键->选择Loca ...

  8. G1垃圾收集器的实现原理

    (G1垃圾收集器的实现原理.G1和CMS经常被单独拎出来问) https://tech.meituan.com/g1.html G1太复杂,说下CMS吧

  9. Spark设计理念与基本架构

    1.基本概念 Spark中的一些概念: RDD(resillient distributed dataset):弹性分布式数据集. Partition:数据分区.即一个RDD的数据可以划分为多少个分区 ...

  10. tomcat源码研究之源码导入eclipse

    版本:8.5.x官网:https://tomcat.apache.org/svn.html1. 下载源码,git镜像:https://github.com/apache/tomcat85 .2. 导入 ...