The network layer is responsible for carrying packets between hosts and routing packets through routers and switches. It addresses each device with an IP address to allow global communication. Routing protocols like RIP, OSPF, and BGP are used for routing packets within and between autonomous systems. Multicast routing protocols deliver data from one source to multiple destinations, while flooding can be used for broadcast routing but wastes bandwidth. The network layer packetizes data, fragments packets if needed for transmission through different networks, and performs address resolution.
Highlighted notes while studying Advanced Computer Networks:
Routing table
Source: Wikipedia
In computer networking a routing table, or routing information base (RIB), is a data table stored in a router or a network host that lists the routes to particular network destinations, and in some cases, metrics (distances) associated with those routes. The routing table contains information about the topology of the network immediately around it.
Wikipedia is a free online encyclopedia, created and edited by volunteers around the world and hosted by the Wikimedia Foundation.
Routing is the process of moving information across an internetwork from a source to a destination. There are two types of routing: direct delivery where the source and destination are on the same network, and indirect delivery where packets travel through multiple routers to reach the destination on a different network. Distance vector routing protocols like RIP use hop count as the metric and periodically share routing tables with neighboring routers to allow all routers to learn the optimal paths. However, this can cause instability issues like two-node and three-node loops where routers incorrectly update their routing tables.
Routing protocols exchange information to determine the best paths between sources and destinations in a network. The document discusses several routing protocols:
Distance vector protocols like RIP propagate routing tables between routers periodically. They are simple to configure but slow to converge. Link state protocols like OSPF use link state advertisements to build a map of the network and calculate the lowest cost paths more quickly. OSPF divides large networks into areas to reduce routing table sizes and convergence times. It elects routers on area borders to aggregate routing information between areas.
This document provides an overview of IP routing essentials including routing protocols, path selection, static routing, and virtual routing and forwarding. It describes common routing protocols such as RIP, EIGRP, OSPF, IS-IS, and BGP. It discusses the algorithms and mechanisms used for path selection in distance vector protocols, link-state protocols, and BGP. It also covers topics such as administrative distance, metrics, equal-cost multipathing, and different types of static routes.
The basic function of the transport layer is to accept data from above it, split it up into smaller units if need be, pass these to the network layer, and ensure that the pieces all arrive correctly at the other end. Furthermore, all this must be done efficiently and in a way that isolates the upper layers from the inevitable changes in the hardware technology over the course of time.The transport layer also determines what type of service to provide to the session layer, and, ultimately, to the users of the network. The most popular type of transport connection is an error-free point-to-point channel that delivers messages or bytes in the order in which they were sent. However, other possible kinds of transport service exist, such as the transporting of isolated messages with no guarantee about the order of delivery, and the broadcasting of messages to multiple destinations. The type of service is determined when the connection is established. (As an aside, an error-free channel is completely impossible to achieve; what people really mean by this term is that the error rate is low enough to ignore in practice.)The transport layer is a true end-to-end layer; it carries data all the way from the source to the destination. In other words, a program on the source machine carries on a conversation with a similar program on the destination machine, using the message headers and control messages. In the lower layers, each protocols is between a machine and its immediate neighbors, and not between the ultimate source and destination machines, which may be separated by many routers. The difference between layers 1 through 3, which are chained, and layers 4 through 7, which are end-to-end,
The document discusses dynamic routing and OSPF. It explains that dynamic routing allows routers to automatically share information with each other to determine optimal paths, in contrast to static routing where paths must be manually configured. OSPF is introduced as a common dynamic interior gateway protocol that uses a link-state algorithm to build a map of the entire network topology and calculate the shortest paths.
Flooding is a basic routing protocol where each node forwards incoming packets to all neighboring nodes, except the node it was received from. This ensures all paths are tried but results in many duplicate packets. Improvements involve adding a hop count or node remembering already forwarded packets to limit duplicates. Flooding provides robustness and optimal paths but is inefficient. Distance vector routing uses neighbor-exchanged routing tables to calculate best paths. Each node maintains a table of distances and next hops to reach each destination. Link state routing involves each node learning neighbors, measuring costs to neighbors, constructing link state packets to share costs, and calculating shortest paths. Hierarchical routing addresses scaling by grouping nodes into regions to reduce routing table sizes at the cost of
E-Lins Technology provides an insight on routing. E-Lins Technology are the manufacturers and providers of the one of the best 3G/4G routers across the globe.
Highlighted notes while studying Advanced Computer Networks:
Routing table
Source: Wikipedia
In computer networking a routing table, or routing information base (RIB), is a data table stored in a router or a network host that lists the routes to particular network destinations, and in some cases, metrics (distances) associated with those routes. The routing table contains information about the topology of the network immediately around it.
Wikipedia is a free online encyclopedia, created and edited by volunteers around the world and hosted by the Wikimedia Foundation.
Routing is the process of moving information across an internetwork from a source to a destination. There are two types of routing: direct delivery where the source and destination are on the same network, and indirect delivery where packets travel through multiple routers to reach the destination on a different network. Distance vector routing protocols like RIP use hop count as the metric and periodically share routing tables with neighboring routers to allow all routers to learn the optimal paths. However, this can cause instability issues like two-node and three-node loops where routers incorrectly update their routing tables.
Routing protocols exchange information to determine the best paths between sources and destinations in a network. The document discusses several routing protocols:
Distance vector protocols like RIP propagate routing tables between routers periodically. They are simple to configure but slow to converge. Link state protocols like OSPF use link state advertisements to build a map of the network and calculate the lowest cost paths more quickly. OSPF divides large networks into areas to reduce routing table sizes and convergence times. It elects routers on area borders to aggregate routing information between areas.
This document provides an overview of IP routing essentials including routing protocols, path selection, static routing, and virtual routing and forwarding. It describes common routing protocols such as RIP, EIGRP, OSPF, IS-IS, and BGP. It discusses the algorithms and mechanisms used for path selection in distance vector protocols, link-state protocols, and BGP. It also covers topics such as administrative distance, metrics, equal-cost multipathing, and different types of static routes.
The basic function of the transport layer is to accept data from above it, split it up into smaller units if need be, pass these to the network layer, and ensure that the pieces all arrive correctly at the other end. Furthermore, all this must be done efficiently and in a way that isolates the upper layers from the inevitable changes in the hardware technology over the course of time.The transport layer also determines what type of service to provide to the session layer, and, ultimately, to the users of the network. The most popular type of transport connection is an error-free point-to-point channel that delivers messages or bytes in the order in which they were sent. However, other possible kinds of transport service exist, such as the transporting of isolated messages with no guarantee about the order of delivery, and the broadcasting of messages to multiple destinations. The type of service is determined when the connection is established. (As an aside, an error-free channel is completely impossible to achieve; what people really mean by this term is that the error rate is low enough to ignore in practice.)The transport layer is a true end-to-end layer; it carries data all the way from the source to the destination. In other words, a program on the source machine carries on a conversation with a similar program on the destination machine, using the message headers and control messages. In the lower layers, each protocols is between a machine and its immediate neighbors, and not between the ultimate source and destination machines, which may be separated by many routers. The difference between layers 1 through 3, which are chained, and layers 4 through 7, which are end-to-end,
The document discusses dynamic routing and OSPF. It explains that dynamic routing allows routers to automatically share information with each other to determine optimal paths, in contrast to static routing where paths must be manually configured. OSPF is introduced as a common dynamic interior gateway protocol that uses a link-state algorithm to build a map of the entire network topology and calculate the shortest paths.
Flooding is a basic routing protocol where each node forwards incoming packets to all neighboring nodes, except the node it was received from. This ensures all paths are tried but results in many duplicate packets. Improvements involve adding a hop count or node remembering already forwarded packets to limit duplicates. Flooding provides robustness and optimal paths but is inefficient. Distance vector routing uses neighbor-exchanged routing tables to calculate best paths. Each node maintains a table of distances and next hops to reach each destination. Link state routing involves each node learning neighbors, measuring costs to neighbors, constructing link state packets to share costs, and calculating shortest paths. Hierarchical routing addresses scaling by grouping nodes into regions to reduce routing table sizes at the cost of
E-Lins Technology provides an insight on routing. E-Lins Technology are the manufacturers and providers of the one of the best 3G/4G routers across the globe.
The document discusses contention networks, carrier sense multiple access (CSMA), components of routers, modular network interfaces in routers, differences between hubs, layer 2 switches and layer 3 switches, packet tunneling, shortest path routing, packet fragmentation, functions of routing processors, evolution of router construction, minimum spanning trees, routing protocols for mobile hosts, TCP/IP tunneling over ATM, distance vector routing, link state routing, hierarchical routing, ATM networks, creating ATM virtual circuits, segmentation and reassembly in ATM, internetworking using concatenated virtual circuits and connectionless internetworking, network properties, and an example of the TCP/IP protocol in action.
1) Computer networks allow computers to communicate and share resources by connecting them through communication channels. There are several types of networks including LANs, WANs, and MANs.
2) For communication between computers on a network, both sides must agree on protocols which are sets of rules that govern data transmission. The two main protocol stacks are OSI and TCP/IP.
3) The network layer is responsible for delivering packets from source to destination by choosing appropriate paths through routers. It provides connectionless and connection-oriented services to the transport layer above it.
1) Computer networks allow communication and sharing of resources between computer systems and devices through communication channels. There are several types of networks including LANs, WANs, and MANs.
2) For communication between systems, both must agree on a protocol which sets rules for data transmission. The two main protocol stacks are OSI and TCP/IP.
3) The network layer is responsible for delivering packets from source to destination. It uses services from the data link layer and provides services to the transport layer. Common network layer protocols are IP (Internet Protocol) for connectionless service and MPLS for connection-oriented service.
The document discusses routing protocols used in internets and autonomous systems. It describes how distance vector routing protocols like RIP work by sharing routing tables between neighbors. It also explains link state routing protocols like OSPF, where each router shares information about connected links and all routers can independently calculate optimal routes. Finally, it outlines path vector routing and BGP, which is used for inter-domain routing between autonomous systems and considers routing policies.
Mobile ad-hoc networks have frequent host and topology changes with no cellular infrastructure and require multi-hop wireless links for data transmission between nodes. Routing protocols must discover routes between nodes that may not be directly connected. Table-driven protocols like Destination Sequenced Distance Vector (DSDV) and Wireless Routing Protocol (WRP) maintain up-to-date routing tables through periodic broadcasts but generate significant control overhead. DSDV uses sequence numbers to distinguish stale routes and avoid loops while WRP maintains four tables for routing information.
Pathlet routing is an alternative routing protocol proposed to address scalability and multipath routing issues with BGP. It defines "pathlets" which are sequences of virtual nodes (vnodes) leading to a destination, allowing more path options. Routers exchange pathlet information using a path vector algorithm similar to BGP. This allows traffic to be shaped at each vnode and more robust routing. The document outlines the key components of pathlet routing, including vnodes, pathlets, and the dissemination process, and provides a timeline for implementing a pathlet routing system to emulate the behavior.
The network layer is responsible for packet routing between different networks. It determines the best path for packet transmission and places the source and destination IP addresses in packet headers. Common routing algorithms include shortest path routing, flooding, distance vector routing, and link state routing. Shortest path routing finds the lowest cost path using algorithms like Dijkstra's. Flooding transmits packets to all neighbors, creating duplicates. Distance vector and link state routing adapt to network changes by exchanging routing information between routers.
The document discusses routing and routing protocols. It provides explanations of key routing concepts like routing tables, static routing, default routing, dynamic routing, distance vector routing protocols, link state routing protocols, hybrid routing protocols, and how routing loops occur and can be overcome. It also defines specific routing protocols like OSPF, RIP, IGRP, EIGRP, and compares features of these protocols.
The document discusses network layer concepts including network layer design issues, routing algorithms, and protocols. It provides 3 key points:
1) The network layer is responsible for delivering packets between endpoints over multiple links using store-and-forward packet switching. It implements both connectionless and connection-oriented services for the transport layer.
2) Common routing algorithms discussed include shortest path algorithms like Dijkstra's algorithm, flooding, and distance vector routing. Flooding broadcasts all packets while distance vector uses the Bellman-Ford equation to iteratively calculate the shortest paths.
3) Protocols discussed include IPv4, IPv6, ARP, RARP, DHCP, and ICMP. Connectionless transmission uses datagrams while connection
- Mobile ad hoc networks (MANETs) are autonomous systems of wireless nodes that can dynamically change topology as nodes move. Routing must adapt to these changes.
- There are two main categories of routing protocols: table-driven protocols proactively maintain consistent, up-to-date routing tables whereas on-demand protocols only determine routes when needed.
- Examples of protocols include DSDV as a table-driven protocol and AODV as an on-demand protocol, with AODV using route requests and replies to discover routes only when transmitting data.
Lecture number 5 Theory.pdf(machine learning)ZainabShahzad9
This document discusses computer networks and routing protocols. It provides an overview of key topics including:
- The difference between routed protocols like IPv4 and IPv6 that transfer user data, and routing protocols like RIP and OSPF that send route update packets.
- Common routing and routed protocols including IGPs, EGPs, RIP, OSPF, EIGRP and BGP.
- Desirable properties of routing algorithms such as correctness, robustness, stability, fairness and efficiency.
- Types of routing including fixed, flooding, dynamic and default routing. Characteristics of distance vector and link state routing protocols are also outlined.
The document discusses various types of network hardware including bridges, hubs, switches, and routers. Bridges operate at the data link layer and forward packets based on physical addresses. Hubs simply repeat all signals received on one port to all other ports. Switches are smarter than hubs and only forward frames to the port associated with the destination address. Routers operate at the network layer and filter traffic based on logical IP addresses, allowing different network types to connect. Routing tables map destination networks to the next hop, whether a directly connected network or the address of the next downstream router.
The network layer is responsible for routing packets from source to destination using a routing algorithm. The routing algorithm must deal with issues of correctness, stability, fairness, and optimality. The network layer also handles congestion when more packets enter an area than can be processed. When connecting different network technologies, the same problems are present but are worse as packets may travel through many different networks with different formats and technologies.
Static routing tables require manual configuration and cannot automatically update when network changes occur. Dynamic routing tables use protocols like RIP, OSPF, or BGP to periodically update routing tables across routers when links or routers fail. Routing tables contain information like the network address, next hop address, interface, and flags to determine the best path for packet delivery.
The document discusses the network layer and routing algorithms. It begins by defining the network layer and its responsibilities like routing packets across networks using logical addressing. It then discusses network layer design issues such as store-and-forward packet switching and services provided to the transport layer. Implementation of connectionless and connection-oriented services are explained along with a comparison of virtual-circuit and datagram networks. Finally, it covers routing algorithms like flooding and distance vector routing where routers maintain routing tables and exchange information with neighbors.
RIP is a distance vector routing protocol that chooses the best path as the one with the lowest number of hops, regardless of bandwidth. It converges slowly and has limitations on path length. OSPF is a link state protocol that calculates the best path based on bandwidth and uses the Dijkstra algorithm. It converges faster but places more load on routers. Both protocols periodically share routing information but OSPF only sends updates for changed routes while RIP sends the whole table.
RIP is a distance-vector routing protocol that uses hop count as its routing metric. It operates at the OSI application layer and uses port 520. The maximum number of hops in a RIP route is 15. There are three versions of RIP with RIP v2 being classless and supporting authentication. RIP timers include the update, invalid, hold down, and flush timers. OSPF is a link-state routing protocol that uses the SPF/Dijkstra algorithm to calculate the shortest path. It has five message types including hello, database description, link-state request, link-state update, and link-state acknowledgement messages.
- Routing protocols allow routers to learn the best paths to different networks. Routers use routing tables to store this path information.
- Dynamic routing protocols allow routers to automatically share routing information with each other. This allows the routers to adapt to network changes. RIP is an example of a dynamic distance vector routing protocol.
- With RIP, each router sends its full routing table to neighboring routers every 30 seconds. The routers use the hop count as the routing metric to determine the best path. The maximum hop count allowed is 15.
This document describes Pathlet Routing, an alternative routing protocol proposed to address scalability and multipath routing issues with BGP. Pathlet Routing constructs pathlets, which are sequences of virtual nodes (vnodes) leading to a destination. Routers exchange pathlet information using a path vector algorithm similar to BGP. This allows multiple pathlets to a destination for traffic engineering. The document outlines the key components of Pathlet Routing, including an implementation with routers running pathlet dissemination and a controller determining path installation. It provides timelines for scaling the implementation and comparing it to BGP behavior.
The document discusses contention networks, carrier sense multiple access (CSMA), components of routers, modular network interfaces in routers, differences between hubs, layer 2 switches and layer 3 switches, packet tunneling, shortest path routing, packet fragmentation, functions of routing processors, evolution of router construction, minimum spanning trees, routing protocols for mobile hosts, TCP/IP tunneling over ATM, distance vector routing, link state routing, hierarchical routing, ATM networks, creating ATM virtual circuits, segmentation and reassembly in ATM, internetworking using concatenated virtual circuits and connectionless internetworking, network properties, and an example of the TCP/IP protocol in action.
1) Computer networks allow computers to communicate and share resources by connecting them through communication channels. There are several types of networks including LANs, WANs, and MANs.
2) For communication between computers on a network, both sides must agree on protocols which are sets of rules that govern data transmission. The two main protocol stacks are OSI and TCP/IP.
3) The network layer is responsible for delivering packets from source to destination by choosing appropriate paths through routers. It provides connectionless and connection-oriented services to the transport layer above it.
1) Computer networks allow communication and sharing of resources between computer systems and devices through communication channels. There are several types of networks including LANs, WANs, and MANs.
2) For communication between systems, both must agree on a protocol which sets rules for data transmission. The two main protocol stacks are OSI and TCP/IP.
3) The network layer is responsible for delivering packets from source to destination. It uses services from the data link layer and provides services to the transport layer. Common network layer protocols are IP (Internet Protocol) for connectionless service and MPLS for connection-oriented service.
The document discusses routing protocols used in internets and autonomous systems. It describes how distance vector routing protocols like RIP work by sharing routing tables between neighbors. It also explains link state routing protocols like OSPF, where each router shares information about connected links and all routers can independently calculate optimal routes. Finally, it outlines path vector routing and BGP, which is used for inter-domain routing between autonomous systems and considers routing policies.
Mobile ad-hoc networks have frequent host and topology changes with no cellular infrastructure and require multi-hop wireless links for data transmission between nodes. Routing protocols must discover routes between nodes that may not be directly connected. Table-driven protocols like Destination Sequenced Distance Vector (DSDV) and Wireless Routing Protocol (WRP) maintain up-to-date routing tables through periodic broadcasts but generate significant control overhead. DSDV uses sequence numbers to distinguish stale routes and avoid loops while WRP maintains four tables for routing information.
Pathlet routing is an alternative routing protocol proposed to address scalability and multipath routing issues with BGP. It defines "pathlets" which are sequences of virtual nodes (vnodes) leading to a destination, allowing more path options. Routers exchange pathlet information using a path vector algorithm similar to BGP. This allows traffic to be shaped at each vnode and more robust routing. The document outlines the key components of pathlet routing, including vnodes, pathlets, and the dissemination process, and provides a timeline for implementing a pathlet routing system to emulate the behavior.
The network layer is responsible for packet routing between different networks. It determines the best path for packet transmission and places the source and destination IP addresses in packet headers. Common routing algorithms include shortest path routing, flooding, distance vector routing, and link state routing. Shortest path routing finds the lowest cost path using algorithms like Dijkstra's. Flooding transmits packets to all neighbors, creating duplicates. Distance vector and link state routing adapt to network changes by exchanging routing information between routers.
The document discusses routing and routing protocols. It provides explanations of key routing concepts like routing tables, static routing, default routing, dynamic routing, distance vector routing protocols, link state routing protocols, hybrid routing protocols, and how routing loops occur and can be overcome. It also defines specific routing protocols like OSPF, RIP, IGRP, EIGRP, and compares features of these protocols.
The document discusses network layer concepts including network layer design issues, routing algorithms, and protocols. It provides 3 key points:
1) The network layer is responsible for delivering packets between endpoints over multiple links using store-and-forward packet switching. It implements both connectionless and connection-oriented services for the transport layer.
2) Common routing algorithms discussed include shortest path algorithms like Dijkstra's algorithm, flooding, and distance vector routing. Flooding broadcasts all packets while distance vector uses the Bellman-Ford equation to iteratively calculate the shortest paths.
3) Protocols discussed include IPv4, IPv6, ARP, RARP, DHCP, and ICMP. Connectionless transmission uses datagrams while connection
- Mobile ad hoc networks (MANETs) are autonomous systems of wireless nodes that can dynamically change topology as nodes move. Routing must adapt to these changes.
- There are two main categories of routing protocols: table-driven protocols proactively maintain consistent, up-to-date routing tables whereas on-demand protocols only determine routes when needed.
- Examples of protocols include DSDV as a table-driven protocol and AODV as an on-demand protocol, with AODV using route requests and replies to discover routes only when transmitting data.
Lecture number 5 Theory.pdf(machine learning)ZainabShahzad9
This document discusses computer networks and routing protocols. It provides an overview of key topics including:
- The difference between routed protocols like IPv4 and IPv6 that transfer user data, and routing protocols like RIP and OSPF that send route update packets.
- Common routing and routed protocols including IGPs, EGPs, RIP, OSPF, EIGRP and BGP.
- Desirable properties of routing algorithms such as correctness, robustness, stability, fairness and efficiency.
- Types of routing including fixed, flooding, dynamic and default routing. Characteristics of distance vector and link state routing protocols are also outlined.
The document discusses various types of network hardware including bridges, hubs, switches, and routers. Bridges operate at the data link layer and forward packets based on physical addresses. Hubs simply repeat all signals received on one port to all other ports. Switches are smarter than hubs and only forward frames to the port associated with the destination address. Routers operate at the network layer and filter traffic based on logical IP addresses, allowing different network types to connect. Routing tables map destination networks to the next hop, whether a directly connected network or the address of the next downstream router.
The network layer is responsible for routing packets from source to destination using a routing algorithm. The routing algorithm must deal with issues of correctness, stability, fairness, and optimality. The network layer also handles congestion when more packets enter an area than can be processed. When connecting different network technologies, the same problems are present but are worse as packets may travel through many different networks with different formats and technologies.
Static routing tables require manual configuration and cannot automatically update when network changes occur. Dynamic routing tables use protocols like RIP, OSPF, or BGP to periodically update routing tables across routers when links or routers fail. Routing tables contain information like the network address, next hop address, interface, and flags to determine the best path for packet delivery.
The document discusses the network layer and routing algorithms. It begins by defining the network layer and its responsibilities like routing packets across networks using logical addressing. It then discusses network layer design issues such as store-and-forward packet switching and services provided to the transport layer. Implementation of connectionless and connection-oriented services are explained along with a comparison of virtual-circuit and datagram networks. Finally, it covers routing algorithms like flooding and distance vector routing where routers maintain routing tables and exchange information with neighbors.
RIP is a distance vector routing protocol that chooses the best path as the one with the lowest number of hops, regardless of bandwidth. It converges slowly and has limitations on path length. OSPF is a link state protocol that calculates the best path based on bandwidth and uses the Dijkstra algorithm. It converges faster but places more load on routers. Both protocols periodically share routing information but OSPF only sends updates for changed routes while RIP sends the whole table.
RIP is a distance-vector routing protocol that uses hop count as its routing metric. It operates at the OSI application layer and uses port 520. The maximum number of hops in a RIP route is 15. There are three versions of RIP with RIP v2 being classless and supporting authentication. RIP timers include the update, invalid, hold down, and flush timers. OSPF is a link-state routing protocol that uses the SPF/Dijkstra algorithm to calculate the shortest path. It has five message types including hello, database description, link-state request, link-state update, and link-state acknowledgement messages.
- Routing protocols allow routers to learn the best paths to different networks. Routers use routing tables to store this path information.
- Dynamic routing protocols allow routers to automatically share routing information with each other. This allows the routers to adapt to network changes. RIP is an example of a dynamic distance vector routing protocol.
- With RIP, each router sends its full routing table to neighboring routers every 30 seconds. The routers use the hop count as the routing metric to determine the best path. The maximum hop count allowed is 15.
This document describes Pathlet Routing, an alternative routing protocol proposed to address scalability and multipath routing issues with BGP. Pathlet Routing constructs pathlets, which are sequences of virtual nodes (vnodes) leading to a destination. Routers exchange pathlet information using a path vector algorithm similar to BGP. This allows multiple pathlets to a destination for traffic engineering. The document outlines the key components of Pathlet Routing, including an implementation with routers running pathlet dissemination and a controller determining path installation. It provides timelines for scaling the implementation and comparing it to BGP behavior.
ACEP Magazine edition 4th launched on 05.06.2024Rahul
This document provides information about the third edition of the magazine "Sthapatya" published by the Association of Civil Engineers (Practicing) Aurangabad. It includes messages from current and past presidents of ACEP, memories and photos from past ACEP events, information on life time achievement awards given by ACEP, and a technical article on concrete maintenance, repairs and strengthening. The document highlights activities of ACEP and provides a technical educational article for members.
International Conference on NLP, Artificial Intelligence, Machine Learning an...gerogepatton
International Conference on NLP, Artificial Intelligence, Machine Learning and Applications (NLAIM 2024) offers a premier global platform for exchanging insights and findings in the theory, methodology, and applications of NLP, Artificial Intelligence, Machine Learning, and their applications. The conference seeks substantial contributions across all key domains of NLP, Artificial Intelligence, Machine Learning, and their practical applications, aiming to foster both theoretical advancements and real-world implementations. With a focus on facilitating collaboration between researchers and practitioners from academia and industry, the conference serves as a nexus for sharing the latest developments in the field.
Harnessing WebAssembly for Real-time Stateless Streaming PipelinesChristina Lin
Traditionally, dealing with real-time data pipelines has involved significant overhead, even for straightforward tasks like data transformation or masking. However, in this talk, we’ll venture into the dynamic realm of WebAssembly (WASM) and discover how it can revolutionize the creation of stateless streaming pipelines within a Kafka (Redpanda) broker. These pipelines are adept at managing low-latency, high-data-volume scenarios.
A SYSTEMATIC RISK ASSESSMENT APPROACH FOR SECURING THE SMART IRRIGATION SYSTEMSIJNSA Journal
The smart irrigation system represents an innovative approach to optimize water usage in agricultural and landscaping practices. The integration of cutting-edge technologies, including sensors, actuators, and data analysis, empowers this system to provide accurate monitoring and control of irrigation processes by leveraging real-time environmental conditions. The main objective of a smart irrigation system is to optimize water efficiency, minimize expenses, and foster the adoption of sustainable water management methods. This paper conducts a systematic risk assessment by exploring the key components/assets and their functionalities in the smart irrigation system. The crucial role of sensors in gathering data on soil moisture, weather patterns, and plant well-being is emphasized in this system. These sensors enable intelligent decision-making in irrigation scheduling and water distribution, leading to enhanced water efficiency and sustainable water management practices. Actuators enable automated control of irrigation devices, ensuring precise and targeted water delivery to plants. Additionally, the paper addresses the potential threat and vulnerabilities associated with smart irrigation systems. It discusses limitations of the system, such as power constraints and computational capabilities, and calculates the potential security risks. The paper suggests possible risk treatment methods for effective secure system operation. In conclusion, the paper emphasizes the significant benefits of implementing smart irrigation systems, including improved water conservation, increased crop yield, and reduced environmental impact. Additionally, based on the security analysis conducted, the paper recommends the implementation of countermeasures and security approaches to address vulnerabilities and ensure the integrity and reliability of the system. By incorporating these measures, smart irrigation technology can revolutionize water management practices in agriculture, promoting sustainability, resource efficiency, and safeguarding against potential security threats.
We have compiled the most important slides from each speaker's presentation. This year’s compilation, available for free, captures the key insights and contributions shared during the DfMAy 2024 conference.
Understanding Inductive Bias in Machine LearningSUTEJAS
This presentation explores the concept of inductive bias in machine learning. It explains how algorithms come with built-in assumptions and preferences that guide the learning process. You'll learn about the different types of inductive bias and how they can impact the performance and generalizability of machine learning models.
The presentation also covers the positive and negative aspects of inductive bias, along with strategies for mitigating potential drawbacks. We'll explore examples of how bias manifests in algorithms like neural networks and decision trees.
By understanding inductive bias, you can gain valuable insights into how machine learning models work and make informed decisions when building and deploying them.
CHINA’S GEO-ECONOMIC OUTREACH IN CENTRAL ASIAN COUNTRIES AND FUTURE PROSPECTjpsjournal1
The rivalry between prominent international actors for dominance over Central Asia's hydrocarbon
reserves and the ancient silk trade route, along with China's diplomatic endeavours in the area, has been
referred to as the "New Great Game." This research centres on the power struggle, considering
geopolitical, geostrategic, and geoeconomic variables. Topics including trade, political hegemony, oil
politics, and conventional and nontraditional security are all explored and explained by the researcher.
Using Mackinder's Heartland, Spykman Rimland, and Hegemonic Stability theories, examines China's role
in Central Asia. This study adheres to the empirical epistemological method and has taken care of
objectivity. This study analyze primary and secondary research documents critically to elaborate role of
china’s geo economic outreach in central Asian countries and its future prospect. China is thriving in trade,
pipeline politics, and winning states, according to this study, thanks to important instruments like the
Shanghai Cooperation Organisation and the Belt and Road Economic Initiative. According to this study,
China is seeing significant success in commerce, pipeline politics, and gaining influence on other
governments. This success may be attributed to the effective utilisation of key tools such as the Shanghai
Cooperation Organisation and the Belt and Road Economic Initiative.
2. 2
the network layer is responsible for carrying a packet from
one computer to another; it is responsible for host-to-host
delivery
position of the network layer
3. 3
4.1 Internetworking
internetworking refers to the logical gluing of heterogeneous
physical networks together to look like a single network to
the upper transport and application layers
the above internetwork is made up of 5 networks: 4 LANs and
1 WAN
Si: switch or router; fi: interface
data sent from A to D passes through 3 links
nomenclature:
the source and the destinations are usually referred to as
hosts
a host or a router is referred to as a hop
4. 4
in each link, 2 physical and data link layers are involved
problem:
when data arrives at S1, how does it know that it should
be sent to S3?
the physical and data link layers do not help S1
the frame does not carry any routing information, it
contains the MAC addresses of A as the source and that
of S1 as the destination (for a LAN or a WAN, delivery
means carrying the frame through one link, not beyond)
the network layer is responsible for host-to-host delivery
and for routing the packets through the routers or switches
5. 5
network layer at source
receives data from the transport layer
adds the universal addresses of A and D
makes sure the packet is of correct size for passage through
the next link, fragment it if necessary
network layer at router or switch
responsible for routing the packet using a routing table
the packet may go through another fragmentation if need be
network layer at destination
address verification; error detection; reassembling the
fragments
delivering to the transport layer
6. 6
4.2 Addressing
to uniquely and universally identify each device on the
Internet to allow global communication between all
devices
analogous to the telephone system; the Department of
Computer Science: 251 011 1222922, wherever you are on
the globe
each address belongs to a single host, but a single host
can have multiple addresses (if it has multiple
connections to the Internet)
the identifier used in the network layer of the Internet
model is called the Internet address or IP address
it is a 32-bit binary address (in IPv4)
7. 7
two common notations: binary notation and dotted-decimal
notation
binary notation: one or more spaces inserted between
each octet (8 bits)
10000000 00001011 00000011 00011111
dotted-decimal notation: to make it more compact and
easier to read (for humans)
we will study IP addresses later
8. 8
4.3 Routing, Routing Protocols and Multicasting
making a decision and choosing one route whenever
there are multiple routes
based on some criteria; how do you choose a route
when you drive? may be the condition of your car and
the road, the shortest one, the one that is not
congested, the one with less traffic lights, avoid
forbidden paths (American military packets may not
pass through Russia), ...
it is the job of the network layer routing protocol; a
combination of rules and procedures that lets routers
in the internet inform one another of changes (to share
whatever they know about the internet or their
neighborhood); e.g. a failure of a network can be
communicated
at the heart of such protocol is the routing algorithm
that determines the path for a packet
9. 9
routing requires a host or a router to have a routing table
which is constructed by the routing algorithm
given big internetworks such as the Internet, the number of
entries in the routing table becomes large and table look
ups become inefficient; methods for reducing its size are
required
10. 10
next-hop routing
the routing table holds only the information that
leads to the next hop
network-specific routing
instead of having an entry for every host connected
to the same physical network, there is only one entry
to define the address of the network itself
11. 11
two kinds of routing algorithms (routing tables):
nonadaptive (static) and adaptive (dynamic)
nonadaptive (static)
routing decisions are not based on measurements or
estimates of the current topology or traffic
the choice of a route is computed in advance, off-line,
and downloaded to the routers when the network is
booted or
an administrator enters the route for each destination into
the table
not automatically updated when there is a change
may be used in a small internet, but not for big internet
like the Internet
12. 12
adaptive (dynamic)
routing decisions are made periodically (every sec) to
reflect changes in the topology, traffic, a shutdown of a
router, a break in the link, a better route has been created, ...
13. 13
interior and exterior routing (protocols)
since an internet can be large, one routing protocol cannot
handle the task of updating the routing tables of all routers
hence, an internet is divided into autonomous systems
an autonomous system (AS) is a group of networks and
routers under the authority of a single administration
routing inside an autonomous system is referred to as
interior routing; each AS can choose its own routing
protocol
routing between autonomous systems is referred to as
exterior routing; one protocol is usually chosen to handle
routing between autonomous systems; usually used for
routing in the Internet
14. 16
the optimality principle: the optimal route
if router J is on the optimal path from I to K, then the optimal
path from J to K also falls along the same route
why? if a route better than R2 existed from J to K, then the
route from I to K could be improved by concatenating it with R1
the consequence of the optimality principle is that “the set of
optimal routes from all sources to a given destination form a
tree rooted at the destination”
such a tree is called a sink tree
a subnet sink tree for router B
(distance metric is the number of hops)
I J K
R1 R2
15. 17
the sink tree is not necessarily unique; as a tree it does not
contain any loops; each packet will be delivered within a finite
and bounded number of hops; at least in theory
the goal of a routing algorithm is to discover the sink trees for all
routers
the optimality principle and the sink tree serve as benchmarks to
measure routing algorithms
i. Shortest Path Routing (static) for unicast routing (by Dijkstra)
aim: build a graph of the subnet - each node of the graph
representing a router and each arc representing a link; the
arcs are labeled as a function of any one of the metrics
(distance, hop count, ...)
to select a route between two routers, the algorithm finds the
“shortest” path between them on the graph
16. 18
18
how does the algorithm work to find the shortest path?
each node is labeled with its distance from the source; initially
labeled ∞ since no path is known
a label may be tentative or permanent (when the shortest
possible path is found - filled-in circle)
(h)
(10, H)
we want to find the
path from A to D
working node
the shortest path is
ABEFHD
(g)
(10, H)
17. 19
ii. Flooding (static) for multicast and broadcast routing
every incoming packet is sent out on every outgoing line
except the one it arrived on
packets received a second time are discarded
it generates too many duplicate packets
some measures required to avoid having an infinite
number of packets; e.g. have a hop counter included in
the header of each packet; initially initialized by the
number of hops from source to destination; each hop
decrements it and the packet is discarded when the
counter is zero
selective flooding is a variant; send only on those lines
that are going approximately in the right direction
18. 20
possible applications include
to update all databases concurrently in a distributed
database system (multicast routing)
in wireless networks where every station can listen
(broadcast routing)
if there is a possibility of many routers being
destroyed such as in a military application (may be
for unicast transmission too)
flooding is not mostly practical
however, since flooding always chooses the shortest
path, it can serve as a benchmark for other routing
algorithms
19. 21
Unicast Routing Protocols
Interior
i. RIP - Routing Information Protocol
uses distance vector routing algorithm (dynamic)
also called distributed Bellman-Ford routing algorithm
or Ford-Fulkerson algorithm
each router maintains a table (one entry per router)
giving the best known distance to each destination
Destination Hop Count Next Router Other information
163.5.0.0 7 172.6.23.4
197.5.13.0 5 176.3.6.17
189.45.0.0 4 200.5.1.6
115.0.0.0 6 131.4.7.19
20. 22
the tables are updated by exchanging information with
neighbors
in the general case, the metrics could be: number of
hops, time delay in milliseconds, total number of
packets queued along the path, ...
it is the original ARPANET routing algorithm (using
queue length as a metric) and was used until 1979
the distance metric used in RIP is the number of hops
all networks are treated as equals, i.e., the cost of passing
through each network is the same, it is one hop count
21. 23
ii. OSPF - Open Shortest Path First
became a standard in 1990 by the IETF (Internet Engineering
Task Force)
aim: to simplify the implementation at the boundaries
between Autonomous Systems by having a standard for the
interior routing
IETF identified some requirements
has to be published in the open
literature - proprietary solutions
are not good
has to support a variety of
Network Cost
Next
Router
Other
Information
N1 5 C
N2 7 D
N3 10 B
N4 11 D
N5 15 C
distance metrics (physical distance, delay, ...)
it has to be dynamic
has to do load balancing for better performance (the best
route is not always the best)
22. 24
has to support routing based on type of service
support for hierarchical systems - routers are not
expected to know the entire topology - see later
introduce security so that spoofing routers by sending
false routing information is avoided
uses link state routing algorithm (dynamic)
replaced distance vector routing in ARPANET
since distance vector routing does not consider
bandwidth (no need initially since all lines were 56 Kbps;
later some lines were upgraded) and other metrics
it uses Dijkstra’s algorithm to find the shortest path and
construct the routing table
23. 25
Exterior
BGP - Border Gateway Protocol
first appeared in 1989
it uses path vector routing algorithm (dynamic)
problems with the other algorithms
the route with the smallest hop count may not be the
preferred route (if an autonomous system in which a packet
passes is not secure, even though it is the shortest and for
other political reasons)
they only announce the hop counts without actually
defining the path that leads to the destination
in path vector routing, each entry in the routing table
contains the destination network, the next router, and the
path to reach the destination
Network Next Router Path
N01 R01 AS14, AS23, AS67
N02 R05 AS22, AS67, AS05, AS89
N03 R06 AS67, AS89, AS09, AS34
N04 R12 AS62, AS02, AS09
24. 28
Multicast Routing
multicasting: delivery of data from one host to many
destinations; as a result of multimedia applications
a one-to-many relationship
a multicast router may forward a received packet through
several of its ports (or discard it if it is not in the multicast
path)
25. 29
it requires group membership management - to create and
destroy groups, to allow processes (loyal members) to join
and leave groups
one such protocol is IGMP (Internet Group Management
Protocol)
has various versions - we don’t deal with the details
not a concern of the routing algorithm; routers should only
know which of their hosts belong to which groups
a multicast router connected to a network has a list of
multicast addresses of the groups for which the router
distributes packets to groups with at least one loyal member in
that network
for each group, there is one router which has the duty of
distributing the multicast packets destined for that group
27. 31
a. entire network with two groups where a node may belong to
a single group, two groups, or none (see the numbers on
the nodes)
b. a spanning tree for the left most router
c. pruned spanning tree for Group 1
d. pruned spanning tree for Group 2
for multicasting, each router computes a spanning tree
covering all other routes
28. 32
several ways of pruning the tree exist
the simple one is if link state routing is used - each router is
aware of the complete topology, including which hosts
belong to which groups
Multicast Routing Protocols
there are several multicast routing protocols (implemented or
proposed)
DVMRP - Distance Vector Multicast Routing Protocol
an extension of distance vector routing
MOSPF - Multicast Open Shortest Path First
an extension of the OSPF protocol
CBT - Core-Based Tree
it uses a core (center router or rendezvous router) as the
root of the tree
an autonomous system is divided into regions, and a core
is chosen for each region
29. 33
PIM - Protocol Independent Multicast
it has two varieties
PIM-DM - Protocol Independent Multicast-Dense Mode
used when there is a possibility that each router is
involved in multicasting
PIM-SM - Protocol Independent Multicast-Sparse Mode
used when there is a slight possibility that each router
is involved in multicasting
multicasting has many applications
access to distributed systems
information dissemination
distance learning
multimedia communications
30. 34
Broadcast Routing Protocols
sending a packet to all destinations simultaneously
possible applications
distributing weather reports, stock market updates, live
radio programmes
the Internet does not explicitly support broadcasting
(creates a huge amount of traffic and needs a huge
bandwidth)
methods
1. send the packet to each destination
wastes bandwidth
the source must have a complete list of all the
destinations - very big table
2. flooding
generates too many packets and consumes too much
bandwidth
31. 35
3. multidestination routing
each packet contains either a list of destinations or a bit map -
major problem
a router receiving a packet generates a new copy of the packet
for each output line to be used and includes in each packet
only those destinations that are to use the line
after some hops, each packet will carry only one destination
and can be treated as a normal packet
4. using a spanning tree
used by the originating router and the subsequent ones
good use of bandwidth
but each router must have a knowledge of some spanning tree
5. reverse path forwarding
applicable even if routers do not have a knowledge of spanning
trees
when a packet arrives, the router checks if it arrived on the line
that is normally used for sending packets to the source (the
shortest path)
32. 36
4.4 Packetizing and Fragmenting
Packetizing: encapsulates packets received from upper-
layer protocols and makes new packets out of them;
done by the IP protocol in the Internet model
Fragmenting: a datagram can travel through different
networks; each router decapsulates the IP datagram
from the received frame, processes it, and then
encapsulates it in another frame
the format and size of the
received frame depends on the protocol used by
the physical network from which the frame has
just arrived
departing frame depends on the protocol used by
the physical network to which the frame is going
33. 37
Other Issues (of Internet that are not directly related to the
duties of the network layer)
Address Resolution: the network layer provides only
host-to-host addressing whereas the data link layer
needs physical addresses for node-to-node delivery;
these addresses must be mapped; details later in the
Address Resolution Protocol
Multicasting and Routing Protocols - covered earlier
35. 39
there are 5 network layer protocols in the TCP/IP protocol suite
(IP, ARP, RARP (DHCP), ICMP, and IGMP)
the main protocol is IP, the glue that holds the whole Internet
together and responsible for host-to-host delivery
it needs the services of other protocols
ARP (Address Resolution Protocol) - maps an IP address to
a MAC address (of the next hop)
RARP (Reverse ARP) - maps a MAC address to an IP
address; usually used in some situations such as when a
diskless host is booted; it gets the binary image of its
operating system from a remote file server but does not
know its IP address; obsolete, replaced by DHCP- Dynamic
Host Configuration Protocol
ICMP (Internet Control Message Protocol) - to handle
unusual situations such as the occurrence of an error
IGMP (Internet Group Management Protocol) - for
multicasting since IP is designed for unicast delivery; you
can read about it
36. 40
4.4 IP v4 and Subnetting
unlike the older ones, it was designed with
internetworking in mind
it is unreliable and connectionless datagram protocol - a
best effort delivery service (no error control or flow
control); it only detects errors and discards the packet if
it is corrupted
if reliability is important, it must be paired with a reliable
protocol such as TCP (at the transport layer); like the
post office, get your important mails registered
an IP datagram consists of a header part and a text part
the header has a 20-byte fixed part and a variable length
optional part
it is transmitted in big endian order: from left to right,
with the high-order bit of the Version field going first
(SPARC is big endian; Pentium is little endian); software
conversion is required on little endian machines
37. 41
Version (4 bits): keeps track of which version of the protocol
the datagram belongs (for future transitions between new and
old versions); currently 4
IHL (4 bits): length of the header in 32-bit words (minimum
value is 5, which applies when no options are present;
maximum value is 15, which limits the header to 60 bytes, and
thus the Options field to 40 bytes)
Type of service (8 bits): designed to distinguish between
different classes of service - for various combinations of
reliability (e.g. file transfer) and speed (e.g. voice); mostly
ignored by current routers
The IPv4 header
38. 46
IP Addresses
every host and router on the Internet has an IP address (its
network number and host number)
unique and universal for global communication (no 2 hosts
have the same address, but a host can have 2 IP addresses)
32-bit in IPv4 written as 4 decimal numbers (128 in IPv6)
with 32-bits there are 232 (4,294,267,296) hosts; assumed too
many initially; now not sufficient due to a number of reasons
(mainly wastage)
Classful Addressing
address space is divided into 5 classes: A, B, C, D, and E
the first few bits indicate the class of an address
in binary notation in dotted-decimal notation
39. 47
addresses in classes A, B, and C are for unicast
communication; a host needs to have at least one unicast
address to be able to send and receive
addresses in class D are for multicast communication (only
as a destination); if a host belongs to a group or groups, it
can have one or more multicast addresses
addresses in class E are reserved; the idea was to use them
for special purposes
Netid and Hostid
addresses in classes A, B, and C are divided into netid
(network) and hostid (host) of varying length from class to
class
40. 48
Classes and Blocks
one problem with classful addressing is that each class is
divided into a fixed number of blocks with each block
having a fixed size
Class A
divided into 128 blocks, each block having a different
netid (the first bit of byte 1 is always 0)
block 1: from 0.0.0.0 to 0.255.255.255 - netid 0
block 2: from 1.0.0.0 to 1.255.255.255 - netid 1
.
.
last block: from 127.0.0.0 to 127.255.255.255 - netid 127
class A addresses were designed for large organizations
(up to 16 million hosts 224)
41. 49
e.g. organization X granted a block with netid 73
the first address (73.0.0.0) is used to identify the organization
(called the network address)
the last address is reserved for a special purpose
total number of organizations that can be assigned class A
addresses is 126 (128-2) because all 0’s and 1’s are reserved
the number of addresses in each block (16,777,214= 224-2) are
larger than the needs of almost all organizations
millions of class A addresses are wasted
42. 50
Class B
divided into 16,384 (214) blocks, each block having a different
netid (the first two bits of byte 1 are always 10)
block 1: from 128.0.0.0 to 128.0.255.255 - netid 128.0
block 2: from 128.1.0.0 to 128.1.255.255 - netid 128.1
.
.
last block: from 191.255.0.0 to 191.255.255.255 - netid 191.255
16 blocks are reserved for private addresses
total number of organizations that can be assigned class B
addresses is 16,368 (16,384-16)
class B addresses were designed for midsize organizations
(up to 65,534 = 216-2 hosts)
the number of addresses in each block is larger than the
needs of most midsize organizations
many class B addresses are wasted
44. 52
Class C
divided into 2,097,152 (221) blocks, each block having a
different netid (the first three bits of byte 1 are always 110)
block 1: from 192.0.0.0 to 192.0.0.255 - netid 192.0.0
block 2: from 192.0.1.0 to 192.0.1.255 - netid 192.0.1
.
.
last block: from 223.255.255.0 to 223.255.255.255 - netid
223.255.255
256 blocks are used for private addresses
total number of organizations that can be assigned class C
addresses is 2,096,902 (2,097,152-256)
class C addresses were designed for small organizations (up
to 254 = 28-2 hosts)
the number of addresses in each block is so limited that most
organizations do not want a block in this class
46. 54
Class D: there is just one block of class D addresses;
designed for multicasting
Class E: there is just one block of class E addresses;
designed for use as reserved addresses; for research by IETF
(Internet Engineering Task Force) at http://www.ietf.org; it
develops Internet standards
Network Address
an address that defines the network itself
it cannot be assigned to a host
properties
all hostid bytes are 0s; it is different from a netid, a
network address has both netid and hostid, with 0s for
the hostid
it defines the network to the rest of the Internet; routing
to a host is based on the network address
in classful addressing, the network address is the one
that is assigned to the organization
47. 55
network addresses are managed by a nonprofit
organization to avoid conflicts - ICANN (Internet
Corporation for Assigned Names and Numbers); it has
delegated parts of the address space to various regional
authorities, which then allocate IP addresses to ISPs and
other companies
48. 56
Special IP addresses
an IP address with all 0s (hostid and/or netid) means this
network or this host
an IP address with all 1s (netid and/or hostid) means all the
hosts on the indicated network for broadcasting
49. 57
Subnetting
the netid is used by routers to route a packet destined for a
network
IP addresses are designed with two levels of hierarchy (site
and host)
a network with two levels of hierarchy
all the hosts in a network must have the same netid
problem: does not allow dividing of a network into logical
groups (such as Departments in a University)
50. 58
solution 1: get netids for all groups; impossible
solution 2: allow a network to be split into several parts for
internal use but still act like a single network to the outside
world (three levels of hierarchy: site, subnet, host)
a campus network consisting of LANs for various departments
52. 60
the parts of the network are called subnetworks or subnets
(different from our previous definition of a subnet as the set of
all routers and communication lines in a network)
routing of a datagram now involves three steps: delivery to the
site, delivery to the subnetwork, and delivery to to the host
addresses in a network with and without subnetting
53. 61
the IP hostid is divided into subnetid and hostid
e.g., for class B addresses subnetid could be 6 bits (26=64
groups or subnets) and hostid could be 10 bits (210-2 = 1022
hosts in each subnet)
this could be changed later if required (say if there are more
subnets) by the organization itself without any authorization,
say by ICANN
note: the first and last host numbers in a subnet are reserved;
the first to identify the subnet itself; the last to broadcast within
the subnet
54. 62
Masking
how can a router find the network address or subnet address?
a 32-bit number called the mask is used; routers outside the organization use a default mask; routers inside
the organization use a subnet mask
default mask: a 32-bit binary number that gives the network address when ANDed with an address in the
block; the number of 1s is the same as the number of bits in the netid ( 8 for A, 16 for B, 24 for C); the rest are
all 0
slash notation: an alternative mask notation, a slash followed by the number of 1s
Cla
ss
In Binary
In Dotted-
Decimal
Using
Slash
A
11111111 00000000 00000000
00000000
255.0.0.0 /8
B
11111111 11111111 00000000
00000000
255.255.0.0 /16
C
11111111 111111111 11111111
00000000
255.255.25
5.0
/24
55. 63
e.g. a router outside the organization receives a packet
with destination address 190.240.7.91; how does it find
the network address to route the packet?
the router follows three steps:
1. it looks the first byte of the address to find the class; it
is class B
2. the default mask for class B is 255.255.0.0; it ANDs
this mask with the address to get 190.240.0.0
3. it looks in its routing table to find out how to route the
packet to this destination
56. 64
subnet mask: change some of the leftmost 0s in the default
mask to 1s to make a subnet mask
the number of subnets is determined by the number of 1s (2n)
conversely, if the number of subnets is n, the number of extra
1s is log2n
57. 65
e.g. a router inside the organization receives a packet with
destination address 190.240.33.91; how does it find the
subnetwork address to route the packet?
the router follows three steps:
1. the router must know the mask; assume it is /19 as in the
above figure
2. it applies the mask to the address; the subnet address is
190.240.32.0
3. it looks in its routing table to find out how to route the
packet to this destination
58. 66
Classless Addressing
there is too much wastage of IP addresses in classful
addressing creating shortage of IP addresses
classless addressing was announced in 1996
the idea of variable-length blocks that belong to no class was
introduced to allocate the remaining IP addresses
blocks of 2 addresses, 4 addresses, 64 addresses, ... can be
assigned to an organization based on size
the number of addresses in a block must be a power of 2
the whole address space (232 addresses) is divided into
blocks of different sizes
the beginning address must be evenly divisible by the number of
addresses; if a site needs, say, 2000 addresses it is given a
block of 2048 addresses on a 2048 address boundary
we can still use subnetting if there is a need
an organization is given the beginning address of the block and
a mask (in slash notation)
59. 67
classeless addressing alleviates the depletion of addresses, but
we now need a new method of forwarding packets, called CIDR
(Classless InterDomain Routing)
there is now a single routing table for all networks consisting of
an array of (IP address, subnet mask, outgoing line) triples
when a packet comes in, its destination IP address is first
extracted; the routing table is then scanned entry by entry,
masking the destination address and comparing it to the table
entry looking for a match
it is possible that multiple entries (with different subnet mask
lengths) match, in which case the longest mask is used; if there
is a match for a /20 mask and a /24 mask, the /24 entry is used
60. 68
consider the previous example; the table entries (in binary) for
the three universities are
Base (First) Address Mask
C: 11000010 00011000 00000000 00000000 11111111 11111111 11111000 00000000
E: 11000010 00011000 00001000 00000000 11111111 11111111 11111100 00000000
O: 11000010 00011000 00010000 00000000 11111111 11111111 11110000 00000000
now consider what happens when a packet comes that is
addressed to 194.24.17.4, which in binary is represented as
11000010 00011000 00010001 00000100
AND it with each mask and compare it with the base address
first it is ANDed with the Cambridge mask to get
11000010 00011000 00010000 00000000; does not match the
Cambridge base address
then the original address is ANDed with the Edinburgh mask to
get
11000010 00011000 00010000 00000000; does not match the
Edinburgh base address
61. 69
Oxford is tried next, yielding
11000010 00011000 00010000 00000000; it matches the Oxford
base
if no longer matches are found farther down the table, the
Oxford entry is used and the packet is sent along the line
named in it
Read about NAT - Network Address Translation
62. 70
IPv5
is (was) there IPv5?
yes, it was an experimental real-time stream protocol that
was never widely used
was designed to coexist with IPv4, not a replacement
63. 71
4.5 IPv6
the major goals are
Larger address space: to support billions of hosts, even
with inefficient address space allocation (2128 of them - if
the entire earth, land and water, were covered with
computers, IPv6 would allow 7 x 1023 IP addresses per
square meter - Tannenbaum)
Better header format: to simplify and speed-up the
routing process
Better security: better encryption and authentication
options
Support for resource allocation: to deal with the special
requirements of real-time data (audio and video)
Allowance for extension: to allow the extension of the
protocol if required by new technologies or applications
in the future
Coexistence: permit the old and new protocols to coexist
for years
64. 72
IPv6 header has 8 fields (40 bytes long)
Version (4 bits): is always 6 for IPv6 (and 4 for IPv4)
Traffic class (4 bits): used to distinguish between packets
with different real-time delivery requirements
Flow label (24 bits): to provide special handling for a
particular flow of data; for example, to reserve bandwidth
because of some delay requirements
The IPv4 header
The IPv6 header
65. 74
IPv6 addresses notation
hexadecimal colon notation: written as eight groups (each 2
bytes) of four hexadecimal digits with colons between the
groups
8000:0000:0000:0000:0123:4567:89AB:CDEF
many addresses usually will have many zeros
three abbreviation methods
leading zeros (not the trailing ones) within a group can be
omitted; 0123 can be written as 123
one or more groups of 16 zero bits can be replaced by a
pair of colons; the above address now becomes
8000::123:4567:89AB:CDEF
it is allowed only once per address (if there are two runs
of zero sections, only one of them can be abbreviated)
IPv4 addresses can be written as a pair of colons and an
old dotted decimal number, for example
::192.31.20.46
66. 75
Categories of Addresses
IPv6 defines 3 types
Unicast, Multicast
Anycast: defines a group of computers with addresses that
have the same prefix; such a packet must be delivered to
exactly one of the members of the group - the closest or the
most easily accessible
transition from IPv4 to IPv6
it can not happen suddenly; smooth transition is required
three strategies designed: dual stack, tunneling, and header
translation
67. 76
4.6 Address Resolution
the data link layer hardware does not understand IP
addresses
e.g., every Ethernet board comes with a 48-bit Ethernet
address (issued by a central authority to avoid conflicts);
such boards send and receive frames based on 48-bit
Ethernet addresses; they know nothing about 32-bit IP
addresses
a MAC address is a local address
delivery of a packet to a host or a router requires two
levels of addressing: IP and MAC
a mapping of IP addresses to MAC addresses is required
two types of mapping: static and dynamic
68. 77
Static Mapping
create a table that associates an IP address with a MAC
address, stored in each machine on a network
network performance is degraded to update the table
periodically (a machine could change its network card; in
some LANs such as LocalTalk of apple, the MAC address
changes every time the computer is turned on; a mobile
computer can move from one physical network to another)
Dynamic Mapping
each time a machine knows one of the two addresses, it can
use a protocol to find the other one
two protocols: ARP (maps an IP address to a MAC address)
and RARP (maps a MAC address to an IP address; obsolete,
replaced by DHCP- Dynamic Host Configuration Protocol)
69. 78
ARP (Address Resolution Protocol)
a host or a router looking for a MAC address broadcasts an
ARP query packet - it includes the MAC (physical) and IP
addresses of the sender and the IP address of the receiver
only the intended recipient sends back an ARP response
packet (it contains the recipient’s IP and physical
addresses); it is unicast
70. 79
DHCP (Dynamic Host Configuration Protocol)
each computer connected to the Internet must have the
following information
its IP address
its subnet mask
the IP address of a router
the IP address of a name server
such information can be saved in a configuration file of the
client; but what if
it is diskless or
it is booting for the first time or
it has moved to another subnet
DHCP is a client-server program for assigning network
addresses
IP addresses, default routers
it is an extension of BOOTP (that replaced RARP) that maps IP
addresses to Ethernet addresses; but it requires manual
configuration of the table by an administrator when a new host
is added - static
71. 80
DHCP allows both manual and automatic IP address assignment
a DHCP server has two databases
one that statically binds physical addresses to IP addresses
the second holds a list of unassigned IP addresses that
makes DHCP dynamic
computers contact the DHCP server at boot-up time
the server checks its static database; if there is an entry that
permanent address is returned
otherwise it dynamically assigns an IP address for a fixed
period of time
i.e., addresses are “leased” for some time; when the time
expires the client must request a renewal
this allows sharing of address space
results in more efficient use of address space
72. 81
a DHCP relay agent is needed on each LAN since the
DHCP server may not be reachable by broadcasting
Operation of DHCP
73. 82
ICMP (Internet Control Message Protocol)
IP has no error reporting and error correcting mechanisms; if
something goes wrong
it lacks a mechanism for host and management queries (is a
router or a host alive?)
ICMP is a companion to the IP designed to compensate these
two deficiencies
two type of ICMP messages: error-reporting and query
messages
Error Reporting
always reports error messages to the original source (the
only information included in the datagram is the source
and destination addresses)
74. 83
Destination unreachable: when a router cannot locate the
destination or when a packet with the DF bit cannot be
delivered because a ‘‘small-packet’’ network stands in the way;
the datagram is discarded
Source quench: to slow down a source since IP is
connectionless and lacks flow control and congestion control;
rarely used because when congestion occurs, these packets
tend to aggravate it; congestion control in the Internet is
handled in the transport layer
Time exceeded: sent when a packet is dropped because its
counter (Time to live) has reached zero (a symptom that
packets are looping) or when all fragments that make up a
message do not arrive at the destination host within a certain
time limit
Parameter problem: indicates that an illegal value has been
detected in a header field
Redirection: when a router notices that a packet seems to be
routed wrong