Init: lab2 done
This commit is contained in:
BIN
docs/main.pdf
Normal file
BIN
docs/main.pdf
Normal file
Binary file not shown.
58
docs/main.typ
Normal file
58
docs/main.typ
Normal 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
BIN
docs/part2-1.png
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 87 KiB |
BIN
docs/part2-2.png
Normal file
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
1
docs/template/functions/code.typ
vendored
Normal file
@@ -0,0 +1 @@
|
||||
#let code = raw.with(block: true)
|
||||
79
docs/template/module.typ
vendored
Normal file
79
docs/template/module.typ
vendored
Normal 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
|
||||
}
|
||||
Reference in New Issue
Block a user