视频1 视频21 视频41 视频61 视频文章1 视频文章21 视频文章41 视频文章61 推荐1 推荐3 推荐5 推荐7 推荐9 推荐11 推荐13 推荐15 推荐17 推荐19 推荐21 推荐23 推荐25 推荐27 推荐29 推荐31 推荐33 推荐35 推荐37 推荐39 推荐41 推荐43 推荐45 推荐47 推荐49 关键词1 关键词101 关键词201 关键词301 关键词401 关键词501 关键词601 关键词701 关键词801 关键词901 关键词1001 关键词1101 关键词1201 关键词1301 关键词1401 关键词1501 关键词1601 关键词1701 关键词1801 关键词1901 视频扩展1 视频扩展6 视频扩展11 视频扩展16 文章1 文章201 文章401 文章601 文章801 文章1001 资讯1 资讯501 资讯1001 资讯1501 标签1 标签501 标签1001 关键词1 关键词501 关键词1001 关键词1501 专题2001
DSLite_Implementation_Experiences
2025-09-29 17:13:53 责编:小OO
文档
DS-Lite:

Implementation experience and views

CMCC workshop, Nov 2009

B. Patil/T. Savolainen/F. Junior

Overview of DS-Lite

Need for IPv4-over-IPv6 tunneling

•Earlier, tunneling discussions focused on IPv6-over-IPv4:

“How to reach IPv6 domain from IPv4-only networks?”

•However, due to the looming IPv4 address exhaustion, the bigger question now is:

“How to reach IPv4 domains from IPv6-only networks”?

•There are various methods, and one such is Dual-Stack Lite

•DS-Lite looks like Dual-Stack for devices/applications, but in reality it: Automatically tunnels IPv4 over IPv6 to

DS-Lite provides

•IPv4 connectivity to hosts and/or home routers (CPEs) that are provisioned with only IPv6 addresses

•No need for private addresses in operator’s network

•Public IPv4 addresses, previously used in operators’intra, are harvested into more productive use

•Dual-Stack connectivity for hosts connected to IPv6-only access networks •Less need to maintain IPv4 or dual-stack access networks

• A lightweight solution for providing IPv4 connectivity over IPv6only access

•Single NAT –i.e. no need to have multiple layers of NATs

•Avoidance of protocol translation –and problems caused by it

•Multiplexing limited number of public IPv4 addresses for even larger number of customers than before

•Automatic tunnel establishment

•Tunnel endpoint (AFTR) is discovered with Stateless DHCPv6 (new option defined)

•Port forwarding capability on the AFTR

•With technologies such as: Web-UI, NAT-PMP, UPnP, A+P

•In 3GPP, would enable IPv4 connectivity over IPv6-only PDP context

•Handy, if number of simultaneously open PDP contexts must be limitedDS-Lite costs

•Supporting host and/or CPE and/or other node must be updated •Encapsulation effort, especially on the network side (large number of tunnels)•MTU issues due to encapsulation (possibly causing fragmentation/reassembly)•Legal requirements: Carrier Grade NAT (AFTR) has to store the binding it makes for legal traceability

•Challenges in deep packet inspection, e.g. for QoS purposes (differentiating tunneled traffic to dedicated bearers)

•Short NAT timeouts, -possibly only 3 minutes for idle TCP sessions!

•However, latest draft revision states behave RFCs SHOULD be followed

•Big-and-Rather-Expensive-Piece-of-Hardware for AFTRs

•Application Layer Gateway functionality centralized in AFTR

•The home CPE, also called B4

Element) advertises RFC1918 addresses to LAN, and tunnels

IPv4 packets over IPv6 to AFTR for NATting

=> Home users do not see much difference whether NAT is at CPE, or at AFTR

•Each home network can use the full RFC1918 space

•Host based architecture

• A host, like mobile phone, configures virtual IPv4 interface

with RFC1918 address (or a dedicated IANA assigned

address from subnet 192.0.0.0/29), and tunnels IPv4 over

