最近在研究核心网设计的时候,在某鱼发现有这样一款皮站在卖
https://www.bjcktech.com/index.php/Home/Product/view/id/289.html
然后就买回来研究一下,发现这个东西是8xA72+8G内存的,里面跑的是个Debian 10,有一个10G SFP 走的DPDK的网络栈
方案是也是一个信创方案, UCP4008 不过这玩意和这个皮站本身没有任何公开的技术细节文档
https://www.c114.com.cn/wireless/2935/a1233988.html
Web页面是Vue+Python写的,经过一段配置之后,发现这玩意发给核心网的数据不是标准的 NGAP ASN.1 PER 编码,核心网直接拒绝了
难道这玩意只能连他们自己家的核心网,十分神秘????
官网写的是 “基于3GPP标准的5G NR协议,支持与运营商5G宏网络之间的小区无缝切换。通过安全网关接入运营商核心网,提供安全可靠的5G网络服务。” 总不可能这个协议标准只是UE侧的吧(((
抓包最后一段写了个这个
"create Main sctp Ng link request"
直接按标准解码:
nico@nico5gs:~$ tshark -r /tmp/ng.pcap -d sctp.ppi==60,ngap -Y ngap -V
Frame 24: 332 bytes on wire (2656 bits), 332 bytes captured (2656 bits)
Encapsulation type: Linux cooked-mode capture v2 (210)
Arrival Time: May 14, 2026 12:17:24.640096000 UTC
UTC Arrival Time: May 14, 2026 12:17:24.640096000 UTC
Epoch Arrival Time: 1778761044.640096000
[Time shift for this packet: 0.000000000 seconds]
[Time delta from previous captured frame: 0.000706000 seconds]
[Time delta from previous displayed frame: 0.000000000 seconds]
[Time since reference or first frame: 112.811148000 seconds]
Frame Number: 24
Frame Length: 332 bytes (2656 bits)
Capture Length: 332 bytes (2656 bits)
[Frame is marked: False]
[Frame is ignored: False]
[Protocols in frame: sll:ethertype:ip:sctp:ngap]
Linux cooked capture v2
Protocol: IPv4 (0x0800)
Interface index: 3
Link-layer address type: Ethernet (1)
Packet type: Unicast to us (0)
Link-layer address length: 6
Source: ChangkunTech
Unused: 0000
Internet Protocol Version 4, Src: 172.16.13.11, Dst: 172.16.11.28
0100 .... = Version: 4
.... 0101 = Header Length: 20 bytes (5)
Differentiated Services Field: 0x02 (DSCP: CS0, ECN: ECT(0))
0000 00.. = Differentiated Services Codepoint: Default (0)
.... ..10 = Explicit Congestion Notification: ECN-Capable Transport codepoint '10' (2)
Total Length: 312
Identification: 0x0000 (0)
010. .... = Flags: 0x2, Don't fragment
0... .... = Reserved bit: Not set
.1.. .... = Don't fragment: Set
..0. .... = More fragments: Not set
...0 0000 0000 0000 = Fragment Offset: 0
Time to Live: 64
Protocol: SCTP (132)
Header Checksum: 0xc8f8 [validation disabled]
[Header checksum status: Unverified]
Source Address: 172.16.13.11
Destination Address: 172.16.11.28
Stream Control Transmission Protocol, Src Port: 38412 (38412), Dst Port: 38412 (38412)
Source port: 38412
Destination port: 38412
Verification tag: 0x6a1d9dfd
[Association index: disabled (enable in preferences)]
Checksum: 0x22f29206 [unverified]
[Checksum Status: Unverified]
COOKIE_ECHO chunk (Cookie length: 228 bytes)
Chunk type: COOKIE_ECHO (10)
0... .... = Bit: Stop processing of the packet
.0.. .... = Bit: Do not report
Chunk flags: 0x00
Chunk length: 232
Cookie [truncated]: 3ca8e91823ee0088d90798e8d68964d200f232b400000000000000000000000000000000fd9d1d6acb2513a00000000000000000e7704fe6cc6daf181e000a009d4467ba0200960cac100d0b00000000000000000000000000000000000000000c9601000000000080020024fc2
DATA chunk (ordered, complete segment, TSN: 0, SID: 0, SSN: 0, PPID: 60, payload length: 32 bytes)
Chunk type: DATA (0)
0... .... = Bit: Stop processing of the packet
.0.. .... = Bit: Do not report
Chunk flags: 0x03
.... 0... = I-Bit: Possibly delay SACK
.... .0.. = U-Bit: Ordered delivery
.... ..1. = B-Bit: First segment
.... ...1 = E-Bit: Last segment
Chunk length: 48
Transmission sequence number (relative): 0
Transmission sequence number (absolute): 4163484753
Stream identifier: 0x0000
Stream sequence number: 0
Payload protocol identifier: NGAP (60)
NG Application Protocol
something unknown here [unknown extension root index in choice]
[Expert Info (Warning/Undecoded): something unknown here [unknown extension root index in choice]]
[something unknown here [unknown extension root index in choice]]
[Severity level: Warning]
[Group: Undecoded]
[Malformed Packet: NGAP]
[Expert Info (Error/Malformed): Malformed Packet (Exception occurred)]
[Malformed Packet (Exception occurred)]
[Severity level: Error]
[Group: Malformed]
Frame 26: 80 bytes on wire (640 bits), 80 bytes captured (640 bits)
Encapsulation type: Linux cooked-mode capture v2 (210)
Arrival Time: May 14, 2026 12:17:24.651894000 UTC
UTC Arrival Time: May 14, 2026 12:17:24.651894000 UTC
Epoch Arrival Time: 1778761044.651894000
[Time shift for this packet: 0.000000000 seconds]
[Time delta from previous captured frame: 0.011730000 seconds]
[Time delta from previous displayed frame: 0.011798000 seconds]
[Time since reference or first frame: 112.822946000 seconds]
Frame Number: 26
Frame Length: 80 bytes (640 bits)
Capture Length: 80 bytes (640 bits)
[Frame is marked: False]
[Frame is ignored: False]
[Protocols in frame: sll:ethertype:ip:sctp:ngap:ngap]
Linux cooked capture v2
Protocol: IPv4 (0x0800)
Interface index: 3
Link-layer address type: Ethernet (1)
Packet type: Sent by us (4)
Link-layer address length: 6
Source: CloudNetwork
Unused: 0000
Internet Protocol Version 4, Src: 172.16.11.28, Dst: 172.16.13.11
0100 .... = Version: 4
.... 0101 = Header Length: 20 bytes (5)
Differentiated Services Field: 0x02 (DSCP: CS0, ECN: ECT(0))
0000 00.. = Differentiated Services Codepoint: Default (0)
.... ..10 = Explicit Congestion Notification: ECN-Capable Transport codepoint '10' (2)
Total Length: 60
Identification: 0xfc57 (64599)
010. .... = Flags: 0x2, Don't fragment
0... .... = Reserved bit: Not set
.1.. .... = Don't fragment: Set
..0. .... = More fragments: Not set
...0 0000 0000 0000 = Fragment Offset: 0
Time to Live: 64
Protocol: SCTP (132)
Header Checksum: 0xcd9c [validation disabled]
[Header checksum status: Unverified]
Source Address: 172.16.11.28
Destination Address: 172.16.13.11
Stream Control Transmission Protocol, Src Port: 38412 (38412), Dst Port: 38412 (38412)
Source port: 38412
Destination port: 38412
Verification tag: 0xa01325cb
[Association index: disabled (enable in preferences)]
Checksum: 0x58f445b3 [unverified]
[Checksum Status: Unverified]
DATA chunk (ordered, complete segment, TSN: 0, SID: 0, SSN: 0, PPID: 60, payload length: 12 bytes)
Chunk type: DATA (0)
0... .... = Bit: Stop processing of the packet
.0.. .... = Bit: Do not report
Chunk flags: 0x03
.... 0... = I-Bit: Possibly delay SACK
.... .0.. = U-Bit: Ordered delivery
.... ..1. = B-Bit: First segment
.... ...1 = E-Bit: Last segment
Chunk length: 28
Transmission sequence number (relative): 0
Transmission sequence number (absolute): 3127329949
Stream identifier: 0x0000
Stream sequence number: 0
Payload protocol identifier: NGAP (60)
NG Application Protocol (ErrorIndication)
NGAP-PDU: initiatingMessage (0)
initiatingMessage
procedureCode: id-ErrorIndication (9)
criticality: ignore (1)
value
ErrorIndication
protocolIEs: 1 item
Item 0: id-Cause
ProtocolIE-Field
id: id-Cause (15)
criticality: ignore (1)
value
Cause: protocol (3)
protocol: abstract-syntax-error-falsely-constructed-message (5)版权属于:Kiritake Kumi (Niconeiko) ,本文所引用的第三方材料版权归属为:第三方材料的所有者
本文链接:https://blog.mxpkx.com/index.php/archives/332/
除特殊标注以及**影像内容**外,均使用署名-非商业性使用-相同方式共享 4.0 国际 (CC BY-NC-SA 4.0)协议 ,影像内容请务必联系确认是否可以转载使用