Skip to content

Oracle0927/Simu-distributed-core-network-control-plane

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

141 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

#部署

简介


📚目录


🍴环境依赖


Basic

  • Ubuntu 18.04+
  • 内核版本: Linux 5.0.0-23-generic/Linux 5.4.0及以上
  • GTP5G:用于运行UPF
  • Docker:用于运行docker化部署的基本工程
  • Docker-compose:用于运行docker化部署的基本工程

Develop

  • Golang 1.18.5及以上:用于C面编译
  • P4:用于U面编译

🏃‍开始


⬇️下载


从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面搭建

📧联系我们


About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors