Could IPv6 make NAT / port numbers redundant?NEWBIE: How can two computers communicate if they are behind firewalls?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?How sliding window protocols handle duplicate packets caused by extreme network delays?pfSense IPv6 NATAsa5508 NAT two internal IPsIf the IPv6 address will be strictly based on EUI-64 logic then is there any real need of Neighbour Discovery Protocol?Why are IPv4 addresses running out?How can hosting providers give you a dedicated IP adresses?

If the pressure inside and outside a balloon balance, then why does air leave when it pops?

Placement of positioning lights on A320 winglets

Is Jesus the last Prophet?

Enchiridion, 16: Does a stoic moan, or not?

Should I list a completely different profession in my technical resume?

How to befriend someone who doesn't like to talk?

What do you call the action of "describing events as they happen" like sports anchors do?

Why did the World Bank set the global poverty line at $1.90?

What is the theme of analysis?

What exactly "triggers an additional time" in the interaction between Afterlife and Teysa Karlov?

Entered UK using my now-lost UK passport; can I go to Spain using my US passport?

My mom's return ticket is 3 days after I-94 expires

What is this Amiga 2000 mod?

Who is "He that flies" in Lord of the Rings?

Is it advisable to add a location heads-up when a scene changes in a novel?

Is there a better way to do partial sums of array items in JavaScript?

How does AFV select the winning videos?

In American Politics, why is the Justice Department under the President?

Realistic, logical way for men with medieval-era weaponry to compete with much larger and physically stronger foes

When to use и or а as “and”?

Why do I seem to lose data using this bash pipe construction?

What is the proper event in Extended Events to track stored procedure executions?

How to change the headfont of newtheorem environments to match komascript font?

What is this object?



Could IPv6 make NAT / port numbers redundant?


NEWBIE: How can two computers communicate if they are behind firewalls?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?How sliding window protocols handle duplicate packets caused by extreme network delays?pfSense IPv6 NATAsa5508 NAT two internal IPsIf the IPv6 address will be strictly based on EUI-64 logic then is there any real need of Neighbour Discovery Protocol?Why are IPv4 addresses running out?How can hosting providers give you a dedicated IP adresses?













8















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?



Essentially, your host would become a router and each process is a host (in the current system).










share|improve this question
























  • Comments are not for extended discussion; this conversation has been moved to chat.

    – Ron Maupin
    May 30 at 0:46















8















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?



Essentially, your host would become a router and each process is a host (in the current system).










share|improve this question
























  • Comments are not for extended discussion; this conversation has been moved to chat.

    – Ron Maupin
    May 30 at 0:46













8












8








8


3






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?



Essentially, your host would become a router and each process is a host (in the current system).










share|improve this question
















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?



Essentially, your host would become a router and each process is a host (in the current system).







ip nat ipv6 protocol-theory transport-protocol






share|improve this question















share|improve this question













share|improve this question




share|improve this question








edited May 30 at 0:30







Tobiq

















asked May 27 at 19:32









TobiqTobiq

14115




14115












  • Comments are not for extended discussion; this conversation has been moved to chat.

    – Ron Maupin
    May 30 at 0:46

















  • Comments are not for extended discussion; this conversation has been moved to chat.

    – Ron Maupin
    May 30 at 0:46
















Comments are not for extended discussion; this conversation has been moved to chat.

– Ron Maupin
May 30 at 0:46





Comments are not for extended discussion; this conversation has been moved to chat.

– Ron Maupin
May 30 at 0:46










6 Answers
6






active

oldest

votes


















12














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.






share|improve this answer






























    9














    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.






    share|improve this answer























    • Comments are not for extended discussion; this conversation has been moved to chat.

      – Ron Maupin
      Jun 5 at 1:44


















    6














    The need for NATs as a way to share public IP adresses will be gone with IPv6, but NATs may still have some uses for security reasons.



    Removing ports might be possible in theory, but it would be a huge undertaking. Even if you reserve the last 16 bits of the IP adress for port number + 1 bit for TCP/UDP flag, you would need to rework all the software that unpacks the pactet from the 3rd layer into the 4th one to use the bits from IP adress for port number and protocol, instead of data in the packet.



    And that's the "easy" solution when you just put the port nubmers in the IP adress, if you wanted to get rid or port numbers altogether, you would need to change every software and library that uses ports, be it servers, clients, firewalls, etc etc. It would be basicly impossible, every software that says "open server at port X" which would work fine when just going from IPv4 to IPv6 would break instantly if you remove ports altogether.



    It is infinetely more easier to just keep the ports.






    share|improve this answer























    • Comments are not for extended discussion; this conversation has been moved to chat.

      – Ron Maupin
      May 29 at 22:03


















    4














    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.






    share|improve this answer























    • Comments are not for extended discussion; this conversation has been moved to chat.

      – Ron Maupin
      May 30 at 0:46


















    0














    As others have said, having port numbers is a requirement, even if they end up being 'encoded' in the IP address of the service.



    Some applications need more than one port number. For example, most web servers need port 80 and 443 (and maybe another port for websockets or whatever). Such a system would need three IP addresses with encoded ports. Whilst we've got plenty of IPs, it would (at present) mean system-level configuration would be required to support those three port numbers. Using a separate port number means the apps can just start up and use the ports without needing the sysadmin to do some config work first. As others have said - it's just easier to use a port number.



    As for NAT, yes, IPv6 should remove the need for NAT in almost all cases. Some cases remain though, so it probably won't disappear entirely, but wide-spread use is likely to diminish significantly.






    share|improve this answer























    • Comments are not for extended discussion; this conversation has been moved to chat.

      – Ron Maupin
      May 30 at 0:46


















    0














    IP Addresses and Ports, though usually seen together, perform very distinct tasks. IP Addresses are used to route traffic to your computer specifically and port numbers are used by applications.



    A very good analogy is sending mail to an apartment building. The address of the building would be equivalent to an IP address and the unit numbers would be analogous to a port number. For this analogy we'll say the building's address is 127 Home Ave. Say you wanted to send a letter to Henry T.T. Peterson, so you send a letter to the building, he doesn't receive it because it needs further direction to his apartment, apartment 80.



    In theory, IPv6 address could take the place of both IPv4 addresses and port numbers, however this violates well-established precedents of networking and there are some major drawbacks:



    • Defeats the very purpose that IPv6 was created to alleviate(concerns about the world running out of IP addresses)

    • Routing tables internal to routers and switches would become exponentially larger while offering no benefit(many address will route to the same physical computer)

    • Every application on every computer will need a unique address and although IPv6 offers many, many times more addresses (2^128 vs 2^32), we will run out rather quickly and then need to create IPv8, then IPv10, then IPv12, we will be racing an exponential curve and that pretty much won't be a fun time.

    As far as NAT goes, this was created for 2 reasons, there were already concerns that the world was running out of (or would run out of) public IP addresses, which was massively alleviated by allowing for organizations and even home networks an incredible amount of IP addresses that can be used internally, and allows for important machines to be "hidden" from the world (such as your database with sensitive information on it, or the CEO's laptop)



    I hope this explanation was helpful; you see, both NAT and port numbers are a good thing, we wouldn't want to replace them with IPv6 because that is a huge step backwards, if anything we'd want to actually expand them, or replace them with something even better






    share|improve this answer


















    • 1





      1. "Defeats the very purpose that IPv6" - No it wouldn't, your computer probably has several IPv6 addresses already with no issues. At least 2^64 addresses are reserved for a typical home network. "Routing tables would become larger" - No they wouldn't, there's just one routing table entry for your whole network. (And when you look from outside of your ISP, there's just one entry for your whole ISP.) You really underestimate how big 2^128 is. Say you treated the last 16 bits as a port number (which is probably not how this would work), you still have 2^112 computer addresses.

      – immibis
      May 28 at 23:54











    • (In reality most computers don't use all 65536 ports either. I'd guesstimate it's less than 100 99% of the time)

      – immibis
      May 28 at 23:56












    • @immibis you covered everything I was thinking while reading the post

      – Tobiq
      May 29 at 10:44











    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
    );



    );













    draft saved

    draft discarded


















    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

























    6 Answers
    6






    active

    oldest

    votes








    6 Answers
    6






    active

    oldest

    votes









    active

    oldest

    votes






    active

    oldest

    votes









    12














    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.






    share|improve this answer



























      12














      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.






      share|improve this answer

























        12












        12








        12







        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.






        share|improve this answer













        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.







        share|improve this answer












        share|improve this answer



        share|improve this answer










        answered May 28 at 0:53









        Ron MaupinRon Maupin

        70.2k1372134




        70.2k1372134





















            9














            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.






            share|improve this answer























            • Comments are not for extended discussion; this conversation has been moved to chat.

              – Ron Maupin
              Jun 5 at 1:44















            9














            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.






            share|improve this answer























            • Comments are not for extended discussion; this conversation has been moved to chat.

              – Ron Maupin
              Jun 5 at 1:44













            9












            9








            9







            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.






            share|improve this answer













            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.







            share|improve this answer












            share|improve this answer



            share|improve this answer










            answered May 27 at 20:02









            Ron TrunkRon Trunk

            43.2k34090




            43.2k34090












            • Comments are not for extended discussion; this conversation has been moved to chat.

              – Ron Maupin
              Jun 5 at 1:44

















            • Comments are not for extended discussion; this conversation has been moved to chat.

              – Ron Maupin
              Jun 5 at 1:44
















            Comments are not for extended discussion; this conversation has been moved to chat.

            – Ron Maupin
            Jun 5 at 1:44





            Comments are not for extended discussion; this conversation has been moved to chat.

            – Ron Maupin
            Jun 5 at 1:44











            6














            The need for NATs as a way to share public IP adresses will be gone with IPv6, but NATs may still have some uses for security reasons.



            Removing ports might be possible in theory, but it would be a huge undertaking. Even if you reserve the last 16 bits of the IP adress for port number + 1 bit for TCP/UDP flag, you would need to rework all the software that unpacks the pactet from the 3rd layer into the 4th one to use the bits from IP adress for port number and protocol, instead of data in the packet.



            And that's the "easy" solution when you just put the port nubmers in the IP adress, if you wanted to get rid or port numbers altogether, you would need to change every software and library that uses ports, be it servers, clients, firewalls, etc etc. It would be basicly impossible, every software that says "open server at port X" which would work fine when just going from IPv4 to IPv6 would break instantly if you remove ports altogether.



            It is infinetely more easier to just keep the ports.






            share|improve this answer























            • Comments are not for extended discussion; this conversation has been moved to chat.

              – Ron Maupin
              May 29 at 22:03















            6














            The need for NATs as a way to share public IP adresses will be gone with IPv6, but NATs may still have some uses for security reasons.



            Removing ports might be possible in theory, but it would be a huge undertaking. Even if you reserve the last 16 bits of the IP adress for port number + 1 bit for TCP/UDP flag, you would need to rework all the software that unpacks the pactet from the 3rd layer into the 4th one to use the bits from IP adress for port number and protocol, instead of data in the packet.



            And that's the "easy" solution when you just put the port nubmers in the IP adress, if you wanted to get rid or port numbers altogether, you would need to change every software and library that uses ports, be it servers, clients, firewalls, etc etc. It would be basicly impossible, every software that says "open server at port X" which would work fine when just going from IPv4 to IPv6 would break instantly if you remove ports altogether.



            It is infinetely more easier to just keep the ports.






            share|improve this answer























            • Comments are not for extended discussion; this conversation has been moved to chat.

              – Ron Maupin
              May 29 at 22:03













            6












            6








            6







            The need for NATs as a way to share public IP adresses will be gone with IPv6, but NATs may still have some uses for security reasons.



            Removing ports might be possible in theory, but it would be a huge undertaking. Even if you reserve the last 16 bits of the IP adress for port number + 1 bit for TCP/UDP flag, you would need to rework all the software that unpacks the pactet from the 3rd layer into the 4th one to use the bits from IP adress for port number and protocol, instead of data in the packet.



            And that's the "easy" solution when you just put the port nubmers in the IP adress, if you wanted to get rid or port numbers altogether, you would need to change every software and library that uses ports, be it servers, clients, firewalls, etc etc. It would be basicly impossible, every software that says "open server at port X" which would work fine when just going from IPv4 to IPv6 would break instantly if you remove ports altogether.



            It is infinetely more easier to just keep the ports.






            share|improve this answer













            The need for NATs as a way to share public IP adresses will be gone with IPv6, but NATs may still have some uses for security reasons.



            Removing ports might be possible in theory, but it would be a huge undertaking. Even if you reserve the last 16 bits of the IP adress for port number + 1 bit for TCP/UDP flag, you would need to rework all the software that unpacks the pactet from the 3rd layer into the 4th one to use the bits from IP adress for port number and protocol, instead of data in the packet.



            And that's the "easy" solution when you just put the port nubmers in the IP adress, if you wanted to get rid or port numbers altogether, you would need to change every software and library that uses ports, be it servers, clients, firewalls, etc etc. It would be basicly impossible, every software that says "open server at port X" which would work fine when just going from IPv4 to IPv6 would break instantly if you remove ports altogether.



            It is infinetely more easier to just keep the ports.







            share|improve this answer












            share|improve this answer



            share|improve this answer










            answered May 28 at 9:04









            kajacxkajacx

            1613




            1613












            • Comments are not for extended discussion; this conversation has been moved to chat.

              – Ron Maupin
              May 29 at 22:03

















            • Comments are not for extended discussion; this conversation has been moved to chat.

              – Ron Maupin
              May 29 at 22:03
















            Comments are not for extended discussion; this conversation has been moved to chat.

            – Ron Maupin
            May 29 at 22:03





            Comments are not for extended discussion; this conversation has been moved to chat.

            – Ron Maupin
            May 29 at 22:03











            4














            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.






            share|improve this answer























            • Comments are not for extended discussion; this conversation has been moved to chat.

              – Ron Maupin
              May 30 at 0:46















            4














            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.






            share|improve this answer























            • Comments are not for extended discussion; this conversation has been moved to chat.

              – Ron Maupin
              May 30 at 0:46













            4












            4








            4







            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.






            share|improve this answer













            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.







            share|improve this answer












            share|improve this answer



            share|improve this answer










            answered May 27 at 20:04









            vidarlovidarlo

            22117




            22117












            • Comments are not for extended discussion; this conversation has been moved to chat.

              – Ron Maupin
              May 30 at 0:46

















            • Comments are not for extended discussion; this conversation has been moved to chat.

              – Ron Maupin
              May 30 at 0:46
















            Comments are not for extended discussion; this conversation has been moved to chat.

            – Ron Maupin
            May 30 at 0:46





            Comments are not for extended discussion; this conversation has been moved to chat.

            – Ron Maupin
            May 30 at 0:46











            0














            As others have said, having port numbers is a requirement, even if they end up being 'encoded' in the IP address of the service.



            Some applications need more than one port number. For example, most web servers need port 80 and 443 (and maybe another port for websockets or whatever). Such a system would need three IP addresses with encoded ports. Whilst we've got plenty of IPs, it would (at present) mean system-level configuration would be required to support those three port numbers. Using a separate port number means the apps can just start up and use the ports without needing the sysadmin to do some config work first. As others have said - it's just easier to use a port number.



            As for NAT, yes, IPv6 should remove the need for NAT in almost all cases. Some cases remain though, so it probably won't disappear entirely, but wide-spread use is likely to diminish significantly.






            share|improve this answer























            • Comments are not for extended discussion; this conversation has been moved to chat.

              – Ron Maupin
              May 30 at 0:46















            0














            As others have said, having port numbers is a requirement, even if they end up being 'encoded' in the IP address of the service.



            Some applications need more than one port number. For example, most web servers need port 80 and 443 (and maybe another port for websockets or whatever). Such a system would need three IP addresses with encoded ports. Whilst we've got plenty of IPs, it would (at present) mean system-level configuration would be required to support those three port numbers. Using a separate port number means the apps can just start up and use the ports without needing the sysadmin to do some config work first. As others have said - it's just easier to use a port number.



            As for NAT, yes, IPv6 should remove the need for NAT in almost all cases. Some cases remain though, so it probably won't disappear entirely, but wide-spread use is likely to diminish significantly.






            share|improve this answer























            • Comments are not for extended discussion; this conversation has been moved to chat.

              – Ron Maupin
              May 30 at 0:46













            0












            0








            0







            As others have said, having port numbers is a requirement, even if they end up being 'encoded' in the IP address of the service.



            Some applications need more than one port number. For example, most web servers need port 80 and 443 (and maybe another port for websockets or whatever). Such a system would need three IP addresses with encoded ports. Whilst we've got plenty of IPs, it would (at present) mean system-level configuration would be required to support those three port numbers. Using a separate port number means the apps can just start up and use the ports without needing the sysadmin to do some config work first. As others have said - it's just easier to use a port number.



            As for NAT, yes, IPv6 should remove the need for NAT in almost all cases. Some cases remain though, so it probably won't disappear entirely, but wide-spread use is likely to diminish significantly.






            share|improve this answer













            As others have said, having port numbers is a requirement, even if they end up being 'encoded' in the IP address of the service.



            Some applications need more than one port number. For example, most web servers need port 80 and 443 (and maybe another port for websockets or whatever). Such a system would need three IP addresses with encoded ports. Whilst we've got plenty of IPs, it would (at present) mean system-level configuration would be required to support those three port numbers. Using a separate port number means the apps can just start up and use the ports without needing the sysadmin to do some config work first. As others have said - it's just easier to use a port number.



            As for NAT, yes, IPv6 should remove the need for NAT in almost all cases. Some cases remain though, so it probably won't disappear entirely, but wide-spread use is likely to diminish significantly.







            share|improve this answer












            share|improve this answer



            share|improve this answer










            answered May 28 at 9:36









            Ralph BoltonRalph Bolton

            101




            101












            • Comments are not for extended discussion; this conversation has been moved to chat.

              – Ron Maupin
              May 30 at 0:46

















            • Comments are not for extended discussion; this conversation has been moved to chat.

              – Ron Maupin
              May 30 at 0:46
















            Comments are not for extended discussion; this conversation has been moved to chat.

            – Ron Maupin
            May 30 at 0:46





            Comments are not for extended discussion; this conversation has been moved to chat.

            – Ron Maupin
            May 30 at 0:46











            0














            IP Addresses and Ports, though usually seen together, perform very distinct tasks. IP Addresses are used to route traffic to your computer specifically and port numbers are used by applications.



            A very good analogy is sending mail to an apartment building. The address of the building would be equivalent to an IP address and the unit numbers would be analogous to a port number. For this analogy we'll say the building's address is 127 Home Ave. Say you wanted to send a letter to Henry T.T. Peterson, so you send a letter to the building, he doesn't receive it because it needs further direction to his apartment, apartment 80.



            In theory, IPv6 address could take the place of both IPv4 addresses and port numbers, however this violates well-established precedents of networking and there are some major drawbacks:



            • Defeats the very purpose that IPv6 was created to alleviate(concerns about the world running out of IP addresses)

            • Routing tables internal to routers and switches would become exponentially larger while offering no benefit(many address will route to the same physical computer)

            • Every application on every computer will need a unique address and although IPv6 offers many, many times more addresses (2^128 vs 2^32), we will run out rather quickly and then need to create IPv8, then IPv10, then IPv12, we will be racing an exponential curve and that pretty much won't be a fun time.

            As far as NAT goes, this was created for 2 reasons, there were already concerns that the world was running out of (or would run out of) public IP addresses, which was massively alleviated by allowing for organizations and even home networks an incredible amount of IP addresses that can be used internally, and allows for important machines to be "hidden" from the world (such as your database with sensitive information on it, or the CEO's laptop)



            I hope this explanation was helpful; you see, both NAT and port numbers are a good thing, we wouldn't want to replace them with IPv6 because that is a huge step backwards, if anything we'd want to actually expand them, or replace them with something even better






            share|improve this answer


















            • 1





              1. "Defeats the very purpose that IPv6" - No it wouldn't, your computer probably has several IPv6 addresses already with no issues. At least 2^64 addresses are reserved for a typical home network. "Routing tables would become larger" - No they wouldn't, there's just one routing table entry for your whole network. (And when you look from outside of your ISP, there's just one entry for your whole ISP.) You really underestimate how big 2^128 is. Say you treated the last 16 bits as a port number (which is probably not how this would work), you still have 2^112 computer addresses.

              – immibis
              May 28 at 23:54











            • (In reality most computers don't use all 65536 ports either. I'd guesstimate it's less than 100 99% of the time)

              – immibis
              May 28 at 23:56












            • @immibis you covered everything I was thinking while reading the post

              – Tobiq
              May 29 at 10:44















            0














            IP Addresses and Ports, though usually seen together, perform very distinct tasks. IP Addresses are used to route traffic to your computer specifically and port numbers are used by applications.



            A very good analogy is sending mail to an apartment building. The address of the building would be equivalent to an IP address and the unit numbers would be analogous to a port number. For this analogy we'll say the building's address is 127 Home Ave. Say you wanted to send a letter to Henry T.T. Peterson, so you send a letter to the building, he doesn't receive it because it needs further direction to his apartment, apartment 80.



            In theory, IPv6 address could take the place of both IPv4 addresses and port numbers, however this violates well-established precedents of networking and there are some major drawbacks:



            • Defeats the very purpose that IPv6 was created to alleviate(concerns about the world running out of IP addresses)

            • Routing tables internal to routers and switches would become exponentially larger while offering no benefit(many address will route to the same physical computer)

            • Every application on every computer will need a unique address and although IPv6 offers many, many times more addresses (2^128 vs 2^32), we will run out rather quickly and then need to create IPv8, then IPv10, then IPv12, we will be racing an exponential curve and that pretty much won't be a fun time.

            As far as NAT goes, this was created for 2 reasons, there were already concerns that the world was running out of (or would run out of) public IP addresses, which was massively alleviated by allowing for organizations and even home networks an incredible amount of IP addresses that can be used internally, and allows for important machines to be "hidden" from the world (such as your database with sensitive information on it, or the CEO's laptop)



            I hope this explanation was helpful; you see, both NAT and port numbers are a good thing, we wouldn't want to replace them with IPv6 because that is a huge step backwards, if anything we'd want to actually expand them, or replace them with something even better






            share|improve this answer


















            • 1





              1. "Defeats the very purpose that IPv6" - No it wouldn't, your computer probably has several IPv6 addresses already with no issues. At least 2^64 addresses are reserved for a typical home network. "Routing tables would become larger" - No they wouldn't, there's just one routing table entry for your whole network. (And when you look from outside of your ISP, there's just one entry for your whole ISP.) You really underestimate how big 2^128 is. Say you treated the last 16 bits as a port number (which is probably not how this would work), you still have 2^112 computer addresses.

              – immibis
              May 28 at 23:54











            • (In reality most computers don't use all 65536 ports either. I'd guesstimate it's less than 100 99% of the time)

              – immibis
              May 28 at 23:56












            • @immibis you covered everything I was thinking while reading the post

              – Tobiq
              May 29 at 10:44













            0












            0








            0







            IP Addresses and Ports, though usually seen together, perform very distinct tasks. IP Addresses are used to route traffic to your computer specifically and port numbers are used by applications.



            A very good analogy is sending mail to an apartment building. The address of the building would be equivalent to an IP address and the unit numbers would be analogous to a port number. For this analogy we'll say the building's address is 127 Home Ave. Say you wanted to send a letter to Henry T.T. Peterson, so you send a letter to the building, he doesn't receive it because it needs further direction to his apartment, apartment 80.



            In theory, IPv6 address could take the place of both IPv4 addresses and port numbers, however this violates well-established precedents of networking and there are some major drawbacks:



            • Defeats the very purpose that IPv6 was created to alleviate(concerns about the world running out of IP addresses)

            • Routing tables internal to routers and switches would become exponentially larger while offering no benefit(many address will route to the same physical computer)

            • Every application on every computer will need a unique address and although IPv6 offers many, many times more addresses (2^128 vs 2^32), we will run out rather quickly and then need to create IPv8, then IPv10, then IPv12, we will be racing an exponential curve and that pretty much won't be a fun time.

            As far as NAT goes, this was created for 2 reasons, there were already concerns that the world was running out of (or would run out of) public IP addresses, which was massively alleviated by allowing for organizations and even home networks an incredible amount of IP addresses that can be used internally, and allows for important machines to be "hidden" from the world (such as your database with sensitive information on it, or the CEO's laptop)



            I hope this explanation was helpful; you see, both NAT and port numbers are a good thing, we wouldn't want to replace them with IPv6 because that is a huge step backwards, if anything we'd want to actually expand them, or replace them with something even better






            share|improve this answer













            IP Addresses and Ports, though usually seen together, perform very distinct tasks. IP Addresses are used to route traffic to your computer specifically and port numbers are used by applications.



            A very good analogy is sending mail to an apartment building. The address of the building would be equivalent to an IP address and the unit numbers would be analogous to a port number. For this analogy we'll say the building's address is 127 Home Ave. Say you wanted to send a letter to Henry T.T. Peterson, so you send a letter to the building, he doesn't receive it because it needs further direction to his apartment, apartment 80.



            In theory, IPv6 address could take the place of both IPv4 addresses and port numbers, however this violates well-established precedents of networking and there are some major drawbacks:



            • Defeats the very purpose that IPv6 was created to alleviate(concerns about the world running out of IP addresses)

            • Routing tables internal to routers and switches would become exponentially larger while offering no benefit(many address will route to the same physical computer)

            • Every application on every computer will need a unique address and although IPv6 offers many, many times more addresses (2^128 vs 2^32), we will run out rather quickly and then need to create IPv8, then IPv10, then IPv12, we will be racing an exponential curve and that pretty much won't be a fun time.

            As far as NAT goes, this was created for 2 reasons, there were already concerns that the world was running out of (or would run out of) public IP addresses, which was massively alleviated by allowing for organizations and even home networks an incredible amount of IP addresses that can be used internally, and allows for important machines to be "hidden" from the world (such as your database with sensitive information on it, or the CEO's laptop)



            I hope this explanation was helpful; you see, both NAT and port numbers are a good thing, we wouldn't want to replace them with IPv6 because that is a huge step backwards, if anything we'd want to actually expand them, or replace them with something even better







            share|improve this answer












            share|improve this answer



            share|improve this answer










            answered May 28 at 14:47









            DreadedEntityDreadedEntity

            91




            91







            • 1





              1. "Defeats the very purpose that IPv6" - No it wouldn't, your computer probably has several IPv6 addresses already with no issues. At least 2^64 addresses are reserved for a typical home network. "Routing tables would become larger" - No they wouldn't, there's just one routing table entry for your whole network. (And when you look from outside of your ISP, there's just one entry for your whole ISP.) You really underestimate how big 2^128 is. Say you treated the last 16 bits as a port number (which is probably not how this would work), you still have 2^112 computer addresses.

              – immibis
              May 28 at 23:54











            • (In reality most computers don't use all 65536 ports either. I'd guesstimate it's less than 100 99% of the time)

              – immibis
              May 28 at 23:56












            • @immibis you covered everything I was thinking while reading the post

              – Tobiq
              May 29 at 10:44












            • 1





              1. "Defeats the very purpose that IPv6" - No it wouldn't, your computer probably has several IPv6 addresses already with no issues. At least 2^64 addresses are reserved for a typical home network. "Routing tables would become larger" - No they wouldn't, there's just one routing table entry for your whole network. (And when you look from outside of your ISP, there's just one entry for your whole ISP.) You really underestimate how big 2^128 is. Say you treated the last 16 bits as a port number (which is probably not how this would work), you still have 2^112 computer addresses.

              – immibis
              May 28 at 23:54











            • (In reality most computers don't use all 65536 ports either. I'd guesstimate it's less than 100 99% of the time)

              – immibis
              May 28 at 23:56












            • @immibis you covered everything I was thinking while reading the post

              – Tobiq
              May 29 at 10:44







            1




            1





            1. "Defeats the very purpose that IPv6" - No it wouldn't, your computer probably has several IPv6 addresses already with no issues. At least 2^64 addresses are reserved for a typical home network. "Routing tables would become larger" - No they wouldn't, there's just one routing table entry for your whole network. (And when you look from outside of your ISP, there's just one entry for your whole ISP.) You really underestimate how big 2^128 is. Say you treated the last 16 bits as a port number (which is probably not how this would work), you still have 2^112 computer addresses.

            – immibis
            May 28 at 23:54





            1. "Defeats the very purpose that IPv6" - No it wouldn't, your computer probably has several IPv6 addresses already with no issues. At least 2^64 addresses are reserved for a typical home network. "Routing tables would become larger" - No they wouldn't, there's just one routing table entry for your whole network. (And when you look from outside of your ISP, there's just one entry for your whole ISP.) You really underestimate how big 2^128 is. Say you treated the last 16 bits as a port number (which is probably not how this would work), you still have 2^112 computer addresses.

            – immibis
            May 28 at 23:54













            (In reality most computers don't use all 65536 ports either. I'd guesstimate it's less than 100 99% of the time)

            – immibis
            May 28 at 23:56






            (In reality most computers don't use all 65536 ports either. I'd guesstimate it's less than 100 99% of the time)

            – immibis
            May 28 at 23:56














            @immibis you covered everything I was thinking while reading the post

            – Tobiq
            May 29 at 10:44





            @immibis you covered everything I was thinking while reading the post

            – Tobiq
            May 29 at 10:44

















            draft saved

            draft discarded
















































            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.




            draft saved


            draft discarded














            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





















































            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







            Popular posts from this blog

            Club Baloncesto Breogán Índice Historia | Pavillón | Nome | O Breogán na cultura popular | Xogadores | Adestradores | Presidentes | Palmarés | Historial | Líderes | Notas | Véxase tamén | Menú de navegacióncbbreogan.galCadroGuía oficial da ACB 2009-10, páxina 201Guía oficial ACB 1992, páxina 183. Editorial DB.É de 6.500 espectadores sentados axeitándose á última normativa"Estudiantes Junior, entre as mellores canteiras"o orixinalHemeroteca El Mundo Deportivo, 16 setembro de 1970, páxina 12Historia do BreogánAlfredo Pérez, o último canoneiroHistoria C.B. BreogánHemeroteca de El Mundo DeportivoJimmy Wright, norteamericano do Breogán deixará Lugo por ameazas de morteResultados de Breogán en 1986-87Resultados de Breogán en 1990-91Ficha de Velimir Perasović en acb.comResultados de Breogán en 1994-95Breogán arrasa al Barça. "El Mundo Deportivo", 27 de setembro de 1999, páxina 58CB Breogán - FC BarcelonaA FEB invita a participar nunha nova Liga EuropeaCharlie Bell na prensa estatalMáximos anotadores 2005Tempada 2005-06 : Tódolos Xogadores da Xornada""Non quero pensar nunha man negra, mais pregúntome que está a pasar""o orixinalRaúl López, orgulloso dos xogadores, presume da boa saúde económica do BreogánJulio González confirma que cesa como presidente del BreogánHomenaxe a Lisardo GómezA tempada do rexurdimento celesteEntrevista a Lisardo GómezEl COB dinamita el Pazo para forzar el quinto (69-73)Cafés Candelas, patrocinador del CB Breogán"Suso Lázare, novo presidente do Breogán"o orixinalCafés Candelas Breogán firma el mayor triunfo de la historiaEl Breogán realizará 17 homenajes por su cincuenta aniversario"O Breogán honra ao seu fundador e primeiro presidente"o orixinalMiguel Giao recibiu a homenaxe do PazoHomenaxe aos primeiros gladiadores celestesO home que nos amosa como ver o Breo co corazónTita Franco será homenaxeada polos #50anosdeBreoJulio Vila recibirá unha homenaxe in memoriam polos #50anosdeBreo"O Breogán homenaxeará aos seus aboados máis veteráns"Pechada ovación a «Capi» Sanmartín e Ricardo «Corazón de González»Homenaxe por décadas de informaciónPaco García volve ao Pazo con motivo do 50 aniversario"Resultados y clasificaciones""O Cafés Candelas Breogán, campión da Copa Princesa""O Cafés Candelas Breogán, equipo ACB"C.B. Breogán"Proxecto social"o orixinal"Centros asociados"o orixinalFicha en imdb.comMario Camus trata la recuperación del amor en 'La vieja música', su última película"Páxina web oficial""Club Baloncesto Breogán""C. B. Breogán S.A.D."eehttp://www.fegaba.com

            Vilaño, A Laracha Índice Patrimonio | Lugares e parroquias | Véxase tamén | Menú de navegación43°14′52″N 8°36′03″O / 43.24775, -8.60070

            Cegueira Índice Epidemioloxía | Deficiencia visual | Tipos de cegueira | Principais causas de cegueira | Tratamento | Técnicas de adaptación e axudas | Vida dos cegos | Primeiros auxilios | Crenzas respecto das persoas cegas | Crenzas das persoas cegas | O neno deficiente visual | Aspectos psicolóxicos da cegueira | Notas | Véxase tamén | Menú de navegación54.054.154.436928256blindnessDicionario da Real Academia GalegaPortal das Palabras"International Standards: Visual Standards — Aspects and Ranges of Vision Loss with Emphasis on Population Surveys.""Visual impairment and blindness""Presentan un plan para previr a cegueira"o orixinalACCDV Associació Catalana de Cecs i Disminuïts Visuals - PMFTrachoma"Effect of gene therapy on visual function in Leber's congenital amaurosis"1844137110.1056/NEJMoa0802268Cans guía - os mellores amigos dos cegosArquivadoEscola de cans guía para cegos en Mortágua, PortugalArquivado"Tecnología para ciegos y deficientes visuales. Recopilación de recursos gratuitos en la Red""Colorino""‘COL.diesis’, escuchar los sonidos del color""COL.diesis: Transforming Colour into Melody and Implementing the Result in a Colour Sensor Device"o orixinal"Sistema de desarrollo de sinestesia color-sonido para invidentes utilizando un protocolo de audio""Enseñanza táctil - geometría y color. Juegos didácticos para niños ciegos y videntes""Sistema Constanz"L'ocupació laboral dels cecs a l'Estat espanyol està pràcticament equiparada a la de les persones amb visió, entrevista amb Pedro ZuritaONCE (Organización Nacional de Cegos de España)Prevención da cegueiraDescrición de deficiencias visuais (Disc@pnet)Braillín, un boneco atractivo para calquera neno, con ou sen discapacidade, que permite familiarizarse co sistema de escritura e lectura brailleAxudas Técnicas36838ID00897494007150-90057129528256DOID:1432HP:0000618D001766C10.597.751.941.162C97109C0155020