Report: Small changes

This commit is contained in:
2026-09-27 19:39:00 +03:00
parent 29ae341cdc
commit 1d53238ca4
2 changed files with 28 additions and 28 deletions
BIN
View File
Binary file not shown.
+28 -28
View File
@@ -298,8 +298,8 @@ Layer-3 διευθυνσιοδότηση και ενεργοποιημένη π
Οι διεπαφές \textbf{ανήκουν στους κόμβους} και προσδιορίζονται από λογικά ονόματα, τα οποία δεν απαιτείται να Οι διεπαφές \textbf{ανήκουν στους κόμβους} και προσδιορίζονται από λογικά ονόματα, τα οποία δεν απαιτείται να
ταυτίζονται με τα ονόματα που θα δημιουργηθούν τελικά στο Linux. ταυτίζονται με τα ονόματα που θα δημιουργηθούν τελικά στο Linux.
Για παράδειγμα, μία διεπαφή με λογικό όνομα \texttt{lan} μπορεί κατά την υλοποίηση να αντιστοιχιστεί στη φυσική Για παράδειγμα, μία διεπαφή με λογικό όνομα \texttt{lan} μπορεί κατά την υλοποίηση να αντιστοιχιστεί στη
διεπαφή \texttt{r0-eth0}. συγκεκριμένη διεπαφή Linux/Mininet \texttt{r0-eth0}.
Η επιλογή αυτή επιτρέπει στο αρχείο JSON να χρησιμοποιεί ονόματα που εκφράζουν τον ρόλο μιας διεπαφής και όχι Η επιλογή αυτή επιτρέπει στο αρχείο JSON να χρησιμοποιεί ονόματα που εκφράζουν τον ρόλο μιας διεπαφής και όχι
λεπτομέρειες της διαδικασίας δημιουργίας της. λεπτομέρειες της διαδικασίας δημιουργίας της.
@@ -417,8 +417,8 @@ Layer-3 διευθυνσιοδότηση και ενεργοποιημένη π
\item Το \texttt{topology\_plan.py} επιλύει τις αφηρημένες επιλογές της DSL και παράγει ένα πλήρως συγκεκριμένο \item Το \texttt{topology\_plan.py} επιλύει τις αφηρημένες επιλογές της DSL και παράγει ένα πλήρως συγκεκριμένο
\texttt{ExecutionPlan}. \texttt{ExecutionPlan}.
\item Το \texttt{topology\_renderer.py} μετατρέπει το σχέδιο αυτό σε εκτελέσιμο Python κώδικα για το Mininet, οποίος \item Το \texttt{topology\_renderer.py} μετατρέπει το σχέδιο αυτό σε εκτελέσιμο Python κώδικα για το Mininet, ο οποίος
εξάγεται σε ξεχωριστό αρχείο και αποτελεί ένα ιδιότυπο \emph{python-listing} του renderer. εξάγεται σε ξεχωριστό αρχείο και αποτελεί το εκτελέσιμο Python listing της πλήρως επιλυμένης τοπολογίας.
\item Τέλος, το \texttt{build\_network.py} αποτελεί τον \textbf{coordinator} και το μοναδικό user-facing entry point, \item Τέλος, το \texttt{build\_network.py} αποτελεί τον \textbf{coordinator} και το μοναδικό user-facing entry point,
συνδέοντας τα επιμέρους στάδια και αναλαμβάνοντας την τελική εκτέλεση του παραγόμενου προγράμματος. συνδέοντας τα επιμέρους στάδια και αναλαμβάνοντας την τελική εκτέλεση του παραγόμενου προγράμματος.
@@ -635,7 +635,7 @@ selectors όπως \texttt{auto} ή άλλες αποφάσεις που πρέ
\texttt{uplink}: \texttt{uplink}:
\begin{minted}{json} \begin{minted}{json}
{ [{
"endpoints": [ "endpoints": [
{"node": "h1", "interface": "net0"}, {"node": "h1", "interface": "net0"},
{"node": "s1", "interface": "auto"} {"node": "s1", "interface": "auto"}
@@ -646,7 +646,7 @@ selectors όπως \texttt{auto} ή άλλες αποφάσεις που πρέ
{"node": "r0", "interface": "lan"}, {"node": "r0", "interface": "lan"},
{"node": "s1", "interface": "uplink"} {"node": "s1", "interface": "uplink"}
] ]
} }]
\end{minted} \end{minted}
Πριν από την επίλυση των \texttt{auto}, ο planner εντοπίζει όλες τις ρητές αναφορές σε interfaces και δεσμεύει Πριν από την επίλυση των \texttt{auto}, ο planner εντοπίζει όλες τις ρητές αναφορές σε interfaces και δεσμεύει
@@ -677,7 +677,7 @@ s1:uplink -> s1-eth1
Η συμπεριφορά είναι διαφορετική όταν το πεδίο \texttt{interfaces} έχει παραλειφθεί πλήρως από έναν κόμβο. Η συμπεριφορά είναι διαφορετική όταν το πεδίο \texttt{interfaces} έχει παραλειφθεί πλήρως από έναν κόμβο.
Σε αυτή την περίπτωση ο planner δημιουργεί συνθετικά λογικά ονόματα, όπως \texttt{auto0} και \texttt{auto1}, Σε αυτή την περίπτωση ο planner δημιουργεί συνθετικά λογικά ονόματα, όπως \texttt{auto0} και \texttt{auto1},
τα οποία αντιστοιχίζονται στη συνέχεια σε φυσικά ονόματα όπως \texttt{s1-eth0} και \texttt{s1-eth1}. τα οποία αντιστοιχίζονται στη συνέχεια σε συγκεκριμένα ονόματα διεπαφών όπως \texttt{s1-eth0} και \texttt{s1-eth1}.
Στο ίδιο στάδιο αποφασίζονται και backend-specific λεπτομέρειες που δεν πρέπει να εμφανίζονται στη DSL. Στο ίδιο στάδιο αποφασίζονται και backend-specific λεπτομέρειες που δεν πρέπει να εμφανίζονται στη DSL.
Έτσι, η σημασιολογία ενός απλού Layer-2 switch μετατρέπεται από τον planner στην επιλογή Έτσι, η σημασιολογία ενός απλού Layer-2 switch μετατρέπεται από τον planner στην επιλογή
@@ -875,13 +875,13 @@ Ethernet, IP και UDP headers.
Οι εντολές που εκτελέστηκαν στο Mininet CLI ήταν: Οι εντολές που εκτελέστηκαν στο Mininet CLI ήταν:
\begin{minted}{bash} \begin{minted}{bash}
minted> h1 rm -f /var/lib/dhcp/dhclient.leases mininet> h1 rm -f /var/lib/dhcp/dhclient.leases
minted> h1 rm -f /tmp/dhcp.pcap mininet> h1 rm -f /tmp/dhcp.pcap
minted> h1 tcpdump -i h1-eth0 -n -w /tmp/dhcp.pcap & mininet> h1 tcpdump -i h1-eth0 -n -w /tmp/dhcp.pcap &
minted> h1 ps aux | grep tcpdump mininet> h1 ps aux | grep tcpdump
minted> h1 dhclient h1-eth0 mininet> h1 dhclient h1-eth0
minted> h1 pkill -INT tcpdump mininet> h1 pkill -INT tcpdump
minted> h1 tcpdump -n -e -vv -r /tmp/dhcp.pcap mininet> h1 tcpdump -n -e -vv -r /tmp/dhcp.pcap
\end{minted} \end{minted}
Η επιλογή \texttt{-e} κατά την ανάγνωση της καταγραφής επιτρέπει την εμφάνιση των Ethernet headers και επομένως Η επιλογή \texttt{-e} κατά την ανάγνωση της καταγραφής επιτρέπει την εμφάνιση των Ethernet headers και επομένως
@@ -1037,12 +1037,12 @@ UDP ports: 68 -> 67
\begin{minted}{bash} \begin{minted}{bash}
sudo python3 ../source/build_network.py topology.json sudo python3 ../source/build_network.py topology.json
minted> h1 ip -4 -br addr mininet> h1 ip -4 -br addr
minted> h2 ip -4 -br addr mininet> h2 ip -4 -br addr
minted> h1 dhclient h1-eth0 mininet> h1 dhclient h1-eth0
minted> h2 dhclient h2-eth0 mininet> h2 dhclient h2-eth0
minted> h1 ip -4 -br addr mininet> h1 ip -4 -br addr
minted> h2 ip -4 -br addr mininet> h2 ip -4 -br addr
\end{minted} \end{minted}
Πριν από το ping διαγράφηκε ο neighbor table του \texttt{h1}, ώστε να μην υπάρχει ήδη γνωστή αντιστοίχιση Πριν από το ping διαγράφηκε ο neighbor table του \texttt{h1}, ώστε να μην υπάρχει ήδη γνωστή αντιστοίχιση
@@ -1050,14 +1050,14 @@ UDP ports: 68 -> 67
Η κενή κατάσταση του πίνακα επιβεβαιώθηκε με την εντολή \texttt{ip neigh show}. Η κενή κατάσταση του πίνακα επιβεβαιώθηκε με την εντολή \texttt{ip neigh show}.
\begin{minted}{bash} \begin{minted}{bash}
minted> h1 ip neigh flush all mininet> h1 ip neigh flush all
minted> h1 ip neigh show mininet> h1 ip neigh show
minted> h1 rm -f /tmp/arp.pcap mininet> h1 rm -f /tmp/arp.pcap
minted> h1 tcpdump -i h1-eth0 -n arp -w /tmp/arp.pcap & mininet> h1 tcpdump -i h1-eth0 -n arp -w /tmp/arp.pcap &
minted> h1 ping -c 1 192.168.1.164 mininet> h1 ping -c 1 192.168.1.164
minted> h1 ip neigh show mininet> h1 ip neigh show
minted> h1 pkill -INT tcpdump mininet> h1 pkill -INT tcpdump
minted> h1 tcpdump -n -e -vv -r /tmp/arp.pcap mininet> h1 tcpdump -n -e -vv -r /tmp/arp.pcap
\end{minted} \end{minted}
Το φίλτρο \texttt{arp} του \texttt{tcpdump} περιορίζει την καταγραφή στα ARP frames, ενώ η επιλογή \texttt{-e} Το φίλτρο \texttt{arp} του \texttt{tcpdump} περιορίζει την καταγραφή στα ARP frames, ενώ η επιλογή \texttt{-e}