Could IPv6 make NAT / port numbers redundant?Is it possible to brute force search/guess symmetric NAT port prediction for hole punching?can pfsense perform ipv6 nat (for outbound service redirection)How will ISP's handle the future of IPv6 to pro-sumersSend HTTP Request to device through Mac Address?How would I make a client find a server with an unknown IPv6 Address?pfSense IPv6 NATPort Numbers related doubtNetwork Device sending ARP request (opcode 1) but with Source IP 0.0.0.0Asa5508 NAT two internal IPsWhy are IPv4 addresses running out?
Can a Beholder use rays in melee range?
What are these (utility?) boxes at the side of the house?
1960s sci-fi novella with a character who is treated as invisible by being ignored
Future enhancements for the finite element method
Windows 10 Programs start without visual Interface
What is the best linguistic term for describing the kw > p / gw > b change, and its usual companion s > h
Is there an explanation for Austria's Freedom Party virtually retaining its vote share despite recent scandal?
How to extract lower and upper bound in numeric format from a confidence interval string?
Where did the “Vikings wear helmets with horn” stereotype come from and why?
Probability of fraction not being able to be simplified
Solmization with syllables - du da di
If a massive object like Jupiter flew past the Earth how close would it need to come to pull people off of the surface?
Which noble houses were destroyed during the Game of Thrones?
Can a wire having a 610-670 THz (frequency of blue light) AC frequency supply, generate blue light?
How feasible is the Delta-Glider?
How did early x86 BIOS programmers manage to program full blown TUIs given very few bytes of ROM/EPROM?
What F1 in name of seeds/varieties means?
What is the 中 in ダウンロード中?
How can I find where certain bash function is defined?
Plot exactly N bounce of a ball
How current works
Apparent Ring of Craters on the Moon
What are the benefits of cryosleep?
Terminology about G- simplicial complexes
Could IPv6 make NAT / port numbers redundant?
Is it possible to brute force search/guess symmetric NAT port prediction for hole punching?can pfsense perform ipv6 nat (for outbound service redirection)How will ISP's handle the future of IPv6 to pro-sumersSend HTTP Request to device through Mac Address?How would I make a client find a server with an unknown IPv6 Address?pfSense IPv6 NATPort Numbers related doubtNetwork Device sending ARP request (opcode 1) but with Source IP 0.0.0.0Asa5508 NAT two internal IPsWhy are IPv4 addresses running out?
From what I can tell, each process could get its own IP address, with loads of IP's to spare.
What would the drawbacks be?
ip nat ipv6 protocol-theory transport-protocol
New contributor
add a comment |
From what I can tell, each process could get its own IP address, with loads of IP's to spare.
What would the drawbacks be?
ip nat ipv6 protocol-theory transport-protocol
New contributor
add a comment |
From what I can tell, each process could get its own IP address, with loads of IP's to spare.
What would the drawbacks be?
ip nat ipv6 protocol-theory transport-protocol
New contributor
From what I can tell, each process could get its own IP address, with loads of IP's to spare.
What would the drawbacks be?
ip nat ipv6 protocol-theory transport-protocol
ip nat ipv6 protocol-theory transport-protocol
New contributor
New contributor
edited 2 hours ago
Ron Maupin♦
69.3k1372132
69.3k1372132
New contributor
asked 9 hours ago
TobiqTobiq
1112
1112
New contributor
New contributor
add a comment |
add a comment |
3 Answers
3
active
oldest
votes
One drawback is that the upper layers would need to be aware of IP addresses, which sort of violates the layering principle. What would then happen if you switched to IPv4? Or something else?
How would the upper layers tell the network layer that it should start responding to an IP address? Suppose a new application starts up. How does the network layer know there's a new address to respond to?
IPv6 could theoretically eliminate NAT, but there are still reasons why an organization might want to hide its internal IP addresses.
add a comment |
IPv6 does not have a NAT standard as IPv4 does (NAT breaks the end-to-end premise of IP, and IPv6 was designed to restore that). There is an experimental RFC for IPv6 NAT, but it is a one-to-one NAT at the network layer, rather than something like the IPv4 NAPT that also translates port addresses, and, in fact, the experimental IPv6 NAT RFC expressly forbids that.
If you think about the various transport protocols, TCP and UDP use ports, which are really addresses for those transport protocols. Other transport protocols may use other addressing, and some use no addresses.
Your idea would possibly work with either TCP or UDP, but only one, and probably not with other transport protocols. IPv6 is connectionless, like UDP, so it may work with UDP, but TCP is connection-oriented, and it performs a lot of work that would otherwise need to be performed by the application.
There are requirements for both connectionless and connection-oriented transport protocols. The predecessor to IPv4 actually had the equivalent of IP and TCP as a single protocol, but it became necessary to split them because some transport protocols need to be connectionless.
add a comment |
It wouldn't be IPv6. Such a system is of course feasible, but it would be an variation of the IP protocol. Today, IP's contain two parts: a host identifier and a service identifier.
With your scheme, it would essentially be a service descriptor. This would require changes to DNS (e.g. how do you differentiate between the SMTP server for example.com and the www-server for example.com?)
I can't see how it would be beneficial over todays system with host:service descriptors. It would not achieve anything not possible today.
simply simpler.
– Tobiq
8 hours ago
2
Why would ut be simpler? Say I want the smtp of example.com. I look up example.com, and know that smtp is on port 25. In your scheme the service descriptor would have to be part of dns. An what about obscure services? The current format of host:service works damn well. You can think of the port number as part of the address if you want.
– vidarlo
8 hours ago
3
Yes, it would be simpler, IF you could start all over with a single protocol, one media type, no backwards compatibility, etc. But changing everything else to work with your new protocol would be anything else but simple.
– Ron Trunk
7 hours ago
Good points, makes sense
– Tobiq
7 hours ago
1
Some IP protocols don't even have the concept of ports. What do you do with those?
– Michael Hampton
3 hours ago
add a comment |
Your Answer
StackExchange.ready(function()
var channelOptions =
tags: "".split(" "),
id: "496"
;
initTagRenderer("".split(" "), "".split(" "), channelOptions);
StackExchange.using("externalEditor", function()
// Have to fire editor after snippets, if snippets enabled
if (StackExchange.settings.snippets.snippetsEnabled)
StackExchange.using("snippets", function()
createEditor();
);
else
createEditor();
);
function createEditor()
StackExchange.prepareEditor(
heartbeatType: 'answer',
autoActivateHeartbeat: false,
convertImagesToLinks: false,
noModals: true,
showLowRepImageUploadWarning: true,
reputationToPostImages: null,
bindNavPrevention: true,
postfix: "",
imageUploader:
brandingHtml: "Powered by u003ca class="icon-imgur-white" href="https://imgur.com/"u003eu003c/au003e",
contentPolicyHtml: "User contributions licensed under u003ca href="https://creativecommons.org/licenses/by-sa/3.0/"u003ecc by-sa 3.0 with attribution requiredu003c/au003e u003ca href="https://stackoverflow.com/legal/content-policy"u003e(content policy)u003c/au003e",
allowUrls: true
,
noCode: true, onDemand: true,
discardSelector: ".discard-answer"
,immediatelyShowMarkdownHelp:true
);
);
Tobiq is a new contributor. Be nice, and check out our Code of Conduct.
Sign up or log in
StackExchange.ready(function ()
StackExchange.helpers.onClickDraftSave('#login-link');
);
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
StackExchange.ready(
function ()
StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fnetworkengineering.stackexchange.com%2fquestions%2f59438%2fcould-ipv6-make-nat-port-numbers-redundant%23new-answer', 'question_page');
);
Post as a guest
Required, but never shown
3 Answers
3
active
oldest
votes
3 Answers
3
active
oldest
votes
active
oldest
votes
active
oldest
votes
One drawback is that the upper layers would need to be aware of IP addresses, which sort of violates the layering principle. What would then happen if you switched to IPv4? Or something else?
How would the upper layers tell the network layer that it should start responding to an IP address? Suppose a new application starts up. How does the network layer know there's a new address to respond to?
IPv6 could theoretically eliminate NAT, but there are still reasons why an organization might want to hide its internal IP addresses.
add a comment |
One drawback is that the upper layers would need to be aware of IP addresses, which sort of violates the layering principle. What would then happen if you switched to IPv4? Or something else?
How would the upper layers tell the network layer that it should start responding to an IP address? Suppose a new application starts up. How does the network layer know there's a new address to respond to?
IPv6 could theoretically eliminate NAT, but there are still reasons why an organization might want to hide its internal IP addresses.
add a comment |
One drawback is that the upper layers would need to be aware of IP addresses, which sort of violates the layering principle. What would then happen if you switched to IPv4? Or something else?
How would the upper layers tell the network layer that it should start responding to an IP address? Suppose a new application starts up. How does the network layer know there's a new address to respond to?
IPv6 could theoretically eliminate NAT, but there are still reasons why an organization might want to hide its internal IP addresses.
One drawback is that the upper layers would need to be aware of IP addresses, which sort of violates the layering principle. What would then happen if you switched to IPv4? Or something else?
How would the upper layers tell the network layer that it should start responding to an IP address? Suppose a new application starts up. How does the network layer know there's a new address to respond to?
IPv6 could theoretically eliminate NAT, but there are still reasons why an organization might want to hide its internal IP addresses.
answered 8 hours ago
Ron TrunkRon Trunk
41.9k33988
41.9k33988
add a comment |
add a comment |
IPv6 does not have a NAT standard as IPv4 does (NAT breaks the end-to-end premise of IP, and IPv6 was designed to restore that). There is an experimental RFC for IPv6 NAT, but it is a one-to-one NAT at the network layer, rather than something like the IPv4 NAPT that also translates port addresses, and, in fact, the experimental IPv6 NAT RFC expressly forbids that.
If you think about the various transport protocols, TCP and UDP use ports, which are really addresses for those transport protocols. Other transport protocols may use other addressing, and some use no addresses.
Your idea would possibly work with either TCP or UDP, but only one, and probably not with other transport protocols. IPv6 is connectionless, like UDP, so it may work with UDP, but TCP is connection-oriented, and it performs a lot of work that would otherwise need to be performed by the application.
There are requirements for both connectionless and connection-oriented transport protocols. The predecessor to IPv4 actually had the equivalent of IP and TCP as a single protocol, but it became necessary to split them because some transport protocols need to be connectionless.
add a comment |
IPv6 does not have a NAT standard as IPv4 does (NAT breaks the end-to-end premise of IP, and IPv6 was designed to restore that). There is an experimental RFC for IPv6 NAT, but it is a one-to-one NAT at the network layer, rather than something like the IPv4 NAPT that also translates port addresses, and, in fact, the experimental IPv6 NAT RFC expressly forbids that.
If you think about the various transport protocols, TCP and UDP use ports, which are really addresses for those transport protocols. Other transport protocols may use other addressing, and some use no addresses.
Your idea would possibly work with either TCP or UDP, but only one, and probably not with other transport protocols. IPv6 is connectionless, like UDP, so it may work with UDP, but TCP is connection-oriented, and it performs a lot of work that would otherwise need to be performed by the application.
There are requirements for both connectionless and connection-oriented transport protocols. The predecessor to IPv4 actually had the equivalent of IP and TCP as a single protocol, but it became necessary to split them because some transport protocols need to be connectionless.
add a comment |
IPv6 does not have a NAT standard as IPv4 does (NAT breaks the end-to-end premise of IP, and IPv6 was designed to restore that). There is an experimental RFC for IPv6 NAT, but it is a one-to-one NAT at the network layer, rather than something like the IPv4 NAPT that also translates port addresses, and, in fact, the experimental IPv6 NAT RFC expressly forbids that.
If you think about the various transport protocols, TCP and UDP use ports, which are really addresses for those transport protocols. Other transport protocols may use other addressing, and some use no addresses.
Your idea would possibly work with either TCP or UDP, but only one, and probably not with other transport protocols. IPv6 is connectionless, like UDP, so it may work with UDP, but TCP is connection-oriented, and it performs a lot of work that would otherwise need to be performed by the application.
There are requirements for both connectionless and connection-oriented transport protocols. The predecessor to IPv4 actually had the equivalent of IP and TCP as a single protocol, but it became necessary to split them because some transport protocols need to be connectionless.
IPv6 does not have a NAT standard as IPv4 does (NAT breaks the end-to-end premise of IP, and IPv6 was designed to restore that). There is an experimental RFC for IPv6 NAT, but it is a one-to-one NAT at the network layer, rather than something like the IPv4 NAPT that also translates port addresses, and, in fact, the experimental IPv6 NAT RFC expressly forbids that.
If you think about the various transport protocols, TCP and UDP use ports, which are really addresses for those transport protocols. Other transport protocols may use other addressing, and some use no addresses.
Your idea would possibly work with either TCP or UDP, but only one, and probably not with other transport protocols. IPv6 is connectionless, like UDP, so it may work with UDP, but TCP is connection-oriented, and it performs a lot of work that would otherwise need to be performed by the application.
There are requirements for both connectionless and connection-oriented transport protocols. The predecessor to IPv4 actually had the equivalent of IP and TCP as a single protocol, but it became necessary to split them because some transport protocols need to be connectionless.
answered 3 hours ago
Ron Maupin♦Ron Maupin
69.3k1372132
69.3k1372132
add a comment |
add a comment |
It wouldn't be IPv6. Such a system is of course feasible, but it would be an variation of the IP protocol. Today, IP's contain two parts: a host identifier and a service identifier.
With your scheme, it would essentially be a service descriptor. This would require changes to DNS (e.g. how do you differentiate between the SMTP server for example.com and the www-server for example.com?)
I can't see how it would be beneficial over todays system with host:service descriptors. It would not achieve anything not possible today.
simply simpler.
– Tobiq
8 hours ago
2
Why would ut be simpler? Say I want the smtp of example.com. I look up example.com, and know that smtp is on port 25. In your scheme the service descriptor would have to be part of dns. An what about obscure services? The current format of host:service works damn well. You can think of the port number as part of the address if you want.
– vidarlo
8 hours ago
3
Yes, it would be simpler, IF you could start all over with a single protocol, one media type, no backwards compatibility, etc. But changing everything else to work with your new protocol would be anything else but simple.
– Ron Trunk
7 hours ago
Good points, makes sense
– Tobiq
7 hours ago
1
Some IP protocols don't even have the concept of ports. What do you do with those?
– Michael Hampton
3 hours ago
add a comment |
It wouldn't be IPv6. Such a system is of course feasible, but it would be an variation of the IP protocol. Today, IP's contain two parts: a host identifier and a service identifier.
With your scheme, it would essentially be a service descriptor. This would require changes to DNS (e.g. how do you differentiate between the SMTP server for example.com and the www-server for example.com?)
I can't see how it would be beneficial over todays system with host:service descriptors. It would not achieve anything not possible today.
simply simpler.
– Tobiq
8 hours ago
2
Why would ut be simpler? Say I want the smtp of example.com. I look up example.com, and know that smtp is on port 25. In your scheme the service descriptor would have to be part of dns. An what about obscure services? The current format of host:service works damn well. You can think of the port number as part of the address if you want.
– vidarlo
8 hours ago
3
Yes, it would be simpler, IF you could start all over with a single protocol, one media type, no backwards compatibility, etc. But changing everything else to work with your new protocol would be anything else but simple.
– Ron Trunk
7 hours ago
Good points, makes sense
– Tobiq
7 hours ago
1
Some IP protocols don't even have the concept of ports. What do you do with those?
– Michael Hampton
3 hours ago
add a comment |
It wouldn't be IPv6. Such a system is of course feasible, but it would be an variation of the IP protocol. Today, IP's contain two parts: a host identifier and a service identifier.
With your scheme, it would essentially be a service descriptor. This would require changes to DNS (e.g. how do you differentiate between the SMTP server for example.com and the www-server for example.com?)
I can't see how it would be beneficial over todays system with host:service descriptors. It would not achieve anything not possible today.
It wouldn't be IPv6. Such a system is of course feasible, but it would be an variation of the IP protocol. Today, IP's contain two parts: a host identifier and a service identifier.
With your scheme, it would essentially be a service descriptor. This would require changes to DNS (e.g. how do you differentiate between the SMTP server for example.com and the www-server for example.com?)
I can't see how it would be beneficial over todays system with host:service descriptors. It would not achieve anything not possible today.
answered 8 hours ago
vidarlovidarlo
1917
1917
simply simpler.
– Tobiq
8 hours ago
2
Why would ut be simpler? Say I want the smtp of example.com. I look up example.com, and know that smtp is on port 25. In your scheme the service descriptor would have to be part of dns. An what about obscure services? The current format of host:service works damn well. You can think of the port number as part of the address if you want.
– vidarlo
8 hours ago
3
Yes, it would be simpler, IF you could start all over with a single protocol, one media type, no backwards compatibility, etc. But changing everything else to work with your new protocol would be anything else but simple.
– Ron Trunk
7 hours ago
Good points, makes sense
– Tobiq
7 hours ago
1
Some IP protocols don't even have the concept of ports. What do you do with those?
– Michael Hampton
3 hours ago
add a comment |
simply simpler.
– Tobiq
8 hours ago
2
Why would ut be simpler? Say I want the smtp of example.com. I look up example.com, and know that smtp is on port 25. In your scheme the service descriptor would have to be part of dns. An what about obscure services? The current format of host:service works damn well. You can think of the port number as part of the address if you want.
– vidarlo
8 hours ago
3
Yes, it would be simpler, IF you could start all over with a single protocol, one media type, no backwards compatibility, etc. But changing everything else to work with your new protocol would be anything else but simple.
– Ron Trunk
7 hours ago
Good points, makes sense
– Tobiq
7 hours ago
1
Some IP protocols don't even have the concept of ports. What do you do with those?
– Michael Hampton
3 hours ago
simply simpler.
– Tobiq
8 hours ago
simply simpler.
– Tobiq
8 hours ago
2
2
Why would ut be simpler? Say I want the smtp of example.com. I look up example.com, and know that smtp is on port 25. In your scheme the service descriptor would have to be part of dns. An what about obscure services? The current format of host:service works damn well. You can think of the port number as part of the address if you want.
– vidarlo
8 hours ago
Why would ut be simpler? Say I want the smtp of example.com. I look up example.com, and know that smtp is on port 25. In your scheme the service descriptor would have to be part of dns. An what about obscure services? The current format of host:service works damn well. You can think of the port number as part of the address if you want.
– vidarlo
8 hours ago
3
3
Yes, it would be simpler, IF you could start all over with a single protocol, one media type, no backwards compatibility, etc. But changing everything else to work with your new protocol would be anything else but simple.
– Ron Trunk
7 hours ago
Yes, it would be simpler, IF you could start all over with a single protocol, one media type, no backwards compatibility, etc. But changing everything else to work with your new protocol would be anything else but simple.
– Ron Trunk
7 hours ago
Good points, makes sense
– Tobiq
7 hours ago
Good points, makes sense
– Tobiq
7 hours ago
1
1
Some IP protocols don't even have the concept of ports. What do you do with those?
– Michael Hampton
3 hours ago
Some IP protocols don't even have the concept of ports. What do you do with those?
– Michael Hampton
3 hours ago
add a comment |
Tobiq is a new contributor. Be nice, and check out our Code of Conduct.
Tobiq is a new contributor. Be nice, and check out our Code of Conduct.
Tobiq is a new contributor. Be nice, and check out our Code of Conduct.
Tobiq is a new contributor. Be nice, and check out our Code of Conduct.
Thanks for contributing an answer to Network Engineering Stack Exchange!
- Please be sure to answer the question. Provide details and share your research!
But avoid …
- Asking for help, clarification, or responding to other answers.
- Making statements based on opinion; back them up with references or personal experience.
To learn more, see our tips on writing great answers.
Sign up or log in
StackExchange.ready(function ()
StackExchange.helpers.onClickDraftSave('#login-link');
);
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
StackExchange.ready(
function ()
StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fnetworkengineering.stackexchange.com%2fquestions%2f59438%2fcould-ipv6-make-nat-port-numbers-redundant%23new-answer', 'question_page');
);
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function ()
StackExchange.helpers.onClickDraftSave('#login-link');
);
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function ()
StackExchange.helpers.onClickDraftSave('#login-link');
);
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function ()
StackExchange.helpers.onClickDraftSave('#login-link');
);
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown