UPFの問題解決

UPF 構成ファイルの内容の分析

ここに画像の説明を挿入
インターフェイスの NWI ネットワーク インスタンス
ここに画像の説明を挿入

ここに画像の説明を挿入

ここに画像の説明を挿入
調査の結果、upf ネットワーク要素構成ファイルが次のように変更されました。ここに画像の説明を挿入
- IF_2_NWI=access.oai.org を - IF_2_NWI=access3.oai.org に変更します。

- IF_2_NWI=access.oai.org を - IF_2_NWI=access3.oai.org に変更します。

次に、2 つのコア ネットワークが 2 つのベース ステーションに接続され、30 分間起動されましたが、まだ健全な状態です。
ここに画像の説明を挿入
ここに画像の説明を挿入

ここに画像の説明を挿入

新しい問題 - CPU リソース

3 つの独立したコア ネットワークを起動すると、CPU リソースが不足するようです
ここに画像の説明を挿入
103.36
ここに画像の説明を挿入
ここに画像の説明を挿入
それぞれ 4 つのコアを持つ 4 つの CPU を使用します。したがって、合計 CPU 使用率が 100% を超えるのは正常であり、問​​題ありません。
ここに画像の説明を挿入

回答リンク

コアネットワーク4の作成

sudo docker tag mysql:8.0 mysql:8.4
sudo docker tag oaisoftwarealliance/oai-amf:v1.5.0 oaisoftwarealliance/oai-amf:1.5.4
sudo docker tag oaisoftwarealliance/oai-smf:v1.5.0 oaisoftwarealliance/oai-smf:1.5.4
sudo docker tag oaisoftwarealliance/oai-ausf:v1.5.0 oaisoftwarealliance/oai-ausf:1.5.4
sudo docker tag oaisoftwarealliance/oai-udr:v1.5.0 oaisoftwarealliance/oai-udr:1.5.4
sudo docker tag oaisoftwarealliance/oai-udm:v1.5.0 oaisoftwarealliance/oai-udm:1.5.4
sudo docker tag oaisoftwarealliance/oai-nrf:v1.5.0 oaisoftwarealliance/oai-nrf:1.5.4
sudo docker tag oaisoftwarealliance/oai-nssf:v1.5.0 oaisoftwarealliance/oai-nssf:1.5.4
sudo docker tag oaisoftwarealliance/oai-nef:v1.5.0 oaisoftwarealliance/oai-nef:1.5.4
sudo docker tag oaisoftwarealliance/oai-pcf:v1.5.0 oaisoftwarealliance/oai-pcf:1.5.4
sudo docker tag oaisoftwarealliance/oai-upf-vpp:v1.5.0 oaisoftwarealliance/oai-upf-vpp:1.5.4
sudo docker tag oaisoftwarealliance/oai-spgwu-tiny:v1.5.0 oaisoftwarealliance/oai-spgwu-tiny:1.5.4
sudo docker tag oaisoftwarealliance/trf-gen-cn5g:latest oaisoftwarealliance/trf-gen-cn5g:1.5.4

T3580 タイマーの期限切れ
https://blog.csdn.net/wszzr999/article/details/126261156

オンラインコード比較ツール

このツールを使用してコードを 1 行ずつ比較し、欠落している変更や変更エラーを見つけます。
オンライン コード比較ツール

慎重に比較しても、問題はまだ解決できません。明らかに 3 を 4 に変更しただけです

docker-compose は問題のある単一のコンテナを再起動します

lab@lab-virtual-machine:~/oai-cn5g-fed/docker-compose$ sudo docker-compose -f docker-compose-basic-vpp-nrf2.yaml restart vpp-upf2

0427 注: 異なるコア ネットワークは異なるフォルダーで実行され、関連する基本ファイルが装備されている必要があります

新しく作成したコア ネットワーク yaml ファイルは、以前のコア ネットワーク yaml ファイルとは別のフォルダーに配置する必要があります。コア ネットワークごとに別のフォルダーを使用することをお勧めします。
ここに画像の説明を挿入
コアネットワークは運用時にディレクトリ内のyamlファイルを使用するだけでなく、データ格納用のフォルダやヘルスチェック用のフォルダも使用するため、datebaseファイルとhealthscriptsファイルは事前に用意されず、コアネットワークの作成後に作成されます。が起動時に自動的に作成され、フォルダーの内容が空であり、コア ネットワークが正常に実行できないことがわかります。
ここに画像の説明を挿入

