5 ms·
> Groups of zeros can be omitted with two colons, but only once in an address (i.e. 2000:1::1, but not 2000::1::1 as that is ambiguous) Can someone explain why
by mojuba 10mo ago
> Groups of zeros can be omitted with two colons, but only once in an address (i.e. 2000:1::1, but not 2000::1::1 as that is ambiguous)
Can someone explain why it's ambiguous?
On the subject, IPv6 is one of the strangest inventions on the internet. Its utility and practically are obvious no matter how you look at it except... just one thing.
Network-related things are generally easy to remember and then type from memory: IPv4, domain names, standard port numbers. Back in the day it was the phone numbers, again, easy to remember and dial when you need it. IPv6 is just too long and requires copy/paste all the time. This is the only real reason in my opinion, why IPv6 is doomed to be second-grade citizen for (probably) a few more decades.
- boob 10mo ago> Can someone explain why it's ambiguous? Because you don’t know how many zeroes are on each side around the 0001 in the middle. It can be 2000:0000:1:0000:0000:0000:0000:1 or 2000:0000:0000:0000:0000:1:0000:1 etc.
- koakuma-chan 10mo agoThis shortcut system of ipv6 only makes it worse. It's too hard to remember how it works.
- karlshea 10mo ago":: is all zeros" is too hard??
- koakuma-chan 10mo agoIt's not just ":: is all zeroes"
- ninkendo 10mo ago… such as?
- DaSHacka 10mo agohttps://news.ycombinator.com/item?id=46338674 https://news.ycombinator.com/item?id=46338674
- WarOnPrivacy 10mo agoI am not clear what your point is. The parent's point stands. A double colon only represents zeros (that were compressed and are not displayed). Your link does not show different addresses from a valid compression, it shows different addresses from an invalid compression. The link examples what we don't do. Conversely, if we compress the expanded addresses in your link, we will get 2 different compressed addresses.
- Dylan16807 10mo agoThat's a post about invalid things that are not IPv6 addresses. In IPv6 addresses, :: is all zeroes and there's no ambiguity.
- webignition 10mo agoHow many zeros?
- db48x 10mo agoExactly enough to fill out the address, which is always the same length. BTW, IPv4 does basically the same thing. The address 127.1 is equivalent to 127.0.0.1.
- integralid 10mo agoNot really the same, the mechanics are different and this particular behaviour is pretty much an accident, not abbreviation. In IPv4 you also have 127.257 equal to 127.0.1.1, 123456789 equal to 7.91.205.21, and 010.010.010.010 is a well-know DNS server. This notation is also rejected by most implementations.
- jstanley 10mo agoHowever many are left. In what circumstances do you care?
- kstrauser 10mo agoHowever many it takes to make the whole A::B number exactly 128 bits long.
- paulddraper 10mo ago“Enough”
- icedchai 10mo agoIs it really hard to remember? A hint is in the syntax itself. What's in between the two colons '::'? Nothing. In other words, all zeros. IPv4 also has a similar, though rarely documented or utilized, shortcut system. Try `ping 1.1` for example. It expands to 1.0.0.1.
- ggm 10mo agowhats the rule to say where the first 1 floats between the 2000: and the :1 at the end? the :: rule says "all zeros" but not how long.
- doubletwoyou 10mo agothe :1 is short for :0001 basically and then just put that bit of the address at the very end and put the first bit of the address at the front, and then just fill each missing group inbetween with 0000
- webignition 10mo ago"just"
- bigstrat2003 10mo agoYes, in fact "just". This isn't remotely hard.
- karlshea 10mo agoThese types of complaints are how I know the objection to v6 is not serious.
- Dagger2 10mo agoWell, okay, show us how to follow those instructions then. "the :1 is short for :0001 basically" is easy enough: you get 2001::0001::0001. Then "just put that bit at the very end" -- but which bit? If it means the ":0001", then there's two of them and they can't both go at the very end. If not, then it fails to specify which bit. Either way I don't see how these instructions are followable at all, let alone easily.
- db48x 10mo agoIt’s a really complicated rule called “subtraction”. Addresses are always 128 bits long, or 8 groups of four hex digits. 2000::1 is two groups, so you need six groups in between to make 2000:0000:0000:0000:0000:0000:0000:1. But I don’t know why people always ask this, because it’s always the computer you are typing addresses in to that does the subtraction. You never ever have to type out the whole address. Just type the shortened version, because 2000::1 _is_ the whole address.
- deleted 10mo ago[deleted]
- deleted 10mo ago[deleted]
- clashandcarry 10mo ago2000:1::1 would expand to 2000:0001:0000:0000:0000:0000:0000:0001 2000::1::1 could be 2000:0000:0000:0000:0001:0000:0000:001, or 2000:00000000:0001:0000:0000:0000:001 There's ambiguity on where to fill in the five groups of 0000 in the second case.
- WarOnPrivacy 10mo ago> Network-related things are generally easy to .. type from memory [but] IPv6 is just too long I was reminded of this 2d ago; I was testing one IPv6 WAN from another. DDNS had failed so I didn't have my usual crutch to lean on.
- nwellinghoff 10mo agoI said this in a previous post and was shot down hard. I think you are right. Every time I look at a ipv6 address my brain goes “fack this”.
- WarOnPrivacy 10mo ago> Every time I look at a [long] ipv6 address my brain goes “fack this”. I do get that but I also get 'There are so many I could have all I wanted ... or I could if any of our fiber ISPs would support it, that is'
- hdgvhicv 10mo agoI finally clicked when I worked out it was 2^64 subnets . You have a common prefix of you /48, which isn’t much longer than an ipv4 address - especially as it seems everything is 2001::/16, which means you basically have to remember a 32 bit network prefix just like 12.45.67.8/32. That becomes 2001:0c2d:4308::/48 instead After that you just need to remember the subnet number and the host number. If you remember 12.45.67.8 maps to 192.168.13.7 you might have 2001:0c2d:4308:13::7 So subnet “13” and host “7” It’s not much different to remebering 12.45.67.8>192.168.13.7
- WarOnPrivacy 10mo ago> especially as it seems everything is 2001::/16 I was sort of expecting that this week. I had to transcribe a v6 addy for a WAN-WAN test (a few mi apart). That's when I noticed that Charter (Spectrum) had issued 2603:: for one WAN and 2602:: for the other WAN. ref: https://bgp.he.net/AS33363#_prefixes6 https://bgp.he.net/AS33363#_prefixes6
- themafia 10mo agoThe current global unicast space is actually limited to just 2000::/3. https://www.iana.org/assignments/ipv6-address-space/ipv6-address-space.xhtml https://www.iana.org/assignments/ipv6-address-space/ipv6-add...
- mike_d 10mo ago
- ekropotin 10mo agoI mean yes, but there’s no escape from the fact that ip addresses need to be longer as amount of devices on the internet already exhausted the pool of IPv4 addresses by multiple orders of magnitude. I guess it could be possible to implement sort of mnemonic phrases for addresses, à la bip-39, but it would be just trading one kind of pain for another.
- api 10mo agoI've said this since time immemorial, and networking people often dismiss it. "Just use DNS," say people who have never actually worked netops or devops. The length of the addresses and the clunky nature of their ASCII representation is absolutely the #1 reason the IPv6 has taken this long. User experience is the most powerful force affecting large scale adoption, and IPv6 has poor UX. I think the UX is partly fixable by creating less horrible ASCII representation, but this would take a lot of coordination that was hard even back then and is virtually impossible now. If someone told me in 500 years we're still running dual-stack IPv4/IPv6 absolutely unchanged, I'd believe it.
- zamadatix 10mo agoHalf the reason (literally) the address looks so bad is not because of IPv6 but because everyone keeps choosing to implement randomized in-subnet addresses and cycle through them for privacy reasons. E.g. 2600:15a3:7020:4c51::52/64 is not too horrible but 2600:15a3:7020:4c51:3268:b4c4:dd7b:789/64 is a monster by unrelated intent of the client.
- flumpcakes 10mo agoThis is pretty much on the money. IPv6 addressing can be pretty simple if you design your subnets and use low numbers for hosts. But hosts themselves will forgo that and randomly generate 64 bit random host addresses for themselves - some times for every new connection. Now you have thousands of IPv6 addresses for a single computer speaking out to the Internet. "Modern" tooling in the consumer space is pretty dire for IPv6 support too. The best you can reasonably get is an IPv6 on the WAN side and then just IPv4 for everything local. At least from the popular routers I've experienced lately.
- api 10mo agoI’ve been amazed for years at the fact that many of the best routers turn V6 off by default. Of course I know why. If you turn it on it slightly increases edge case issues as complexity always does. Most people don’t actively need it so nobody notices.
- throw0101c 10mo ago> This is the only real reason in my opinion, why IPv6 is doomed to be second-grade citizen for (probably) a few more decades. Except if you're using a mobile phone, in which case many telcos hand out only IPv6 addresses to handsets. 2018 NANOG presentation "T-Mobile's journey to IPv6": * https://www.youtube.com/watch?v=d6oBCYHzrTA https://www.youtube.com/watch?v=d6oBCYHzrTA From 2014, "Case Study: T-Mobile US Goes IPv6-only Using 464XLAT": * https://www.internetsociety.org/deploy360/2014/case-study-t-mobile-us-goes-ipv6-only-using-464xlat/ https://www.internetsociety.org/deploy360/2014/case-study-t-... But who cares about mobile phones, right? They're only second-grade devices.
- ck2 10mo agomy tmobile 5g modem has ipv4 but changes ip every single page load, it's wild I'm used to cablemodems with static ipv4 for months basically until mac changes
- throw0101c 10mo agoIs it per chance 100.64.0.0/10? * https://en.wikipedia.org/wiki/IPv4_shared_address_space https://en.wikipedia.org/wiki/IPv4_shared_address_space
- WarOnPrivacy 10mo agoIt could be 21.0/8 ref:https://old.reddit.com/r/tmobileisp/comments/1gg7361/why_is_tmobile_giving_network_210008_addresses/ https://old.reddit.com/r/tmobileisp/comments/1gg7361/why_is_... I booted an LTE router using a T-Mobile SIM. Within an hour I had changed WAN IP. Both were from AS749 US-DOD NIC in 33.79.135.0/24 & 21.140.100.0/24. They were cgnat'd behind TMble's advertised asn.
- hylaride 10mo ago> my tmobile 5g modem has ipv4 but changes ip every single page load, it's wild They're probably using CG-NAT, though IP changes that often is a bit aggressive.
- zajio1am 10mo ago> IPv6 is just too long and requires copy/paste all the time. That is only true for autogenerated/SLAAC IPs. In contrast, manually assigned IPs are often much simpler and easier to remember in IPv6 than in IPv4. I have one common subnet prefix that can be uniformly split to end networks and last number in IP address for such network always end with 0 (and therefore the first device is xxx::1). While in IPv4 i had multiple prefixes, each split non-uniformly based on how many devices was expected to be on that end network, and because most end network prefixes were smaller than /24 (say /26-28), the last number of IP address varies between these networks.