12 ms·
Clearly the successor solution is to use eight groups of four hexadecimal digits each, separated by colons. Then each individual seat and peanut could be addres
by zeagle 2y ago
Clearly the successor solution is to use eight groups of four hexadecimal digits each, separated by colons. Then each individual seat and peanut could be addressed to it's final destination.
More seriously the solution suggested of giving the 3 companies other unused prefixes like D* U* and A* to use with their codeshares and non rev flights to start seems the easiest.
- guardiangod 2y agoDone forget to have a secondary identifier to further divide the seat. I recommend using a short to represent the 65536 possible slices a seat can split. Then on the ticket, there would be an extension section that tells you the alias of the person that is about to board. We can call it SNI or Sitter Name Indicator. Another section could be an indicator if the rider is alive when boarding. We can call the extension a heartbeat extension.
- Charon77 2y agoGiven the history of airlines I'm not quite sure if you're joking or not. Sounds plausible ngl
- jachee 2y agoI know explaining a joke always makes it super funny, but… this is a NetEng joke about IPv6 being overbuilt.
- dotancohen 2y agoIPv6 is seen and used directly by professionals, not the general public. Overbuilding it in the sense being mocked made sense.
- CookieCrisp 2y agoWhich explains why professionals have so eagerly adopted it over the last two decades
- dbdoskey 2y agoReminds me of the line that network engineers love implementing IPv6 so much they have been doing it for years
- rvnx 2y agoWe could also have bumped 255.255.255.255 to 999.999.999.999 = 1 trillion IP addresses, easy-to-remember and backward compatibility with legacy devices. Modern clients and servers get IP addresses in these new whole IP ranges and can communicate together. Relatively easy to adapt the code of modern software also since it's about removing a restriction from a client-perspective. Load-balancers and legacy clients use IP addresses from the old pool. If you have Windows XP you can communicate only to legacy IPv4 (in practice only loadbalancers from Cloudflare, GCP, AWS and co) and your other legacy stuff. Others happily communicate together. But no, we got this wonderful IPv6. Sad because it was really doable, theoretical maximum below 512 GB of memory for routers to store the whole routing table, it's manageable, versus the 2.176×10^22 exabytes (!) of IPv6.
- davrosthedalek 2y agoBad idea, then all the fake IP addresses on Law&order and co would suddenly be valid.
- SonOfLilit 2y agoI'm guessing everyone downvotes you for the very strange implication that most software stores IP addresses in ASCII. All networking APIs I'm aware of expect IPv4 addresses as a DWORD.
- rvnx 2y agoThis is the point, instead of rewriting a full stack, I would rather change the prototype of these APIs. To store 999.999.999.999, then you are totally fine with a 64-bits INT (QWORD), and there is no struggle to backward-compatibility store a 32-bits INT (DWORD) into it. It's more of a matter of doing #ifdef IPV4_EXTENDED #define DWORD QWORD #endif and add an extra IP field inside the IP header packet itself that says, "this is the IPV4_EXTENDED DESTINATION 5-bytes IP", and the previous field is marked a legacy/deprecated. In fact, it's quite convenient, since we are all INT64, sockaddr_in would largely fit in an INT64 for both IP itself and the other elements that are in the struct. https://man7.org/linux/man-pages/man3/sockaddr.3type.html https://man7.org/linux/man-pages/man3/sockaddr.3type.html 5 bytes for the sin_addr field is enough to store until 999.999.999.999. Gives you 3 bytes to store the port etc. The networking APIs guys could be drinking cocktails at the bar by now, if they would change these types. There is backward compatibility and smaller effort for a great impact, and this is beautiful. It's actually beneficial for the majority of developers. From the developer of Windows, to the developer of Age of Empires, to the developer of a CRUD app on the web (who stores IP addresses as a string or as an int), they wouldn't see too much struggle to port to int64. Less than having to build a full new IPv6 experience. In practice, client apps, at the time you open a new socket, if your lib says it wants an INT32 or an INT64 it doesn't matter for the developer of that app, since type is automatically casted. time() had a similar situation. We migrated by adding new bytes, we didn't redefine the concept of time. From a developer-experience, "link to the latest version of the network library, oh btw, connect() accepts an int64" and remove the UI restriction of 255. It could even be possible to give compatibility to very old software that we lost source-code from by overriding the network layer with LD_LIBRARY_PRELOAD or equivalent, and patch these softwares by manually NOP the right JGE instruction (the asm code for " >= " ) that checks if we are over 255.
- nottorp 2y ago> IPv6 is seen and used directly by professionals, not the general public Yes, that's the problem. It's unusable on your fucking home network. Please, don't post again the 10 "concise" 50+ page documents that you "just" need to read to set up ipv6...
- FeepingCreature 2y agoI don't really understand. My router gives me an IPv6 address...
- nottorp 2y agoDo you understand on what basis? Do you know enough to assign addresses in a way that you, not your router, wants? Can you ssh/other forms of remote into any machine that accepts ssh on your local network using only ipv6? Can you redirect ports to specific local machines using only ipv6 (that implies they keep constant addresses)? Can you easily switch between two internet connections going through different routers that are plugged into the same switch for any machine on your local network using only ipv6? Speaking of which, since the ISP decides on the addresses behind your NAT, can two separate ipv6 internet connections even exist on a local network? This is all easily doable with ipv4 in like two afternoons without setting up anything beyond perhaps a dhcp server and some firewall rules. How many additional services do you need to do that with ipv6? And how enterprisey are they?
- vel0city 2y ago> Do you know enough to assign addresses in a way that you, not your router, wants? If I want to manually assign addresses it's still pretty simple, but in the end I normally just don't care. I don't want to know what IP my printer is, I just want to reach it. Which isn't a challenge at all. Even for things at my home that are IPv4 only they're practically all DHCP. Because there's little reason to ever really care about something's address. > Can you ssh/other forms of remote into any machine that accepts ssh on your local network using only ipv6? I have no problems reaching any host on any of my networks even if they're running only IPv6. It's nice too because I can trivially reach any port I want globally as well with a basic firewall change. Even better I can have one host have many IP addresses with different services bound to each address if I want. > Can you redirect ports to specific local machines using only ipv6 (that implies they keep constant addresses)? Why do any port redirection at all? Just set the firewall rule and things can hit it. And yeah, they can keep constant addresses. They can have dozens, hundreds of static host addresses if I want. > Can you easily switch between two internet connections going through different routers that are plugged into the same switch for any machine on your local network using only ipv6? If that's something you're really wanting, Network Prefix Translation can be done pretty easily. But the vast majority of home users aren't using dual WAN anyways. > This is all easily doable with ipv4 in like two afternoons Sounds like your setup with IPv4 took more work than mine with IPv6, as mine only took me an hour or so while yours took multiple days.
- ianburrell 2y agoThe funny thing is that IPv6 is used more by general public more than professionals. Public doesn't notice that their mobile network is IPv6, or that there home internet also supports it. It is the professionals that are dragging feet upgrading the business networks. More people access Google with IPv6 on weekends, currently 46%, than on weekdays, 43%. Presumably because mobile and home networks are more likely to be IPv6 than offices.
- dotancohen 2y agoNo, IPv6 is the underlying technology behind the general consumers' internet connections, but the general public is not using IPv6. The general public has no idea what IPv6 is. I.e. IPv6 is used by the general public, but the general public is not using IPv6.
- ArchOversight 2y agoBy that same token the general public is also not using IPv4. The general public doesn't care, so long as TikTok and Facebook appear on their mobile devices.
- dotancohen 2y agoWhen you are driving are you using a throttle body?
- Thedarkb 2y agoWhen I drive my work van I use a throttle body, when I drive my car I use a carburettor. From my point of view as a user, I'm just driving a vehicle. The point is that users see a holistic system and neither know nor care about the underlying implementation details.
- dotancohen 2y ago> The point is that users see a holistic system and neither know nor care about the underlying implementation details. Yes, this is my point too. End users are not "using IPv6" even if that protocol is in use to transfer their data.
- pixl97 2y agoRouter: Do you want to hear an IPv6 joke IPv4_Device: Yea Router: I'm sorry, you wouldn't get it.
- nottorp 2y agoIt's ipv6 :)
- immibis 2y agoWhere do zone identifiers come into the picture?
- lxgr 2y agoHaving multiple prefixes per airline doesn't seem trivial, given that this historically wasn't a thing. I could imagine a bazillion code snippets of if flightNumber.startsWith(OUR_AIRLINE_CODE) that might be incredibly painful to fix on short notice.
- deleted 2y ago[deleted]
- charrondev 2y agoAt least the pain only has to be dealt with by the companies that wrote code like that?
- drdaeman 2y agoSearching a large codebase for a constant (like "DL", plus tracing all related variable use if something is assigned this or related value), and replacing the logic is a relatively easy kind of change. Especially in the modern day when we got all those nice semantic analysis and code transformation tools. Especially if they got proper tests. Certainly way easier than replacing use of a deprecated API (and people do this kind of stuff all the time).
- kelnos 2y agoI think you have an unreasonably optimistic view of the current state of most of these code bases.
- rob74 2y ago> the solution suggested of giving the 3 companies other unused prefixes like D* U* and A* to use with their codeshares That would have the additional benefit of being able to tell at first glance if your flight is actually flown by the airline you are booking or by someone else. But I'm not sure airlines actually want this to be that obvious...
- roshankhan28 2y agoNo but wasn't this issue was really obvious? like 4 digits number ending? could be a technology issue if this was invented in the 80's but as time progress the engineers should have seen coming this. and why cant we just use the same set of numbers again? like a flight from toronto to brazil or any part of the world , the flight will always be the same, there will always be a set of people that would want to go brazil from toronto. it will be easier that way to find the flights online and people can even memorize.
- raverbashing 2y ago> More seriously the solution suggested of giving the 3 companies other unused prefixes like D* U* and A* to use with their codeshares and non rev flights to start seems the easiest. That's exactly it. And what happens in merger situations where they keep operating some of the flights with the letters of the old companies The A* space seems full, the D* space is almost full though, U* has some space https://en.wikipedia.org/wiki/List_of_airline_codes https://en.wikipedia.org/wiki/List_of_airline_codes
- ginko 2y agoWhy do airlines even need separate flight numbers for codeshare flights? Why not just use the flight number of the operating airline in the booking? IMO it's just confusing for passengers as well.
- xattt 2y agoI feel the real reason is also why badge engineered cars also exist: market capture.
- HPsquared 2y agoMore jobs for everyone.
- mbreese 2y agoI think the answer is due to money and pride. My guess is that the issue is billing and international relations. Code shares aren’t (often) between airlines that are from the same country. So, if you have a requirement to fly a particular flag carrier, you have greater flexibility. For example if the ticket is funded by the US gov’t, you can still take an Air France flight, but get billed by Delta. Or, for frequent fliers (whom airlines love to target with rewards), you can have miles accumulate with United even if you are taking an Air Canada flight. But I would think that this change could be made on the backend much easier than trying to add another number to the flight IDs.
- delfinom 2y agoThe marketing carrier, aka the one with the airline code on the ticket becomes liable for certain things in most countries. Codeshare is one way who is responsible is known to outside parties immediately. It also impacts automatic luggage transfers for layovers. Not to mention, there are bits where if I buy a JAL ticket for AA internationally, I get 2 free checked bags while the same AA sold and operated flight has no free checked bags. The JAL code lets the airline systems quickly determine they can't force you to pay up at the luggage drop-off because you are under the other carrier's rules for the flights. A lot of this is based on the pre-smartphone age but I don't think there's better solutions that are both computer, person and policy friendly either.
- nolok 2y agoIf you think it takes a long time for ipv6 to "take over" in the old back bone infrastructure of the internet, trust me you have seen nothing compared to making that kind of change in air travel back bones.
- belorn 2y agoThe even more simpler solution is to just give up on unique identifiers within an airline and simply give each airplane its own name space. The existing system of a 4 digits can then continue, and all that is required is to use a bunch of translation layers to figure out which airline and which plane corresponds to a specific flight. Adding a prefix would mean that all software need to change at the same time in order to include the prefix. Adding translation layers can be done on top of existing old software.
- eek2121 2y agoIPv6 was the worst idea ever and no one can prove me wrong. The folks that invented it must’ve never had to deal with a mission critical task during a DNS outage, for example.
- ReptileMan 2y agoRoughly 20 years ago a network engineer I worked with said - "We took a look and IPv4 had everything we want and need but the address space". Why the committees didn't just made it 128 bit and be done with it is beyond me.
- immibis 2y agoThey basically did. All the other changes are minor cleanups like getting rid of fields nobody uses, and realigning header bytes. Except SLAAC, but that wasn't part of the original design anyway. That was an accident when some major vendor implemented SLAAC before it implemented DHCPv6. The plan was to keep DHCP.
- deleted 2y ago[deleted]
- drdaeman 2y agoJust do it right please and make sure every flyer gets at least four last groups and two last digits of the fourth group to themselves. ;)