Connectivity with the new IPv6 network
cFos IPv6 Link allows dial-up with IPv6 for Windows 7, Vista and XP.
Install cFos IPv6 Link, configure the dial-up connection to your ISP and you're done! cFos IPv6 Link does not only connect to the new IPv6, but also configures the routing and IP and DNS addresses automatically.
Under XP cFos IPv6 Link also maps IPv4-based DNS queries of IPv6 adresses.
cFos IPv6 Link is fast. Like cFos Broadband Connect it achieves a much higher throughput than the PPPoE driver shipped with XP/Vista/7 (with a fast enough Internet connection).
At load time cFos IPv6 Link performs an auto-detection of the connected network devices and switches into one of the following modes:
This allows simultaneous use of IPv4 and IPv6. Windows prefers IPv6 by first trying to resolve an address to an IPv6 address and only uses IPv4 if no IPv6 address is (yet) available. IPv4 is thereby a fallback for IPv6.
Mixed mode is possible with routers that support "PPPoE Passthrough", e.g. Speedport. Then the IPv4 traffic travels as usual to the IPv4 provider, while IPv6 traffic travels via PPPoE to the IPv6 provider.
Technical background:
cFos IPv6 Link uses the existing network connection via router or PPPoE and allows the use of IPv6 under Windows 7, Vista and XP. cFos IPv6 Link can dial into IPv4 and IPv6 with PPPoE via a DSL-modem or router with "PPPoE passthrough" (e.g. Speedport).
XP | Vista Windows 7 | |
---|---|---|
IPv6 DNS Queries / IPv4 <-> IPv6 DNS mapping | ||
IPv6 PPPoE/PPP Dial-up | ||
Automatic routing configuration | ||
IPv6 default route | ||
Automatic DNS server configuration | ||
DHCPv6 Prefix Delegation | ||
Policy Table Updates | ||
NAT46 for IPv4-only applications |
cFos IPv6 Link has the following components:
Optional stateful and stateless address and routing configuration with the ISP is done via IPv6 Router Solicitation and DHCPv6. Thereby cFos IPv6 Link can automatically determine and configure all Parameters assigned by the ISP, like IPv6 addresses prefix, DNS addresses, etc.
Flexible negotiation of all IPv6 parameters / DHCPv6 Prefix Delegation:
Optional stateful and stateless address and routing configuration with the ISP is done via IPv6 Router Solicitation and DHCPv6. Thereby cFos IPv6 Link can automatically determine and configure all Parameters assigned by the ISP, like IPv6 addresses prefix, DNS addresses, etc.
cFos IPv6 Link is now also a DHCPv6 client to the Internet. Thereby it can determine the IPv6 prefix not only by router advertisements, but also by DHCPv6 Prefix Delegation. We tested it (among others) with a Cisco Router. Thanks to cFos IPv6 Link ISPs can now employ the Cisco proposed DHCPv6 Prefix Delegation with their end-customers.
cFos IPv6 Link can now also acquire DNS addresses via DHCPv6 (in addition to using the option in Router Advertisements). In Mixed mode the address of the IPv4 DNS server is also used. Thereby cFos IPv6 Link uses all possible ways to access DNS servers, without the need for manual configuration.
cFos IPv6 Link offers extensive logging and tracing features, which are especially useful in the beginning of the IPv6 era. cFos IPv6 Link can for example create Wireshark-compatible trace files.
cFos IPv6 Link interprets multiple Prefixes and DHCPv6 prefix delegation options as follows:
If several IPv6 routers with different prefixes are detected by cFos IPv6 link, it sends packets to the router with the longest prefix match in the source address.
Prefixes shorter than 64 bit from a DHCPv6 server or router are reported to Windows to allow a possible Windows Software router to subnet them and assign 64 bit prefixes to other devices. If cFos IPv6 link only gets prefixes shorter than 64 bit, it constructs one 64 bit prefix from one of the existing prefixes by extending it with 0 bits.
cFos IPv6 link can thereby handle prefixes from setups with DHCPv6 and RADIUS servers. Framed IPv6 prefixes are expected in Router Advertisements and delegated Prefixes in DHCPv6 server responses. See RFC 3162 and RFC 4818.
RFC 2464 Transmission of IPv6 Packets over Ethernet Networks
RFC 3162 RADIUS and IPv6
RFC 3315 Dynamic Host Configuration Protocol for IPv6 (DHCPv6)
RFC 3484 Default Address Selection for Internet Protocol version 6 (IPv6)
RFC 3587 IPv6 Global Unicast Address Format
RFC 3633 IPv6 Prefix Options for Dynamic Host Configuration Protocol (DHCP) version 6
RFC 3646 DNS Configuration options for Dynamic Host Configuration Protocol for IPv6 (DHCPv6)
RFC 3736 Stateless Dynamic Host Configuration Protocol (DHCP) Service for IPv6
RFC 4193 Unique Local IPv6 Unicast Addresses
RFC 4429 Optimistic Duplicate Address Detection (DAD) for IPv6
RFC 4443 Internet Control Message Protocol (ICMPv6) for the Internet Protocol Version 6 (IPv6) Specification
RFC 4472 Operational Considerations and Issues with IPv6 DNS
RFC 4818 RADIUS Delegated-IPv6-Prefix Attribute
RFC 4861 Neighbor Discovery for IP version 6 (IPv6)
RFC 4862 IPv6 Stateless Address Autoconfiguration
RFC 5006 IPv6 Router Advertisement Option for DNS Configuration
RFC 5072 IP Version 6 over PPP
RFC 5175 IPv6 Router Advertisement Flags Option
RFC 5220 Problem Statement for Default Address Selection in Multi-Prefix Environments
RFC 5221 Requirements for Address Selection Mechanisms
RFC 5453 Reserved IPv6 Interface Identifiers
draft: http://tools.ietf.org/html/draft-fujisaki-dhc-addr-select-opt-08
func_trace 0 logging level, 0 = minimum, 1 = all functions, except data transmission, 2 = also log data transmission functions dump_unknown_frames 1 = dump unknown PPPoE Frames into the trace.txt, 0 = deactivated ipv4_router_addr IPv4 private router address for IPv4 DHCP, subnet mask is always 255.255.255.0., default is 192.168.42.1. allow_mixed_mode 1 = allow IPv4 passthrough if DHCPv4 detected (default), 0 = disable keep_ppinfo 1 = send NDIS per packet info with each packet, 0 = disable (default) check_traffic 1 = check, if packets to/from net are allowed (default), 0 = send all packets default_use_ipv4 default value for the use_ipv4 values in connections.ini (default 0 = not allowed) default_use_ipv6 default value for the use_ipv6 values in connections.ini (default 1 = allowed) ipv4_mcast_is_unicast 1 = treat IPv4 multicast (class D net) packets as unicast packets, 0 = treat as multicast (default)
adapter1=substr adapter1=substr . . adapterN=substr If the adapter description contains "substr" traffic for this adapter is ignored (passthrough mode).
parameters can appear in arbitrary order, e.g., d\aidx=x\serv=x\h=x\ac=x\to=x\tr=x\prio=x\vlan=x parameter: default: meaning: d any digits, ignored aidx=x -1 -1 = auto-detect, 0..n = PPPoE for network adapter x (adapter index as stored in the registry) serv=name service name string for outgoing calls h=1 or h=0 1 enables or disables use of host_unique tag (1 = enabled)) ac=name string, which can be used to limit the PPPoE negotiation to a certain AC. name must be a substring of the AC name to=x 2000 initial timeout for outgoing PPPoE: timeout in milliseconds for server answers tr=x 3 number of retries on timeout prio=x set the VLAN packet priority (value from 0-7) vlan=x VLAN ID
enabled 0 = disabled, 1 = dial whenever connection is needed dial_string see "Format of the phone number" user_name user name password encrypted password, use setup to enter password mru PPP Maximum Receive Unit, default 1492 use_ipv4 0 = disabled, 1 = use IPv4 connectivity use_ipv6 0 = disabled, 1 = use IPv6 connectivity ipv6_prefix IPv6 provider prefix, must be always 64bit, e.g 1111:2222:3333:4444/64 idle_timeout number of seconds of inactivity after which the connection will be terminated, default is 0=always on ipv6_dns1 full 128 bit IPv6 DNS address ipv6_dns2 full 128 bit IPv6 DNS address