したがって、コア ネットワークごとに新しいフォルダーを作成し、そのフォルダーに他の構成ファイルをコピーします。

ここに画像の説明を挿入
正常に起動でき、コア ネットワークは正常です。
ここに画像の説明を挿入

マルチコアネットワークの起動と複数のフォルダーでのueransimアクセステスト

次の 3 つのフォルダーはそれぞれ 3 つのコア ネットワーク ファイルを作成します

ここに画像の説明を挿入
各フォルダーの内容は次のとおりです。
4 つの基本構成フォルダー、コア ネットワーク起動 yaml ファイル、ueransim 起動 yaml ファイル
ここに画像の説明を挿入
2 つのコア ネットワークと ueransim をそれぞれ起動します

CN7:
ここに画像の説明を挿入ここに画像の説明を挿入
ここに画像の説明を挿入

同様にCN3を起動すると正常に起動し、ueransimが正常に接続されます。
ここに画像の説明を挿入

しかし、問題は依然として発生しました。
しばらくすると、upf ステータスが異常になりました。

ここに画像の説明を挿入

結論は

コア ネットごとに個別のフォルダーを作成するのは良いことですが、不健全な UPF の問題は解決できません。

CN7 構成ファイル:
docker-compose-basic-vpp-nrf.yaml

version: '3.8'
services:
    mysql:
        container_name: "mysql"
        image: mysql:8.0
        volumes:
            - ./database/oai_db2.sql:/docker-entrypoint-initdb.d/oai_db.sql
            - ./healthscripts/mysql-healthcheck2.sh:/tmp/mysql-healthcheck.sh
        environment:
            - TZ=Europe/Paris
            - MYSQL_DATABASE=oai_db
            - MYSQL_USER=test
            - MYSQL_PASSWORD=test
            - MYSQL_ROOT_PASSWORD=linux
        healthcheck:
            test: /bin/bash -c "/tmp/mysql-healthcheck.sh"
            interval: 10s
            timeout: 5s
            retries: 30
        networks:
            public_net:
                ipv4_address: 192.168.70.131
    oai-udr:
        container_name: "oai-udr"
        image: oaisoftwarealliance/oai-udr:v1.5.0
        environment:
            - TZ=Europe/Paris
            - UDR_NAME=OAI_UDR
            - UDR_INTERFACE_NAME_FOR_NUDR=eth0
            - MYSQL_IPV4_ADDRESS=192.168.70.131
            - MYSQL_USER=test
            - MYSQL_PASS=test
            - MYSQL_DB=oai_db
            - WAIT_MYSQL=120
            - USE_FQDN_DNS=yes
            - REGISTER_NRF=yes
            - NRF_IPV4_ADDRESS=192.168.70.130
            - NRF_FQDN=oai-nrf
        depends_on:
            - mysql
            - oai-nrf
        networks:
            public_net:
                ipv4_address: 192.168.70.136
    oai-udm:
        container_name: "oai-udm"
        image: oaisoftwarealliance/oai-udm:v1.5.0
        environment:
            - TZ=Europe/Paris
            - UDM_NAME=OAI_UDM
            - SBI_IF_NAME=eth0
            - REGISTER_NRF=yes
            - USE_FQDN_DNS=yes
            - UDR_IP_ADDRESS=192.168.70.136
            - UDR_FQDN=oai-udr
            - NRF_IPV4_ADDRESS=192.168.70.130
            - NRF_FQDN=oai-nrf
        depends_on:
            - oai-udr
        networks:
            public_net:
                ipv4_address: 192.168.70.137
    oai-ausf:
        container_name: "oai-ausf"
        image: oaisoftwarealliance/oai-ausf:v1.5.0
        environment:
            - TZ=Europe/Paris
            - AUSF_NAME=OAI_AUSF
            - SBI_IF_NAME=eth0
            - USE_FQDN_DNS=yes
            - REGISTER_NRF=yes
            - UDM_IP_ADDRESS=192.168.70.137
            - UDM_FQDN=oai-udm
            - NRF_IPV4_ADDRESS=192.168.70.130
            - NRF_FQDN=oai-nrf
        depends_on:
            - oai-udm
        networks:
            public_net:
                ipv4_address: 192.168.70.138
    oai-nrf:
        container_name: "oai-nrf"
        image: oaisoftwarealliance/oai-nrf:v1.5.0
        environment:
            - TZ=Europe/Paris
            - NRF_INTERFACE_NAME_FOR_SBI=eth0
        networks:
            public_net:
                ipv4_address: 192.168.70.130
    oai-amf:
        container_name: "oai-amf"
        image: oaisoftwarealliance/oai-amf:v1.5.0
        environment:
            - TZ=Europe/paris
            - MCC=208
            - MNC=95
            - REGION_ID=128
            - AMF_SET_ID=1
            - SERVED_GUAMI_MCC_0=208
            - SERVED_GUAMI_MNC_0=95
            - SERVED_GUAMI_REGION_ID_0=128
            - SERVED_GUAMI_AMF_SET_ID_0=1
            - SERVED_GUAMI_MCC_1=460
            - SERVED_GUAMI_MNC_1=11
            - SERVED_GUAMI_REGION_ID_1=10
            - SERVED_GUAMI_AMF_SET_ID_1=1
            - PLMN_SUPPORT_MCC=208
            - PLMN_SUPPORT_MNC=95
            - PLMN_SUPPORT_TAC=0xa000
            # Slice 0 (222, 123)
            - SST_0=222
            - SD_0=123
            # Slice 0 (128, 12)
            - SST_1=128
            - SD_1=12
            - AMF_INTERFACE_NAME_FOR_NGAP=eth0
            - AMF_INTERFACE_NAME_FOR_N11=eth0
            # One single SMF instance
            - SMF_INSTANCE_ID_0=1
            - SMF_FQDN_0=oai-smf
            - SMF_IPV4_ADDR_0=192.168.70.133
            - SELECTED_0=true
            - NF_REGISTRATION=yes
            - SMF_SELECTION=yes
            - USE_FQDN_DNS=yes
            - EXTERNAL_AUSF=yes
            - EXTERNAL_UDM=no
            - EXTERNAL_NSSF=no
            - NRF_IPV4_ADDRESS=192.168.70.130
            - NRF_FQDN=oai-nrf
            - AUSF_IPV4_ADDRESS=192.168.70.138
            - AUSF_FQDN=oai-ausf
            - UDM_IPV4_ADDRESS=192.168.70.137
            - UDM_FQDN=oai-udm
            - INT_ALGO_LIST=[ "NIA1" , "NIA2"]
            - CIPH_ALGO_LIST=[ "NEA1" , "NEA2"]
        depends_on:
            - mysql
            - vpp-upf
            - oai-ext-dn
            - oai-ausf
        networks:
            public_net:
                ipv4_address: 192.168.70.132
    oai-smf:
        container_name: "oai-smf"
        image: oaisoftwarealliance/oai-smf:v1.5.0
        environment:
            - TZ=Europe/Paris
            - SMF_INTERFACE_NAME_FOR_N4=eth0
            - SMF_INTERFACE_NAME_FOR_SBI=eth0
            - DEFAULT_DNS_IPV4_ADDRESS=172.21.3.100
            - DEFAULT_DNS_SEC_IPV4_ADDRESS=8.8.8.8
            - AMF_IPV4_ADDRESS=192.168.70.132
            - AMF_FQDN=oai-amf
            - UDM_IPV4_ADDRESS=192.168.70.137
            - UDM_FQDN=oai-udm
            - UPF_IPV4_ADDRESS=192.168.70.201
            - UPF_FQDN_0=vpp-upf.node.5gcn.mnc95.mcc208.3gppnetwork.org
            - NRF_IPV4_ADDRESS=192.168.70.130
            - NRF_FQDN=oai-nrf
            - DEFAULT_CSCF_IPV4_ADDRESS=127.0.0.1  # only needed when ims is being used
            - USE_LOCAL_SUBSCRIPTION_INFO=yes  #Set to yes if SMF uses local subscription information instead of from an UDM
            - REGISTER_NRF=yes
            - DISCOVER_UPF=yes
            - USE_FQDN_DNS=yes
            - USE_NETWORK_INSTANCE=yes
            - ENABLE_USAGE_REPORTING=yes
            # Slice 0 (1, 0xFFFFFF)
            - DNN_NI0=oai
            - TYPE0=IPv4
            - DNN_RANGE0=12.1.1.151 - 12.1.1.253
            - NSSAI_SST0=1
            - SESSION_AMBR_UL0=200Mbps
            - SESSION_AMBR_DL0=400Mbps
            # Slice 1 (1, 1)
            - DNN_NI1=oai.ipv4
            - TYPE1=IPv4
            - DNN_RANGE1=12.1.1.51 - 12.1.1.150
            - NSSAI_SST1=1
            - NSSAI_SD1=1
            - SESSION_AMBR_UL1=100Mbps
            - SESSION_AMBR_DL1=200Mbps
            # Slice 2 (222, 123)
            - DNN_NI2=default
            - TYPE2=IPv4
            - DNN_RANGE2=12.1.1.2 - 12.1.1.50
            - NSSAI_SST2=222
            - NSSAI_SD2=123
            - SESSION_AMBR_UL2=50Mbps
            - SESSION_AMBR_DL2=100Mbps
            # Slice 3 for ims
            - DNN_NI3=ims
            - TYPE3=IPv4v6
            - DNN_RANGE3=14.1.1.2 - 14.1.1.253
        extra_hosts:
            - "vpp-upf.node.5gcn.mnc95.mcc208.3gppnetwork.org:192.168.70.201"
        depends_on:
            - oai-amf
        networks:
            public_net:
                ipv4_address: 192.168.70.133
    vpp-upf:
        privileged: true
        container_name: "vpp-upf"
        image: oaisoftwarealliance/oai-upf-vpp:v1.5.0
        environment:
            - IF_1_IP=192.168.70.201
            - IF_1_TYPE=N4
            - IF_2_IP=192.168.72.201
            - IF_2_TYPE=N3
            - IF_2_NWI=access.oai.org
            - IF_3_IP=192.168.73.201
            - IF_3_TYPE=N6
            - IF_3_IP_REMOTE=192.168.73.135 # EXT-DN IP Address
            - IF_3_NWI=internet.oai.org
            - NAME=VPP-UPF
            - MNC=95
            - MCC=208
            - REALM=3gppnetwork.org
            - VPP_MAIN_CORE=0
            - VPP_CORE_WORKER=1
