LwIP Application Developers Manual3---链路层和网络层协议之IPV6,ICMP,IGMP
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已经非常稳定了。
开发版本可以从下面的地址下载:
- http://git.savannah.nongnu.org/cgit/lwip.git (lwip sources)
- http://git.savannah.nongnu.org/cgit/lwip/lwip-contrib.git (contrib project)
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 外部参考链接
- Wikipedia: Internet Control Message Protocol
- WireShark: Internet Control Message Protocol
- RFC 792 - Internet Control Message Protocol
- RFC 1122, Section 3.2.2 - Requirements for Internet Hosts -- Communication Layers: ICMP
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的更多相关文章
- LwIP Application Developers Manual3---链路层和网络层协议之ARP,IPV4
1.前言 本文主要讲述链路层和网络层的几种协议:ARP,ipv4 2. ARP 2.1 ARP的主要应用 ARP的主要应用是在与互联网相连的以太网网络层,该层需要一些机制将MAC地址(该地址主要由制造 ...
- 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 ...
- LwIP Application Developers Manual2---Protocols概览
1.前言 本文是对LwIP Application Developers Manual的翻译 lwIP是模块化的并支持广泛的协议,这些大部分协议可以被裁减从而减小代码的尺寸 2.协议概览 链路层和网络 ...
- LwIP Application Developers Manual1---介绍
1.前言 本文主要是对LwIP Application Developers Manual的翻译 2.读者(应用开发手册的读者) 谁适合读这份手册 网络应用的开发者 想了解lwIP的网络应用开发者 阅 ...
- 在计算机通信中,可靠交付应当由谁来负责?是网络还是端系统? 网络层协议 MAC帧、IP数据报、TCP报文 关系 IP地址与硬件地址 链路层与网络层
小结: 1. 网络层两种服务 虚电路服务 virtual circuit 电信网 网络层负责可靠交付 数据报服务 网络层不负责可靠交付 提供灵活的.无连接的.尽最大努力交付的数据报服务 不提供服务 ...
- TCP\IP协议实践:wireshark抓包分析之链路层与网络层
目录 TCP\IP协议实践:wireshark抓包分析之链路层与网络层 从ping开始 链路层之以太网封装 ip首部 开启ping程序,开始抓包 由一个ping的结果引出来的两个协议ARP ICMP ...
- LwIP Application Developers Manual6---Application API layers
1.前言 lwIP提供3种应用编程接口来跟TCP/IP内核通信,如下所示: 低水平的内核/回调或raw API 2个高水平序列API: 1) netconn API 2) socket API(为了兼 ...
- (网络层)IP 协议首部格式与其配套使用的四个协议(ARP,RARP,ICMP,IGMP)
目录 IP协议首部格式地址解析协议 ARP逆向地址解析协议 RARP网际控制报文协议 ICMP网际组管理协议IGMP IP 数据报首部 IP数据报首部格式: 最高位在左边,记为0 bit:最低位在右边 ...
- 网络层 IP 协议首部格式与其配套使用的四个协议(ARP,RARP,ICMP,IGMP)
目录 IP协议首部格式地址解析协议 ARP逆向地址解析协议 RARP网际控制报文协议 ICMP网际组管理协议IGMP IP 数据报首部 IP数据报首部格式: 最高位在左边,记为0 bit:最低位在右边 ...
随机推荐
- 获取日k数据
http://web.ifzq.gtimg.cn/appstock/app/fqkline/get?_var=kline_dayqfq¶m=sz002921,day,,,320,qfq ...
- 时间偏移sql
mysql:select date_sub(str_to_date('2018/8/21','%Y/%m/%d') ,interval 90 day) ; oracle:select to_date( ...
- Yearning 介绍(SQL审核平台)
介绍 Yearning SQL 审计平台 基于Vue.js与Django的整套mysql-sql审核平台解决方案.提供基于Inception的SQL检测及执行. GitHub:https://gith ...
- Tensorflow object detection API 搭建物体识别模型(四)
四.模型测试 1)下载文件 在已经阅读并且实践过前3篇文章的情况下,读者会有一些文件夹.因为每个读者的实际操作不同,则文件夹中的内容不同.为了保持本篇文章的独立性,制作了可以独立运行的文件夹目标检测. ...
- JAVA-Clone 对象拷贝
JAVA 中对象的赋值是复制对象的引用,即复制引用 public static void main(String[] args) { User user = new User(1,"asds ...
- python脚本难点
本文主要记录在录制过程中,遇到一些需要特殊处理的脚本.如果有总结不好的地方,希望多多指点. 一.输入框listview选择: 如图: 类似这种情况,选择其中一项的脚本如下: m = driver. ...
- ruby select 方法,可用于先查询结果后,再次用条件限制
1. 用于条件过滤 @works=DworkPro.all.order(:work_type) @work_pro=@works.select{ |x| x.job_type == 7} 2. sel ...
- jQuery使用(七):事件绑定与取消,及自定事件的实现原理
实例方法: on() one() off() trigger() hover() 一.绑定事件与jQuery事件委托 $(selector).eventType(fn); $(selector).on ...
- 解析ArcGis拓扑——检查的流程,以面重叠检查为例
最简单的面重叠错误检查是使用“地理处理”——“面相交”进行检查,其结果是重叠部分提取而成的新面要素类.本例不讲述此种方法. step1 准备待拓扑检查数据 名词: 数据库 DataBase→顾名思义, ...
- 040、Docker managed volume(2019-03-01 周五)
参考https://www.cnblogs.com/CloudMan6/p/7152775.html docker managed volume 与bind mount 在使用上最大的区别是不需要 ...