#部署
Basic
- Ubuntu 18.04+
- 内核版本: Linux 5.0.0-23-generic/Linux 5.4.0及以上
- GTP5G:用于运行UPF
- Docker:用于运行docker化部署的基本工程
- Docker-compose:用于运行docker化部署的基本工程
Develop
从gitee上下载工程
# Clone Project
git clone https://gitee.com/lianghz3/distributed-core-network-control-plane.git
cd ~/distributed-core-network-control-plane(可选) 本地编译工程
cd ~/distributed-core-network-control-plane
go build -o modified_dir其它模块的部署细节
- P4 Based U-Plane Deployment
- C-Plane Controller Deployment
(optional)调试工具
# 下载dlv调试镜像
docker pull lianghz3/dlv:v0.1.0以docker-compose模式启动系统
# start docker
cd $<YOUR_PROJECT_DIR>
docker-compose up -d查看各服务日志
docker-compose up -d使用建立后的用户面隧道获取服务
docker exec -it test-UERANSIM bash
ping [somewhere_to_ping] -I ueransimtun0配置 N2端口
# amfcfg.yaml
...
ngapIpList: # the IP list of N2 interfaces on this AMF
- 11.11.11.3
...
# free5gc-gnb.yaml
...
# List of AMF address information
amfConfigs:
- address: 11.11.11.3
port: 38412
...配置 **N3 (Basic UPF)**端口
#smfcfg.yaml
...
interfaces: # Interface list for this UPF
- interfaceType: N3 # the type of the interface (N3 or N9)
endpoints: # the IP address of this N3/N9 interface on this UPF
- 11.11.11.6
networkInstance: internet # Data Network Name (DNN)
...
#upfcfg.yaml
...
pfcp:
- addr: 11.11.11.6
gtpu:
- addr: 11.11.11.6
...(可选) 配置 **N3 (P4 UPF)**端口 注:P4版UPF的N3端口地址仍为hardcode写入
#smfcfg.yaml
...
interfaces: # Interface list for this UPF
- interfaceType: N3 # the type of the interface (N3 or N9)
endpoints: # the IP address of this N3/N9 interface on this UPF
- 11.11.11.6
networkInstance: internet # Data Network Name (DNN)
...
#n4/n4.go
...
func main() {
var (
listen = flag.String("s", "11.11.11.6:8805", "addr/port to listen on")
)
flag.Parse()
....
├── cmd
├── Domain
│ ├── consumer
│ ├── context
│ ├── gmm
│ ├── interface
│ ├── logger
│ ├── nas
│ ├── producer
│ ├── repository
│ └── util
├── log
│ ├── lib
│ └── nf
├── pkg
│ ├── factory
│ └── service
└── test
设计相关的文档请参考:
- 补充redis的GNV设计
- 中间层repository的引入设计
- 上下文重分组
- P4-U面搭建