#           - VPP_PLUGIN_PATH=/usr/lib64/vpp_plugins/                # RHEL7
            - VPP_PLUGIN_PATH=/usr/lib/x86_64-linux-gnu/vpp_plugins/ # Ubntu18.04
            - SNSSAI_SD=123
            - SNSSAI_SST=222
            - DNN=default
            - REGISTER_NRF=yes
            - NRF_IP_ADDR=192.168.70.130
            - NRF_PORT=80
            - HTTP_VERSION=1
        depends_on:
            - oai-nrf
        healthcheck:
            test: /bin/bash -c "pgrep vpp"
            interval: 10s
            timeout: 5s
            retries: 5
        networks:
            public_net:
                ipv4_address: 192.168.70.134
            public_net_access:
                ipv4_address: 192.168.72.134
            public_net_core:
                ipv4_address: 192.168.73.134
    oai-ext-dn:
        privileged: true
        init: true
        container_name: "oai-ext-dn"
        image: oaisoftwarealliance/trf-gen-cn5g:latest
        entrypoint: /bin/bash -c \
              "iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE;"\
              "ip route add 12.1.1.0/24 via 192.168.73.201 dev eth0; ip route; sleep infinity"
        command: ["/bin/bash", "-c", "trap : SIGTERM SIGINT; sleep infinity & wait"]
        healthcheck:
            test: /bin/bash -c "iptables -L -t nat | grep MASQUERADE"
            interval: 10s
            timeout: 5s
            retries: 5
        networks:
            public_net_core:
                ipv4_address: 192.168.73.135
