|
Suspicious Dish posted:Comcast is looking at adding infrastructure to do the translation at the CO rather than at the home, so you talk IPv4 to the CO, and it talks IPv6 to the backbone. Doesn't this not fix the problem that IPv6 is supposed to fix in the first place?
|
# ? Jun 10, 2012 14:35 |
|
|
# ? May 14, 2024 01:58 |
|
I'm just curious as to how that even works. If I have an IPv6 only address how do I open a socket to it if my local LAN is IPv4?
|
# ? Jun 10, 2012 15:46 |
Hughlander posted:I'm just curious as to how that even works. If I have an IPv6 only address how do I open a socket to it if my local LAN is IPv4? Presumably your router will run a tunnel endpoint and which you then connect to. So you tunnel across your own local network. Actually that doesn't make much sense at all, why would you run an IPv4-only local network? If your router doesn't speak IPv6 it can't connect to an IPv6-only ISP anyway. If it does speak IPv6 then you will also be running IPv6 locally. Edit: Or do you mean "my ISP is v4-only and I want to connect to a v6-only host"? Then you need a third-party tunnel provider, essentially like a proxy.
|
|
# ? Jun 10, 2012 17:11 |
|
nielsm posted:Presumably your router will run a tunnel endpoint and which you then connect to. So you tunnel across your own local network. I was responding to the quote on this page: Suspicious Dish posted:Comcast is looking at adding infrastructure to do the translation at the CO rather than at the home, so you talk IPv4 to the CO, and it talks IPv6 to the backbone. And not understanding how that would work with you trying to hit an IPv6 resource. Unless they're saying that your local network is IPv6, their router/cablemodem tunnels it over IPv4, then it becomes IPv6 again at the CO. At which point why bother? Is the last mile IPv6 really that impossible? (Seems like a networking horror to me!)
|
# ? Jun 10, 2012 17:26 |
|
Everything networking is a horror
|
# ? Jun 10, 2012 17:38 |
|
Instead of a one-IPv4-to-many-IPv4 NAT, it is a one IPv6-to-many-IPv4 NAT (or even many-IPv6-to-many-IPv4).
|
# ? Jun 10, 2012 18:29 |
|
Hughlander posted:And not understanding how that would work with you trying to hit an IPv6 resource. Unless they're saying that your local network is IPv6, their router/cablemodem tunnels it over IPv4, then it becomes IPv6 again at the CO. I don't actually know how. It's just R&D right now, and it might just not pan out. They've just said that they've experimenting with IPv6-only routing while keeping existing IPv4-only devices, punting IPv6 to the CO. Hughlander posted:At which point why bother? Is the last mile IPv6 really that impossible? This will only be the case for customers who do not have IPv6-aware networking equipment in their home. They don't want to tell their customers "go buy a new set of hardware or you will get cut off from the internet forever. We're doing the right thing, trust us".
|
# ? Jun 10, 2012 19:44 |
|
My ISP is supposedly rolling out end-user ipv6 somewhere this fall. Quick, someone convince me that even with the liberal allocation schemes for ipv6 addresses we're not gonna run out in, like, 2073 when we realize we really gotta allocate a whole subnet to each of everybody's fridge's compartments!
|
# ? Jun 10, 2012 21:51 |
Vanadium posted:My ISP is supposedly rolling out end-user ipv6 somewhere this fall. IPv6 allows about 10^38 addresses. That's enough that if every person currently living replaced every atom of their body with a nanobot, and every nanobot needed a separate address, we would use something like 14% of available addresses.
|
|
# ? Jun 10, 2012 22:12 |
|
VikingofRock posted:IPv6 allows about 10^38 addresses. That's enough that if every person currently living replaced every atom of their body with a nanobot, and every nanobot needed a separate address, we would use something like 14% of available addresses. But if each nanobot had two fridges with 5 compartments...
|
# ? Jun 10, 2012 22:14 |
|
Suspicious Dish posted:I don't actually know how. It's just R&D right now, and it might just not pan out. They've just said that they've experimenting with IPv6-only routing while keeping existing IPv4-only devices, punting IPv6 to the CO. My source was Comcast itself. 6rd is 6to4, only the ISP prefix puts routing in their court, rather than a random third party tunneler. This is transitional, not permanent. Their solution appears to be IPv6 with basically a "4to6" of sorts - IPv4 is tunnelled instead of IPv6. Also, the software they put out: quote:This is an extension of OpenWrt, and it offers two different types of tunneling support. The first is where the user only has an IPv4 address and tunnels IPv6, using 6RD. The second is where the user only has an IPv6 address and tunnels IPv4, using Dual-Stack Lite. Doctor w-rw-rw- fucked around with this message at 23:52 on Jun 10, 2012 |
# ? Jun 10, 2012 23:50 |
|
Vanadium posted:My ISP is supposedly rolling out end-user ipv6 somewhere this fall.
|
# ? Jun 11, 2012 00:55 |
|
There's enough IPv6 address to give one quadrillion of them to each star in the universe.
|
# ? Jun 11, 2012 01:13 |
|
So what you're saying is, we're going to run out of IPv6 addresses because every atom in the universe wants to be a wifi hotspot?
|
# ? Jun 11, 2012 01:42 |
|
I'm not literally expecting to run out of individual addresses I'm just wondering how all the subdivisioning is going to work out. I'm gonna write up a thing like the short story where the computer scientists inadvertently create god, just with internet protocol revisions instead of bigger and bigger computers.
|
# ? Jun 11, 2012 01:47 |
|
Hughlander posted:Is the last mile IPv6 really that impossible? (Seems like a networking horror to me!) Yes? As long as you have a single customer using IPv4 only equipment you need an IPv4 network for them. How do you propose to have everyone in the world upgrade to IPv6 equipment?
|
# ? Jun 11, 2012 02:01 |
|
the talent deficit posted:Yes? As long as you have a single customer using IPv4 only equipment you need an IPv4 network for them. How do you propose to have everyone in the world upgrade to IPv6 equipment? How does that relate to not having the last mile IPv6 though? You *CAN* run more than one network over the same L1 topography... The issue wasn't supporting IPv4 but rather supporting IPv6 only past the CO.
|
# ? Jun 11, 2012 02:49 |
|
the talent deficit posted:Yes? As long as you have a single customer using IPv4 only equipment you need an IPv4 network for them. How do you propose to have everyone in the world upgrade to IPv6 equipment? Last mile IPv6 is not mutually exclusive from last mile IPv4, and IPv4 can be tunneled everywhere else. Getting back to horror, I have discovered a new horror: binary processing. Postgres' wire protocol is fantastic but oh god, bytes <-> Scala case classes* is so freaking tedious. * close enough analogy: Scala POJOs
|
# ? Jun 11, 2012 03:21 |
|
http://seclists.org/oss-sec/2012/q2/493 while true; do mysql -u root mysql --password=fail; done quote:Here's the issue. When a user connects to MariaDB/MySQL, a token (SHA
|
# ? Jun 11, 2012 05:13 |
|
Janin posted:http://seclists.org/oss-sec/2012/q2/493 quote:Synopsis You stop thinking of the return value as an int, and more of something that you can do if (blah) to see if they're different-- so might as well return it as a boolean type, right? And C doesn't have bools, so we can just use chars. Now someone does a crazy SIMD implementation that actually returns values using the full int range. You're screwed. e: code:
Scaevolus fucked around with this message at 05:49 on Jun 11, 2012 |
# ? Jun 11, 2012 05:40 |
|
Can't say I'm particularly surprised, though; MySQL is a horror in itself - IMO, sort of like the PHP of databases. As far as SQL databases go, I would advocate PostgreSQL for any new code.
|
# ? Jun 11, 2012 07:45 |
|
Scaevolus posted:
code:
|
# ? Jun 11, 2012 14:23 |
|
PrBacterio posted:But how would anyone ever not write More importantly, why would anyone ever write: C code:
|
# ? Jun 11, 2012 14:30 |
|
What should you write instead? stdbool.h is C99.
|
# ? Jun 11, 2012 14:38 |
|
Suspicious Dish posted:What should you write instead? stdbool.h is C99. If I saw something called my_bool in someone else's code, it'd never occur to me that it was really a char without looking up how it was defined in the header and it would really piss me off - he'd have been better off just having a return type of char.
|
# ? Jun 11, 2012 14:55 |
|
Doctor w-rw-rw- posted:Can't say I'm particularly surprised, though; MySQL is a horror in itself - IMO, sort of like the PHP of databases. As far as SQL databases go, I would advocate PostgreSQL for any new code. On occasion I've searched for comparisons between MySQL and PostgreSQL, but I've yet to find a good one. Can you suggest one? NB. I would suggest the following criteria apply for deciding whether a comparison is "good": - should not be out of date (it's easy to search and find articles that claim, for example, that in MySQL you can't use subqueries, even though that hasn't been true for years) - should not be biased in one direction - should not be overly fussy about adherence to the ANSI standard (not that standards are irrelevant, but as long as deviation from the standard isn't really egregious I don't care about it as much as I care about functionality) - shouldn't fuss about issues that can be overcome by correctly configuring the software (take it for granted that MySQL should always be running in strict mode; naturally this goes the other way too and means that it should be assumed that PostgreSQL has been properly set up for the user's needs) I had a serious look at using PostgreSQL a while back but was not convinced that doing so would be worth the hassle. You gain some things, like CHECK constraints, while losing some others (per-column character sets and collations, more integer data types than guaranteed by the standard)
|
# ? Jun 11, 2012 15:15 |
|
hieronymus posted:If I saw something called my_bool in someone else's code, it'd never occur to me that it was really a char without looking up how it was defined in the header and it would really piss me off - he'd have been better off just having a return type of char. Do you want an unsigned char or something? What else are you supposed to do in C89?
|
# ? Jun 11, 2012 16:29 |
|
Hammerite posted:I had a serious look at using PostgreSQL a while back but was not convinced that doing so would be worth the hassle. You gain some things, like CHECK constraints, while losing some others (per-column character sets and collations, more integer data types than guaranteed by the standard) Why, for the love of Codd, would you want per column character sets? In general you are not going to find good comparisons between MySQL and Postgres, most people will not be using both of them to the kind of degree you would need for a comparison. Postgres has been ahead of MySQL for some time now, and I have no reason to believe it's changed. I can't really help as it would require a choir of actual angels to descend to earth and explain, in detail, with slides, why MySQL has improved beyond Postgres.
|
# ? Jun 11, 2012 16:43 |
|
hobbesmaster posted:Do you want an unsigned char or something? What else are you supposed to do in C89? C++ code:
|
# ? Jun 11, 2012 17:06 |
|
At this point the biggest deal breaker is the licensing for each project. MySQL's jdbc driver is GPL and Postgres' is BSD. We actually had to switch to Postgres because we couldn't get any sane licensing from MySQL after the Oracle takeover.
|
# ? Jun 11, 2012 17:46 |
|
Zombywuf posted:Why, for the love of Codd, would you want per column character sets? Handy if you want to use UTF-8 to support internationalisation, but also want to use ASCII text for some key columns used internally. For example, if you have a table of user privileges you might use (say) a CHAR(20) CHARACTER SET ascii COLLATE ascii_bin NOT NULL as the primary key so that you can identify privileges by descriptive names. You don't want the indexed column to be 80 bytes when it should be 20 bytes.
|
# ? Jun 11, 2012 18:15 |
|
Why would it be 80 bytes? edit: Oh, right, CHAR, not VARCHAR. Nevermind. edit #2: Of course your example doesn't really work when comparing MySQL to PostgreSQL, because: The PostgreSQL manual posted:Tip: There is no performance difference among these three types, apart from increased storage space when using the blank-padded type, and a few extra CPU cycles to check the length when storing into a length-constrained column. While character(n) has performance advantages in some other database systems, there is no such advantage in PostgreSQL; in fact character(n) is usually the slowest of the three because of its additional storage costs. In most situations text or character varying should be used instead. pseudorandom name fucked around with this message at 18:37 on Jun 11, 2012 |
# ? Jun 11, 2012 18:22 |
|
Hammerite posted:Handy if you want to use UTF-8 to support internationalisation, but also want to use ASCII text for some key columns used internally. For example, if you have a table of user privileges you might use (say) a CHAR(20) CHARACTER SET ascii COLLATE ascii_bin NOT NULL as the primary key so that you can identify privileges by descriptive names. You don't want the indexed column to be 80 bytes when it should be 20 bytes. In MySQL they would only be 60 bytes
|
# ? Jun 11, 2012 18:48 |
|
Hammerite posted:On occasion I've searched for comparisons between MySQL and PostgreSQL, but I've yet to find a good one. Can you suggest one? It takes advantage of multiple cores better, it was engineered to be correct first and fast second, whereas MySQL was the opposite, and after all these years the speed advantage has lessened. It also has PostGIS, much, much better time support (there are useful time functions that account for time zones, and you can group by time slices and more), and a number of interesting extensions. I think its default encoding is something sane and not latin-swedish or something. MySQL has better replication, from what I hear. Postgres's docs are good; I've been writing a Postgres driver for fun and so far it's actually been really straightforward, because the wire protocol spec is well-documented. That's about all I know.
|
# ? Jun 11, 2012 18:50 |
|
MEAT TREAT posted:In MySQL they would only be 60 bytes I'm aware of MySQL's misnamed "utf8" character set. When I talk about using UTF-8 you may assume I'm considering the utf8mb4 character set. Although, that brings up another possible example for per-column character sets. I could see the possibility that you might want to offer UTF-8 support but want to restrict some columns to be BMP characters only. For example, perhaps you might want to allow user names only to use BMP characters.
|
# ? Jun 11, 2012 19:04 |
|
Doctor w-rw-rw- posted:It takes advantage of multiple cores better, it was engineered to be correct first and fast second, whereas MySQL was the opposite, and after all these years the speed advantage has lessened. It also has PostGIS, much, much better time support (there are useful time functions that account for time zones, and you can group by time slices and more), and a number of interesting extensions. I think its default encoding is something sane and not latin-swedish or something. When you voiced strong opinions on MySQL I assumed they were also highly-informed opinions, but I guess I was wrong to do that. When you said "As far as SQL databases go, I would advocate PostgreSQL for any new code", I suppose I should have read "I would use Postgres if I were you, I heard someone used MySQL once and it filled his computer with SPIDERS"
|
# ? Jun 11, 2012 19:12 |
|
Hammerite posted:When you voiced strong opinions on MySQL I assumed they were also highly-informed opinions, but I guess I was wrong to do that. When you said "As far as SQL databases go, I would advocate PostgreSQL for any new code", I suppose I should have read "I would use Postgres if I were you, I heard someone used MySQL once and it filled his computer with SPIDERS" Nope, I'm just parroting a rough compilation of what people have told me who work with databases at high-volume websites, including the one I work at, which uses PHP/MySQL.
|
# ? Jun 11, 2012 19:17 |
|
pseudorandom name posted:Why would it be 80 bytes? Isn't that comparing the behaviour of CHAR, VARCHAR and TEXT column types (or the Postgres equivalents thereof) of a specific character set, rather than comparing index sizes/behaviour for a particular column type for various character sets? I'm not convinced this note from the Postgres manual demonstrates what you say it does. (by the way here is the manual page if anyone wants to read it.)
|
# ? Jun 11, 2012 19:19 |
|
Hammerite posted:On occasion I've searched for comparisons between MySQL and PostgreSQL, but I've yet to find a good one. Can you suggest one? I wrote one a while ago, but can't seem to find it. I guess I'll just have to recreate it here. The biggest and most annoying difference that I've found is in user management and connection configuration. Postgres connection configuration is done through a config file, and it can be a real pain in the rear end to conceptualize. Thankfully, it can also authenticate against external sources, like PAM and LDAP. MySQL can do that also, but you have to pay for it or use a third-party distro. Like MySQL, Postgres users (roles) have permissions. Unlike MySQL, entities actually have an owner. This makes permission management a major complexity if you (correctly) use a multi-role setup with different users for installation/maintenance and day-to-day use. This also makes multi-tenant setup difficult (shared hosting). The second huge difference is in performance tweaking. Absolutely none of the performance tweaking knowledge that you've learned by playing with MySQL is going to apply to Postgres. They are wildly different animals. The query planner in Postgres also isn't functionally retarded, so you don't need to do wacky things like putting subqueries in the FROM clause in order to avoid profoundly stupid behavior. EXPLAIN output is also very, very different. So are all of the I/O optimizations, not that you'd generally need any. Most of the other little things that stick out are day-to-day usage quirks/anti-quirks:
McGlockenshire fucked around with this message at 19:47 on Jun 11, 2012 |
# ? Jun 11, 2012 19:40 |
|
|
# ? May 14, 2024 01:58 |
|
Thanks for the overview, that's good information. You should upload it somewhere, rather than let it get buried in this thread.
|
# ? Jun 11, 2012 20:33 |