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:最低位在右边 ...
随机推荐
- 2017-12-15python全栈9期第二天第五节之while else的用法一当被break打断时else内容的结果不会被打印
#!/user/bin/python# -*- coding:utf-8 -*-count = 0while count <5 : count += 1 if count == 3 : brea ...
- JavaSE_坚持读源码_Class对象_Java1.7
Java程序在运行时,Java运行时系统一直对所有的对象进行所谓的运行时类型标识.这项信息纪录了每个对象所属的类.虚拟机通常使用运行时类型信息选准正确方法去执行,用来保存这些类型信息的类是Class类 ...
- shell常见文本处理。(awk 替换换行符等)
1 文件里有如下行,我想将每行的回车符替换为逗号,并将所有行合并到一行,用awk或sed怎么写啊TOP_COLUMNTOP_MESSAGETOP_OPTIONSTOP_TOPICTOP_VOTETOP ...
- MyBatis-获取 xxxMapper
Main 方法,mybatis 版本为 3.5.0 使用 MapperProxyFactory 创建一个 MapperProxy 的代理对象 代理对象里面包含了 DefaultSqlSession(E ...
- 设计模式---接口隔离模式之中介者模式(Mediator)
一:概念 在Mediator模式中,类之间的交互行为被统一放在Mediator的对象中,对象通过Mediator对象同其他对象交互.Mediator对象起到控制器的作用 二:动机 在软件构建的过程中, ...
- 端口与进程-----Window cmd命令
******************** windows 篇 ********************** cmd命令: services.msc 打开本地服务页面 一.查看windows系统 ...
- cmd快速设置本机ip和dns【转】
. 参考: https://wenku.baidu.com/view/74c59947336c1eb91a375dbe.html 家里配置如下 尾部的1不要忘了 netsh interface ip ...
- Silverlight分页
对于分页,首先要明确一些高效率的策略: 1.一次获取还是每次获取一页的数据 既然考虑了分页,肯定是数据量大,大到不能一页来显示,可能会很多页,我的做法更倾向于,首先要考虑用户可能看的页数,就是说用户可 ...
- 30. Spring Boot ActiveMQ
1.引入依赖 <dependency> <groupId>org.springframework.boot</groupId> <artifactId> ...
- 简单回射程序之处理accept返回EINTR错误的服务器程序版本
#include <stdio.h> #include <stdlib.h> #include <time.h> #include <errno.h> ...