networks:
    public_net:
        driver: bridge
        name: demo-oai-public-net
        ipam:
            config:
                - subnet: 192.168.70.0/24
        driver_opts:
            com.docker.network.bridge.name: "demo-oai"
    public_net_access:
        name: oai-public-access
        ipam:
            config:
                - subnet: 192.168.72.0/24
        driver_opts:
            com.docker.network.bridge.name: "cn5g-access"
    public_net_core:
        name: oai-public-core
        ipam:
            config:
                - subnet: 192.168.73.0/24
        driver_opts:
            com.docker.network.bridge.name: "cn5g-core"

docker-compose-ueransim-vpp.yaml

version: '3.8'
services:
    ueransim:
        container_name: ueransim
        image: ueransim:latest
        privileged: true
        environment:
            # GNB Congig Parameters
            - MCC=208
            - MNC=95
            - NCI=0x000000010
            - TAC=0xa000
            - LINK_IP=192.168.70.141
            - NGAP_IP=192.168.70.141
            - GTP_IP=192.168.72.141
            - NGAP_PEER_IP=192.168.70.132
            - SST=222
            - SD=123
            - IGNORE_STREAM_IDS=true
            # UE Config Parameters
            - NUMBER_OF_UE=1
            - IMSI=208950000000041
            - KEY=0C0A34601D4F07677303652C0462535B
            - OP=63bfa50ee6523365ff14c1f45f88737d
            - OP_TYPE=OPC
            - AMF_VALUE=8000
            - IMEI=356938035643803
            - IMEI_SV=0035609204079514
            - GNB_IP_ADDRESS=192.168.70.141
            - PDU_TYPE=IPv4
            - APN=default
            - SST_0=222
            - SD_0=123
            - SST_C=222
            - SD_C=123
            - SST_D=222
            - SD_D=123
        networks:
            public_net:
                ipv4_address: 192.168.70.141
            public_net_access:
                ipv4_address: 192.168.72.141
        healthcheck:
            test: /bin/bash -c "ifconfig uesimtun0"
            interval: 10s
            timeout: 5s
            retries: 5
networks:
    public_net:
        external:
            name: demo-oai-public-net
    public_net_access:
        external:
            name: oai-public-access

CN3 構成ファイル:
docker-compose-basic-vpp-nrf3.yaml

version: '3.8'
services:
    mysql3:
        container_name: "mysql3"
        image: mysql:8.3
        volumes:
            - ./database/oai_db2.sql:/docker-entrypoint-initdb.d/oai_db.sql
            - ./healthscripts/mysql-healthcheck2.sh:/tmp/mysql-healthcheck.sh
        environment:
            - TZ=Europe/Paris
            - MYSQL_DATABASE=oai_db
            - MYSQL_USER=test
            - MYSQL_PASSWORD=test
            - MYSQL_ROOT_PASSWORD=linux
        healthcheck:
            test: /bin/bash -c "/tmp/mysql-healthcheck.sh"
            interval: 10s
            timeout: 5s
            retries: 30
        networks:
            public_net3:
                ipv4_address: 192.168.30.131
    oai-udr3:
        container_name: "oai-udr3"
        image: oaisoftwarealliance/oai-udr:1.5.3
        environment:
            - TZ=Europe/Paris
            - UDR_NAME=OAI_UDR3
            - UDR_INTERFACE_NAME_FOR_NUDR=eth0
            - MYSQL_IPV4_ADDRESS=192.168.30.131
            - MYSQL_USER=test
            - MYSQL_PASS=test
            - MYSQL_DB=oai_db
            - WAIT_MYSQL=120
            - USE_FQDN_DNS=yes
            - REGISTER_NRF=yes
            - NRF_IPV4_ADDRESS=192.168.30.130
            - NRF_FQDN=oai-nrf3
        depends_on:
            - mysql3
            - oai-nrf3
        networks:
            public_net3:
                ipv4_address: 192.168.30.136
    oai-udm3:
        container_name: "oai-udm3"
        image: oaisoftwarealliance/oai-udm:1.5.3
        environment:
            - TZ=Europe/Paris
            - UDM_NAME=OAI_UDM3
            - SBI_IF_NAME=eth0
            - REGISTER_NRF=yes
            - USE_FQDN_DNS=yes
            - UDR_IP_ADDRESS=192.168.30.136
            - UDR_FQDN=oai-udr3
            - NRF_IPV4_ADDRESS=192.168.30.130
            - NRF_FQDN=oai-nrf3
        depends_on:
            - oai-udr3
        networks:
            public_net3:
                ipv4_address: 192.168.30.137
    oai-ausf3:
        container_name: "oai-ausf3"
        image: oaisoftwarealliance/oai-ausf:1.5.3
        environment:
            - TZ=Europe/Paris
            - AUSF_NAME=OAI_AUSF3
            - SBI_IF_NAME=eth0
            - USE_FQDN_DNS=yes
            - REGISTER_NRF=yes
            - UDM_IP_ADDRESS=192.168.30.137
            - UDM_FQDN=oai-udm3
            - NRF_IPV4_ADDRESS=192.168.30.130
            - NRF_FQDN=oai-nrf3
        depends_on:
            - oai-udm3
        networks:
            public_net3:
                ipv4_address: 192.168.30.138
    oai-nrf3:
        container_name: "oai-nrf3"
        image: oaisoftwarealliance/oai-nrf:1.5.3
        environment:
            - TZ=Europe/Paris
            - NRF_INTERFACE_NAME_FOR_SBI=eth0
        networks:
            public_net3:
                ipv4_address: 192.168.30.130
    oai-amf3:
        container_name: "oai-amf3"
        image: oaisoftwarealliance/oai-amf:1.5.3
        environment:
            - TZ=Europe/paris
            - MCC=208
            - MNC=95
            - REGION_ID=128
            - AMF_SET_ID=1
            - SERVED_GUAMI_MCC_0=208
            - SERVED_GUAMI_MNC_0=95
            - SERVED_GUAMI_REGION_ID_0=128
            - SERVED_GUAMI_AMF_SET_ID_0=1
            - SERVED_GUAMI_MCC_1=460
            - SERVED_GUAMI_MNC_1=11
            - SERVED_GUAMI_REGION_ID_1=10
            - SERVED_GUAMI_AMF_SET_ID_1=1
            - PLMN_SUPPORT_MCC=208
            - PLMN_SUPPORT_MNC=95
            - PLMN_SUPPORT_TAC=0xa000
            # Slice 0 (222, 123)
            - SST_0=222
            - SD_0=123
            # Slice 0 (128, 12)
            - SST_1=128
            - SD_1=12
            - AMF_INTERFACE_NAME_FOR_NGAP=eth0
            - AMF_INTERFACE_NAME_FOR_N11=eth0
            # One single SMF instance
            - SMF_INSTANCE_ID_0=1
            - SMF_FQDN_0=oai-smf3
            - SMF_IPV4_ADDR_0=192.168.30.133
            - SELECTED_0=true
            - NF_REGISTRATION=yes
            - SMF_SELECTION=yes
            - USE_FQDN_DNS=yes
            - EXTERNAL_AUSF=yes
            - EXTERNAL_UDM=no
            - EXTERNAL_NSSF=no
            - NRF_IPV4_ADDRESS=192.168.30.130
            - NRF_FQDN=oai-nrf3
            - AUSF_IPV4_ADDRESS=192.168.30.138
            - AUSF_FQDN=oai-ausf3
            - UDM_IPV4_ADDRESS=192.168.30.137
            - UDM_FQDN=oai-udm3
            - INT_ALGO_LIST=[ "NIA1" , "NIA2"]
            - CIPH_ALGO_LIST=[ "NEA1" , "NEA2"]
        depends_on:
            - mysql3
            - vpp-upf3
            - oai-ext-dn3
            - oai-ausf3
        networks:
            public_net3:
                ipv4_address: 192.168.30.132


    oai-smf3:
        container_name: "oai-smf3"
        image: oaisoftwarealliance/oai-smf:1.5.3
        environment:
            - TZ=Europe/Paris
            - SMF_INTERFACE_NAME_FOR_N4=eth0
            - SMF_INTERFACE_NAME_FOR_SBI=eth0
            - DEFAULT_DNS_IPV4_ADDRESS=172.21.3.100
            - DEFAULT_DNS_SEC_IPV4_ADDRESS=8.8.8.8
            - AMF_IPV4_ADDRESS=192.168.30.132
            - AMF_FQDN=oai-amf3
            - UDM_IPV4_ADDRESS=192.168.30.137
            - UDM_FQDN=oai-udm3
            - UPF_IPV4_ADDRESS=192.168.30.201
            - UPF_FQDN_0=vpp-upf3.node.5gcn.mnc95.mcc208.3gppnetwork.org
            - NRF_IPV4_ADDRESS=192.168.30.130
            - NRF_FQDN=oai-nrf3
            - DEFAULT_CSCF_IPV4_ADDRESS=127.0.0.1  # only needed when ims is being used
            - USE_LOCAL_SUBSCRIPTION_INFO=yes  #Set to yes if SMF uses local subscription information instead of from an UDM
            - REGISTER_NRF=yes
            - DISCOVER_UPF=yes
            - USE_FQDN_DNS=yes
            - USE_NETWORK_INSTANCE=yes
            - ENABLE_USAGE_REPORTING=yes
            # Slice 0 (1, 0xFFFFFF)
            - DNN_NI0=oai
            - TYPE0=IPv4
            - DNN_RANGE0=12.1.1.151 - 12.1.1.253
            - NSSAI_SST0=1
            - SESSION_AMBR_UL0=200Mbps
            - SESSION_AMBR_DL0=400Mbps
            # Slice 1 (1, 1)
            - DNN_NI1=oai.ipv4
            - TYPE1=IPv4
            - DNN_RANGE1=12.1.1.51 - 12.1.1.150
            - NSSAI_SST1=1
            - NSSAI_SD1=1
            - SESSION_AMBR_UL1=100Mbps
            - SESSION_AMBR_DL1=200Mbps
            # Slice 2 (222, 123)
            - DNN_NI2=default
            - TYPE2=IPv4
            - DNN_RANGE2=12.1.1.2 - 12.1.1.50
            - NSSAI_SST2=222
            - NSSAI_SD2=123
            - SESSION_AMBR_UL2=50Mbps
            - SESSION_AMBR_DL2=100Mbps
            # Slice 3 for ims
            - DNN_NI3=ims
            - TYPE3=IPv4v6
            - DNN_RANGE3=14.1.1.2 - 14.1.1.253
        extra_hosts:
            - "vpp-upf3.node.5gcn.mnc95.mcc208.3gppnetwork.org:192.168.30.201"
        depends_on:
            - oai-amf3
        networks:
            public_net3:
                ipv4_address: 192.168.30.133
    vpp-upf3:
        privileged: true
        container_name: "vpp-upf3"
        image: oaisoftwarealliance/oai-upf-vpp:1.5.3
        environment:
            - IF_1_IP=192.168.30.201
            - IF_1_TYPE=N4
            - IF_2_IP=192.168.32.201
            - IF_2_TYPE=N3
            - IF_2_NWI=access3.oai.org
            - IF_3_IP=192.168.33.201
            - IF_3_TYPE=N6
            - IF_3_IP_REMOTE=192.168.33.135 # EXT-DN IP Address
            - IF_3_NWI=internet3.oai.org
            - NAME=VPP-UPF3
            - MNC=95
            - MCC=208
            - REALM=3gppnetwork.org
            - VPP_MAIN_CORE=0
            - VPP_CORE_WORKER=1
