Today, various networks/protocols are in existence. Different classification methods/viewpoints are essential in understanding them.
Routing principles(for routing protocol only):There are generally three kinds of routing protocols: the link-state and the distance-vector (including path-vector).
LS: advertise each link info. to all other nodes. (flooding, msg per router: O(n*d))
-essentially, many small messages
DV: advertise its whole routing table to only neighbors. (rummer, msg per router: O(d))
-essentially, relatively few large messages
Note the number of advertisement is meant to be before the computation.
While link-state involves global flooding of each link to update "indexed" route info., distance-vector is to disseminate local distance-vector through neighbors. The computation of LS is after flooding, whereas DV embeds the computation within the dissemination process (ie., in a round-to-round manner). Specifically, the link-state is to flood every link state to every node in the network, in a way to construct a global view of network topology known by every node. The flooding is always loop-free by indicating a sequence number. The routing table is then constructured by computing the Shortest-Paths locally by the Dijkstra. The distance-vector is a every-node-run-it and round-to-round version of the Bellman-ford algorithm; Every node maintains a distance vector to every other node in the network (note, not the global network topology), and update it by disseminate it through all neighbors to keep other's DV up-to-date. ^2
Exterior Gateway Protocol is BGP which is kind of DV (actually path-vector, and at application layer). Examples of Interior Gateway Protocol (for LAN) may be RIP, a distance-vector protocol (application/network layer), or OSPF, a typical link-state protocol (link layer).
Protocol Layering Overview:
Each kind of network has/is a suit of protocols, with each belonging to a/some specific layer in the protocol stack. For example, the Ethernet widely used in enterprise internal networks mainly focus on layer-1 and layer-2, while the Internet protocols are scattered in 4 layers (which can be essentially mapped to all 7 layers of the OSI model). The Internet Protocols has a waist model?...
PS: Internet could also refer to the set of all existing networks.
LS: advertise each link info. to all other nodes. (flooding, msg per router: O(n*d))
-essentially, many small messages
DV: advertise its whole routing table to only neighbors. (rummer, msg per router: O(d))
-essentially, relatively few large messages
Note the number of advertisement is meant to be before the computation.
While link-state involves global flooding of each link to update "indexed" route info., distance-vector is to disseminate local distance-vector through neighbors. The computation of LS is after flooding, whereas DV embeds the computation within the dissemination process (ie., in a round-to-round manner). Specifically, the link-state is to flood every link state to every node in the network, in a way to construct a global view of network topology known by every node. The flooding is always loop-free by indicating a sequence number. The routing table is then constructured by computing the Shortest-Paths locally by the Dijkstra. The distance-vector is a every-node-run-it and round-to-round version of the Bellman-ford algorithm; Every node maintains a distance vector to every other node in the network (note, not the global network topology), and update it by disseminate it through all neighbors to keep other's DV up-to-date. ^2
Exterior Gateway Protocol is BGP which is kind of DV (actually path-vector, and at application layer). Examples of Interior Gateway Protocol (for LAN) may be RIP, a distance-vector protocol (application/network layer), or OSPF, a typical link-state protocol (link layer).
Protocol Layering Overview:
Each kind of network has/is a suit of protocols, with each belonging to a/some specific layer in the protocol stack. For example, the Ethernet widely used in enterprise internal networks mainly focus on layer-1 and layer-2, while the Internet protocols are scattered in 4 layers (which can be essentially mapped to all 7 layers of the OSI model). The Internet Protocols has a waist model?...
PS: Internet could also refer to the set of all existing networks.
Network topological/protocol hierarchy:
host -> bridges and segments (Ethernet) -> routers and subnets -> ASes (hierarchical)
Network topology is truly hierarchical in nature: At the toppest level (application layer), AS is hierarchical; Each lowest-Tier AS could then contain several subnets and routers (a subnet could be an Ethernet); Again, each modern Ethernet could consist of several Ethernet segments connected by switches or bridges. An Ethernet segment is shared-bus structure of several hosts.
Above network layer, the Internet is really a set of subnets and routers between subnets. Subnets are identified by a single network ip, which means network ip appears in routing table's entries. By such means, router store per-subnet routing info, rather than per-host. At network layer, the internal structure of LAN is simly full-connected; every host can contact its attach router in one hop.
As to the host IP address within one subnet, there are two forms; the host is connected to the router, directly, or by NAT. The former implies each host is directly on the Internet (在公网上), having a public IP address. In the latter case, the LAN's network identifier is a complete IP, yet each host is identified on the Internet by its public identifier, namely LAN's IP+port, dynamically. From internal view, each host is configured with a reserved IP, which is transformed to its public identifier by NAT. This solution is to resolve the scarcity of public IP on the Internet.
On application layer, certain set of subnets and routers could form an Autonomous System (AS). The hierarchy of ASes could be recursive; set of some ASes could form a high-level AS. Each ISP corresponds to ISP who administrates this AS and has right in designating routing pollicy within this AS. The hierarchy of ASes can be modeled as a DAG (not the tree). The provider-customer relationship forms a tree, while multihoming, peering could be other links in the DAG besides the tree. Routing at application layer could be divided as inter-domain and intra-domain routings.
Link layer takes a closer look than network and explains how a single hop in network is performed. Specifically, link layer focuses on the internal structure of LAN and the link between routers (ie., point-to-point link). The core technical issue of link layer (including data-link and physical layers) is how to route (covered by data-link layer) following the topology of physical layer. The data-link layer focuses on Media Access Control and Logic Link Control, the form requiring to identify a host (whether it is the host of destination) and the latter providing some routing quality guarantee. Thus, a major distinct of data-link layer is to route on MAC, which introduces problems involving translation of IP to MAC (ARP) and automatically assigning IP (DHCP).
Ethernet is a typical LAN with protocols on link layer. The network topology is bridging (or switching) several segments each of which is a shared bus accessed by CSMA/CD, (note all these are at physical layer). The routing involves flooding and source-learning. The flooding (partially in unicast and always in broadcast) could form a loop, which Ethernet resolves by computing the spanning tree.
How each frame corresponds to a data packet?
Why IGMP should be a layer-3 protocol, rather than a layer-2 one, since it actually works between router and end-hosts?(because it doesn't run on switches!)
host -> bridges and segments (Ethernet) -> routers and subnets -> ASes (hierarchical)
Network topology is truly hierarchical in nature: At the toppest level (application layer), AS is hierarchical; Each lowest-Tier AS could then contain several subnets and routers (a subnet could be an Ethernet); Again, each modern Ethernet could consist of several Ethernet segments connected by switches or bridges. An Ethernet segment is shared-bus structure of several hosts.
Above network layer, the Internet is really a set of subnets and routers between subnets. Subnets are identified by a single network ip, which means network ip appears in routing table's entries. By such means, router store per-subnet routing info, rather than per-host. At network layer, the internal structure of LAN is simly full-connected; every host can contact its attach router in one hop.
As to the host IP address within one subnet, there are two forms; the host is connected to the router, directly, or by NAT. The former implies each host is directly on the Internet (在公网上), having a public IP address. In the latter case, the LAN's network identifier is a complete IP, yet each host is identified on the Internet by its public identifier, namely LAN's IP+port, dynamically. From internal view, each host is configured with a reserved IP, which is transformed to its public identifier by NAT. This solution is to resolve the scarcity of public IP on the Internet.
On application layer, certain set of subnets and routers could form an Autonomous System (AS). The hierarchy of ASes could be recursive; set of some ASes could form a high-level AS. Each ISP corresponds to ISP who administrates this AS and has right in designating routing pollicy within this AS. The hierarchy of ASes can be modeled as a DAG (not the tree). The provider-customer relationship forms a tree, while multihoming, peering could be other links in the DAG besides the tree. Routing at application layer could be divided as inter-domain and intra-domain routings.
Link layer takes a closer look than network and explains how a single hop in network is performed. Specifically, link layer focuses on the internal structure of LAN and the link between routers (ie., point-to-point link). The core technical issue of link layer (including data-link and physical layers) is how to route (covered by data-link layer) following the topology of physical layer. The data-link layer focuses on Media Access Control and Logic Link Control, the form requiring to identify a host (whether it is the host of destination) and the latter providing some routing quality guarantee. Thus, a major distinct of data-link layer is to route on MAC, which introduces problems involving translation of IP to MAC (ARP) and automatically assigning IP (DHCP).
Ethernet is a typical LAN with protocols on link layer. The network topology is bridging (or switching) several segments each of which is a shared bus accessed by CSMA/CD, (note all these are at physical layer). The routing involves flooding and source-learning. The flooding (partially in unicast and always in broadcast) could form a loop, which Ethernet resolves by computing the spanning tree.
How each frame corresponds to a data packet?
Why IGMP should be a layer-3 protocol, rather than a layer-2 one, since it actually works between router and end-hosts?(because it doesn't run on switches!)
References:
1. Ion's lecture: http://www-inst.eecs.berkeley.edu/~ee122/fa08/
3. LS vs DV: http://books.google.com/books?...
没有评论:
发表评论