Init: lab2 done

This commit is contained in:
2025-09-15 23:58:18 +08:00
commit 98f7d612d5
12 changed files with 226 additions and 0 deletions

BIN
docs/main.pdf Normal file

Binary file not shown.

58
docs/main.typ Normal file
View File

@@ -0,0 +1,58 @@
#import "template/module.typ": *
#show: default.with(
title: "SDN - Lab 2",
authors: ((
name: "Yi-Ting Shih (111550013)",
affiliation: "National Yang Ming Chaio Tung University",
email: "ytshih@cs.nycu.edu.tw",
),),
)
= Part 1: Answer Questions
1. How many distinct OpenFlow headers with type "OFPT_FLOW_MOD" and command "OFPFC_ADD" are there among all the packets?
There are 6 distinct OpenFlow headers.
2. Following question 1, what are the match fields, and what are the corresponding actions?
#table(columns: 3,
[Match fields], [actions], [Timeout values],
[ETH_TYPE=LLDP], [output port=controller], [0],
[ETH_TYPE=ARP], [output port=controller], [0],
[ETH_TYPE=BDDP], [output port=controller], [0],
[ETH_TYPE=IPv4], [output port=controller], [0],
[IN_PORT=1, ETH_DST=0a:01:ca:16:e6:f2, ETH_SRC=16:e8:32:bf:62:44], [output port=2], [0],
[IN_PORT=2, ETH_DST=16:e8:32:bf:62:44, ETH_SRC=0a:01:ca:16:e6:f2], [output port=1], [0],
)
3. What are the Idle Timeout values for all flow rules on s1 in the GUI?
10
= Part 2: Install Flow Rules
> arping
#image("part2-1.png", width: 350pt)
> ping
#image("part2-2.png", width: 350pt)
= Part 3: Trace ReactiveForwarding
[C] - Control Plane
[D] - Data Plane
- [D] h1 send ARP request with broadcast.
- [C] s1 sends the ARP request with packet-in to ONOS controller.
- [C] Controller choose to flood the ARP request and send packet-out.
- [D] s1 floods the ARP request.
- [D] h2 replies h1 with ARP reply.
- [C] s1 sends the ARP request with packet-in to ONOS controller.
- [C] Controller choose to send the ARP reply to h1 and send packet-out.
- [D] s1 sends the ARP reply to h1.
- [D] h1 sends ICMP echo request to h2.
- [C] s1 sends ICMP echo request with packet-in to ONOS controller.
- [C] Controller install rules for ICMP traffic.
- [D] s1 forwards the ICMP packet to h2.

BIN
docs/part2-1.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 87 KiB

BIN
docs/part2-2.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 49 KiB

1
docs/template/functions/code.typ vendored Normal file
View File

@@ -0,0 +1 @@
#let code = raw.with(block: true)

79
docs/template/module.typ vendored Normal file
View File

@@ -0,0 +1,79 @@
#import "functions/code.typ": code
#let default(
title: "This is a title",
authors: ((
name: "Yi-Ting Shih",
affiliation: "National Yang Ming Chiao Tung University",
email: "ytshih@it.cs.nycu.edu.tw",
),),
content,
) = {
// Content default
set page(
paper: "a4",
margin: (x: 1.8cm, y: 1.5cm),
header: align(right, title),
numbering: "1",
)
set text(
font: "Libertinus serif",
size: 10pt,
)
set par(
leading: 0.6em,
)
// Heading default
show heading: set text(
font: "Noto sans",
)
// Section title default
show heading.where(level: 1): set heading(
numbering: "1."
)
// Raw default
show raw: set text(
font: "Consolas",
size: 8pt,
)
// Code section default
show raw.where(block: true): self => {
block(
fill: luma(240),
inset: 8pt,
radius: 2pt,
self
)
}
{ // Title
set align(center)
set text(
size: 20pt,
weight: "bold",
)
pad(y: 10pt, title)
}
{ // author
set align(center)
set text(
size: 10pt,
)
let count = authors.len()
let ncols = calc.min(count, 3)
grid(
columns: (1fr,) * ncols,
row-gutter: 24pt,
..authors.map(author => [
#author.name \
#author.affiliation \
#link("mailto:" + author.email)
]),
)
}
content
}