MediaWiki API result

This is the HTML representation of the JSON format. HTML is good for debugging, but is unsuitable for application use.

Specify the format parameter to change the output format. To see the non-HTML representation of the JSON format, set format=json.

See the complete documentation, or the API help for more information.

{
    "batchcomplete": "",
    "continue": {
        "gapcontinue": "Routing_Menu",
        "continue": "gapcontinue||"
    },
    "warnings": {
        "main": {
            "*": "Subscribe to the mediawiki-api-announce mailing list at <https://lists.wikimedia.org/postorius/lists/mediawiki-api-announce.lists.wikimedia.org/> for notice of API deprecations and breaking changes."
        },
        "revisions": {
            "*": "Because \"rvslots\" was not specified, a legacy format has been used for the output. This format is deprecated, and in the future the new format will always be used."
        }
    },
    "query": {
        "pages": {
            "1548": {
                "pageid": 1548,
                "ns": 0,
                "title": "Routing",
                "revisions": [
                    {
                        "contentformat": "text/x-wiki",
                        "contentmodel": "wikitext",
                        "*": "Each IP packet has both a source and a destination IP address.\nRouting is the act of forwarding a packet from router to router so\nas to eventually deliver it to its destination.  The\n[[Routing 101]]\nentry has a nice description of how this plays out.\n\nWithin a router, the routing process is controlled by a routing table,\nwhich is an ordered list of individual routes.\nAn individual route describes a netblock and a next-hop IP address.\nThe netblock describes a range of IP addresses using a base IP address\nand a netmask, as with 10.10.1.0/24.  The next-hop address is the IP address\nof a directly connected router.  The meaning of a route is that a packet\nwhose destination address is within the given netblock should be forwarded\nto the given IP address.\n\nThe routes are ordered by the set-inclusion relationship among the netblocks.\nThat is, if the netbock in one route is a subset of the netblock in another,\nthen the smaller one is listed first.\nThis ordering is calculated and enforced automatically by the router.\nLuckily, if two netblocks have any overlap at all, then one is a subset of the\nother, so that it is fairly easy for the router to determine the appropriate order.\nFor netblocks with no overlap, their relative order in the table is immaterial.\n\nThe routing table is scanned in order, and the first match wins.\nThis means that more specific routes take precedence over more general ones.\nFor example, suppose there are two routes\n\"10.10.10.4/30 -> 1.2.3.4\" and \"10.10.10.0/24 -> 5.6.7.8\".\nThat means that packets aimed at 10.10.10.4,\n10.10.10.5, 10.10.10.6, and 10.10.10.7 are routed to 1.2.3.4, and all other\npackets aimed at subnet 10.10.10 are sent to 5.6.7.8.\n\nOne happy consequence of the general routing rules\nis that a route with netblock 0.0.0.0/0 will match every packet, and it will\nalways be last in the routing table.\nThis means that it will be used as a last resort when no other route matches.\nFor this reason, this route is called the default route.\n\nStarOS shows the routing table under the \"advanced->system reports\" tab.\n\nRoutes get inserted into routing tables in a variety of ways.\nIf you enter one explicitly by hand, it is called a static route.\nIf some software adds it in response to environmental conditions, it is\ncalled a dynamic route.  Routers add dynamic routes for\neach subnet defined on some interface.  For such a \"connected\" route,\nthe notion of next-hop is immaterial\n\nUsing a dynamic routing protocol like RIP, OSPF, BGP, or OLSR, routers\ncan interact among themselves to learn routes.  Thus, instead of manually\nconfiguring static routes, you can let a dynamic routing protocol disseminate\ninformation about the connected routes that exist within each router.\n\nPolicy routing allows fine-grain control of routing decisions.  For example,\nwith source-based routing, the next-hop can depend on a packet's source IP address\nas well as its destination IP address."
                    }
                ]
            },
            "1527": {
                "pageid": 1527,
                "ns": 0,
                "title": "Routing 101",
                "revisions": [
                    {
                        "contentformat": "text/x-wiki",
                        "contentmodel": "wikitext",
                        "*": "__NOTOC__\n==The Simplest Example You Have Ever Seen==\n\nLet's say we have four subnets in our network named A, B, C, & D\n\nNow let's say they are arranged in just that order\n\n A can ping B \n B can ping C \n C can ping D\n\nNow let's say (lot's of let's says in this example) that Subnet A is hooked up to the Internet.\n\nSo now we have: \n\n Internet &larr; &rarr; A &larr; &rarr; B &larr; &rarr; C &larr; &rarr; D\n\n==Packet Coming In==\n\nSo, what happens when a packet from <font color=\"red\">'''Subnet X'''</font> comes into our network destined for a client on <font color=\"green\">'''Subnet D'''</font>?\n\nFirst, <font color=\"red\">'''Subnet X Packet'''</font> asks <font color=\"blue\">'''Subnet A'''</font> \"Where is <font color=\"green\">'''Subnet D'''</font>?\".\n\n<font color=\"blue\">'''Subnet A'''</font> says \"Not sure, but I've got a route that says <font color=\"magenta\">'''Subnet B'''</font> knows\".\n\n<font color=\"red\">'''Subnet X Packet'''</font> goes on to <font color=\"magenta\">'''Subnet B'''</font> and asks the same question again.\n\n<font color=\"magenta\">'''Subnet B'''</font> says \"Not sure, but I've got a route that says <font color=\"orange\">'''Subnet C'''</font> knows\".\n\n<font color=\"red\">'''Subnet X Packet'''</font> goes on to <font color=\"orange\">'''Subnet C'''</font> and asks one more time.\n\n<font color=\"orange\">'''Subnet C'''</font> says \"<font color=\"green\">'''Subnet D'''</font> is right here\"\n\n<font color=\"red\">'''Subnet X Packet'''</font> is a happy little camper.\n\n==Packet Going Out==\n\nNow, the client on <font color=\"green\">'''Subnet D'''</font> sends a packet back to <font color=\"red\">'''Subnet X'''</font>\n\n<font color=\"green\">'''Subnet D'''</font> doesn't have a route to <font color=\"red\">'''Subnet X'''</font> so he sends it out his default gateway which happens to be <font color=\"orange\">'''Subnet C'''</font>.\n\n<font color=\"orange\">'''Subnet C'''</font> receives the packet going to <font color=\"red\">'''Subnet X'''</font> and says \"I don't have a route to <font color=\"red\">'''Subnet X'''</font>\" and sends it out his default gateway which just happens to be <font color=\"magenta\">'''Subnet B'''</font>.\n\n<font color=\"magenta\">'''Subnet B'''</font> receives the packet going to <font color=\"red\">'''Subnet X'''</font> and says \"Don't know, I don't have a route to <font color=\"red\">'''Subnet X'''</font>\" and sends it out his default gateway which just happens to be <font color=\"blue\">'''Subnet A'''</font>.\n\n<font color=\"blue\">'''Subnet A'''</font> receives the packet going to <font color=\"red\">'''Subnet X'''</font> and says \"No clue, I don't have a route to <font color=\"red\">'''Subnet X'''</font>\" and sends it out his default gateway which is the Internet (otherwise known as the \"Upstream Provider\").\n\nFrom there, the Packet is going to ask every router it encounters along the way where <font color=\"red\">'''Subnet X'''</font> is located.  If the router knows, it directs the packet.  If the router doesn't know, it sends it out its default gateway.  The Packet may hit 5 more routers or 50 routers.  It may even cross a few bridges between routers. Eventually, it will find its way home, or a dead end.  If it hits a dead end, a message comes all the way back to the client that originally sent the Packet saying \"Sorry, dead end.  No idea where he's supposed to go.\"\n\n==The End==\nThat's it.  No magic.  No Voodoo.  Just plain and simple routing.  Now doing it with numbers is a little more difficult, but not much.  As long as A can ping B can ping C can ping D, you can add the routes needed to make A capable of pinging C & D and vice-versa."
                    }
                ]
            }
        }
    }
}