I was able to follow section 5.1 of this draft somewhat but then got completely
lost at step B3.
It would really help if you can also describe the reason why are you performing
each step - in other words put more context around it. Otherwise, it will be
very hard for the operators to follow this.
Maybe we can start from a more comprehensive example and you can include it the
draft along with your steps.
Here is my example and logic that I follow:
1) Example requirement:
- There are about 22,000 residual IPv4 addresses that needs to be
translated via MAP.
- Each such address should have 4K ports available. Therefore, the IP
address sharing ratio is 16:1
- The public IPv4 addresses that are available to the operator for
this translation are four /24 subnets (11.11.11.0/24 , 12.12.12..0/24,
13.13.13.0/24 and 14.14.14.0/24) and one /22 subnet (15.15.0.0/22).
- The IPv6 prefix that is delegated to the operator is 2001:db8::/32 .
- 4K users (or CPEs corresponding to the residual IP addresses) will
get PD /56, the rest of the users will get PD /60.
- The end-user-prefix and the rules will be delegated via DHCPv6 server
22,000 residual IP addresses in 16:1 sharing scenario could be covered with two
/24 subnets and one /22 subnet => (2 * 2^8 * 16 + 2^10 * 16 = 24, 576).
So Rule IPv4 prefix and EA bits length will be:
1) 11.11.11.0/24 EA length: 12 bits (8 bits for the IPv4 suffix and 4
bits for PSID) => these users will get PD /56 (arbitrarily determined by the
operator and in conformance with the requirement)
2) 12.12.12.0/24 EA length: 12 bits
=> these users will
get PD /60 (arbitrarily determined by the operator and in conformance with the
requirement)
3) 15.15.0.0/22 EA length: 14 bits (10 bits for IPv4 suffix and 4
bits for PSID) => these users will get PD/60 (arbitrarily determined
by the operator and in conformance with the requirement)
That was the easy part. What we need to do now is to determine:
- Rule IPv6 Prefix (to complete BMR/FMR)
- How will the end user DHCPv6 prefix (PD) be carved out by DHCP
server (assumption is that DHCPv6 server delegates v6 prefix and Rules).
We will represents the bits in v6 address via the following graph (we will
ignore irrelevant parts of the v6 addresses for this discussion and instead
consider only the bits /32 to /64):
/32 /36 /40 /44 /48 /52
/56 /60 /64
xxxx xxxx xxxx xxxx xxxx xxxx xxxx
xxxx xxxx
| | |
| |
|<
--------EA=12-------->| | 1) this will
cover subnet 1) ; EA bits extend from the PD length (/56) to the Rule IPv6
prefix length (/44)
|
|< ---------EA=12------ >| 2) this will cover
subnet 2); EA bits extend from the PD length (/60) to the Rule IPv6 prefix
length (/48)
|<
----------------EA=14------ >| 3) this will cover
subnet 3) ; EA bits extend from the PD length (/60) to the Rule IPv6 prefix
length (/46)
Now we have determined IPv6 Rule Prefix length for each of the three rules that
we need to create.
The IPv4 Prefix Rule lengths are /44, /48 and /46 for the cases 1), 2) and 3)
respectively.
Now we need to determine how can each end user prefix be uniquely allocated
across all users (CEs). The only way to ensure this uniqueness is to ensure
that the portion of the IPv6 Rule prefix up to /44 (smallest Rule IPv6 prefix
length between all the rules in the MAP domain) is unique amongst all the rules.
So, the IPv6 Rule prefixes for our three cases will be (changing the part above
/44):
1) 2001:db8:0000::/44
2) 2001:db8:0010::/48
3) 2001:db8:0020::/46
The last step is to ensure that the DHCPv6 server hands out proper end-user
prefixes (and along with the prefixes, the Rules are delegated as well).
So the DHCPv6 can be configured so that it is carving the prefixes from three
ranges:
1) 2001:db8:000x:xxyy:: (where x denotes carving part from /44 to /56 -
the EA bits; 'y' denotes further subneting that is done on the CPE -> yy=00 for
MAP prefix, the remaining combinations are reserved for CPE delegation to its
clients)
2) 2001:db8:0100:xxxy:: (where x denotes carving part from /48 to /60 -
the EA bits; 'y' denotes further subneting that is done on the CPE -> y=0 for
MAP prefix, the remaining combinations are reserved for CPE delegation to its
clients)
3) 2001:db8:020w:xxxy:: (where x and two lower bits of 'w' denote carving
part from /46 to /60 - the EA bits; 'y' denotes further subneting that is done
on the CPE -> y=0 for MAP prefix, the remaining combinations are reserved for
CPE delegation to its clients)
Along with each user end prefix a BMR and a DMR will be delegated to the
end-users (so we will have a hub and spoke topology)
Also note that to cover the holes between the /48 and /44 for case 2) we can
easily add 15 more /24 IPv4 prefixes by creating new IPv6 Rule by changing bits
between /44 and /48.
Similarly for case 3), we can create 3 more IPv6 rule prefixes (and add 3 more
/22 IPv4 subnets) by changing bits between /46 and /48. This would allow us to
expand the coverage for residual IPs (although the purpose of NAT is to
minimize their use over time not to expand :)).
_______________________________________________
Softwires mailing list
[email protected]
https://www.ietf.org/mailman/listinfo/softwires