IPv6协议简介与模块开发
文章平均质量分 91
yyyyyyyuande
这个作者很懒,什么都没留下…
展开
-
IPv6扩展头部 (三) 路由头部 Routing Header for IPv6
IPv6在我国发展算是早的,网上相关的资源也是比较多但是涉及实际的应用方面就比较少了。随着今年国家对IPv6的加大投入,估计未来一段时间IPv6会变的热门。在学校里老师对这一块没怎么讲,平常工作的时候也没啥接触。最近的项目开发涉及IPv6这一部分,产品需要支持IPv6协议,因此学习了相关的知识。在此分享一下,有错误的地方还请指出哈。这篇博客主要介绍IPv6扩展头部里的路由头部,结合报文具体分析...原创 2018-07-19 23:47:27 · 10937 阅读 · 4 评论 -
IPv6扩展头部 (四) 分片头部 Fragment Header for IPv6
上一篇博客介绍了IPv6扩展头部的路由头部类型,这篇博客介绍一下更常见的扩展头部分片头部。分片头部用于IPv6源节点向目的节点发送一个大于路径MTU的数据报。对于路径MTU以及如何确定它,以后有机会在提,1280字节是整个网络中针对IPv6定义的链路层最小MTU(见[RFC2460]的第五节)。在IPv4中,这个值可能是576。在IPv4中,如果数据报大小超过下一跳MTU,任何主机或路由器可将...原创 2018-07-21 16:12:43 · 17778 阅读 · 3 评论 -
IPv6扩展头部 (一) 扩展头部格式、类型与扩展选项
之前几篇博客介绍了IPv6的扩展头部,包括分片头部和路由头部。接下来介绍一下IPv6扩展头部以及扩展选项的内容,可能会有这样的疑问,有了扩展头部怎么还需要扩展选项?扩展选项是干嘛用的?本篇博客就介绍相关内容。IPv6扩展头部 在IPv6中,那些由IPv4选项提供的特殊功能,通过在IPv6头部之后增加扩展头部实现。IPv4路由和时间戳功能都采用这种方式,其它功能(例如分片和...原创 2018-07-21 18:27:22 · 35634 阅读 · 1 评论 -
使用 netfilter 处理IPv6报文
netfilter对IPv6的处理和IPv4流程类似,只有钩子函数注册协议不同,优先级和注册的链都是一样的。 { .hook=nf_input_hook_v4, .pf=NFPROTO_IPV4, //IPv4协议 .hooknum=NF_INET_POST_ROUTING, .priority=0, }, { ...原创 2018-07-31 08:43:29 · 2977 阅读 · 1 评论 -
IPv6基础知识总结
最近在做IPv6的工作,基于Linux平台,主要内容涉及IPv6协议栈处理、报文转发相关的内容,做之前对IPv6的了解基本为零,平常基本不用。各方面收集了很多资料,取其精华笔记一下。内容简单,分为三个部分。1. IPv6首部格式2. IPv6地址分类3. IPv6地址格式 一. IPv6首部格式图1. IPv6首部格式首部固定长度40字节,包含8个字段...原创 2018-07-27 20:13:01 · 44021 阅读 · 0 评论 -
Linux IPv6 UDP套接字编程示例
udp ipv6套接字编程和ipv4接口类似,参数略有不同,流程都包括创建套接字、绑定地址、发送等。下面是一个udp ipv6 demo, 包括创建ipv6套接字、绑定地址和发送数据等。首先先在linux上配置一个本地站点地址,然后使用这个地址发送。//linux上添加IPv6地址命令sudo ip -6 addr add fd11::100/64 dev eth0...原创 2018-08-21 23:53:04 · 2269 阅读 · 1 评论 -
Linux 内核源码分析 IPv6报文接收处理流程
内核版本 3.4.39实现一个IPv6报文转发功能的时候,需要对IPv6报文的扩展选项进行处理,还是直接参考下内核的处理比较稳妥,整理了IPv6报文的内核处理流程,如下图:...原创 2018-11-17 10:22:40 · 2822 阅读 · 0 评论 -
ip6tables 无法基于端口过滤IPv6 分片报文问题解决
问题现象:使用ip6tables 添加端口过滤规则,只允许指定端口IPv6报文进来,测试结果显示如果是分片报文,只有第一个分片报文能够收到,后续分片会被丢弃。内核版本:3.4.39问题原因: 因为同样的规则如果是IPv4分片报文则能够生效,通过分析内核源码,发现问题出在netfilter IPv6连接跟踪模块。netfilter IPv4 连接跟踪模块会对分片报文进行重组处理使得系统网...原创 2018-12-24 19:21:17 · 1580 阅读 · 0 评论 -
tcp/ip 协议栈Linux源码分析五 IPv6分片报文重组分析一
做防火墙模块的时候遇到过IPv6分片报文处理的问题是,当时的问题是netfilter无法基于传输层的端口拦截IPv6分片报文,但是IPv4的分片报文可以。分析了内核源码得知是因为netfilter的连接跟踪模块重组了IPv4分片报文,但是对于IPv6的分片报文没有重归组导致,自3.10.x版本后的内核修改了这一块,在PRE_ROUTING前netfilter重组了IPv6分片报文。之前写过几篇...原创 2019-05-15 08:52:00 · 2897 阅读 · 1 评论