IPv6应用和实现技术.ppt_第1页
IPv6应用和实现技术.ppt_第2页
IPv6应用和实现技术.ppt_第3页
IPv6应用和实现技术.ppt_第4页
IPv6应用和实现技术.ppt_第5页
已阅读5页,还剩39页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

IPv6应用和实现技术,2005年11月28日,内容,IPv6现状 支持IPv6的操作系统 安装IPv6 使用IPv6 深入Linux IPv6,IPv6现状 支持IPv6的操作系统 安装IPv6 使用IPv6 深入Linux IPv6,内容,IPv6标准组织,IETF : IP Version 6 Working Group 制订IPv6规范和标准 IPv6 Operations 为运营IPv4/IPv6共存的Internet和在已有的IPv4网络或者新的网络安装中部署IPv6提供指导 其它IPv6相关工作组 6lowpan, mip6, mipshop, monami6, multi6, shim6 3GPP : IP多媒体子系统 (IMS)使用IPv6 ITU-T :/ITU-T/index.html 在电信网络中采用IPv6技术,Nov 05, Re-charter or close,国外IPv6研究和应用,6BONE: 1996年IETF建立的IPv6测试床 2004年1月1日:不再分配3ffe前缀 2006年6月6日:结束使命 The IPv6 Forum: 倡导IPv6,提升IPv6的市场和用户意识 IPv6 Ready Logo Program (Phase 2) WIDE:http:/www.wide.ad.jp KAME,USAGE,TAHI:实现和验证IPv6 Nautilus6:移动通信中的IPv6应用 IPv6 Cluster: 欧洲IPv6研究和开发项目 IPv6 Cluster Member:Euro6IX ,6NET Moonv6,由于产品部署,开始制订Phaseout计划,IPv6技术相关的高级功能和应用的研究和开发,国内IPv6应用,CNGI:中国下一代互联网示范工程 2003年8月启动 CNGI最大的核心网CERNET2 2004年12月科大作为合肥主节点接入CERNET2 2004年12月CERNET2开通,以2.5Gbps10Gbps速率连接全国20个主要城市 电信、网通/中科院、移动、联通和铁通的IPv6网络正在建设中,结论,IPv6核心协议的研究、开发、测试工作已经基本结束,开始进入IPv6增强功能和应用的研究开发阶段 IPv6研究试验网阶段基本结束,已经进入由产品级设备构成的商用实验网阶段,内容,IPv6应用现状 支持IPv6的操作系统 安装IPv6 使用IPv6 深入Linux IPv6,Windows操作系统,Linux操作系统,1996发布第一个基于内核2.1.8的IPv6 patch 基于BSD API 内核版本2.2及其以后内置IPv6支持,最新稳定版本2.6.14 缺乏维护,有些部分不符合现有的IPv6规范 USAGI IPv6实现 2000年10月启动 目标是发布针对Linux系统的具有产品级质量的IPv6和IPsec(包括IPv4和IPv6)协议栈,还包括glibc库中的IPv6 API和IPv6应用 许多代码已经移植到mainline Linux内核树中,特别是2.6版本,BSD系列操作系统,KAME: 1998年由WIDE Project启动 为BSD系列操作系统提供支持IPv6和IPsec(包括IPv4和IPv6)协议栈 FreeBSD 4.0及以上版本 OpenBSD 2.7及以上版本 NetBSD 1.5及以上版本 BSD/OS 4.2及以上版本 2005年11月,KAME Project结束 在2006年3月底完成IPv6参考实现,开始转向IPv6技术相关的高级功能和应用的研究和开发,其它操作系统,嵌入式操作系统 Vxworks、WinCE、MontaVista Linux 等嵌入式Linux操作系统 Interpeak IPNET IPv4/IPv6协议栈 路由器厂商 CISCO IOS 12.2(2)T及其以后的版本支持IPv6 Hitachi、Nortel Networks、Juniper Networks、6WIND ,内容,IPv6应用现状 支持IPv6的操作系统 安装IPv6 使用IPv6 深入Linux IPv6,Windows操作系统(1),Windows XP 提供对IPv6的支持(开发预览版,SP1以上是正式版) 命令行窗口中运行 ipv6 install /安装IPv6协议栈 ipv6 uninstall; 重启机器 /卸载IPv6协议栈,Windows操作系统(2),Windows 2000 下载IPv6协议软件包tpipv6-001205.exe /downloads/sdks/platform/tpIPv6.asp 运行tpipv6-001205.exe,将文件解压指定目录(例如C:IPv6Kit) 右键我的电脑,选择“属性”,选中“常规”页,确定windows 2000的SP版本 对于SP1,直接运行setup.exe即可 对于SP2,SP3,SP4,首先执行C:IPv6Kitsetup.exe -x,将文件解压到目录C:IPv6KitIPv6,然后修改C:IPv6KitIPv6中的文件hotfix.ini,在VERSION段中,把NTServicePackVersion=256改成512(SP2)、768(SP3)、1024(SP4),保存。最后运行C:IPv6KitIPv6中的hotfix.exe 重启 ,右键“网上邻居”,选择“本地连接”,安装IPv6协议栈,Linux操作系统,2.4内核 编译内核时的选项(.config) CONFIG_EXPERIMENTAL=y IPv6在还只是内核中的一个试验功能 CONFIG_MODULES=y 内核支持模块,使得IPv6可以编译成模块的形式 CONFIG_NET=y 选择网络支持 CONFIG_INET=y 支持TCP/IP协议 CONFIG_IPv6=y/m y:编译到内核里 m:以模块的形式编译 CONFIG_PROC 虚拟文件系统可以显示IPv6等系统状态信息 /proc/net,/proc/sys/net 2.6内核 编译选项一样 可能需要升级模块加载/卸载工具 module-init-tools, modutils等,Linux IPv6路由器配置,打开数据包转发功能 echo 1 /proc/sys/net/ipv6/conf/all/forwarding 下载并安装路由器公告守护程序radvd /radvd 配置路由器公告,缺省为radvd.conf 运行radvd,内容,IPv6应用现状 支持IPv6的操作系统 安装IPv6 使用IPv6 深入Linux IPv6,配置工具,Windows操作系统 ipv6:显示IPv6配置信息,并且可以用来对接口、地址和路由表进行配置 netsh:网络配置命令行脚本工具。配置IPv6需更改到 netsh interface ipv6 上下文 Linux操作系统 ifconfig:显示和配置IPv6接口信息 route:显示和配置IPv6路由信息 ip:更加强大的IP/IPv6配置工具,能够配置和显示IPv6地址、路由、邻机缓存等信息。如果只关注IPv6信息,使用 ip -f inet6 或者 ip -6,网络诊断,ping/ping6 使用ICMP Echo Request和ICMP Echo Reply报文 对网络连通状态进行诊断,包括RTT延时、丢包率 ping6 :1;ping gateway,最简单也是最有效的网络诊断工具,网络分析,数据包捕获和分析实现 libpcap:为各种(类)Unix和Linux操作系统提供了一个系统无关的数据包捕获接口函数库 winpcap:为win32平台提供了一个数据包捕获和网络分析的体系结构,包括一个底层的动态链接库(packet.dll)和一个高层的系统无关的库(wpcap.dll) 工具 tcpdump:NetBSD,Linux,FreeBSD 使用-n选项 Ethereal:windows,linux,Solaris,路径跟踪(1),trace route 实现源到目的地的路由跟踪 超出中继点限制来探测中间路由器 ICMP或者UDP,ECHO Request Hop Limit=1,Time Exceed,ECHO Request Hop Limit=1,ECHO Request Hop Limit=2,ECHO Request Hop Limit=1,ECHO Request Hop Limit=2,Time Exceed,Time Exceed,ECHO Reply,ECHO Reply,ECHO Reply,ECHO Request Hop Limit=3,路径跟踪(2),具体实现 Windows操作系统 命令行下运行tracert ICMPv6 ECHO Request,中间路由器回送ICMPv6 Time exceed,目的端回送 ICMPv6 ECHO Reply 对于每个Hop Limit值,源端发送三个ICMPv6 ECHO Request报文 Hop Limit设置最大为30,IP载荷72字节 Linux操作系统 Traceroute6 缺省使用UDP,源端口使用32834,目的端口33434,中间路由器回送ICMPv6 Time exceed,目的端回送 ICMPv6 UDP port unreachable 对于每个Hop Limit值,源端发送三个UDP报文 Hop Limit设置最大为30,IP载荷24字节 一些问题 中间路由器不回送或者过滤ICMPv6错误报文 中间路由器限制ICMPv6错误报文的发送速率,内容,IPv6应用现状 支持IPv6的操作系统 安装IPv6 使用IPv6 深入Linux IPv6,以下讨论主要基于Linux 2.4内核源码 IPv6相关代码主要位于内核的/net/ipv6目录下,Linux网络协议栈实现层次,BSD socket层:这一部分处理BSD socket相关操作,每个socket在内核以struct socket结构体现 INET socket层:BSD socket是个可以用于各种网络协议的接口,而当用于tcp/ip,即建立了AF_INET/AF_INET6形式的socket时,还需要保留些额外的参数,于是就有了struct sock结构 TCP/UDP层:处理传输层的操作 IPv4/IPv6层:处理网络层的操作,网络层用struct packet_type结构表示 数据链路层(设备驱动程序):每个网络设备以struct net_device表示,IPv6数据包外出处理(1),在数据发送前,建立socket 用户程序 . int sockfd; sockfd=socket(AF_INET6,SOCK_DGRAM,0); . BSD socket层 通过0x80中断进入系统内核,调用sock_create等函数,生成struct socket结构并且初始化 INET socket层 调用inet6_create等函数,生成struct sock结构并且初始化,IPv6数据包外出处理(2),发送IPv6数据 用户程序 . write(sockfd,“Hello“,strlen(“Hello“); . BSD Socket层 通过0x80中断进入内核,调用sock_sendmsg INET Socket层 调用inet_sendmsg TCP/UDP层 对于TCP调用tcp_sendmsg-tcp_push-tcp_write_xmit-tcp_transmit_skb-tcpv6_xmit 对于UDP调用udpv6_sendmsg IP层 对于TCP调用ip6_xmit 对于UDP/ICMP调用ip6_build_xmit 数据链路层 dev-hard_start_xmit(skb, dev); 然后调用实际设备驱动程序的数据发送函数,IPv6数据包进入处理,数据链路层 当接收到IPv6数据包时,设备产生一个硬件中断,然后将数据包放到队列中等待。然后通过软中断机制调用net_tx_action函数 在IP层 调用ipv6_rcv-ip6_rcv_finish-ip6_input-ip6_input_finish 在TCP/UDP层 对于TCP调用tcpv6_rcv 对于UDP调用udpv6_rcv 对于ICMP调用icmpv6_rcv 在Socket层找到相应的sock,然后将数据放到队列中,通知上层数据到达 对于TCP调用_tcp_v6_lookup 对于UDP调用udp_v6_lookup,我们讨论的是数据包的目的端是本机的情况,如果是转发,调用ip6_forward-ip6_forward_finish,软中断通常是硬中断服务程序对内核的中断,2.6内核网络协议栈,大量加入USAGI代码替换原来陈旧的代码 组播实现得到增强 增加了IPsec实现,支持IPv4/IPv6,该实现基于XFRM网络体系结构,IPv6地址自动配置,无状态地址自动配置 不需要对主机进行手动配置 只需要很少的路由器配置 不需要额外的服务器 不易管理 有状态地址自动配置 从服务器获取接口地址和/或者配置信息与参数 DHCPv6 易于管理,无状态地址自动配置,IPv6接口标识 基于EUI-64地址(RFC 2373) 基于随机接口标识(RFC3041) 地址重复检测,无状态地址自动配置,IPv6接口标识 基于EUI-64地址(RFC 2373) 基于随机接口标识(RFC3041) 地址重复检测,IEEE 802地址,IEEE 802地址(MAC地址) U/L :全局(0)还是本地管理(1) I/G:单播(0)还是组播(1) 对于一般的802.x网络接口,U/L和I/G比特都设置为0,IEEE EUI-64地址,一种新的网络接口地址标准 为网卡制造商来提供了更多的地址空间 U/L :全局(0)还是本地管理(1) I/G:单播(0)还是组播(1),802地址到EUI-64地址的映射,在802地址的company ID和extension ID之间插入16比特(0xFFFE),EUI-64地址到IPv6接口标识的映射,EUI-64地址的U/L比特取反,I/G比特不变 IPv6地址由IPv6前缀IPv6接口标识构成,IPv6前缀,IPv6接口标识,64 bits,64 bits,802地址到IPv6接口标识的映射,无状态地址自动配置,IPv6接口标识 基于EUI-64地址 基于随机接口标识 地址重复检测,随机接口标识(1),从安全角度考虑,提供一定程度的匿名性 不包括网络接口标识信息 随机接口标识初始化过程 若不能存储历史信息 每次初始化IPv6协议栈的时候生成新随机接口标识 若支持存储历史

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论