Rename year directories to allow natural ordering

This commit is contained in:
2023-12-20 03:57:27 +00:00
parent 0ab1f5ad3a
commit 1f7d812b98
1895 changed files with 0 additions and 7188 deletions

View File

@ -0,0 +1,167 @@
%! TeX program = lualatex
\documentclass[a4paper]{article}
% packages
\usepackage{microtype} % Slightly tweak font spacing for aesthetics
\usepackage[english]{babel} % Language hyphenation and typographical rules
\usepackage[final, colorlinks = false, urlcolor = cyan]{hyperref}
\usepackage{changepage} % adjust margins on the fly
\usepackage{fontspec}
\setmainfont{EB Garamond}
\setmonofont[Scale=MatchLowercase]{Deja Vu Sans Mono}
\usepackage{minted}
\usepackage{xcolor}
\usepackage{pgfplots}
\pgfplotsset{width=\textwidth,compat=1.9}
\usepackage{caption}
\newenvironment{code}{\captionsetup{type=listing}}{}
% \captionsetup[listing]{font=small, skip=0pt}
% \setlength{\abovecaptionskip}{0pt}
% \setlength{\belowcaptionskip}{5pt}
\usepackage[yyyymmdd]{datetime}
\renewcommand{\dateseparator}{--}
\usepackage{titlesec}
% \titleformat{\section}{\LARGE\bfseries}{}{}{}[\titlerule]
% \titleformat{\subsection}{\Large\bfseries}{}{0em}{}
% \titlespacing{\subsection}{0em}{-0.7em}{0em}
%
% \titleformat{\subsubsection}{\large\bfseries}{}{0em}{$\bullet$ }
% \titlespacing{\subsubsection}{1em}{-0.7em}{0em}
% margins
\addtolength{\hoffset}{-2.25cm}
\addtolength{\textwidth}{4.5cm}
\addtolength{\voffset}{-3.25cm}
\addtolength{\textheight}{5cm}
\setlength{\parskip}{0pt}
\setlength{\parindent}{0in}
% \setcounter{secnumdepth}{0}
\begin{document}
\hrule \medskip
\begin{minipage}{0.295\textwidth}
\raggedright
\footnotesize
Name: Andrew Hayes \\
E-mail: \href{mailto://a.hayes18@universityofgalway.ie}{\texttt{a.hayes18@universityofgalway.ie}} \hfill\\
ID: 21321503 \hfill
\end{minipage}
\begin{minipage}{0.4\textwidth}
\centering
\vspace{0.4em}
\Large
\textbf{CT3531} \\
\end{minipage}
\begin{minipage}{0.295\textwidth}
\raggedleft
\today
\end{minipage}
\medskip\hrule
\begin{center}
\normalsize
Assignment 01: Expand the VLAN-Based Network
\end{center}
\hrule
\begin{figure}[H]
\centering
\includegraphics[width=0.8\textwidth]{./images/one.png}
\caption{Network Topology}
\end{figure}
\begin{figure}[H]
\centering
\includegraphics[width=0.635\textwidth]{./images/router_conf.png}
\caption{Router Configuration}
\end{figure}
\begin{figure}[H]
\centering
\includegraphics[width=0.6\textwidth]{./images/switch_conf.png}
\caption{Configuration of the New IT101 Switch}
\end{figure}
\begin{figure}[H]
\centering
\includegraphics[width=0.45\textwidth]{./images/five.png}
\caption{Verifying that The New VPC Devices in the Accounts VLAN Can Ping Each Other}
\end{figure}
\begin{figure}[H]
\centering
\includegraphics[width=0.5\textwidth]{./images/six.png}
\caption{Running a Trace from a VPC to Another VPC in the Same VLAN (Same VPCs as in Above Figure)}
\end{figure}
When we run a trace from Accounts-PC1 to Accounts-PC2 (which are both on VLAN150), we can see that it only takes one hop to get from Accounts-PC1 to Accounts-PC2.
Because these devices are in the same VLAN, they do not need to go through the router to address each other, and can reach other directly.
When devices share a VLAN, they can communicate directly at the Data Link Layer.
\begin{figure}[H]
\centering
\includegraphics[width=0.9\textwidth]{./images/seven.png}
\caption{Running a Trace from a VPC to Another VPC in Different VLANs}
\end{figure}
When we run a trace from Accounts-PC1 to Support-PC1 (which are on different VLANs), we can see that it takes two hops to get from Accounts-PC1 to Support-PC1.
Communication between separate VLANs requires routing, and therefore communicating between two devices on two different VLANs requires that the packets go through a
router.
The first IP in the trace is that of the router: \verb|192.168.150.1| (or rather the IP of the gateway of VLAN150 on the router).
The second IP in the trace is that of Support-PC1: \verb|192.168.200.254|.
\begin{figure}[H]
\centering
\includegraphics[width=\textwidth]{./images/eight.png}
\caption{Packet Capture on the Link Connecting the Switch \& the Router During a Ping between VPCs on Different VLANs}
\end{figure}
The general outline of what happened in this packet capture is as follows:
\begin{enumerate}
\item An ICMP ping is sent from Accounts-PC1 (which is on VLAN150) to Support-PC1 (which is on VLAN200).
Ethernet frames that travel between VLANs need a tag that identifies the VLAN as per the 802.1Q protocol.
However, the 802.1Q is not added by the VPC sending the ping; instead, the tag is added by the first switch that the frame passes through, in this case
the IT101 switch.
The IT101 switch will have encapsulated the packet with an 802.1Q header and added the VLAN information, including the priority bits, the VLAN ID of the
VLAN to which the packet belongs, \& the Canonical Format Indicator which indicates the canonical format of the MAC address.
Therefore, by the time the packet reaches the Switch1-Floor2 switch, the VLAN tag has already been added to the frame.
\item The Switch1-Floor2 switch then forwards the encapsulated packet which now contains the 802.1Q header to the Office-Router router.
This can be seen in the first ICMP packet that we captured going from \verb|192.168.150.254| (Accounts-PC1) to \verb|192.168.200.254| (Support-PC1):
\begin{figure}[H]
\centering
\includegraphics[width=0.9\textwidth]{./images/dot1q_tag.png}
\caption{ICMP Packet Containing the 802.1Q Tag}
\end{figure}
\item We can tell what links require an 802.1Q header by checking whether they are trunks or access links: trunks expect packets to have an 802.1Q header so
that the switches or routers that they are linking can know which VLAN they belong to.
Access links do not expect an 802.1Q header, as the ports which access links join are specified to belong to a certain VLAN when the switch is configured.
Therefore every packet traversing one of the trunk links, i.e. IT101 {\leftrightarrow} Switch1-Floor2, Switch1-Floor2 {\leftrightarrow} Office-Router,
\& Switch1-Floor2 {\leftrightarrow} Switch2-Floor2, requires a 802.1Q header.
The last switch (Switch2-Floor2) before the destination VPC (Support-PC1) will remove the 802.1Q header, extracting the original ICMP echo request packet, and send it
down the access link to Support-PC1.
\item The router is needed to facilitate the inter-VLAN communication;
although, in purely physical terms, data could be transferred via the switches from Accounts-PC1 to Support-PC1 without having to go to the router, the
router is needed to facilitate inter-VLAN communication over IP, as the VLANs have separate broadcast domains and the individual VPCs do not know which
VLAN they belong to, if any.
The router forwards the packets to the switch Switch1-Floor2, which passes them to Switch2-Floor2.
\item When the ICMP packets reach Switch2-Floor2, the 802.1Q header is stripped from them, as they have now traversed the last trunk link that they need to
and are now going to pass over an access port to Support-PC1.
Since we are capturing the packets over the trunk link between a Switch1-Floor2 \& Office-Router, we will never see a packet without an 802.1Q header,
although they are in use for this ping.
\item When the echo request reaches Support-PC1, it send back an echo reply via Switch2-Floor2.
The 802.1Q header will be added at Switch2-Floor2, and the process will repeat to route the packet across the trunks to the router, and then to the
IT101 switch, where the 802.1Q header will be stripped and the packet forwarded back to Accounts-PC1, completing the ping.
\end{enumerate}
\end{document}

View File

@ -0,0 +1,884 @@
{
"auto_close": true,
"auto_open": false,
"auto_start": false,
"drawing_grid_size": 25,
"grid_size": 75,
"name": "untitled",
"project_id": "fb012585-33bc-48d6-89a9-27929632e402",
"revision": 9,
"scene_height": 1000,
"scene_width": 2000,
"show_grid": false,
"show_interface_labels": true,
"show_layers": false,
"snap_to_grid": false,
"supplier": null,
"topology": {
"computes": [],
"drawings": [
{
"drawing_id": "6bc6d4c5-6a9a-4aab-8217-90658ad5f2d1",
"locked": false,
"rotation": 0,
"svg": "<svg width=\"164\" height=\"80\"><text font-family=\"TypeWriter\" font-size=\"10.0\" font-weight=\"bold\" fill=\"#000000\" fill-opacity=\"1.0\">VLAN100 is for sales\nVLAN150 is for Accounts\nVLAN 200 is for support\n</text></svg>",
"x": -963,
"y": -503,
"z": 2
}
],
"links": [
{
"filters": {},
"link_id": "5e405ee2-aa99-41f6-ace9-2918037fbf62",
"link_style": {},
"nodes": [
{
"adapter_number": 0,
"label": {
"rotation": 0,
"style": "font-family: TypeWriter;font-size: 10.0;font-weight: bold;fill: #000000;fill-opacity: 1.0;",
"text": "e7",
"x": 36,
"y": 55
},
"node_id": "9074598c-fee9-4533-9419-906a1009488a",
"port_number": 7
},
{
"adapter_number": 0,
"label": {
"rotation": 0,
"style": "font-family: TypeWriter;font-size: 10.0;font-weight: bold;fill: #000000;fill-opacity: 1.0;",
"text": "e7",
"x": 34,
"y": -23
},
"node_id": "8645cf10-c647-42cf-85c0-aff9d17e3306",
"port_number": 7
}
],
"suspend": false
},
{
"filters": {},
"link_id": "191282bf-2b5c-4585-adf6-3fdac93648aa",
"link_style": {},
"nodes": [
{
"adapter_number": 0,
"label": {
"rotation": 0,
"style": "font-family: TypeWriter;font-size: 10.0;font-weight: bold;fill: #000000;fill-opacity: 1.0;",
"text": "e0",
"x": 70,
"y": 15
},
"node_id": "b1cee68e-c7e2-48a9-a319-27f565c17d42",
"port_number": 0
},
{
"adapter_number": 0,
"label": {
"rotation": 0,
"style": "font-family: TypeWriter;font-size: 10.0;font-weight: bold;fill: #000000;fill-opacity: 1.0;",
"text": "e1",
"x": -2,
"y": 29
},
"node_id": "9074598c-fee9-4533-9419-906a1009488a",
"port_number": 1
}
],
"suspend": false
},
{
"filters": {},
"link_id": "6ce00218-a01f-4de4-8b8a-95ce2afb0b80",
"link_style": {},
"nodes": [
{
"adapter_number": 0,
"label": {
"rotation": 0,
"style": "font-family: TypeWriter;font-size: 10.0;font-weight: bold;fill: #000000;fill-opacity: 1.0;",
"text": "e5",
"x": 71,
"y": 14
},
"node_id": "9074598c-fee9-4533-9419-906a1009488a",
"port_number": 5
},
{
"adapter_number": 0,
"label": {
"rotation": 0,
"style": "font-family: TypeWriter;font-size: 10.0;font-weight: bold;fill: #000000;fill-opacity: 1.0;",
"text": "e0",
"x": -16,
"y": 14
},
"node_id": "c85c7947-74a8-43b7-b432-00aff30a5adb",
"port_number": 0
}
],
"suspend": false
},
{
"filters": {},
"link_id": "a7f04699-54f1-4a82-8356-3fc7502018f5",
"link_style": {},
"nodes": [
{
"adapter_number": 0,
"label": {
"rotation": 0,
"style": "font-family: TypeWriter;font-size: 10.0;font-weight: bold;fill: #000000;fill-opacity: 1.0;",
"text": "e0",
"x": 72,
"y": 0
},
"node_id": "7600db2f-3887-4fb1-95db-2a10ae37dbf6",
"port_number": 0
},
{
"adapter_number": 0,
"label": {
"rotation": 0,
"style": "font-family: TypeWriter;font-size: 10.0;font-weight: bold;fill: #000000;fill-opacity: 1.0;",
"text": "e1",
"x": 3,
"y": 40
},
"node_id": "8645cf10-c647-42cf-85c0-aff9d17e3306",
"port_number": 1
}
],
"suspend": false
},
{
"filters": {},
"link_id": "d6e78849-fe5d-4556-a6e6-dfefe0a69ea6",
"link_style": {},
"nodes": [
{
"adapter_number": 0,
"label": {
"rotation": 0,
"style": "font-family: TypeWriter;font-size: 10.0;font-weight: bold;fill: #000000;fill-opacity: 1.0;",
"text": "e5",
"x": 68,
"y": 38
},
"node_id": "8645cf10-c647-42cf-85c0-aff9d17e3306",
"port_number": 5
},
{
"adapter_number": 0,
"label": {
"rotation": 0,
"style": "font-family: TypeWriter;font-size: 10.0;font-weight: bold;fill: #000000;fill-opacity: 1.0;",
"text": "e0",
"x": 0,
"y": 6
},
"node_id": "4349fe8d-c67c-4df0-bb3c-3e5960e70ade",
"port_number": 0
}
],
"suspend": false
},
{
"filters": {},
"link_id": "489b4b77-d084-4c07-82fb-43d812ce0231",
"link_style": {},
"nodes": [
{
"adapter_number": 0,
"label": {
"rotation": 0,
"style": "font-family: TypeWriter;font-size: 10.0;font-weight: bold;fill: #000000;fill-opacity: 1.0;",
"text": "e0",
"x": 25,
"y": -38
},
"node_id": "9074598c-fee9-4533-9419-906a1009488a",
"port_number": 0
},
{
"adapter_number": 3,
"label": {
"rotation": 0,
"style": "font-family: TypeWriter;font-size: 10.0;font-weight: bold;fill: #000000;fill-opacity: 1.0;",
"text": "ether4",
"x": 1,
"y": 46
},
"node_id": "daf29fa7-89c5-4181-9413-6833bd83ee62",
"port_number": 0
}
],
"suspend": false
},
{
"filters": {},
"link_id": "af3018de-61d0-4ae6-9fe3-242cba7bffde",
"link_style": {},
"nodes": [
{
"adapter_number": 0,
"label": {
"rotation": 0,
"style": "font-family: TypeWriter;font-size: 10.0;font-weight: bold;fill: #000000;fill-opacity: 1.0;",
"text": "e6",
"x": 71,
"y": 33
},
"node_id": "7b609ac9-ab37-4722-93d7-c1269eeb2674",
"port_number": 6
},
{
"adapter_number": 0,
"label": {
"rotation": 0,
"style": "font-family: TypeWriter;font-size: 10.0;font-weight: bold;fill: #000000;fill-opacity: 1.0;",
"text": "e6",
"x": 0,
"y": -1
},
"node_id": "9074598c-fee9-4533-9419-906a1009488a",
"port_number": 6
}
],
"suspend": false
},
{
"filters": {},
"link_id": "1b225875-845e-46ae-8a6d-26d045e05998",
"link_style": {},
"nodes": [
{
"adapter_number": 0,
"label": {
"rotation": 0,
"style": "font-family: TypeWriter;font-size: 10.0;font-weight: bold;fill: #000000;fill-opacity: 1.0;",
"text": "e0",
"x": 72,
"y": 25
},
"node_id": "4dc14a35-1993-408b-9493-3dcd00c600e7",
"port_number": 0
},
{
"adapter_number": 0,
"label": {
"rotation": 0,
"style": "font-family: TypeWriter;font-size: 10.0;font-weight: bold;fill: #000000;fill-opacity: 1.0;",
"text": "e1",
"x": -4,
"y": 19
},
"node_id": "7b609ac9-ab37-4722-93d7-c1269eeb2674",
"port_number": 1
}
],
"suspend": false
},
{
"filters": {},
"link_id": "53ed2cb1-5f37-4ad6-8e6e-13c73bb4c967",
"link_style": {},
"nodes": [
{
"adapter_number": 0,
"label": {
"rotation": 0,
"style": "font-family: TypeWriter;font-size: 10.0;font-weight: bold;fill: #000000;fill-opacity: 1.0;",
"text": "e0",
"x": 71,
"y": 19
},
"node_id": "e582dae0-38e6-4878-88ef-4bb086fad59c",
"port_number": 0
},
{
"adapter_number": 0,
"label": {
"rotation": 0,
"style": "font-family: TypeWriter;font-size: 10.0;font-weight: bold;fill: #000000;fill-opacity: 1.0;",
"text": "e2",
"x": -3,
"y": 25
},
"node_id": "8645cf10-c647-42cf-85c0-aff9d17e3306",
"port_number": 2
}
],
"suspend": false
},
{
"filters": {},
"link_id": "f1ef7c61-e55f-469d-b56b-334fc427f74e",
"link_style": {},
"nodes": [
{
"adapter_number": 0,
"label": {
"rotation": 0,
"style": "font-family: TypeWriter;font-size: 10.0;font-weight: bold;fill: #000000;fill-opacity: 1.0;",
"text": "e0",
"x": -6,
"y": 36
},
"node_id": "d2a65584-1655-49b0-994f-24d2ce881c72",
"port_number": 0
},
{
"adapter_number": 0,
"label": {
"rotation": 0,
"style": "font-family: TypeWriter;font-size: 10.0;font-weight: bold;fill: #000000;fill-opacity: 1.0;",
"text": "e2",
"x": 82,
"y": -19
},
"node_id": "9074598c-fee9-4533-9419-906a1009488a",
"port_number": 2
}
],
"suspend": false
}
],
"nodes": [
{
"compute_id": "local",
"console": 5000,
"console_auto_start": false,
"console_type": "none",
"custom_adapters": [],
"first_port_name": null,
"height": 32,
"label": {
"rotation": 0,
"style": "font-family: TypeWriter;font-size: 10.0;font-weight: bold;fill: #000000;fill-opacity: 1.0;",
"text": "Switch1-Floor2",
"x": -16,
"y": -25
},
"locked": false,
"name": "Switch1-Floor2",
"node_id": "9074598c-fee9-4533-9419-906a1009488a",
"node_type": "ethernet_switch",
"port_name_format": "Ethernet{0}",
"port_segment_size": 0,
"properties": {
"ports_mapping": [
{
"ethertype": "",
"name": "Ethernet0",
"port_number": 0,
"type": "dot1q",
"vlan": 1
},
{
"ethertype": "",
"name": "Ethernet1",
"port_number": 1,
"type": "dot1q",
"vlan": 100
},
{
"ethertype": "",
"name": "Ethernet2",
"port_number": 2,
"type": "dot1q",
"vlan": 150
},
{
"name": "Ethernet3",
"port_number": 3,
"type": "access",
"vlan": 1
},
{
"name": "Ethernet4",
"port_number": 4,
"type": "access",
"vlan": 1
},
{
"ethertype": "",
"name": "Ethernet5",
"port_number": 5,
"type": "access",
"vlan": 200
},
{
"ethertype": "",
"name": "Ethernet6",
"port_number": 6,
"type": "dot1q",
"vlan": 1
},
{
"ethertype": "",
"name": "Ethernet7",
"port_number": 7,
"type": "dot1q",
"vlan": 1
}
]
},
"symbol": ":/symbols/ethernet_switch.svg",
"template_id": "1966b864-93e7-32d5-965f-001384eec461",
"width": 72,
"x": -239,
"y": -178,
"z": 1
},
{
"compute_id": "local",
"console": 5001,
"console_auto_start": false,
"console_type": "none",
"custom_adapters": [],
"first_port_name": null,
"height": 32,
"label": {
"rotation": 0,
"style": "font-family: TypeWriter;font-size: 10.0;font-weight: bold;fill: #000000;fill-opacity: 1.0;",
"text": "Switch2-Floor2",
"x": -16,
"y": -25
},
"locked": false,
"name": "Switch2-Floor2",
"node_id": "8645cf10-c647-42cf-85c0-aff9d17e3306",
"node_type": "ethernet_switch",
"port_name_format": "Ethernet{0}",
"port_segment_size": 0,
"properties": {
"ports_mapping": [
{
"name": "Ethernet0",
"port_number": 0,
"type": "access",
"vlan": 1
},
{
"ethertype": "",
"name": "Ethernet1",
"port_number": 1,
"type": "access",
"vlan": 100
},
{
"ethertype": "",
"name": "Ethernet2",
"port_number": 2,
"type": "access",
"vlan": 150
},
{
"name": "Ethernet3",
"port_number": 3,
"type": "access",
"vlan": 1
},
{
"name": "Ethernet4",
"port_number": 4,
"type": "access",
"vlan": 1
},
{
"ethertype": "",
"name": "Ethernet5",
"port_number": 5,
"type": "access",
"vlan": 200
},
{
"name": "Ethernet6",
"port_number": 6,
"type": "access",
"vlan": 1
},
{
"ethertype": "",
"name": "Ethernet7",
"port_number": 7,
"type": "dot1q",
"vlan": 1
}
]
},
"symbol": ":/symbols/ethernet_switch.svg",
"template_id": "1966b864-93e7-32d5-965f-001384eec461",
"width": 72,
"x": -242,
"y": 2,
"z": 1
},
{
"compute_id": "local",
"console": 5002,
"console_auto_start": false,
"console_type": "telnet",
"custom_adapters": [],
"first_port_name": null,
"height": 59,
"label": {
"rotation": 0,
"style": "font-family: TypeWriter;font-size: 10.0;font-weight: bold;fill: #000000;fill-opacity: 1.0;",
"text": "Sales-PC1",
"x": -2,
"y": -25
},
"locked": false,
"name": "Sales-PC1",
"node_id": "7600db2f-3887-4fb1-95db-2a10ae37dbf6",
"node_type": "vpcs",
"port_name_format": "Ethernet{0}",
"port_segment_size": 0,
"properties": {},
"symbol": ":/symbols/vpcs_guest.svg",
"template_id": "19021f99-e36f-394d-b4a1-8aaa902ab9cc",
"width": 65,
"x": -234,
"y": 169,
"z": 1
},
{
"compute_id": "local",
"console": 5004,
"console_auto_start": false,
"console_type": "telnet",
"custom_adapters": [],
"first_port_name": null,
"height": 59,
"label": {
"rotation": 0,
"style": "font-family: TypeWriter;font-size: 10.0;font-weight: bold;fill: #000000;fill-opacity: 1.0;",
"text": "Support-PC1",
"x": -11,
"y": -25
},
"locked": false,
"name": "Support-PC1",
"node_id": "4349fe8d-c67c-4df0-bb3c-3e5960e70ade",
"node_type": "vpcs",
"port_name_format": "Ethernet{0}",
"port_segment_size": 0,
"properties": {},
"symbol": ":/symbols/vpcs_guest.svg",
"template_id": "19021f99-e36f-394d-b4a1-8aaa902ab9cc",
"width": 65,
"x": -85,
"y": 68,
"z": 1
},
{
"compute_id": "local",
"console": 5006,
"console_auto_start": false,
"console_type": "telnet",
"custom_adapters": [],
"first_port_name": null,
"height": 59,
"label": {
"rotation": 0,
"style": "font-family: TypeWriter;font-size: 10.0;font-weight: bold;fill: #000000;fill-opacity: 1.0;",
"text": "Sales-PC2",
"x": -4,
"y": -28
},
"locked": false,
"name": "Sales-PC2",
"node_id": "b1cee68e-c7e2-48a9-a319-27f565c17d42",
"node_type": "vpcs",
"port_name_format": "Ethernet{0}",
"port_segment_size": 0,
"properties": {},
"symbol": ":/symbols/vpcs_guest.svg",
"template_id": "19021f99-e36f-394d-b4a1-8aaa902ab9cc",
"width": 65,
"x": -422,
"y": -182,
"z": 1
},
{
"compute_id": "local",
"console": 5008,
"console_auto_start": false,
"console_type": "telnet",
"custom_adapters": [],
"first_port_name": null,
"height": 59,
"label": {
"rotation": 0,
"style": "font-family: TypeWriter;font-size: 10.0;font-weight: bold;fill: #000000;fill-opacity: 1.0;",
"text": "Support-PC2",
"x": -11,
"y": -25
},
"locked": false,
"name": "Support-PC2",
"node_id": "c85c7947-74a8-43b7-b432-00aff30a5adb",
"node_type": "vpcs",
"port_name_format": "Ethernet{0}",
"port_segment_size": 0,
"properties": {},
"symbol": ":/symbols/vpcs_guest.svg",
"template_id": "19021f99-e36f-394d-b4a1-8aaa902ab9cc",
"width": 65,
"x": 43,
"y": -170,
"z": 1
},
{
"compute_id": "local",
"console": 5010,
"console_auto_start": false,
"console_type": "telnet",
"custom_adapters": [],
"first_port_name": "",
"height": 45,
"label": {
"rotation": 0,
"style": "font-family: TypeWriter;font-size: 10.0;font-weight: bold;fill: #000000;fill-opacity: 1.0;",
"text": "Office-Router",
"x": -14,
"y": -25
},
"locked": false,
"name": "Office-Router",
"node_id": "daf29fa7-89c5-4181-9413-6833bd83ee62",
"node_type": "qemu",
"port_name_format": "ether{port1}",
"port_segment_size": 0,
"properties": {
"adapter_type": "virtio-net-pci",
"adapters": 8,
"bios_image": "",
"bios_image_md5sum": null,
"boot_priority": "c",
"cdrom_image": "",
"cdrom_image_md5sum": null,
"cpu_throttling": 0,
"cpus": 1,
"create_config_disk": false,
"hda_disk_image": "chr-6.49.6.img",
"hda_disk_image_md5sum": "ae27d38acc9c4dcd875e0f97bcae8d97",
"hda_disk_interface": "virtio",
"hdb_disk_image": "",
"hdb_disk_image_md5sum": null,
"hdb_disk_interface": "none",
"hdc_disk_image": "",
"hdc_disk_image_md5sum": null,
"hdc_disk_interface": "none",
"hdd_disk_image": "",
"hdd_disk_image_md5sum": null,
"hdd_disk_interface": "none",
"initrd": "",
"initrd_md5sum": null,
"kernel_command_line": "",
"kernel_image": "",
"kernel_image_md5sum": null,
"legacy_networking": false,
"linked_clone": true,
"mac_address": "0c:f2:9f:a7:00:00",
"on_close": "power_off",
"options": "-nographic",
"platform": "x86_64",
"process_priority": "normal",
"qemu_path": "/usr/bin/qemu-system-x86_64",
"ram": 384,
"replicate_network_connection_state": true,
"tpm": false,
"uefi": false,
"usage": "If you'd like a different sized main disk, resize the image before booting the VM for the first time.\n\nOn first boot, RouterOS is actually being installed, formatting the whole main virtual disk, before finally rebooting. That whole process may take a minute or so.\n\nThe console will become available after the installation is complete. Most Telnet/SSH clients (certainly SuperPutty) will keep retrying to connect, thus letting you know when installation is done.\n\nFrom that point on, everything about RouterOS is also true about Cloud Hosted Router, including the default credentials: Username \"admin\" and an empty password.\n\nThe primary differences between RouterOS and CHR are in support for virtual devices (this appliance comes with them being selected), and in the different license model, for which you can read more about at http://wiki.mikrotik.com/wiki/Manual:CHR."
},
"symbol": ":/symbols/classic/router.svg",
"template_id": "0c76c132-880d-457e-945f-583b2f1bc69b",
"width": 66,
"x": -160,
"y": -347,
"z": 1
},
{
"compute_id": "local",
"console": 5013,
"console_auto_start": false,
"console_type": "none",
"custom_adapters": [],
"first_port_name": null,
"height": 32,
"label": {
"rotation": 0,
"style": "font-family: TypeWriter;font-size: 10.0;font-weight: bold;fill: #000000;fill-opacity: 1.0;",
"text": "IT101",
"x": 14,
"y": -25
},
"locked": false,
"name": "IT101",
"node_id": "7b609ac9-ab37-4722-93d7-c1269eeb2674",
"node_type": "ethernet_switch",
"port_name_format": "Ethernet{0}",
"port_segment_size": 0,
"properties": {
"ports_mapping": [
{
"name": "Ethernet0",
"port_number": 0,
"type": "access",
"vlan": 1
},
{
"ethertype": "",
"name": "Ethernet1",
"port_number": 1,
"type": "access",
"vlan": 150
},
{
"name": "Ethernet2",
"port_number": 2,
"type": "access",
"vlan": 1
},
{
"name": "Ethernet3",
"port_number": 3,
"type": "access",
"vlan": 1
},
{
"name": "Ethernet4",
"port_number": 4,
"type": "access",
"vlan": 1
},
{
"name": "Ethernet5",
"port_number": 5,
"type": "access",
"vlan": 1
},
{
"ethertype": "",
"name": "Ethernet6",
"port_number": 6,
"type": "dot1q",
"vlan": 1
},
{
"name": "Ethernet7",
"port_number": 7,
"type": "access",
"vlan": 1
}
]
},
"symbol": ":/symbols/ethernet_switch.svg",
"template_id": "1966b864-93e7-32d5-965f-001384eec461",
"width": 72,
"x": -400,
"y": -330,
"z": 1
},
{
"compute_id": "local",
"console": 5014,
"console_auto_start": false,
"console_type": "telnet",
"custom_adapters": [],
"first_port_name": null,
"height": 59,
"label": {
"rotation": 0,
"style": "font-family: TypeWriter;font-size: 10.0;font-weight: bold;fill: #000000;fill-opacity: 1.0;",
"text": "Accounts-PC1",
"x": -15,
"y": -25
},
"locked": false,
"name": "Accounts-PC1",
"node_id": "4dc14a35-1993-408b-9493-3dcd00c600e7",
"node_type": "vpcs",
"port_name_format": "Ethernet{0}",
"port_segment_size": 0,
"properties": {},
"symbol": ":/symbols/vpcs_guest.svg",
"template_id": "19021f99-e36f-394d-b4a1-8aaa902ab9cc",
"width": 65,
"x": -610,
"y": -313,
"z": 1
},
{
"compute_id": "local",
"console": 5016,
"console_auto_start": false,
"console_type": "telnet",
"custom_adapters": [],
"first_port_name": null,
"height": 59,
"label": {
"rotation": 0,
"style": "font-family: TypeWriter;font-size: 10.0;font-weight: bold;fill: #000000;fill-opacity: 1.0;",
"text": "Accounts-PC2",
"x": -15,
"y": -25
},
"locked": false,
"name": "Accounts-PC2",
"node_id": "e582dae0-38e6-4878-88ef-4bb086fad59c",
"node_type": "vpcs",
"port_name_format": "Ethernet{0}",
"port_segment_size": 0,
"properties": {},
"symbol": ":/symbols/vpcs_guest.svg",
"template_id": "19021f99-e36f-394d-b4a1-8aaa902ab9cc",
"width": 65,
"x": -388,
"y": 73,
"z": 1
},
{
"compute_id": "local",
"console": 5018,
"console_auto_start": false,
"console_type": "telnet",
"custom_adapters": [],
"first_port_name": null,
"height": 59,
"label": {
"rotation": 0,
"style": "font-family: TypeWriter;font-size: 10.0;font-weight: bold;fill: #000000;fill-opacity: 1.0;",
"text": "Accounts-PC3",
"x": -15,
"y": -25
},
"locked": false,
"name": "Accounts-PC3",
"node_id": "d2a65584-1655-49b0-994f-24d2ce881c72",
"node_type": "vpcs",
"port_name_format": "Ethernet{0}",
"port_segment_size": 0,
"properties": {},
"symbol": ":/symbols/vpcs_guest.svg",
"template_id": "19021f99-e36f-394d-b4a1-8aaa902ab9cc",
"width": 65,
"x": -5,
"y": -324,
"z": 1
}
]
},
"type": "topology",
"variables": null,
"version": "2.2.44.1",
"zoom": 100
}

View File

@ -0,0 +1,9 @@
# This the configuration for Accounts-PC1
#
# Uncomment the following line to enable DHCP
# dhcp
# or the line below to manually setup an IP address and subnet mask
# ip 192.168.1.1 255.0.0.0
#
set pcname Accounts-PC1

View File

@ -0,0 +1,9 @@
# This the configuration for Accounts-PC3
#
# Uncomment the following line to enable DHCP
# dhcp
# or the line below to manually setup an IP address and subnet mask
# ip 192.168.1.1 255.0.0.0
#
set pcname Accounts-PC3

View File

@ -0,0 +1,9 @@
# This the configuration for Accounts-PC2
#
# Uncomment the following line to enable DHCP
# dhcp
# or the line below to manually setup an IP address and subnet mask
# ip 192.168.1.1 255.0.0.0
#
set pcname Accounts-PC2

Binary file not shown.

After

Width:  |  Height:  |  Size: 78 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 385 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 124 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 87 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 158 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 132 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 86 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 42 KiB

View File

@ -0,0 +1,788 @@
{
"auto_close": true,
"auto_open": false,
"auto_start": false,
"drawing_grid_size": 25,
"grid_size": 75,
"name": "OSPF-Assignment",
"project_id": "26be1995-20aa-4dae-82e3-b8f69a1f7909",
"revision": 9,
"scene_height": 1000,
"scene_width": 2000,
"show_grid": false,
"show_interface_labels": true,
"show_layers": false,
"snap_to_grid": false,
"supplier": null,
"topology": {
"computes": [],
"drawings": [],
"links": [
{
"filters": {},
"link_id": "ae7714bc-d44d-427c-8f28-74286aae2a4a",
"link_style": {},
"nodes": [
{
"adapter_number": 1,
"label": {
"rotation": 0,
"style": "font-family: TypeWriter;font-size: 10.0;font-weight: bold;fill: #000000;fill-opacity: 1.0;",
"text": "ether2",
"x": 60,
"y": -6
},
"node_id": "9736b8e6-decf-4a7c-85c8-2ad1813613e7",
"port_number": 0
},
{
"adapter_number": 1,
"label": {
"rotation": 0,
"style": "font-family: TypeWriter;font-size: 10.0;font-weight: bold;fill: #000000;fill-opacity: 1.0;",
"text": "ether2",
"x": 5,
"y": 50
},
"node_id": "c3cf6bdc-759e-4897-9738-e3e647701680",
"port_number": 0
}
],
"suspend": false
},
{
"filters": {},
"link_id": "9b47c036-3635-4fd9-b56d-aa285507d938",
"link_style": {},
"nodes": [
{
"adapter_number": 2,
"label": {
"rotation": 0,
"style": "font-family: TypeWriter;font-size: 10.0;font-weight: bold;fill: #000000;fill-opacity: 1.0;",
"text": "ether3",
"x": 72,
"y": 21
},
"node_id": "e6d19d1c-e804-4c23-a773-ac87ea7879e2",
"port_number": 0
},
{
"adapter_number": 2,
"label": {
"rotation": 0,
"style": "font-family: TypeWriter;font-size: 10.0;font-weight: bold;fill: #000000;fill-opacity: 1.0;",
"text": "ether3",
"x": -6,
"y": 22
},
"node_id": "c3cf6bdc-759e-4897-9738-e3e647701680",
"port_number": 0
}
],
"suspend": false
},
{
"filters": {},
"link_id": "50d83cd6-397b-43d3-9cde-f970b35fec64",
"link_style": {},
"nodes": [
{
"adapter_number": 0,
"label": {
"rotation": 0,
"style": "font-family: TypeWriter;font-size: 10.0;font-weight: bold;fill: #000000;fill-opacity: 1.0;",
"text": "e1",
"x": 67,
"y": -7
},
"node_id": "9826423b-48d4-4abf-8f6e-4a7816852e45",
"port_number": 1
},
{
"adapter_number": 3,
"label": {
"rotation": 0,
"style": "font-family: TypeWriter;font-size: 10.0;font-weight: bold;fill: #000000;fill-opacity: 1.0;",
"text": "ether4",
"x": 0,
"y": 45
},
"node_id": "e6d19d1c-e804-4c23-a773-ac87ea7879e2",
"port_number": 0
}
],
"suspend": false
},
{
"filters": {},
"link_id": "5e7de34d-87c7-4333-9ac5-4c0ad58c79d7",
"link_style": {},
"nodes": [
{
"adapter_number": 0,
"label": {
"rotation": 0,
"style": "font-family: TypeWriter;font-size: 10.0;font-weight: bold;fill: #000000;fill-opacity: 1.0;",
"text": "e0",
"x": 43,
"y": -19
},
"node_id": "697d7148-c386-4b32-bd6b-f423379b8434",
"port_number": 0
},
{
"adapter_number": 0,
"label": {
"rotation": 0,
"style": "font-family: TypeWriter;font-size: 10.0;font-weight: bold;fill: #000000;fill-opacity: 1.0;",
"text": "e0",
"x": 4,
"y": 35
},
"node_id": "9826423b-48d4-4abf-8f6e-4a7816852e45",
"port_number": 0
}
],
"suspend": false
},
{
"filters": {},
"link_id": "53e873bb-81b8-40b4-b0c1-bf25e68eaf33",
"link_style": {},
"nodes": [
{
"adapter_number": 3,
"label": {
"rotation": 0,
"style": "font-family: TypeWriter;font-size: 10.0;font-weight: bold;fill: #000000;fill-opacity: 1.0;",
"text": "ether4",
"x": 33,
"y": 61
},
"node_id": "9736b8e6-decf-4a7c-85c8-2ad1813613e7",
"port_number": 0
},
{
"adapter_number": 0,
"label": {
"rotation": 0,
"style": "font-family: TypeWriter;font-size: 10.0;font-weight: bold;fill: #000000;fill-opacity: 1.0;",
"text": "e0",
"x": 35,
"y": -23
},
"node_id": "149008b2-b235-4c72-8c32-76c4790a6662",
"port_number": 0
}
],
"suspend": false
},
{
"filters": {},
"link_id": "448799f5-dcbb-4d13-9374-355a178bd641",
"link_style": {},
"nodes": [
{
"adapter_number": 0,
"label": {
"rotation": 0,
"style": "font-family: TypeWriter;font-size: 10.0;font-weight: bold;fill: #000000;fill-opacity: 1.0;",
"text": "e1",
"x": 75,
"y": 14
},
"node_id": "149008b2-b235-4c72-8c32-76c4790a6662",
"port_number": 1
},
{
"adapter_number": 0,
"label": {
"rotation": 0,
"style": "font-family: TypeWriter;font-size: 10.0;font-weight: bold;fill: #000000;fill-opacity: 1.0;",
"text": "e0",
"x": -7,
"y": 30
},
"node_id": "5ff1d06e-1923-4ce3-b547-1d832aeaa590",
"port_number": 0
}
],
"suspend": false
},
{
"filters": {},
"link_id": "3b0ef5ea-4588-4d20-a7f2-c939bc0a2c34",
"link_style": {},
"nodes": [
{
"adapter_number": 0,
"label": {
"rotation": 0,
"style": "font-family: TypeWriter;font-size: 10.0;font-weight: bold;fill: #000000;fill-opacity: 1.0;",
"text": "ether1",
"x": 65,
"y": 44
},
"node_id": "c3cf6bdc-759e-4897-9738-e3e647701680",
"port_number": 0
},
{
"adapter_number": 0,
"label": {
"rotation": 0,
"style": "font-family: TypeWriter;font-size: 10.0;font-weight: bold;fill: #000000;fill-opacity: 1.0;",
"text": "enp7s0f3u1u4",
"x": 21,
"y": -4
},
"node_id": "9fcb5da9-bd64-4386-9fbb-cbb94c607f62",
"port_number": 0
}
],
"suspend": false
},
{
"filters": {},
"link_id": "1ba304f4-33c1-4834-80ec-e507fc5b64a2",
"link_style": {},
"nodes": [
{
"adapter_number": 0,
"label": {
"rotation": 0,
"style": "font-family: TypeWriter;font-size: 10.0;font-weight: bold;fill: #000000;fill-opacity: 1.0;",
"text": "ether1",
"x": 61,
"y": 50
},
"node_id": "e6d19d1c-e804-4c23-a773-ac87ea7879e2",
"port_number": 0
},
{
"adapter_number": 0,
"label": {
"rotation": 0,
"style": "font-family: TypeWriter;font-size: 10.0;font-weight: bold;fill: #000000;fill-opacity: 1.0;",
"text": "ether1",
"x": 4,
"y": -6
},
"node_id": "9736b8e6-decf-4a7c-85c8-2ad1813613e7",
"port_number": 0
}
],
"suspend": false
}
],
"nodes": [
{
"compute_id": "local",
"console": 5000,
"console_auto_start": false,
"console_type": "telnet",
"custom_adapters": [],
"first_port_name": "",
"height": 45,
"label": {
"rotation": 0,
"style": "font-family: TypeWriter;font-size: 10.0;font-weight: bold;fill: #000000;fill-opacity: 1.0;",
"text": "EngBuilding",
"x": -10,
"y": -25
},
"locked": false,
"name": "EngBuilding",
"node_id": "e6d19d1c-e804-4c23-a773-ac87ea7879e2",
"node_type": "qemu",
"port_name_format": "ether{port1}",
"port_segment_size": 0,
"properties": {
"adapter_type": "virtio-net-pci",
"adapters": 8,
"bios_image": "",
"bios_image_md5sum": null,
"boot_priority": "c",
"cdrom_image": "",
"cdrom_image_md5sum": null,
"cpu_throttling": 0,
"cpus": 1,
"create_config_disk": false,
"hda_disk_image": "chr-6.49.6.img",
"hda_disk_image_md5sum": "ae27d38acc9c4dcd875e0f97bcae8d97",
"hda_disk_interface": "virtio",
"hdb_disk_image": "",
"hdb_disk_image_md5sum": null,
"hdb_disk_interface": "none",
"hdc_disk_image": "",
"hdc_disk_image_md5sum": null,
"hdc_disk_interface": "none",
"hdd_disk_image": "",
"hdd_disk_image_md5sum": null,
"hdd_disk_interface": "none",
"initrd": "",
"initrd_md5sum": null,
"kernel_command_line": "",
"kernel_image": "",
"kernel_image_md5sum": null,
"legacy_networking": false,
"linked_clone": true,
"mac_address": "0c:d1:9d:1c:00:00",
"on_close": "power_off",
"options": "-nographic",
"platform": "x86_64",
"process_priority": "normal",
"qemu_path": "/usr/bin/qemu-system-x86_64",
"ram": 384,
"replicate_network_connection_state": true,
"tpm": false,
"uefi": false,
"usage": "If you'd like a different sized main disk, resize the image before booting the VM for the first time.\n\nOn first boot, RouterOS is actually being installed, formatting the whole main virtual disk, before finally rebooting. That whole process may take a minute or so.\n\nThe console will become available after the installation is complete. Most Telnet/SSH clients (certainly SuperPutty) will keep retrying to connect, thus letting you know when installation is done.\n\nFrom that point on, everything about RouterOS is also true about Cloud Hosted Router, including the default credentials: Username \"admin\" and an empty password.\n\nThe primary differences between RouterOS and CHR are in support for virtual devices (this appliance comes with them being selected), and in the different license model, for which you can read more about at http://wiki.mikrotik.com/wiki/Manual:CHR."
},
"symbol": ":/symbols/classic/router.svg",
"template_id": "0c76c132-880d-457e-945f-583b2f1bc69b",
"width": 66,
"x": -468,
"y": -357,
"z": 1
},
{
"compute_id": "local",
"console": 5002,
"console_auto_start": false,
"console_type": "telnet",
"custom_adapters": [],
"first_port_name": "",
"height": 45,
"label": {
"rotation": 0,
"style": "font-family: TypeWriter;font-size: 10.0;font-weight: bold;fill: #000000;fill-opacity: 1.0;",
"text": "ITBuilding",
"x": -4,
"y": -25
},
"locked": false,
"name": "ITBuilding",
"node_id": "9736b8e6-decf-4a7c-85c8-2ad1813613e7",
"node_type": "qemu",
"port_name_format": "ether{port1}",
"port_segment_size": 0,
"properties": {
"adapter_type": "virtio-net-pci",
"adapters": 8,
"bios_image": "",
"bios_image_md5sum": null,
"boot_priority": "c",
"cdrom_image": "",
"cdrom_image_md5sum": null,
"cpu_throttling": 0,
"cpus": 1,
"create_config_disk": false,
"hda_disk_image": "chr-6.49.6.img",
"hda_disk_image_md5sum": "ae27d38acc9c4dcd875e0f97bcae8d97",
"hda_disk_interface": "virtio",
"hdb_disk_image": "",
"hdb_disk_image_md5sum": null,
"hdb_disk_interface": "none",
"hdc_disk_image": "",
"hdc_disk_image_md5sum": null,
"hdc_disk_interface": "none",
"hdd_disk_image": "",
"hdd_disk_image_md5sum": null,
"hdd_disk_interface": "none",
"initrd": "",
"initrd_md5sum": null,
"kernel_command_line": "",
"kernel_image": "",
"kernel_image_md5sum": null,
"legacy_networking": false,
"linked_clone": true,
"mac_address": "0c:36:b8:e6:00:00",
"on_close": "power_off",
"options": "-nographic",
"platform": "x86_64",
"process_priority": "normal",
"qemu_path": "/usr/bin/qemu-system-x86_64",
"ram": 384,
"replicate_network_connection_state": true,
"tpm": false,
"uefi": false,
"usage": "If you'd like a different sized main disk, resize the image before booting the VM for the first time.\n\nOn first boot, RouterOS is actually being installed, formatting the whole main virtual disk, before finally rebooting. That whole process may take a minute or so.\n\nThe console will become available after the installation is complete. Most Telnet/SSH clients (certainly SuperPutty) will keep retrying to connect, thus letting you know when installation is done.\n\nFrom that point on, everything about RouterOS is also true about Cloud Hosted Router, including the default credentials: Username \"admin\" and an empty password.\n\nThe primary differences between RouterOS and CHR are in support for virtual devices (this appliance comes with them being selected), and in the different license model, for which you can read more about at http://wiki.mikrotik.com/wiki/Manual:CHR."
},
"symbol": ":/symbols/classic/router.svg",
"template_id": "0c76c132-880d-457e-945f-583b2f1bc69b",
"width": 66,
"x": -297,
"y": -189,
"z": 1
},
{
"compute_id": "local",
"console": 5004,
"console_auto_start": false,
"console_type": "telnet",
"custom_adapters": [],
"first_port_name": "",
"height": 45,
"label": {
"rotation": 0,
"style": "font-family: TypeWriter;font-size: 10.0;font-weight: bold;fill: #000000;fill-opacity: 1.0;",
"text": "CoreRouter",
"x": -7,
"y": -25
},
"locked": false,
"name": "CoreRouter",
"node_id": "c3cf6bdc-759e-4897-9738-e3e647701680",
"node_type": "qemu",
"port_name_format": "ether{port1}",
"port_segment_size": 0,
"properties": {
"adapter_type": "virtio-net-pci",
"adapters": 8,
"bios_image": "",
"bios_image_md5sum": null,
"boot_priority": "c",
"cdrom_image": "",
"cdrom_image_md5sum": null,
"cpu_throttling": 0,
"cpus": 1,
"create_config_disk": false,
"hda_disk_image": "chr-6.49.6.img",
"hda_disk_image_md5sum": "ae27d38acc9c4dcd875e0f97bcae8d97",
"hda_disk_interface": "virtio",
"hdb_disk_image": "",
"hdb_disk_image_md5sum": null,
"hdb_disk_interface": "none",
"hdc_disk_image": "",
"hdc_disk_image_md5sum": null,
"hdc_disk_interface": "none",
"hdd_disk_image": "",
"hdd_disk_image_md5sum": null,
"hdd_disk_interface": "none",
"initrd": "",
"initrd_md5sum": null,
"kernel_command_line": "",
"kernel_image": "",
"kernel_image_md5sum": null,
"legacy_networking": false,
"linked_clone": true,
"mac_address": "0c:cf:6b:dc:00:00",
"on_close": "power_off",
"options": "-nographic",
"platform": "x86_64",
"process_priority": "normal",
"qemu_path": "/usr/bin/qemu-system-x86_64",
"ram": 384,
"replicate_network_connection_state": true,
"tpm": false,
"uefi": false,
"usage": "If you'd like a different sized main disk, resize the image before booting the VM for the first time.\n\nOn first boot, RouterOS is actually being installed, formatting the whole main virtual disk, before finally rebooting. That whole process may take a minute or so.\n\nThe console will become available after the installation is complete. Most Telnet/SSH clients (certainly SuperPutty) will keep retrying to connect, thus letting you know when installation is done.\n\nFrom that point on, everything about RouterOS is also true about Cloud Hosted Router, including the default credentials: Username \"admin\" and an empty password.\n\nThe primary differences between RouterOS and CHR are in support for virtual devices (this appliance comes with them being selected), and in the different license model, for which you can read more about at http://wiki.mikrotik.com/wiki/Manual:CHR."
},
"symbol": ":/symbols/classic/router.svg",
"template_id": "0c76c132-880d-457e-945f-583b2f1bc69b",
"width": 66,
"x": -133,
"y": -357,
"z": 1
},
{
"compute_id": "local",
"console": null,
"console_auto_start": false,
"console_type": "none",
"custom_adapters": [],
"first_port_name": null,
"height": 71,
"label": {
"rotation": 0,
"style": "font-family: TypeWriter;font-size: 10.0;font-weight: bold;fill: #000000;fill-opacity: 1.0;",
"text": "Internet",
"x": 48,
"y": -25
},
"locked": false,
"name": "Internet",
"node_id": "9fcb5da9-bd64-4386-9fbb-cbb94c607f62",
"node_type": "cloud",
"port_name_format": "Ethernet{0}",
"port_segment_size": 0,
"properties": {
"interfaces": [
{
"name": "enp7s0f3u1u4",
"special": false,
"type": "ethernet"
},
{
"name": "lo",
"special": true,
"type": "ethernet"
},
{
"name": "wlp6s0",
"special": false,
"type": "ethernet"
}
],
"ports_mapping": [
{
"interface": "enp7s0f3u1u4",
"name": "enp7s0f3u1u4",
"port_number": 0,
"type": "ethernet"
},
{
"interface": "wlp6s0",
"name": "wlp6s0",
"port_number": 1,
"type": "ethernet"
},
{
"interface": "enp7s0f3u1u4u4",
"name": "enp7s0f3u1u4u4",
"port_number": 2,
"type": "ethernet"
}
],
"remote_console_host": "",
"remote_console_http_path": "/",
"remote_console_port": 23,
"remote_console_type": "none"
},
"symbol": ":/symbols/cloud.svg",
"template_id": "39e257dc-8412-3174-b6b3-0ee3ed6a43e9",
"width": 159,
"x": 15,
"y": -235,
"z": 1
},
{
"compute_id": "local",
"console": 5007,
"console_auto_start": false,
"console_type": "none",
"custom_adapters": [],
"first_port_name": null,
"height": 32,
"label": {
"rotation": 0,
"style": "font-family: TypeWriter;font-size: 10.0;font-weight: bold;fill: #000000;fill-opacity: 1.0;",
"text": "Floor3-Switch",
"x": -12,
"y": -25
},
"locked": false,
"name": "Floor3-Switch",
"node_id": "9826423b-48d4-4abf-8f6e-4a7816852e45",
"node_type": "ethernet_switch",
"port_name_format": "Ethernet{0}",
"port_segment_size": 0,
"properties": {
"ports_mapping": [
{
"ethertype": "",
"name": "Ethernet0",
"port_number": 0,
"type": "access",
"vlan": 101
},
{
"ethertype": "",
"name": "Ethernet1",
"port_number": 1,
"type": "dot1q",
"vlan": 1
},
{
"name": "Ethernet2",
"port_number": 2,
"type": "access",
"vlan": 1
},
{
"name": "Ethernet3",
"port_number": 3,
"type": "access",
"vlan": 1
},
{
"name": "Ethernet4",
"port_number": 4,
"type": "access",
"vlan": 1
},
{
"name": "Ethernet5",
"port_number": 5,
"type": "access",
"vlan": 1
},
{
"name": "Ethernet6",
"port_number": 6,
"type": "access",
"vlan": 1
},
{
"name": "Ethernet7",
"port_number": 7,
"type": "access",
"vlan": 1
}
]
},
"symbol": ":/symbols/ethernet_switch.svg",
"template_id": "1966b864-93e7-32d5-965f-001384eec461",
"width": 72,
"x": -621,
"y": -241,
"z": 1
},
{
"compute_id": "local",
"console": 5008,
"console_auto_start": false,
"console_type": "none",
"custom_adapters": [],
"first_port_name": null,
"height": 32,
"label": {
"rotation": 0,
"style": "font-family: TypeWriter;font-size: 10.0;font-weight: bold;fill: #000000;fill-opacity: 1.0;",
"text": "IT102-Switch",
"x": -14,
"y": 37
},
"locked": false,
"name": "IT102-Switch",
"node_id": "149008b2-b235-4c72-8c32-76c4790a6662",
"node_type": "ethernet_switch",
"port_name_format": "Ethernet{0}",
"port_segment_size": 0,
"properties": {
"ports_mapping": [
{
"ethertype": "",
"name": "Ethernet0",
"port_number": 0,
"type": "dot1q",
"vlan": 1
},
{
"ethertype": "",
"name": "Ethernet1",
"port_number": 1,
"type": "access",
"vlan": 202
},
{
"name": "Ethernet2",
"port_number": 2,
"type": "access",
"vlan": 1
},
{
"name": "Ethernet3",
"port_number": 3,
"type": "access",
"vlan": 1
},
{
"name": "Ethernet4",
"port_number": 4,
"type": "access",
"vlan": 1
},
{
"name": "Ethernet5",
"port_number": 5,
"type": "access",
"vlan": 1
},
{
"name": "Ethernet6",
"port_number": 6,
"type": "access",
"vlan": 1
},
{
"name": "Ethernet7",
"port_number": 7,
"type": "access",
"vlan": 1
}
]
},
"symbol": ":/symbols/ethernet_switch.svg",
"template_id": "1966b864-93e7-32d5-965f-001384eec461",
"width": 72,
"x": -299,
"y": -16,
"z": 1
},
{
"compute_id": "local",
"console": 5009,
"console_auto_start": false,
"console_type": "telnet",
"custom_adapters": [],
"first_port_name": null,
"height": 59,
"label": {
"rotation": 0,
"style": "font-family: TypeWriter;font-size: 10.0;font-weight: bold;fill: #000000;fill-opacity: 1.0;",
"text": "PC1-VLAN101",
"x": -15,
"y": 61
},
"locked": false,
"name": "PC1-VLAN101",
"node_id": "697d7148-c386-4b32-bd6b-f423379b8434",
"node_type": "vpcs",
"port_name_format": "Ethernet{0}",
"port_segment_size": 0,
"properties": {},
"symbol": ":/symbols/vpcs_guest.svg",
"template_id": "19021f99-e36f-394d-b4a1-8aaa902ab9cc",
"width": 65,
"x": -618,
"y": -39,
"z": 1
},
{
"compute_id": "local",
"console": 5011,
"console_auto_start": false,
"console_type": "telnet",
"custom_adapters": [],
"first_port_name": null,
"height": 59,
"label": {
"rotation": 0,
"style": "font-family: TypeWriter;font-size: 10.0;font-weight: bold;fill: #000000;fill-opacity: 1.0;",
"text": "PC2-VLAN202",
"x": -14,
"y": -25
},
"locked": false,
"name": "PC2-VLAN202",
"node_id": "5ff1d06e-1923-4ce3-b547-1d832aeaa590",
"node_type": "vpcs",
"port_name_format": "Ethernet{0}",
"port_segment_size": 0,
"properties": {},
"symbol": ":/symbols/vpcs_guest.svg",
"template_id": "19021f99-e36f-394d-b4a1-8aaa902ab9cc",
"width": 65,
"x": -43,
"y": -27,
"z": 1
}
]
},
"type": "topology",
"variables": null,
"version": "2.2.44.1",
"zoom": 100
}

View File

@ -0,0 +1,9 @@
# This the configuration for PC2-VLAN202
#
# Uncomment the following line to enable DHCP
# dhcp
# or the line below to manually setup an IP address and subnet mask
# ip 192.168.1.1 255.0.0.0
#
set pcname PC2-VLAN202

View File

@ -0,0 +1,361 @@
%! TeX program = lualatex
\documentclass[a4paper]{article}
% packages
\usepackage{microtype} % Slightly tweak font spacing for aesthetics
\usepackage[english]{babel} % Language hyphenation and typographical rules
\usepackage[final, colorlinks = false, urlcolor = cyan]{hyperref}
\usepackage{changepage} % adjust margins on the fly
\usepackage{fontspec}
\setmainfont{EB Garamond}
\setmonofont[Scale=MatchLowercase]{Deja Vu Sans Mono}
\usepackage{minted}
\usepackage{xcolor}
\usepackage{pgfplots}
\pgfplotsset{width=\textwidth,compat=1.9}
\usepackage{caption}
\newenvironment{code}{\captionsetup{type=listing}}{}
% \captionsetup[listing]{font=small, skip=0pt}
% \setlength{\abovecaptionskip}{0pt}
% \setlength{\belowcaptionskip}{5pt}
\usepackage[yyyymmdd]{datetime}
\renewcommand{\dateseparator}{--}
\usepackage{titlesec}
% \titleformat{\section}{\LARGE\bfseries}{}{}{}[\titlerule]
% \titleformat{\subsection}{\Large\bfseries}{}{0em}{}
% \titlespacing{\subsection}{0em}{-0.7em}{0em}
%
% \titleformat{\subsubsection}{\large\bfseries}{}{0em}{$\bullet$ }
% \titlespacing{\subsubsection}{1em}{-0.7em}{0em}
% margins
\addtolength{\hoffset}{-2.25cm}
\addtolength{\textwidth}{4.5cm}
\addtolength{\voffset}{-3.25cm}
\addtolength{\textheight}{5cm}
\setlength{\parskip}{0pt}
\setlength{\parindent}{0in}
% \setcounter{secnumdepth}{0}
\begin{document}
\hrule \medskip
\begin{minipage}{0.295\textwidth}
\raggedright
\footnotesize
Name: Andrew Hayes \\
E-mail: \href{mailto://a.hayes18@universityofgalway.ie}{\texttt{a.hayes18@universityofgalway.ie}} \hfill\\
ID: 21321503 \hfill
\end{minipage}
\begin{minipage}{0.4\textwidth}
\centering
\vspace{0.4em}
\Large
\textbf{CT3531} \\
\end{minipage}
\begin{minipage}{0.295\textwidth}
\raggedleft
\today
\end{minipage}
\medskip\hrule
\begin{center}
\normalsize
Assignment 02: Build \& Test OSPF Routed Network
\end{center}
\hrule
\section{Network Topology}
\begin{figure}[H]
\centering
\includegraphics[width=\textwidth]{./images/topology.png}
\caption{Network Topology}
\end{figure}
Note that the Internet device is linked to the CoreRouter device via the \verb|enp7s0f3u1u4| interface.
This is because I am running the simulation locally on my GNU/Linux laptop without any virtualisation -- \verb|enp7s0f3u1u4| is the name of the Ethernet interface on
my laptop.
\section{Routers Pinging Each Other}
The following screenshots show each of the routers pinging each each router that they are directly linked to:
\begin{figure}[H]
\centering
\includegraphics[width=\textwidth]{./images/eng-core.png}
\caption{\texttt{EngBuilding} {\leftrightarrow} \texttt{CoreRouter}}
\end{figure}
\begin{figure}[H]
\centering
\includegraphics[width=\textwidth]{./images/eng-it.png}
\caption{\texttt{EngBuilding} {\leftrightarrow} \texttt{ITBuilding}}
\end{figure}
\begin{figure}[H]
\centering
\includegraphics[width=\textwidth]{./images/core-it.png}
\caption{\texttt{CoreRouter} {\leftrightarrow} \texttt{ITBuilding}}
\end{figure}
\section{Routers Pinging Each Other's Loopback Addresses}
The following screenshots show each router pinging the loopback addresses of each of the other routers:
\begin{figure}[H]
\centering
\includegraphics[width=0.8\textwidth]{./images/eng_ping_loopback.png}
\caption{\texttt{EngBuilding} Pinging the Loopback Addresses of the Other Routers}
\end{figure}
\begin{figure}[H]
\centering
\includegraphics[width=0.8\textwidth]{./images/it_ping_loopback.png}
\caption{\texttt{ITBuilding} Pinging the Loopback Addresses of the Other Routers}
\end{figure}
\begin{figure}[H]
\centering
\includegraphics[width=0.8\textwidth]{./images/core_ping_loopback.png}
\caption{\texttt{CoreRouter} Pinging the Loopback Addresses of the Other Routers}
\end{figure}
\section{VPCs Pinging Each Other}
The following screenshot shows the two PCs pinging each other:
\begin{figure}[H]
\centering
\includegraphics[width=0.45\textwidth]{./images/ping_pcs.png}
\caption{\texttt{PC1-VLAN101} {\leftrightarrow} \texttt{PC2-VLAN202}}
\end{figure}
\section{Verify that the Internet is Reachable from All Devices}
I encountered some difficulty reaching the Internet from my devices as I was running the simulations locally on
my GNU/Linux laptop, and my packets were getting blocked at some point by the University's firewall, both from my
simulated devices such as the VPCs \& MikroTik routers, and when I ran a \verb|traceroute| directly from my
laptop.
However, the traces from my routers \& VPCs got stuck at the same IP address as the \verb|traceroute| from my real
laptop did, which indicates to me that the Internet was reachable and operational from my network simulation, at
least to the same extent as it was reachable from my laptop.
\begin{figure}[H]
\centering
\includegraphics[width=0.6\textwidth]{./images/pc1_ping_internet.png}
\caption{Trace to \texttt{8.8.8.8} from \texttt{PC1-VLAN101}}
\end{figure}
\begin{figure}[H]
\centering
\includegraphics[width=0.6\textwidth]{./images/pc2_ping_internet.png}
\caption{Trace to \texttt{8.8.8.8} from \texttt{PC2-VLAN202}}
\end{figure}
\begin{figure}[H]
\centering
\includegraphics[width=0.8\textwidth]{./images/core_ping_internet.png}
\caption{Trace to \texttt{8.8.8.8} from \texttt{CoreRouter}}
\end{figure}
\begin{figure}[H]
\centering
\includegraphics[width=0.8\textwidth]{./images/eng_ping_internet.png}
\caption{Trace to \texttt{8.8.8.8} from \texttt{EngBuilding}}
\end{figure}
\begin{figure}[H]
\centering
\includegraphics[width=0.8\textwidth]{./images/it_ping_internet.png}
\caption{Trace to \texttt{8.8.8.8} from \texttt{ITBuilding}}
\end{figure}
\begin{figure}[H]
\centering
\includegraphics[width=0.7\textwidth]{./images/laptop_ping_internet.png}
\caption{Trace to \texttt{8.8.8.8} Directly from My Laptop}
\end{figure}
\section{\texttt{CoreRouter}'s Routing Table}
\begin{figure}[H]
\centering
\includegraphics[width=0.7\textwidth]{./images/routing_table.png}
\caption{\texttt{CoreRouter}'s Routing Table}
\end{figure}
Each entry in the routing table has a route number denoted \verb|#|, a flag, a destination address denoted \verb|DST-ADDRESS|,
a preferred source denoted \verb|PREF-SRC|, a gateway denoted \verb|GATEWAY|, \& an OSPF routing distance denoted
\verb|DISTANCE|.
The explanation of each entry is as follows:
\begin{enumerate}
\setcounter{enumi}{-1}
\item This entry has a destination of \verb|0.0.0.0/0|, a gateway of \verb|10.226.144.1|, a flag of \verb|ADS| meaning
that it is \textbf{A}ctive, \textbf{D}ynamic (the route is dynamically learned through the routing protocol), \&
\textbf{S}tatic (the route is statically configured), \& a distance of 1, which means that the route is highly preferred.
It has no preferred source.
This entry has the destination address of \verb|0.0.0.0/0| which represents the default route -- this is where any
destination address that doesn't match a specific route in the routing table is sent.
Any traffic that matches this default destination route will be forwarded to the gateway, which sends it out to
the Internet.
\item This entry has a destination of \verb|10.0.1.0/24|, a preferred source of \verb|10.0.1.2|, a gateway of
\verb|ether3|, \& a distance of 0.
This destination address is that of the \verb|EngBuilding| network, and the gateway is the link from
\verb|CoreRouter| to \verb|EngBuilding|.
Its preferred source is the IP of the gateway to the \verb|EngBuilding| router on \verb|ether3|.
Its flag is \verb|ADC| which means that it is \textbf{A}ctive, \textbf{D}ynamic, \& \textbf{C}onnected, i.e.
the route represents a directly connected network (that of \verb|EngBuilding|).
It has a cost of 1, which is quite low, showing that it is highly preferred.
\item This entry has a destination of \verb|10.0.2.0/24|, no preferred source, a gateway of
\verb|10.0.1.1| or \verb|10.0.3.1|, \& a distance of 110.
The destination is that of the \verb|ITBuilding| network, and the two potential gateways are that of the
\verb|EngBuilding| router and the \verb|CoreRouter| router, indicating that the network can be reached from
either router.
Its flag is \verb|ADo|, where the ``o'' represents that the route was discovered through the \textbf{O}SPF
protocol.
It has a high cost of \verb|110|, which shows that it is not preferred.
\item This entry has a destination of \verb|10.0.3.0/24|, a preferred source of \verb|10.0.3.2|, a gateway of
\verb|ether2|, \& a distance of 0.
This is the route to the \verb|ITBuilding| network and its preferred source is from within that network.
Its flag is \verb|ADC| meaning that it is active, dynamic, \& connected and the distance of 0 indicates it is
highly preferred, likely because it is directly connected to the router.
\item This entry has a destination of \verb|10.10.10.1/32|, no preferred source, a gateway of
\verb|10.0.1.1|, \& a distance of 110.
The destination is the loopback address of the \verb|EngBuilding| router and the gateway is that of the link
that joins \verb|EngBuilding| \& \verb|CoreRouter|.
Its flag is \verb|ADo| indicating that it was discovered via the OSPF protoocl and the distance of 110
indicates that it is not preferred.
\item This entry has a destination of \verb|10.10.10.3/32|, a preferred source of \verb|10.10.10.3|, a gateway of
\verb|Loopback|, \& a distance of 0.
The destination is the loopback address of the \verb|CoreRouter| and the gateway is also the loopback address.
Its flag is \verb|ADo| indicating that it was discovered via the OSPF protoocl and the distance of 0
indicates that it is highly preferred, likely because it is literally the same device.
\item This entry has a destination of \verb|10.10.10.4/32|, no preferred source, a gateway of
\verb|10.0.3.1|, \& a distance of 110.
The destination is the loopback address of the \verb|ITBuilding| router and the gateway is that of the link
that joins \verb|ITBuilding| \& \verb|CoreRouter|.
Its flag is \verb|ADo| indicating that it was discovered via the OSPF protoocl and the distance of 110
indicates that it is not preferred.
\item This entry has a destination of \verb|10.226.128.0/32|, a preferred source of \verb|10.226.130.218|, a
gateway of \verb|ether1|, \& a distance of 0.
The destination address is the same IP as the gateway of route \verb|0|, as this is the address out onto the
internet, via a University router.
Its flag is \verb|ADC| indicating that it is directly connected to \verb|CoreRouter| and the distance of 0
indicates that it is highly preferred, likely because it is directly connected.
\item This entry has a destination of \verb|192.168.100.0/24|, no preferred source, a
gateway of \verb|10.0.1.1|, \& a distance of 110.
The destination address is that of \verb|VLAN101|, and its gateway is the address of the link between
\verb|CoreRouter| \& \verb|EngBuilding|, as \verb|VLAN101| is only accessible through \verb|EngBuilding|.
Its flag is \verb|ADo| indicating that it was discovered via the OSPF protocol and the distance of 110
indicates that it is not preferred.
\item This entry has a destination of \verb|192.168.200.0/24|, no preferred source, a
gateway of \verb|10.0.3.1|, \& a distance of 110.
The destination address is the IP of \verb|VLAN202|, and its gateway is the address of the link between
\verb|CoreRouter| \& \verb|ITBuilding|, as \verb|VLAN202| is only accessible through \verb|ITBuilding|.
Its flag is \verb|ADo| indicating that it was discovered via the OSPF protocol and the distance of 110
indicates that it is not preferred.
\end{enumerate}
\section{What if Each Router Wasn't Set Up to Redistribute Connected Networks?}
If each router was not set up to redistribute connected networks, the other routers would not be aware of the networks
that were directly connected to the other routers, and therefore \verb|ITBuilding| \& \verb|CoreRouter| would not be aware
of the existence of \verb|VLAN101|, and \verb|EngBuilding| \& \verb|CoreRouter| would not be aware of the existence of
\verb|VLAN202|.
This would mean that these networks would not be included in the routing tables of the routers that are not directly
connected to them and therefore they would not be reachable from these routers using OSPF routing.
This would prevent the VPCs from being able to ping each other: if \verb|PC1-VLAN101| tried to ping \verb|PC2-VLAN202|,
\verb|EngBuilding| would not know where to route the traffic next, as \verb|ITBuilding| wouldn't have told \verb|EngBuilding|
that it was connected to \verb|VLAN202|.
The inverse would also be true if \verb|PC2-VLAN202| tried to ping \verb|PC1-VLAN101|.
\section{Traceroute from \texttt{PC1-VLAN101} to \texttt{PC2-VLAN202}}
\begin{figure}[H]
\centering
\includegraphics[width=\textwidth]{./images/trace_pcs.png}
\caption{Trace from \texttt{PC1-VLAN101} to \texttt{PC2-VLAN202}}
\end{figure}
\subsection{Explanation of the Route Taken}
The trace from \verb|PC1-VLAN101| to \verb|PC2-VLAN202| takes three hops:
\begin{enumerate}
\item \verb|192.168.100.1|: the gateway to \verb|VLAN101| on the \verb|EngBuilding| router.
Any traffic entering or exiting \verb|VLAN101| must pass through this gateway.
\item \verb|10.0.2.2|: the gateway to the \verb|ITBuilding| router on its \verb|ether1| interface, which links
\verb|EngBuilding| to \verb|ITBuilding|.
\item \verb|192.168.200.254|: the VPC \verb|PC2-VLAN202| itself, which is naturally the final destination in a
successful trace to this device.
\end{enumerate}
\section{Long Ping from \texttt{PC1-VLAN101} to \texttt{PC2-VLAN202}}
Below is the output of a 30 seconds-long ping that was made from \verb|PC1-VLAN101| to \verb|PC2-VLAN202|.
While this ping was running, the link from the \verb|EngBuilding| router to the \verb|ITBuilding| router was suspended.
\begin{figure}[H]
\centering
\includegraphics[width=0.8\textwidth]{./images/long_ping.png}
\caption{Long Ping from \texttt{PC1-VLAN101} to \texttt{PC2-VLAN202}}
\end{figure}
The \verb|EngBuilding| {\leftrightarrow} \verb|ITBuilding| link was suspended just before the 8\textsuperscript{th} packet
was sent, resulting in this packet being dropped as it was sent along a route that no longer existed.
OSPF kicked in very quickly and the traffic was re-routed after just one lost packet.
It is quite obvious from looking at the network topology that the only other way the traffic could have been routed was
from \verb|EngBuilding| {\rightarrow} \verb|CoreRouter| {\rightarrow} \verb|ITBuilding|, which requires an extra hop.
This path, being longer \& not direct, would have not been preferred by OSPF when there was a link between \verb|EngBuilding|
\& \verb|ITBuilding|, but now that it's the best possible option, it will make use of it.
We can see why this route was not preferred by the OSPF protocol, as it usually takes noticeably longer than the original route.
\begin{figure}[H]
\centering
\includegraphics[width=0.8\textwidth]{./images/redo_trace.png}
\caption{Trace from \texttt{PC1-VLAN101} to \texttt{PC2-VLAN202} After Suspending the \texttt{EngBuilding} {\leftrightarrow} \texttt{ITBuilding} Link}
\end{figure}
Comparing the above trace to the one ran previously, we can see that there is one extra hop now that the
\verb|EngBuilding| {\leftrightarrow} \verb|ITBuilding| link has been suspended and that it does not go through the
\verb|10.0.2.2| gateway it did when we first ran the ping.
That gateway was the one between \verb|EngBuilding| \& \verb|ITBuilding|, which is of course now gone.
Instead, the traffic travels over the link between \verb|EngBuilding| \& \verb|CoreRouter| (\verb|10.0.1.2|) and then over
the link between \verb|CoreRouter| \& \verb|ITBuilding| (\verb|10.0.3.1|), as expected.
\section{Packet Capture on Link from \texttt{EngBuilding} to \texttt{CoreRouter}}
I ran a packet capture on the link from \texttt{EngBuilding} to \texttt{CoreRouter} and restored the link from
\verb|EngBuilding| to \verb|CoreRouter|, then stopped the packet capture after around 30 seconds to ensure that OSPF had
detected the topology changed and re-converged.
Nine LSA packets were captured:
\begin{enumerate}
\item The first two packets are LS Update packets originating from \verb|EngBuilding| \& \verb|ITBuilding|.
The first originated from \verb|10.0.1.2| advertising \verb|10.10.10.4| (\verb|ITBuilding|) while the second originated
from \verb|10.0.10.1| advertising \verb|10.10.10.1| (\verb|EngBuilding|).
This is the routers announcing that they can be reached over this new topology.
\item The next two packets are LS Acknowledgements, originating from the same two routers, each acknowledging the
other router's update.
\item The next packet is an LS Update originating from \verb|10.0.1.1| advertising \verb|10.10.10.1| (\verb|EngBuilding|)
again.
Another packet from the same origin then advertised \verb|10.10.10.4| (\verb|ITBuilding|).
This being the IP address which originally advertised \verb|EngBuilding| shows that it has learnt that \verb|ITBuilding|
is reachable to it from its advertisement.
\verb|10.0.1.2| then sent a packet advertising \verb|ITBuilding| again.
\item \verb|10.0.1.1| acknowledged \verb|10.0.1.2|'s advertisement of \verb|10.10.10.4|, and \verb|10.0.1.2|
acknowledged \verb|10.0.1.1|'s advertisement of \verb|EngBuilding|.
\end{enumerate}
\begin{figure}[H]
\centering
\includegraphics[width=\textwidth]{./images/pcap.png}
\caption{OSPF Packets Captured on the \texttt{EngBuilding} {\leftrightarrow} \texttt{CoreRouter} Link}
\end{figure}
\end{document}

Binary file not shown.

After

Width:  |  Height:  |  Size: 74 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 88 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 87 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 141 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 222 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 70 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 19 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 43 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 58 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 25 KiB