Discussion:
Data flow over the net
(too old to reply)
b***@hotmail.com
2015-09-17 16:05:14 UTC
Permalink
Hi,
If a new ISP starts up,it has to be allocated IP addresses, right? What does this mean? What exactly is this step of "allocating", and who does it?

How and when does that address become routable to? I'm no expert on internet routing, but it's based on graph theory, right?


Thanks.
Barry Margolin
2015-09-18 02:17:55 UTC
Permalink
Post by b***@hotmail.com
Hi,
If a new ISP starts up,it has to be allocated IP addresses, right? What does
this mean? What exactly is this step of "allocating", and who does it?
They contact a Regional Internet Registry and purchase an IP block. For
instance, in North America they get it from ARIN, American Registry for
Internet Numbers.
Post by b***@hotmail.com
How and when does that address become routable to? I'm no expert on internet
routing, but it's based on graph theory, right?
They establish connections to other ISPs, and advertise their address
blocks using BGP, the Border Gateway Protocol.
--
Barry Margolin
Arlington, MA
b***@hotmail.com
2015-09-21 12:34:03 UTC
Permalink
Post by Barry Margolin
Post by b***@hotmail.com
Hi,
If a new ISP starts up,it has to be allocated IP addresses, right? What does
this mean? What exactly is this step of "allocating", and who does it?
They contact a Regional Internet Registry and purchase an IP block. For
instance, in North America they get it from ARIN, American Registry for
Internet Numbers.
But I thought nobody was in charge of the internet....? If ARIN dislikes someone, and refuses to give them any IPs, then what happens....?
Post by Barry Margolin
Post by b***@hotmail.com
How and when does that address become routable to? I'm no expert on internet
routing, but it's based on graph theory, right?
They establish connections to other ISPs, and advertise their address
blocks using BGP, the Border Gateway Protocol.
What does this do? Could you just give me a short overview....? I'd prefer that to Wikipedia or whatever... :)
Post by Barry Margolin
--
Barry Margolin
Arlington, MA
Thanks for your help.
Barry Margolin
2015-09-21 16:59:06 UTC
Permalink
Post by b***@hotmail.com
Post by Barry Margolin
Post by b***@hotmail.com
Hi,
If a new ISP starts up,it has to be allocated IP addresses, right? What does
this mean? What exactly is this step of "allocating", and who does it?
They contact a Regional Internet Registry and purchase an IP block. For
instance, in North America they get it from ARIN, American Registry for
Internet Numbers.
But I thought nobody was in charge of the internet....? If ARIN dislikes
someone, and refuses to give them any IPs, then what happens....?
If they don't meet the requirements to get IPs directly from ARIN (or
some other RIR), perhaps because they're too small, they purchase a
connection from a larger ISP. The ISP then assigns them a portion of
their own address block.
Post by b***@hotmail.com
Post by Barry Margolin
Post by b***@hotmail.com
How and when does that address become routable to? I'm no expert on internet
routing, but it's based on graph theory, right?
They establish connections to other ISPs, and advertise their address
blocks using BGP, the Border Gateway Protocol.
What does this do? Could you just give me a short overview....? I'd prefer
that to Wikipedia or whatever... :)
BGP is how ISPs learn the address blocks that belong to each other. ISP1
tells ISP2 "I have a route for 50.60.128.0/15". ISP2 merges that with
all the routing advertisements it has received from other ISPs, and uses
that when deciding where to send traffic. (This is an extreme
simplification, read the Wikipedia article on BGP for more details.)
--
Barry Margolin
Arlington, MA
b***@hotmail.com
2015-09-24 17:28:15 UTC
Permalink
Post by Barry Margolin
BGP is how ISPs learn the address blocks that belong to each other. ISP1
tells ISP2 "I have a route for 50.60.128.0/15". ISP2 merges that with
all the routing advertisements it has received from other ISPs, and uses
that when deciding where to send traffic. (This is an extreme
simplification, read the Wikipedia article on BGP for more details.)
OK, thanks. For the moment, could you just clear up 2 things for me...? :
1) Suppose I'm watching a Youtube video - it's true that different bytes of the same video could travel via different routes to get to me, right? Say, I'm in the UK, one byte could come straight from the US, and another via South America, say....? I mean, that's what TCP/IP does, right?

2) What does the /15 mean, above? I've tried many times to understand what subnetting is, but I've never really got it. I think you have to understand internet routing before that, which, as I said, I don't *yet* (will soon! :) ), right....? I realise that that IS, probably, a separate question, I may open a new thread for that later, for the moment, could you just help me out...? :)