#           - VPP_PLUGIN_PATH=/usr/lib64/vpp_plugins/                # RHEL7
            - VPP_PLUGIN_PATH=/usr/lib/x86_64-linux-gnu/vpp_plugins/ # Ubntu18.04
            - SNSSAI_SD=123
            - SNSSAI_SST=222
            - DNN=default
            - REGISTER_NRF=yes
            - NRF_IP_ADDR=192.168.30.130
            - NRF_PORT=80
            - HTTP_VERSION=1
        depends_on:
            - oai-nrf3
        healthcheck:
            test: /bin/bash -c "pgrep vpp"
            interval: 10s
            timeout: 5s
            retries: 5
        networks:
            public_net3:
                ipv4_address: 192.168.30.134
            public_net_access3:
                ipv4_address: 192.168.32.134
            public_net_core3:
                ipv4_address: 192.168.33.134
    oai-ext-dn3:
        privileged: true
        init: true
        container_name: "oai-ext-dn3"
        image: oaisoftwarealliance/trf-gen-cn5g:1.5.3
        entrypoint: /bin/bash -c \
              "iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE;"\
              "ip route add 12.1.1.0/24 via 192.168.33.201 dev eth0; ip route; sleep infinity"
        command: ["/bin/bash", "-c", "trap : SIGTERM SIGINT; sleep infinity & wait"]
        healthcheck:
            test: /bin/bash -c "iptables -L -t nat | grep MASQUERADE"
            interval: 10s
            timeout: 5s
            retries: 5
        networks:
            public_net_core3:
                ipv4_address: 192.168.33.135

networks:
    public_net3:
        driver: bridge
        name: demo-oai-public-net3
        ipam:
            config:
                - subnet: 192.168.30.0/24
        driver_opts:
            com.docker.network.bridge.name: "demo-oai3"

    public_net_access3:
        name: oai-public-access3
        ipam:
            config:
                - subnet: 192.168.32.0/24
        driver_opts:
            com.docker.network.bridge.name: "cn5g-access3"
    public_net_core3:
        name: oai-public-core3
        ipam:
            config:
                - subnet: 192.168.33.0/24
        driver_opts:
            com.docker.network.bridge.name: "cn5g-core3"

ueransim90.yaml

version: '3.8'
services:
    ueransim3:
        container_name: ueransim3
        image: ueransim:latest
        privileged: true
        environment:
            # GNB Congig Parameters
            - MCC=208
            - MNC=95
            - NCI=0x000000010
            - TAC=0xa000
            - LINK_IP=192.168.30.141
            - NGAP_IP=192.168.30.141
            - GTP_IP=192.168.32.141
            - NGAP_PEER_IP=192.168.30.132
            - SST=222
            - SD=123
            - IGNORE_STREAM_IDS=true
            # UE Config Parameters
            - NUMBER_OF_UE=2
            - IMSI=208950000000032
            - KEY=0C0A34601D4F07677303652C0462535B
            - OP=63bfa50ee6523365ff14c1f45f88737d
            - OP_TYPE=OPC
            - AMF_VALUE=8000
            - IMEI=356938035643803
            - IMEI_SV=0035609204079514
            - GNB_IP_ADDRESS=192.168.30.141
            - PDU_TYPE=IPv4
            - APN=default
            - SST_0=222
            - SD_0=123
            - SST_C=222
            - SD_C=123
            - SST_D=222
            - SD_D=123
        networks:
            public_net3:
                ipv4_address: 192.168.30.141
            public_net_access3:
                ipv4_address: 192.168.32.141
        healthcheck:
            test: /bin/bash -c "ifconfig uesimtun0"
            interval: 10s
            timeout: 5s
            retries: 5
