Khái niệm : 5GC được coi là trái tim của hệ thống 5G, tại đây nó xử lý các chức năng thiết yếu trong mạng di động Mô hình tổng quan : Lõi 5G sử dụng kiến trúc dựa trên dịch vụ phù hợ
Trang 1ĐẠI HỌC QUỐC GIA HÀ NỘI
TRƯỜNG ĐẠI HỌC CÔNG NGHỆ
BÁO CÁO TỔNG KẾT THỰC TẬP
Sinh viên: Đoàn Ngọc Anh
Mã sinh viên: 18020160
Lớp: K63 ĐACLC1 – Khoa Điện tử Viễn thông – Đại học Công Nghệ Công ty tiếp nhận thực tập: Công ty VNPT Technology
Thời gian: Từ 15/07/2021 – 15/09/2021
Giảng viên hướng dẫn: PGS.TS Trịnh Anh Vũ
Hướng dẫn thực tập: Nguyễn Công Ngọ
1
Trang 2Mục lục
Lời cảm ơn 3
Nội dung thực tập 4
1 Tổng quan về hệ thống 5GC 4
2 Vi trí, chức năng phân hệ UPF 5
3 Tổng quan về DPDK 6
4 Các component (eal, ring, mempool, mbuf) cùng các thư viện hỗ trợ (timer, hash, lpm) bởi DPDK 7
5 Xây dựng ứng dụng ICMP echo handler sử dụng DPDK 8
Kết quả 12
Trang 3Lời cảm ơn
Lời đầu tiên em xin phép gửi lời cảm ơn chân thành đến công ty cùng các anh chị đã nhiệt tình giúp đỡ để em có cơ hội được tham gia và hoàn thành tốt trong giai đoạn thực tập vừa qua tại công ty Công ty VNPT Technology
Em cũng xin được gửi lời cảm ơn đến các thầy cô trong khoa Điện tử - Viễn thông của trường Đại học Công Nghệ đã tạo điều kiện, kết nối chúng em với phía công ty, để chúng em có cơ hội thực tập Đặc biệt cảm ơn thầy Trịnh Anh Vũ, người
đã trực tiếp hướng dẫn, hỗ trợ em trong suốt quá trình thực tập
Báo cáo của em có thể còn nhiều thiếu sót, em rất mong nhận được sự góp ý từ các thầy cô
3
Trang 4Nội dung thực tập
1 Tổng quan về hệ thống 5GC
- Đây là phần em được tìm hiểu về lõi của hệ thống di động thứ 5 ( 5G Core )
Khái niệm : 5GC được coi là trái tim của hệ thống 5G, tại đây nó xử lý các chức năng thiết yếu trong mạng di động
Mô hình tổng quan : Lõi 5G sử dụng kiến trúc dựa trên dịch vụ phù hợp với đám mây (SBA) để hỗ trợ xác thực, bảo mật, quản lý phiên và tổng hợp lưu lượng từ các thiết bị được kết nối
Các NF ( Network Funtion ) cơ bản của hệ thống 5GC : tìm hiểu về các thành phần cơ bản cấu tạo nên hệ thống 5GC Các chức năng chính của từng thành phần
- Qua tìm hiểu về 5GC em đã có thể hiểu rõ hơn về cấu tạo và cách thức hoạt động của một hệ thống mạng di động Từ đó em cũng đã có thể sánh biết được sự khác biệt của 5G so với các hệ thống 2G, 3G, 4G em đã được tìm hiểu ở trường
Trang 52 Vi trí, chức năng phân hệ UPF
- Trong phần này em được đi tìm hiểu chi tiết hơn về một phân hệ cụ thể trong hệ thống 5GC, ở đây là phần hệ UPF
Khái niệm : UPF là viết tắt của User Plane Function, nó là đại diện cho kế hoạch tách mặt phẳng người dùng và điều khiển
Vị trí trong hệ thống 5GC :
Các chức năng cơ bản của UPF : tiểu biểu trong chức năng của UPF là làm điểm neo cho công nghệ Intra-RAT và Inter-RAT
5
Trang 63 Tổng quan về DPDK
- Phần này em được tìm hiểu để bước đầu làm quen với DPDK, DPDK là phần mềm chính mà công ty sử dụng trong các dự án về 5GC
Khái niệm : DPDK là viết tắt của Data Plane Development Kit, được tạo ra nhắm giúp các CPU xử lý gói tin nhanh hơn
Cách thức hoạt động : DPDK cung cấp giải pháp xử lý các gói tin nhanh hơn bằng cách bỏ qua hoàn toàn phần nhân Kernel
Các thành phần cốt lõi : tiêu biểu là công cụ EAL ( Environment Abstraction Layer ), đây là thứ liên kết DPDK với các ứng dụng, cho phép DPDK hoạt động trong một môi trường phần cứng và hệ điều hành cụ thể
- Qua phần này em đã phần nào có thể hiểu được về DPDK, tại sao lại sử dụng DPDK
và cách cài DPDK để sử dụng
Trang 74 Các component (eal, ring, mempool, mbuf) cùng các thư viện
hỗ trợ (timer, hash, lpm) bởi DPDK.
- Phần này bọn em đi sâu vào tìm hiểu về các thành phần chính và cách hoạt động trong DPDK Vì thời gian không cho phép nên bọn em đã được chia ra để tìm hiểu những phần khác nhau, em được phân công tìm hiểu về Timer, Hash, LPM
EAL : khởi tạo môi trường hoạt động của DPDK
Ring : cho phép xử lý các hàng đợi
Mempool : một bộ cấp phát bộ nhớ cho một đối tượng có kích thước cố định
Mbuf : cung cấp khả năng phân bổ và giải phóng bộ đệm (mbufs) có thể được ứng dụng DPDK sử dụng để lưu trữ bộ đệm tin nhắn
Timer : Cung cấp dịch vụ hẹn giờ cho các đơn vị thực thi DPDK để cho phép thực thi các hàm gọi lại một cách không đồng bộ
Hash : DPDK cung cấp thư viện Hash để tạo bảng băm để tra cứu nhanh
LPM : Triển khai phương pháp tìm kiếm bảng Longest Prefix Match (LPM) cho các khóa 32-bit thường được sử dụng để tìm kết hợp tuyến tốt nhất trong các ứng dụng chuyển tiếp IP
- Trong phần này em cũng đã biết thêm về nhiều khái niệm mới như : NUMA, skip list, ring, …
- Qua phần này em đã có thể chạy được các ứng dụng cơ bản trên DPDK như Hello World , Timer, …
7
Trang 85 Xây dựng ứng dụng ICMP echo handler sử dụng DPDK
- Phần cuối này em sẽ vận dụng những kiến thức đã tìm hiểu để có thể xây dựng ICMP echo handler sử dụng DPDK với yêu cầu là chương trình được viết bằng C/C+ + sử dụng DPDK để trả lời bản tin PING từ máy bên ngoài
- Về yêu cầu của chương trình có thể đưa ra 2 hướng giải quyết như sau :
Cách 1 : em sẽ xây dựng một chương trình chứa cả DPDK để nhận và trả lời bản tin được ping đến từ máy VM1
Cách 2 : em xây dựng một chương trình tao ra một card mạng ảo được liên kết với DPDK, khi bản tin ping đến DPDK nó sẽ được đẩy sang card mạng ảo đó
để cho hệ điều hành Linux xử lý, khi xử lý xong nó sẽ trả về bản tin Reply cho DPDK sau đó sẽ được gửi lại cho máy ping đến
Trang 9- Em đã chọn cách 2 để thực hiện :
Source code em đã sử dụng em sẽ để trong file đính kèm
- Các lệnh chạy :
+ Máy 02 : máy cài DPDK
export RTE_SDK=/home/anh/dpdk-stable-18.11.11 // Trỏ đến thư mục cài đặt DPDK
export RTE_TARGET=x86_64-native-linuxapp-gcc // Trỏ đến thư mục môi trường đích DPDK
cd dpdk-stable-18.11.11/examples/kni/ // Di chuyển tới thư mục
make
/build/app/kni -l 1-2 -n 4 -P -p 0x1 -m config="(0,1,2,3)" // lệnh chạy chương trình Sau khi build ta sẽ tạo đc một card ảo là vEth0_0
9
Trang 10 ifconfig //ta kiểm tra xem trong máy đã có card ảo vEth0_0 ta vừa tạo chưa
ifconfig vEth0_0 192.168.87.100 // gán địa chỉ IP 192.168.87.100 cho vEth0_0
Trang 11+ Máy 01 : em chỉ dùng lệnh ping đơn giản để gửi gói tin ICMP đến máy 2 Em được kết quả như hình :
+ Sau đó ở máy 2 em sử dụng phần mềm Wireshark để kiểm tra xem có đúng đã nhận đc bản tin đến và tạo ra bản tin reply để gửi đi chưa
11
Trang 12Kết quả
Sau kì thực tập tại Công ty VNPT Technology em đã phần nào hiểu rõ hơn
về hệ thống 5GC và có thể sử dụng được công cụ DPDK Vì tình hình dịch bệnh nên bọn em đã không thể đến công ty, đó là điều khá đáng tiếc với em Vì đó là cơ hội để
em cũng như các bạn được trực tiếp tiếp xúc với môi trường làm việc Dù vậy em với những kiến thức đã được học, đó sẽ là một trong những công cụ vững chắc cho em
Một lần nữa, em xin chân thành cảm ơn các anh chị tại Công ty VNPT Technology, các thầy cô trong khóa và thầy phụ trách Trịnh Anh Vũ đã tạo điều kiện cũng như chỉ dạy và hỗ trợ tận tình cho em trong khóa thực tập này