Thanks.
Mike Stump
2015-09-25 02:43:57 UTC
Permalink
Post by b***@hotmail.com
1) Suppose I'm watching a Youtube video - it's true that different bytes of the same video could travel via different routes to get to me,
No. This generally doesn't happen.
Post by b***@hotmail.com
right? Say, I'm in the UK, one byte could come straight from the US, and another via South America, say....? I mean, that's what TCP/IP does,
right?
Again, no.
Robert Wessel
2015-09-25 08:07:01 UTC
Permalink
Post by b***@hotmail.com
Post by Barry Margolin
BGP is how ISPs learn the address blocks that belong to each other. ISP1
tells ISP2 "I have a route for 50.60.128.0/15". ISP2 merges that with
all the routing advertisements it has received from other ISPs, and uses
that when deciding where to send traffic. (This is an extreme
simplification, read the Wikipedia article on BGP for more details.)
1) Suppose I'm watching a Youtube video - it's true that different bytes of the same video could travel via different routes to get to me, right? Say, I'm in the UK, one byte could come straight from the US, and another via South America, say....? I mean, that's what TCP/IP does, right?
Yes. At least that's what IP does - packets are routed based on the
router's current view of the network. TCP reassembles those into the
order they were sent (and dealing with other things like lost
packets). In practice, there's a lot less variance in path than many
people seem to expect (although it certainly does exist).
Post by b***@hotmail.com
2) What does the /15 mean, above? I've tried many times to understand what subnetting is, but I've never really got it. I think you have to understand internet routing before that, which, as I said, I don't *yet* (will soon! :) ), right....? I realise that that IS, probably, a separate question, I may open a new thread for that later, for the moment, could you just help me out...? :)
Look at it this way: every IP network is in a subnet, routing is
between subnets. The /15 in the above defines what addresses are in
the subnet. In this case the /15 means that the first 15 bits of the
32 bit IPv4 address define the subnet, so all the addresses from
50.60.0.0 to 50.61.255.255 are in that subnet. I suspect Barry meant
to use 50.60.128.0/17 as the example (which would define a subnet
containing all the address from 50.60.128.0 to 50.60.255.255, or
looking at the binary, addresses matching
00110010.00111100.1xxxxxxx.xxxxxxxx). In Barry's example, 50.60.128.0
is one address in that subnet.

Note that what's a single subnet at one level might be several smaller
subnets at another level. For example, a (very) big company might
have 50.60.128/17 assigned to it, which is the one subnet the world
sees, but internally that would be divided up into many smaller
subnets. An ISP with that assignment might, for example, dole out /23s
(blocks of 32 IPv4 addresses) to individual businesses using that ISP.
Again, the world would see the one large (/17) block), but once a
packet get into the ISP's network, the ISPs routers would figure out
to which individual company (/23) to route the packet.
Jorgen Grahn
2015-09-25 08:09:13 UTC
Permalink
Post by b***@hotmail.com
Post by Barry Margolin
BGP is how ISPs learn the address blocks that belong to each other. ISP1
tells ISP2 "I have a route for 50.60.128.0/15". ISP2 merges that with
all the routing advertisements it has received from other ISPs, and uses
that when deciding where to send traffic. (This is an extreme
simplification, read the Wikipedia article on BGP for more details.)
1) Suppose I'm watching a Youtube video - it's true that different
bytes of the same video could travel via different routes to get to
me, right? Say, I'm in the UK, one byte could come straight from the
US, and another via South America, say....? I mean, that's what TCP/IP
does, right?
IP is designed so it /could/ happen, yes. Not on the byte level but
on the IP packet level. And an application or IP stack which cannot
cope with it happening is broken by definition, IMO.

I think it doesn't happen very often. Especially spreading one data
flow over several routes has drawbacks, like packets arriving in the
wrong order, sudden MTU changes and so on.

Perhaps it's more common that packets A->B take a different path than
B->A does? I'd be interested to hear about it from someone who knows
more about the topology as it looks today.

