项目介绍
一、zebra概述
- 如图所示,电信运营商的用户通过连接到互联网中的各种网络设备访问一个网站时,其访问信息会通过基站在网络中传递,基站可以收集所有用户的访问日志数据
- zebra是对电信运营商收集的用户上网数据进行分析的一个应用程序。通过分析得到的结果可以展现不同小区的上网详情
- 注:zebra本意为斑马,命名类似hadoop的方式,并无特殊含义
二、整体分析
- 该日志中的每一条数据都包含了77个字段,字段说明如下:
序号 |
字段名 |
类型 |
长度 |
说明 |
0 |
reporttime |
string |
14 |
从文件名截取获取,动态填上 |
1 |
Length |
unsigned int |
2 |
用于指示整个XDR所占用字节数 |
2 |
City |
byte |
2 |
城市区号,如010代表北京 |
3 |
Interface |
unsigned int |
1 |
接口类型,16进制编码 1. Uu 2. X2 3. UE_MR 4. Cell_MR 5. S1-MME 6. S6a 7. S11 8. S10 9. SGs 10. S5/S8 11. S1-U 12. Gn 13~20 预留 21. IDC出口 22.省网出口 23.省网网间出口 24.骨干网网间出口 |
4 |
xDR ID |
unsigned int |
16 |
DPI设备内唯一的xDR编号,16进制编码。一个会话生成一个xDR ID。 S1-U接口中,一个会话在同一个小区中的传输过程生成一个xDR ID,如该会话切换到新的小区,则生成新的XDR ID及会话记录。 对于超长会话设立时间阈值,超过阈值则该条记录结束,重新生成另一条会话记录并生成新的XDR ID,阈值默认为5分钟。 |
5 |
RAT |
unsigned int |
1 |
RAT类型,16进制编码 1. UTRAN 2. GERAN 3. WLAN 4. GAN 5. HSPA Evolution 6. EUTRAN |
6 |
IMSI |
byte |
8 |
用户IMSI(TBCD编码),通过Gn/S11接口信令获取 |
7 |
IMEI |
byte |
8 |
终端IMEI(TBCD编码),通过Gn/S11接口信令获取 |
8 |
MSISDN |
byte |
16 |
用户号码(TBCD编码),通过Gn/S11接口信令获取 |
9 |
Machine IP Add type |
Unsigned int |
1 |
设备IP地址类型, 0x01:IPv4 0x02:IPv6 |
10 |
SGW/GGSN IP Add |
byte |
4(16) |
对于Gn口,填写GGSN的用户面IP地址;对于S1-U口,填写SGW的用户面IP地址 Ipv4:4字节; Ipv6:16字节。 |
11 |
eNB/SGSN IP Add |
byte |
4(16) |
对于Gn口,填写SGSN的用户面IP地址;对于S1-U口,填写eNB用户面IP地址: Ipv4:4字节; Ipv6:16字节 |
12 |
SGW/GGSN Port |
byte |
2 |
对于Gn口,填写GGSN的端口;对于S1-U口,填写SGW端口 |
13 |
eNB/SGSN Port |
byte |
2 |
对于Gn口,填写SGSN的端口;对于S1-U口,填写eNB端口 |
14 |
eNB/SGSN GTP-TEID |
byte |
4 |
对于Gn口,填写该业务对应承载的SGSN侧GTP-TEID;对于S1-U口,填写该业务对应承载的eNB侧GTP-TEID |
15 |
SGW/GGSN GTP-TEID |
unsigned byte |
4 |
对于Gn口,填写该业务对应承载的GGSN侧GTP-TEID;对于S1-U口,填写该业务对应承载的SGW侧GTP-TEID |
16 |
TAC |
byte |
2 |
TAC |
17 |
Cell ID |
Byte |
4 |
UE所在小区的ECI |
18 |
APN |
String |
32 |
APN |
19 |
App Type Code |
byte |
1 |
业务类型编码,参见附录D XDR类型编码定义 |
20 |
Procedure Start Time |
dateTime |
8 |
TCP/UDP流开始时间,UTC时间),从1970/1/1 00:00:00开始到当前的毫秒数。 |
21 |
Procedure End Time |
dateTime |
8 |
TCP/UDP流结束时间,UTC时间),从1970/1/1 00:00:00开始到当前的毫秒数。 |
22 |
Protocol Type |
byte |
2 |
协议类型 集团规定的协议识别分类,参加《XXXX数据流量DPI识别能力规范》中的“DPI设备协议识别能力要求” |
23 |
App Type |
byte |
2 |
应用大类 集团规定的18种应用大类,参见《XXXX数据流量DPI识别能力规范》 |
24 |
App Sub-type |
byte |
2 |
应用小类 根据集团定义的识别规则识别出来的小类, 参见《XXXX数据流量DPI识别能力规范》。 集团未定义的各厂家根据自己的DPI进行识别 |
25 |
App Content |
byte |
1 |
应用小类的内容细分,如微信文本、微信语音等。 0.心跳,1.文本,2.图片,3.音频,4.视频,5.其他文件 如无则填全F。 |
26 |
App Status |
byte |
1 |
标识业务是否成功 0:业务成功 1:业务失败 2:业务未识别 |
27 |
USER_IPv4 |
byte |
4 |
终端用户的IPv4地址,如无则填全F |
28 |
USER_IPv6 |
byte |
16 |
终端用户的IPv6地址,如无则填全F |
29 |
User Port |
byte |
2 |
用户的四层端口号 |
30 |
L4 protocal |
byte |
1 |
L4协议类型: 0:TCP 1:UDP |
31 |
App Server IP_IPv4 |
byte |
4 |
访问服务器的IPv4地址,如无则填全F |
32 |
App Server IP_IPv6 |
byte |
16 |
访问服务器的IPv6地址,如无则填全F |
33 |
App Server Port |
byte |
2 |
访问的服务器的端口 |
34 |
UL Data |
byte |
4 |
上行流量 单位:字节 对于场景一,定义为从内层IP包头开始计算的数据包大小总和; 对于其他场景,定义为从链路层封装开始计算的数据包大小总和。 |
35 |
DL Data |
byte |
4 |
下行流量 单位:字节
对于场景一,定义为从内层IP包头开始计算的数据包大小总和; 对于其他场景,定义为从链路层封装开始计算的数据包大小总和。 |
36 |
UL IP Packet |
byte |
4 |
上行IP包数 内层IP包的个数 |
37 |
DL IP Packet |
byte |
4 |
下行IP包数 内层IP包的个数 |
38 |
上行TCP乱序报文数 |
byte |
4 |
上行TCP乱序报文数 L4协议非TCP传输时,此字段填0 |
39 |
下行TCP乱序报文数 |
byte |
4 |
下行TCP乱序报文数 非TCP传输时,此字段填0 |
40 |
上行TCP重传报文数 |
byte |
4 |
上行TCP重传报文数 非TCP传输时,此字段填0 |