IPv6 to AFTR for NATting

•AFTR can be implemented e.g. in GGSN, PDN-GW, or as

separate network entity

Illustration of DS-Lite architectural models

IPv6

Intranet

IPv6

Intranet

IPv6

Internet

IPv6

Internet v4v6

DS LAN

v4v6

DS LAN

v4-only

LAN

v4-only

LAN

192.168.0.1

192.168.0.1

Illustrative mappings on AFTR:

(2002:2::2 * 192.168.0.1:3001) Ù192.0.2.1:5002 Updated B4 enabled device connected

directly to intranet, or e.g. with IPv6

PDP context to PDN GW

N

A

T

(

)

Legacy IPv4

device

IPv4

Internet

IPv4

Internet

point-to-point IPv4

over IPv6 tunnel

2002:2::2

Tunneling B4

Tunneling B4

device

2002:1::1

c

e

n

t

r

a

t

o

r

Implementation on Maemo

•Current DS-Lite implementation is based on the host model architecture for client side implementation

•However, it is possible to adapt the solution for CPE model architecture

•Linux MAEMO platform

•Customized Debian Linux distribution for mobile devices

•Binaries are cross-compiled for ARM platform

•N810 WiMAX Edition terminals as test platform

•MAEMO version 4.1.2 (DIABLO release), based on

Linux kernel version 2.6.21•DS-Lite client specification requires IPv4-over-IPv6 tunneling capabilities •Linux has native support for such feature since version 2.6.22, using a virtual device driver concept (ip6_tunnel)

•iproute2package (set of tools for configuring the Linux network) is also required for configuring the Linux tunnels on MAEMO

•ip6_tunnel intercepts IPv4/IPv6 packets on their path by kernel network stack:•On transmission, encapsulating IPv4 packets into IPv6 packets, according to specific user settings (tunnel parameters)

•On reception, extracting the IPv4 packets from IPv6 packets, and delivering them to IPv4 network stack

•Linux kernel version 2.6.21 and above already support the dual-stack operation (IPv4/IPv6), necessary for IPv4-over-IPv6 tunneling

•However, ip6_tunnel device driver supporting IPv4-in-IPv6 tunneling is just available from kernel version 2.6.22 and beyond

Installation and tunnel setup automation solutions

•Documentation was created on how to proceed with installation on MAEMO •Under review, to be released together with binaries in the next weeks

•Requirements for the MAEMO 4.1.2 device

•Root access enabled (rootsh 1.4 (gainroot))

•IPv6 support enabled

•BusyBox (busybox_1.6.1.legal1osso15ipv6.1_armel.deb )

•Iproute2 (iproute_20080725-maemo412.1_armel.deb)

•ISC DHCPv6 client (dhcp-4.1.0p1.tar.gz)

•Bash2 (bash2 2.05b-1maemo3 )

•A DS-Lite AFTR (CGN) must be available at the IPv6 network