/Jorgen
--
// Jorgen Grahn <grahn@ Oo o. . .
\X/ snipabacken.se> O o .
Barry Margolin
2015-09-25 15:07:59 UTC
Permalink
Post by Jorgen Grahn
Post by b***@hotmail.com
Post by Barry Margolin
BGP is how ISPs learn the address blocks that belong to each other. ISP1
tells ISP2 "I have a route for 50.60.128.0/15". ISP2 merges that with
all the routing advertisements it has received from other ISPs, and uses
that when deciding where to send traffic. (This is an extreme
simplification, read the Wikipedia article on BGP for more details.)
1) Suppose I'm watching a Youtube video - it's true that different
bytes of the same video could travel via different routes to get to
me, right? Say, I'm in the UK, one byte could come straight from the
US, and another via South America, say....? I mean, that's what TCP/IP
does, right?
IP is designed so it /could/ happen, yes. Not on the byte level but
on the IP packet level. And an application or IP stack which cannot
cope with it happening is broken by definition, IMO.
I think it doesn't happen very often. Especially spreading one data
flow over several routes has drawbacks, like packets arriving in the
wrong order, sudden MTU changes and so on.
Also, for efficiency there's lots of caching of routing rules in
routers. The cache is usually keyed on the port numbers, so all packets
of a particular connection will take the same path.
Post by Jorgen Grahn
Perhaps it's more common that packets A->B take a different path than
B->A does? I'd be interested to hear about it from someone who knows
more about the topology as it looks today.
Yes, this is not uncommon.

Networks usually try to use the shortest path to get traffic out of
their network to the next ISP in the chain. Suppose ISP1 and ISP2
interconnect on both the east and west coasts. A is in ISP1 on the west
coast, while B is in ISP2 on the east coast. The A->B traffic will go to
the western connection point, then cross the country via ISP2's network.
B->A traffic will go to the eastern connection point, then cross the
country via ISP1's network.
--
Barry Margolin
Arlington, MA
Torbjorn Lindgren
2015-09-25 22:43:18 UTC
Permalink
Post by Jorgen Grahn
Post by b***@hotmail.com
1) Suppose I'm watching a Youtube video - it's true that different
bytes of the same video could travel via different routes to get to
me, right? Say, I'm in the UK, one byte could come straight from the
US, and another via South America, say....? I mean, that's what TCP/IP
does, right?
IP is designed so it /could/ happen, yes. Not on the byte level but
on the IP packet level. And an application or IP stack which cannot
cope with it happening is broken by definition, IMO.
I think it doesn't happen very often. Especially spreading one data
flow over several routes has drawbacks, like packets arriving in the
wrong order, sudden MTU changes and so on.
Splitting packets from the same "conversation" over multiple links is
relatively rare (to avoid packet reordering and various other
undesirable effetcs), but multiple simultaneous streams between two
machines can sometimes take different or very different paths.

Sometimes existing connections will shift path "mid-stream", due to
router/links either being removed or added. It's very rare that is
even noticeable if it happens.

Multiple links showing through in traceroute can make it harder to
debug, mostly if the paths are really diverse or different lenghts
(a bad, bad idea!).
Post by Jorgen Grahn
Perhaps it's more common that packets A->B take a different path than
B->A does? I'd be interested to hear about it from someone who knows
more about the topology as it looks today.
I'd suspect MOST not directly peered US-only traffic actually goes
different paths in each direction, either different physical paths,
via different ISPs or both.

If we take a sufficiently large US ISP and a very large content
network (like Youtube or Netflix) they're probably peering directly to
each other (to reduce cost) and "popular" content either gets
delivered from a nearby node or is served from specialized caches
actually on the ISPs network.

In both those cases it's fairly likely it's traversing similar or
possibly identical paths in both directions which was why I excepted
them from my initial statement.


I could write a lot more on this subject but the best reference I know
is the traceroute presentation shown on the 47th NANOG Meeting (North
American Network Operators Group).

There's a reason why it's a recurring topic on the NANOG mailing list
and meetings, asymmetrical and "funky" routing is common in the real
world but normal text books doesn't cover it much.

https://www.nanog.org/meetings/nanog47/presentations/Sunday/RAS_Traceroute_N47_Sun.pdf
b***@hotmail.com
2015-09-21 12:44:08 UTC
Permalink
Also, one more question - can someone like Arin also make addresses NOT routable to later, if they want to.....? There's all this child porn and what not on the net, some really filthy disgusting SICK shit, to get rid of it, you don't need to bomb any PHYSICAL data centre, you just need to make the IP address of the web host invalid....?
Barry Margolin
2015-09-21 16:53:31 UTC
Permalink
Post by b***@hotmail.com
Also, one more question - can someone like Arin also make addresses NOT
routable to later, if they want to.....? There's all this child porn and what
not on the net, some really filthy disgusting SICK shit, to get rid of it,
you don't need to bomb any PHYSICAL data centre, you just need to make the IP
address of the web host invalid....?
ARIN has nothing to do with routing, they just assign the IP blocks.
When two ISPs connect, they agree to accept each other's routing
advertisements.
--
Barry Margolin
Arlington, MA
Loading...