[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
About carring information in the next header value
SIM uses two new next header values
The next header format for these two values is the same, since the
different values are only
used to encode the rewrite ok bit, is this correct?
Question, where is this next header placed in the chain of extension
headers?
I guess that since routers must look for it when deciding whehter to
rewrite or
not a source address it would make it more efficient to place it in the
first place, even before
hop by hop options. But if this is so, wouldn't this be a problem to
process hop by hop options?
The other options would be to place next to destination option header,
where i guess is the
right place for it, but in this case, the site exit routers would have
to look over the
extension header to find out whehter they should rewrite a source
address or not.
The other issue with new extension headers is that host must discard
unknown extension headers.
This may be a problem for the interaction between M6 hosts and legacy
hosts, since the
first packet would be discarded, and the way to find this out is the
recpetiuon of icmp packet.
Considering the potential wide deployment of ICMP filtering, this may
lead to importat delay
when establishing communications between m6 hosts and legacy hosts.
Perhaps an option would be to use a Destination option instead of an
extension header.
This would allow to define the way the detination option would be
processed by the legacy host,
for instance, it can be defined that the host shoudl process the packet
and just skip the
unknown option. This would allow to process the initial packet and also
to obtain a more
reliable feedback of the capabilities of the target host.
The problem with this aproach is that it is not possible to encode the
rewrite ok
in the main IPv6 header using destiantion options. However, this could
be encoded inside
the destiantion option itself.
Note that if only the destiantion option is present in the packet, the
bit encoding rewrite
ok is in a fixed location and while it is not in the main ipv6 header,
it should be easy to
find by the exit routers, i guess.
If there are more extension headers in the packet, router will have to
parse the extension
header chain in both cases is guess, so i don't see much benefits in
this case.
The other option is could be the following (i am not sure this would
work though, i still don't
understand SIM very well:-(
Use a destiantion option in initial packets. If i understand correctly,
initial packets
are those whose source address cannot be rewritten. Also those iniotial
packets are the one that
are used to define if the target node supports M6 or not
Then if the target node supports M6 and once that the context has been
created, start using
the new extension header. This extension header means that the rewrite
ok bit is set.
So this option has most of the benefits i guess:
It allows the detection of M6 support at the target node without
discarding the first packet and
obtaining a reliable answer (no icmp involved)
It allows a easy access to rewrite ok bit by the site exit routers when
it is needed (not the inital
packets)
It don't wastes two next header values
Anyway, i guess the most efficient option is the one presented in noid,
that uses the nextheader
and the flow label fields to carry the inforamtion in data packets.
I have a doubt about how the next header values are defined.
My first question is: do you define 2 values of next header for the
every ulp protocol,
covering the rewrite ok set and the rewrite ok not set, is this correct?
So you are not defining two values for the values of next header that
define an extension header,
like routing header, hop by hop, etc. why is that, is becasue there are
not enough next
header values?
the problem with doing so, is that when an extension header is
included, the site exit routers
will have to parse all the extension headers until they find the ulp
next header. Wouldn't this
be a problem for efficiency? Perhaps this is not a very common case,
though.
Addtionally, I guess that you would like to preserve the values
currently defined for ulp, at
least fot compatibility with legacy hosts, but i am not sure if this is
accomplished now as
currently defined in section 6 of the noid doc.
I guess it would make more sense to define currently assigned ULP
values to the case when
the rewrite bit is not set, since legacy host would not recognize
packets with modifed locators.
So my conclusion is that in order to ensure bacward compatibility and
efficiency:
Initial packets should carry M6 information in a new destination option.
Initial packets carry next headers values for ULP as currenlty defined
following packets that use the M6 protocol carry the tag information in
the flow label value and
encode the rewrite bit in newly defined ULP next header values (and no
extension header)
Does this makes sense?
Thanks, marcelo