Mohamed, all,

First, thanks for the analysis draft. It sounds good. Let me try to bring my 
thought.

An interesting point is here. In the algorithms which define offset to exclude 
ports such as 1024, 4096 whatever, the efficiency of port utilization is 
decreased, which algorithm is 4rd, and complexity of calculation are increased, 
which algorithm is dIVI's modulo, when the number of CEs which share an address 
exceed the number of excluded ports.

For example, in the case of that someone uses modulo with excluding under 1024 
port, port-set ID is always placed at last 9 bits in a port if the number of 
CEs which share one address isn't exceed 1024. But when the number of CEs 
exceed 1024, complexity of modulo operation will be increased to calculate port 
set ID from port number at BR and CE. In the case of 4rd, which exclude under 
4096 port, if CEs over 4096, which CEs share one address, 8K, 16K, 32K of ports 
are unusable respectively.

To keep simple implementation and operation, I think that offset port and the 
maximum address sharing ratio should be same. So the question is what is the 
number. 1024 is small a little. 2048 or 4096? I think that first nibble of port 
to utilize offsetting is helpful for implementation and is easy to read in hex. 
So In my opinion, 4096 is adequate for both offset port and maximum sharing 
ratio. If it would be applied to 4rd, a following figure could be depict. 
Port-set ID is always placed on right after the first nibble. CE's NAT needs to 
maintain just only fifteen port ranges, and BR and CE just remove first nibble 
to pick a port set ID from port number in a packet.


                               1 1 1 1 1 1
           0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5
          +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
 Port-set |h h h h|x x x x x x x x|       |
          +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
          |<head> |<-Port-set ID->|<-tail->
           4bits       max 12bits
         (0x1-0xF) 


Second, I think that the character differences of these analyzed algorithms 
come from where is port-set ID in a port number. Each algorithms is a result of 
labor to define where are port-set ID bits. I agree with last paragraph in 
section 2 that says 'the whole Port-Set may be deduced by extrapolation', so it 
would be predictable port set regardless of which analyzed algorithm generates.

If I add one point to the analysis, that is 'Complexity of CE side NAT ports 
pool configuration and management', which NAT is already distributed to the 
fields. Several contiguous port ranges are helpful to configure and manage NAT 
ports pool. On the other hand, scattered scheme increases complexity of 
configuration and management as the number of ports in port set increased.

So I think that having unique port set derivation for each stateless address 
sharing domain is important.To make variation of port-set indexing, port-set ID 
mask option could be helpful. As I'm inspired by a discussion with Xiaohong, 
the port-set ID mask is used for which bits indicate port-set ID. That bits are 
fully configurable by each operator's domain. In terms of port-set ID mask 
configuration, the default port indexing is just one of configuration 
variation. Please see a following figure.

                               1 1 1 1 1 1
           0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5
          +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
 Port-set |h h h h|  x   x x   x x   x x  |
          +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
          |<head> |  ^   ^ ^   ^ ^   ^ ^
           4bits     |   | |   | |   | |
         (0x1-0xF)   |   | |   | |   | |
                     |   | |   | |   | |
          +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
 Port-set |0 0 0 0|0 1 0 1 1 0 1 1 0 1 1 0|
 ID mask  +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
 Option   <------> <---------------------->
            must       Port-set ID mask
             be    (‘1’ indicates port-set ID bits)
            zero



I have no draft for that yet, but I'd like to discuss at the interim meeting.
Have a good weekend, hope to see you in Beijing, next week.

cheers,
--satoru
_______________________________________________
Softwires mailing list
[email protected]
https://www.ietf.org/mailman/listinfo/softwires

Reply via email to