You are on page 1of 3

*Câu 1: -có thể thầy sẽ bắt làm lại 1 bộ SDN khác: đại loại là viết lại code

*Câu 2: -ping giữa các host hoặc của cái SDN mới tạo ở trên
B1 xác định đường đẫn các cổng eth bằng lệnh : net
B2 vẽ ra giấy các cổng eth để nối các đường dẫn (code khác dẫn đến cổng eth cũng khác)

B3 sau khi xác định thì nối link


h1-h3
sh sudo ovs-ofctl add-flow s1 in_port=1,actions=output:2
sh sudo ovs-ofctl add-flow s1 in_port=2,actions=output:1
sh sudo ovs-ofctl add-flow s2 in_port=1,actions=output:2
sh sudo ovs-ofctl add-flow s2 in_port=2,actions=output:1
sh sudo ovs-ofctl add-flow s3 in_port=1,actions=output:2
sh sudo ovs-ofctl add-flow s3 in_port=2,actions=output:1
h2-h4
sh sudo ovs-ofctl add-flow s1 in_port=1,actions=output:2
sh sudo ovs-ofctl add-flow s1 in_port=2,actions=output:1
sh sudo ovs-ofctl add-flow s2 in_port=1,actions=output:3
sh sudo ovs-ofctl add-flow s2 in_port=3,actions=output:1
sh sudo ovs-ofctl add-flow s3 in_port=1,actions=output:3
sh sudo ovs-ofctl add-flow s3 in_port=3,actions=output:1
Sự khác biệt khi tạo 2 cái luồng đó:
Khi mà tạo luồng từ h1 qua h3 thì ta ping đc h1 -> h3
xong khi ta tạo thêm luồng từ h1 qua h4 thì ta ping đc h1->h4
mà ko ping đc từ h1 sang h3 nữa

giải thích:
Tại vì trong bảng luồng ( Flow Table) thì chỉ chứa đc tối đa 3 luồng
nên khi tạo thêm kết nối từ h1-h4 sẽ tạo thêm luồng nên nó xóa những
luồng cũ nhất đi.(luồng cũ nằm ở trên cùng của 3 luồng)

Kiểm tra ở lệnh :


Sh ovs dump flow s2
hoặc
Sh ovs dump flow s3

*Câu 3: +trong câu lệnh


--mac --switch ovsk --controller remote) giải thích ý nghĩa từng thứ:
--mac: để thiết lập địa chỉ mac cho mỗi Host bằng địa chỉ IP của nó.
--swtich ovsk: thiết lập một chuyển mạch Open vSwitch dựa trên nhân hệ điều
hành(ovsk).

--controller remote: xác định Controller nằm ngoài bên ngoài máy ảo của Switch và
giao tiếp thông qua Port mặc định(127.0.0.1:6633)

sh : show
mn : mininet

+tại sao phải tạo luồng cho các host? (hay Tại sao lại ping không dc?) ==> Chưa có
kết nối giữa các Host vì trong bảng luồng không có một mục luồng nào cho các kết
nối này.

+ovs-ofctl: là một trình tiện tích có thể giúp chúng ta kiểm tra tính năng, bảng luồng
của các Switch hoặc để tạo luồng cho các Host

*Câu 4: +Bộ điều khiển có sẵn trong mininetVM là controller ptcp.


$$CÁC BẢN TIN KHỞI TẠO:
+Bản tin HELLO:Trong bước khởi tạo kết nối, bộ chuyển mạch và bộ điều khiển trao
đổi các bản tin Hello để thực hiện thỏa thuận phiên bản giao thức OpenFlow sử dụng giữa 2
thiết bị
xid: vùng nhận diện giao dịch.

+Bản tin OFPT_FEATURE_REQUEST: để lấy Datapath ID và các đặc tính của


chuyển mạch.

+Bản tin OFPT_FEATURE_RELY: chuyển mạch đáp ứng lại với cùng Datapath_id =
1 và một số thông tin về khả năng của chuyển mạch gồm:
n_buffer : số lượng gói cực đại chuyển mạch có thể đệm.
n_tables: số lượng bảng chuyển mạch có thể hỗ trợ.
of_port_desc list : thông tin các cổng của chuyển mạch.
actions : các hoạt động chuyển mạch có thể hỗ trợ.

+Bản tin OFPT_SET_CONFIG: do Bộ điều khiển gởi đến Chuyển mạch để thiết lập
chế độ hoạt động của chuyển mạch.

+OFPT_PORT_STATUS : khi port được thêm vào, thay đổi, hoặc xóa, datapath
dùng bản tin này để thông báo trạng thái port cho bộ điều khiển
Type = 9 : đây là bản tin OFPT_SET_CONFIG.
Flags = 0(OFPT_FRAG_NORMAL) : normal(bình thường) => lệnh Switch
các phân đoạn của gói IP đi qua các bảng OpenFlow
Miss_send_len = 128: số lượng byte gởi tới Controller qua OpenFlow bị lỗi.

$$CÁC BẢN TIN KHI PING:


+OFPT_PACKET_IN: từ Switch tới Controller
Có bản tin này vì nó không trùng với bất kỳ mục nào trong bảng
luồn(OFPT_NO_MATCH)
+OFPT_PACKET_OUT: từ Controller tới Switch
+OFPT_FLOW_MOD: bản tin thay đổi luồng

You might also like