•Current release expects automatic configuration of the AFTR tunnel endpoint using specific DHCPv6 options (http://tools.ietf.org/html/draft-dhankins-softwire-tunnel-option); therefore, a DHCPv6 server providing the address of the AFTR tunnel endpoint must be provided (we used ISC’s DHCPv6 server)

Installation and tunnel setup automation solutions

•Installation of the DS-Lite support itself is

quite automatic

•Need to install manually the Debian

package (provided by INdT), by typing the

command below on X Terminal:

dpkg -i dslite_20090630-maemo412.1_armel.deb

•During the installation process, the user is

requested to type the IPv4 address/prefix

for DS-Lite interface

•Once defined by newer versions of the

DS-Lite I-D, this step will be no longer

required (current assumption is that

192.0.0.0/29 range is allocated, so the IP

for client could be e.g. 192.0.0.2, as the

192.0.0.1 is reserved for the AFTR

element)

•After that, the DS-Lite support is available

the next time the device connects to an

IPv6-only Wi-Fi connectionAFTR solutions available

•Two sources for the AFTR node:

1.A10 Networks has an AFTR product –This requires a licence and runs on an

A10 networks platform

2.Open source implementation from ISC –Was publicly announced at IETF75•Initial testing was done with the A10 networks’AFTR located in the Comcast lab*

*Thanks to Alain Durand and Yiu Lee•Back-porting ip6_tunnel from 2.6.22 to 2.6.21 was required in order to provide DS-Lite client capabilities for MAEMO

•Functions inside the ip6_tunnel 2.6.22 code not supported by DIABLO release were replaced by semantically equivalent code (e.g. ip_hdr, ip6_hdr, skb_reset_network_header, mac_header,

transport_header and network_header)

•Bug-fix of tunnel6 code on DIABLO kernel: IPv4 tunneled packets with overall size (header size + payload size) lesser than the size of the IPv6 header (40 bytes) were dropped

•Used the GPL toolkit scratchbox(sponsored by NOKIA) for cross-Compiling the resulting code (ip6_tunnel and tunnel6) for the ARM architecture

•The pre-installed MAEMO Diablo release of iproute2version doesn’t support IPv4-in-IPv6 tunnels

•We needed to update this package in order to allow the setup of IPv4-in-IPv6 tunnels on Nokia N810 tablet

•iproute2source code was downloaded (version 2.6.26) from its web site, and it was also cross-compiled using scratchbox toolkit•We were able to run legacy applications (i.e. not aware of DS-Lite) like Web browsing and Skype without any problems

•IPv6 tunnel connectivity was through tunnel broker (Hurricane.net)

•As can be observed, the test scenario was not necessarily compliant with the

deployment model

•However, we were able to test the implementation for ICMP, TCP and UDP protocols •Issue arose for packets larger than the IPv6 tunnel with Hurricane.net’s MTU of 1280 bytes, as we end up with black-hole TCP connections, and UDP drops •We adjusted the MTU on the interfaces accordingly, in order to avoid

fragmentation for TCP connections

•Needed to update IPv4-over-IPv6 tunnel implementation on ip6_tunnel.c in order to allow MTUs smaller than 1280 bytes (due to tunnel broker overhead)

•We can avoid such hacks by avoiding IPv4 fragmentation, and implementing IPv6

fragmentation on the IPv6 tunnel endpoints between the device and the AFTR

•Hack is only possible for host-model, as for the CPE-model the CPE must be

prepared to handle MTUs up to 1500 bytes•Compilation of ISC AFTR itself was fairly easy

•Tarball file containing source code for installation

•Problems arose during ISC AFTR setup phase

•Lack of documentation for the released version

•Sample configurations were not clear, sometimes confusing

•Tricky automatic tunnel setup available after updating the Access Control Lists for the specific networks (only informed after e-mail communication with the creators)

•ISC AFTR stability issues

•After some period of activity, the AFTR process stops responding to the client tunnel messages; terminal commands to the AFTR get an “ALIVE”response, but there is no further actions to incoming packets from the client tunnel, so we need to restart the AFTR process again

Feedback received on demo @ IETF#75

•The two DS-lite profiles (home and CPE) were made available for test during IETF #75•CPE profile was available through a specific IETF’s IPv6-only Wi-Fi network

•Host profile was available on some N810 terminals used by Nokia people

•Several N810s with DS-Lite implementations operated on the IETF's IPv6-network without any problems

•Host profile on N810 demonstrated during IETF #75DS-Lite implementation open sourced

•The DS-Lite implementation for Maemo has been open sourced recently

•Details are at:

•http://ds-lite.garage.maemo.org/Summary

•DS-Lite client implementation on Maemo is fairly straightforward

•Creates a new virtual interface which captures and tunnels IPv4 packets when attached via an IPv6 only access

•Implementation has been tested with AFTRs from A10 Networks and ISC •Demonstrated at IETF75

•DS-Lite implementation for the N810 is now open sourced下载本文

显示全文
专题