1 / 128

IPv6 技术

IPv6 技术. 北京邮电大学信息网络中心 赵晓宇 zhxy@bupt.edu.cn zhaoxy@buptnet.edu.cn. 提纲. IPv6 的背景 为什么要采用 IPv6? IPv6 简介 IPv6 获得的支持 IPv6 相关的重要机构 IPv6 同 IPv4 的比较 地址 / 自动配置 报头 / 流标签 / 扩展头 分片 / 路径 MTU 发现 安全 移动性 组播 邻居发现. 提纲. IPv6 软件支持 操作系统 配置使用 IPv6 服务 IPv6 协议详解 协议概述 地址和路由 即插即用支持 内置的安全性 实时业务支持

vachel
Download Presentation

IPv6 技术

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. IPv6技术 北京邮电大学信息网络中心 赵晓宇 zhxy@bupt.edu.cn zhaoxy@buptnet.edu.cn

  2. 提纲 • IPv6的背景 • 为什么要采用IPv6? • IPv6简介 • IPv6获得的支持 • IPv6相关的重要机构 • IPv6同IPv4的比较 • 地址/自动配置 • 报头/流标签/扩展头 • 分片/路径MTU发现 • 安全 • 移动性 • 组播 • 邻居发现

  3. 提纲 • IPv6软件支持 • 操作系统 • 配置使用 • IPv6服务 • IPv6协议详解 • 协议概述 • 地址和路由 • 即插即用支持 • 内置的安全性 • 实时业务支持 • 向IPv6网络过渡

  4. IPv6的背景

  5. 为什么要采用IPv6? • IPv4所面临的问题 • IPv4的地址严重匮乏(预计将在2010年耗尽) • 路由表急剧膨胀(骨干路由器超过100万条表项) • 网络安全(几乎没有安全性支持) • 服务质量(难以保证服务质量) • 暂时的解决方法 • NAT(网络地址翻译) • CIDR(无类域间路由) • RSVP(资源预留协议) • 只有全新的协议才能彻底解决IPv4的问题

  6. IPv6简介 • IPv6是IP协议的新版本 • 也叫做IPng(IP新一代) • 1995年随RFC1883的出现而完成 • 1998年RFC2460取代了RFC1883 • IPv6的目的就是要解决IPv4遇到的问题 • IPv6将是未来唯一的第三层协议 • IPv6将是下一代Internet的基础协议

  7. IPv6获得的支持 • 各国家及组织 • 美国-有保留的支持 • 日本和欧盟-大力推动 • 中国-日益关注 • 产业界 • Hitachi, NEC, Fujistu, WIDE Project, etc. • Microsoft, Cisco, Juniper, Sun, etc. • Nokia, Ericsson, Motorola, etc.

  8. IPv6获得的支持 • 操作系统支持 • FreeBSD (+ Kame project) • Linux • Solaris • HP-UX • Windows2000 (+ MSR IPv6 Preview) • WindowsXP, Windows2003, WindowsCE • Others.

  9. IPv6获得的支持 • 支持IPv6的路由器 • Hitachi, NEC, Fujistu (Hardware Support) • Cisco (IOS software support) • Juniper (Hardware support) • Nokia, 6Wind • 佳讯飞鸿(低端已完成),清华比威 • 路由协议支持 • RIPng • OSPFv3 • BGP4+ • Others

  10. IPv6获得的支持 • 路由软件支持(GNU or FreeWare) • Linux IPv6 Forwarding • FreeBSD IPv6 Forwarding • Zebra (Quagga) • cross-platform • Support RIPng, OSPFv3 and BGP4+ • MRTD • cross-platform • Support RIPng, BGP4+ • Others

  11. IPv6相关的重要机构 • IETF IPv6 Workshop • 6Bone(国际IPv6实验床,截止到2002年3月共有57个国家加入了6Bone) • IPv6 Forum • Global IPv6 Summit • WIDE Project • Others.

  12. 其它IPv6相关公司/机构 • Host Implementations (by Organization) AppleBSDI   |   BugOS   |   Bull   |   Compaq   |   DRET   |   Elmic Systems   |   Epiloque   |   FreeBSD   |   FTP Software   |   Hitachi Ltd.  |   HP   |   IBM   |   INRIA   |   Interpeak   |   KAME   |   Linux   |   Mentat   |   Microsoft   |   NetBSD   |   Nokia   |   NRL   |   NTHU   |   OpenBSD   |   Pacific Softworks   |   Process Software   |   SICS   |   SCO   |   Siemens Nixdorf   |   SGI   |   Sun   |   Trumpet   |   UNH   |   WIDE   |   • Router Implementations 3Com   |   6WIND   |   Cisco Systems   |   Ericsson Telebit   |   Extreme Networks   |   Hitachi, Ltd.   |   IP Infusion   |   MRT   |   NTHU   |   Nokia   |   Nortel Networks   |   Sumitomo Electric   |   TELDAT   |   Zebra

  13. IPv6同IPv4的比较

  14. 地址 • IPv4 • 32位, CIDR • 有广播 • 只有DHCP • IPv6 • 128位, 可聚集 • Anycast • 没有广播 • 自动配置(地址和路由,通过RA/RS)

  15. 报头 • IPv4 • 固定格式(含Options) • 有报头校验和 • IPv6 • 简化头部 • 扩展报头(菊花链) • 无校验和 • 流标签 • 名称更改 (TOS->TC, TTL->Hop Limit, etc)

  16. IPv4报头

  17. IPv6报头

  18. IPv6扩展报头

  19. 分片/PMTU-Disc • IPv4 • 全路径中可分片 • 头部字段Flag和FragOffset支持 • IPv6 • 只在发送端分片 • 分片扩展报头 • 进行PMTU-Disc过程决定是否分片(或调整报文大小)

  20. 安全 • IPv4 • 协议本身无安全措施 • 附加IPSec • IPv6 • AH和ESP两种扩展头 • 协议内置IPSec(强制要求实现)

  21. 移动性 • IPv4 • Mobile IPv4 • 复杂 • IPv6 • Mobile IPv6 • 内置支持(目的地选项头等)

  22. 其他 • IPv6没有广播,改用多种组播 • IPv6支持AnyCast • IPv6用邻居请求/邻居发现(通过ICMPv6)来实现IPv4的ARP功能 • 。。。

  23. IPv6软件支持

  24. Microsoft Windows • Windows2000 + Patch • WindowsXP • Windows2003 • WindowsCE

  25. Windows IPv6相关基本命令 • ipconfig • 可以看到IPv6接口地址 • 可以看到IPv6伪接口地址(6to4, etc.) • ipv6 • 可进行命令行式的ipv6配置 • Ipv6 install/uninstall (启用或禁止ipv6协议栈) • netsh • IPv4/IPv6命令集 • 可进入类似Cisco IOS的命令行界面

  26. Windows “ipv6”命令 • Ipv6 if (显示详细的接口信息) IPv6 if [interface Index] 如果不填接口索引则显示所有接口的所有信息 e.g. ipv6 if ipv6 if 5 • Ipv6 ifcr (创建伪接口)手工地址隧道配置 • Ipv6 ifcr v6v4 v4src v4dst (创建IPv6-in-IPv4的隧道接口),v4src为我IPv4地址,v4dst为对方IPv4地址 e.g. ipv6 ifcr v6v4 210.25.132.154 201.192.1.108

  27. Windows “ipv6”命令 • ping6命令 ping6 {host | ipv6 address} e.g. ping6 www.6bone.net • tracert6命令 tracert6 {host | ipv6 address} e.g. tracert6 www.ipv6.org

  28. Windows “ipv6”命令 • Ipv6 adu (更改接口的ipv6地址) • ipv6 adu ifindex/address [life validtime[/preflifetime]] [anycast] [unicast] • Address默认且只支持 /64 Life validtime:地址的有效期限,0表示删除地址 Prelifetime:首选的生存期限 Anycast:表示添加的是任播地址 Unicast:表示添加的是单播地址,此为默认选项 e.g. ipv6 adu 5/2001::154 在接口5上添加2001::154 ipv6 adu 5/2001::154 0 删除接口5上的2001::154

  29. Windows “ipv6”命令 • Ipv6 rt (显示路由信息) e.g. ipv6 rt • Ipv6 rtu (更改路由表) • ipv6 rtu prefix ifindex[/address] [life valid[/pref]] [preference P] [publish] [age] [spl SitePrefixLength] • Life valid 表示本路由有效期限,0表示删除该路由 e.g. ipv6 rtu 2001::/64 5 publish 表示所有通往2001::/64的数据包由接口5转发

  30. Windows “ipv6”命令 • netstat命令,统计当前TCP连接状态 netstat [-p|s] protocol -p指定协议如:TCP,UDP,TCPv6,UDPv6 -s显示IP信息 e.g. netstat –ps tcpv6 • nslookup命令 nslookup进入子命令行set type=[RecordType] e.g. c:\nslookup >set type=any >view

  31. Windows “ipv6”命令 • XP下的隧道连接 • 链接http://202.38.99.9/ • 点击“进入TunnelBroker用户界面” • 进入画面: Welcome to Tunnel Broker What would you like to do? • Get server information • Register • Deregister • Activate the tunnel • Deactivate the tunnel • Make changes • Get information • 然后依次点击以上链接,得到IPV6的地址,并激活TUNNEL。 • 然后,运行WINXP系统下cmd.exe,配置IPV6地址和路由。 • 配置方法如下:(从http://202.38.99.9/上链接"手动完成自己一方的tunnel配置"可以获得帮助) WindowsXP下的配置命令(注2, 注3): ipv6 ifcr v6v4 166.111.8.28 202.38.99.9 手工建立IPv4隧道 ipv6 adu 5/3ffe:321f::1添加IPv6地址 ipv6 rtu 2000::/3 5添加路由 ipv6 ifc 5 forwards 将接口5定义为转发接口 • 其中“166.111.8.28”用你本机的IP地址替换。 • 3ffe:321f::1用你获得的IPV6地址替换。 • 数字5,是你在执行了“ipv6 ifcr v6v4 166.111.8.28 202.38.99.9”后,系统给你的接口index编号。(我的是6) • 测试一下吧,Ping6 www.6bone.net 。 • 链接http://ipv6.bupt.edu.cn,应该可以看到笑脸。 • 更多信息请参考Windows Help

  32. Linux • 对IPv6支持较完整 • RedHat8.0及更高版本对IPv6支持很好 • Linux “ip” 命令 ip [ OPTIONS ] OBJECT { COMMAND | help } OBJECT := { link | addr | route | rule | neigh | tunnel | maddr | mroute | monitor } OPTIONS := { -V[ersion] | -s[tatistics] | -r[esolve] | -f[amily] { inet | inet6 | ipx | dnet | link } | -o[neline] }

  33. Linux • Ping6命令 ping6 [-c count] [-i interval] [-w deadline] [-p pattern] [-s packetsize] [-t ttl] [-I interface] [-M mtu discovery hint] [-S sndbuf] [-F flow label] [-Q traffic class] [hop1 ...] destination -c 发送的次数 -i 时间间隔 -w 期限 -p 模式 -s 发送包的大小 -t 生存期限 -I 选择发送接口 -M 确定MTU探测值 -S 确定发送缓冲区大小 -F 确定流标签 -Q 确定流量类别 hop1指定destination为第1跳

  34. Linux • traceroute6命令 traceroute6 [-m max_ttl] [-p port#] [-q nqueries] [-s src_addr] [-t tos] [-w wait] host [data size] -m 最大的生存期限 -p 指定端口 -q 请求的个数 -s 源地址 -t 服务类型type of service -w 等待期限 data size 数据大小

  35. Linux • ifconfig命令:查看接口信息及配置接口地址 查看接口信息:ifconfig [interface ID] e.g. ifconfig eth0 配置接口地址:ifconfig {interface ID} {add | del} {IPv6 address/Prefix Length} e.g. ifconfig eth0 add 2001::154/64 ifconfig eth0 del 2001::154/64

  36. Linux • netstat命令:显示网络连接、路由表和网络接口信息,可以让用户得知目前都有哪些网络连接正在运作 netstat –A inet6 [options] 选项包括: -a 显示所有socket,包括正在监听的。 -c 每隔1秒就重新显示一遍,直到用户中断它。 -i 显示所有网络接口的信息,格式同“ifconfig -e”。 -n 以网络IP地址代替名称,显示出网络连接情形。 -r 显示核心路由表,格式同“route -e”。 -t 显示TCP协议的连接情况。 -u 显示UDP协议的连接情况。 -v 显示正在进行的工作。 e.g. netstat –A inet6 –an netstat –A inet6 -rn

  37. Linux • nslookup命令:显示域名信息 nslookup set type=AAAA domain_name 显示域名的IPv6信息

  38. Linux – 配置接口IPv6地址 • /etc/sysconfig/network NETWORKING_IPV6=yes IPV6FORWARDING=no IPV6_AUTOCONF=no IPV6_AUTOTUNNEL=no IPV6_DEFAULTGW=2001:250:F004::1%eth0 • /etc/sysconfig/network-scripts/ifcfg-eth0 IPV6INIT=yes IPV6ADDR=2001:250:f004::7/64

  39. Linux – 配置隧道 • IPv6-in-IPv4 tunnel (Manual) ip tunnel add sit_xxu remote 202.112.24.67 local 210.25.137.1 # # tunnel name: sit_xxu, local IPv4: 210.25.137.1, remote IPv4: 202.112.24.67 # ip -6 route add 2001:250:F004:0800::/56 dev sit_xxu # # add a static route for /56 via sit_xxu dev interface # ip link set dev sit_xxu up # # bring up the device # • 如何通过隧道连接可以参考XP下的隧道连接,先注册,取得对方的IPv4地址和我方的IPv6址,然后建立手工隧道,添加IPv6地址,建立路由,宣告路由即可。

  40. FreeBSD • FreeBSD应该说是最早支持IPv6的系统 • FreeBSD4.5及以上版本对IPv6支持较完善 • FreeBSD几乎所有的ipv6配置都可以通过 /etc/rc.conf 文件实现 ipv6_enable="YES“ ipv6_ifconfig_fxp0="2001:250:f004::5“ # # config IPv6 address for interface fxp0 # ipv6_defaultrouter="2001:250:f004::1“ # # set default route # ipv6_gateway_enable=“NO“ # # turn off the routing functionality #

  41. FreeBSD – 配置隧道 • Gifconfig (配置Generic Tunnel) ifconfig gif0 create # # Create a pseudo interface for tunnel gifconfig gif0 inet 210.25.137.1 202.112.10.83 # # Tunnel name: gif0, local IPv4: 210.25.137.1, # remote IPv4: 202.112.10.83 ifconfig gif0 inet6 2001:250:f004::1/64 # # Assign IPv6 address for gif0 route add -inet6 default 2001:250:f004::1 # # Set gif0 the default route

  42. IPv6服务 • DNS - BIND • WWW - Apache • Routing - Quagga • FTP – FreeBSD, ProFtpd • SMTP/POP3 – QMail

  43. IPv6技术详解

  44. 协议概述 • 基本术语 • 节点(node):任何实现了IPv6的设备 • 路由器:转发IPv6报文的节点 • 主机:在网络上除了路由器就是主机 • 上层:紧邻IPv6的上层协议,例如:TCP、UDP、ICMP、路由协议以及在使用隧道时被封装的低层协议如IPX、APPLETALK、IPv6等 • 链路:节点利用来在链路层通信的通信设备或介质,如以太网、PPP链路、X25、帧中继或网络层隧道

  45. 协议概述 • 基本术语 • 邻居:连接在同一链路上的节点 • 接口:结点与链路相连接的部件 • 地址:一个或一组接口在IPv6层的标志 • 包:IPv6报头加载荷 • 链路MTU:在某一链路上的最大传输单元 • 路径MTU:出发点和目的节点之间的路径上所有链路的最小链路MTU.

  46. 协议概述 • IPv6主要特性 • 地址空间巨大 128bits • 可聚合地址层次结构 高效的骨干路由 • 高效、可扩展的IP数据报头 路由期间不分片(fragment) 简化的报头格式 • 自动配置 • 安全性

  47. 协议概述 • IPv4报头

More Related