networks:
    public_net3:
        external:
            name: demo-oai-public-net3
    public_net_access3:
        external:
            name: oai-public-access3

問題の発見: マルチコアネットワークポートが占有されるかどうか

異なるコア ネットワークは異なるネットワーク セグメントを使用しますが、ネットワーク要素によって使用されるポートは相互に影響しますか?


Linux ポートは再利用可能

0504 UPF 問題解決ログ

1. 2 つのコア ネットワーク関連のテストを開始します。

2 つのコア ネットワークのみを起動し、正常に起動するだけです。
ここに画像の説明を挿入

2 つのコア ネットワークが UERANSIM に接続されていない場合、upf は 30 分後でも正常な状態になります。UERANSIM
ここに画像の説明を挿入
へのアクセス:

ueransim のアクセスに失敗しました:
ここに画像の説明を挿入
ueransim3 のアクセスに成功しました:
ここに画像の説明を挿入
ueransim がアクセスしたコア ネットワーク UPF がアクセス中に異常になったことがわかりました:
ここに画像の説明を挿入
および upf3 は正常でした:
ここに画像の説明を挿入
したがって、UERANSIM が接続されているときに問題が発生しました。UERANSIM が接続されていない場合は、両方とも異常な問題は発生しませんUPF付き。

70 コア ネットワークを再起動します。
再起動後は正常です。
ここに画像の説明を挿入
接続されている ueransim には問題ありません。
ここに画像の説明を挿入

ueransim を再度起動しますが、アクセスできません。問題は前と同じです。
ここに画像の説明を挿入

ここに画像の説明を挿入
70 コア ネットワークの UPF も異常になっています。
ここに画像の説明を挿入

この ueransim が開始されると、以前に開始されていた ueransim3 も切断されます。
ここに画像の説明を挿入
時間の観点から見ると、新しく開始された ueransim が接続されたばかりで、前の ueransim のセルが信号を失ったと言えます。

2 つのコア ネットワークの起動時間が長いと不健全になります

ここに画像の説明を挿入

2. 30コアネットワークと40コアネットワークを開始します

最初は健康:
ここに画像の説明を挿入
2 時間後には不健康:
ここに画像の説明を挿入

3. 3 つのコア ネットワーク関連のテストを開始します。

最初に 2 つのコア ネットワークを開始しましたが、以前と同様に問題ありませんでした

3 番目のコア ネットワークを開始します。
開始の順序は次のとおりです。
開始後、30 コア ネットワークの UPF がすぐに異常になります。
ここに画像の説明を挿入
しばらくすると、40 コア ネットワークも異常になります。
ここに画像の説明を挿入
概要: 現在のコア ネットワークは非常に不適格です。はい、 2 つのコア ネットワークを同時に起動すると 2 時間後に upf が異常になり、ueransim に接続すると異常になり、3 つのコア ネットワークを同時に起動するとすぐに異常になります。コアネットワーク構成と内部動作原理についてはさらなる研究が必要です

0511 研究

ここに画像の説明を挿入

正常に解決されました

その理由は、仮想マシンのメモリ割り当てが小さすぎ、4G のメモリしか割り当てられておらず、3 つのコア ネットワークを実行するには十分ではないためです。1 つのコア ネットワークの適切な割り当ては 4G です。

おすすめ

転載: blog.csdn.net/qq_41224270/article/details/129855075