当前位置:首页 » 文件管理 » 报文头压缩

报文头压缩

发布时间: 2022-08-29 06:38:24

⑴ 高手指教一下华为路由器的路由配置命令

路由器静态路由配置命令

4.6.1 ip route

配置或删除静态路由。

[ no ] ip route ip-address

{ mask | mask-length } { interfacce-name

| gateway-address } [ preference preference-value

] [ reject | blackhole ]

【参数说明】

ip-address和mask为目的IP地址和掩码,点分十进制格式,由于要求掩码32位中‘1’必须是连续的,因此点分十进制格式的掩码可以用掩码长度mask-length来代替,掩码长度为掩码中连续‘1’的位数。

interfacce-name指定该路由的发送接口名,gateway-address为该路由的下一跳IP地址(点分十进制格式)。

preference-value为该路由的优先级别,范围0~255。

reject指明为不可达路由。

blackhole指明为黑洞路由。

【缺省情况】

系统缺省可以获取到去往与路由器相连子网的子网路由。在配置静态路由时如果不指定优先级,则缺省为60。如果没有指明reject或blackhole,则缺省为可达路由。

【命令模式】

全局配置模式

【使用指南】

配置静态路由的注意事项:

当目的IP地址和掩码均为0.0.0.0时,配置的缺省路由,即当查找路由表失败后,根据缺省路由进行包的转发。

对优先级的不同配置,可以灵活应用路由管理策略,如配置到达相同目的地的多条路由,如果指定相同优先级,则可实现负载分担;如果指定不同优先级,则可实现路由备份。

在配置静态路由时,既可指定发送接口,也可指定下一跳地址,到底采用哪种方法,需要根据实际情况而定:对于支持网络地址到链路层地址解析的接口或点到点接口,指定发送接口即可;对于NBMA接口,如封装X.25或帧中继的接口、拨号口等,支持点到多点,这时除了配置IP路由外,还需在链路层建立二次路由,即IP地址到链路层地址的映射(如dialer

map ip、x.25 map ip或frame-relay map ip等),这种情? 配置静态路由不能指定发送接口,应配置下一跳IP地址。

【举例】

配置缺省路由的下一跳为129.102.0.2。

Quidway(config)#ip route 0.0.0.0 0.0.0.0 129.102.0.2

【相关命令】

show ip route,show ip route detail,show

ip route static

4.6.2 show ip

route

显示路由表摘要信息。

show ip route

【命令模式】

特权用户模式

【使用指南】

该命令输出以列表方式显示路由表,每一行代表一条路由,内容包括:

目的地址/掩码长度

协议

优先级

度量值

下一跳

输出接口

【举例】

Quidway#show ip route

Routing Tables:

Destination/Mask Proto Pref Metric Nexthop Interface

127.0.0.0/8 Static 0 0 127.0.0.1 127.0.0.1(LO0)

127.0.0.1/32 Direct 0 0 127.0.0.1 127.0.0.1(LO0)

138.102.128.0/17 Direct 0 0 138.102.129.7 138.102.129.7(EN0)

202.38.165.0/24 Direct 0 0 202.38.165.1 202.38.165.1(SL1)

【相关命令】

ip route,show ip route detail,show ip

route static

4.6.3 show

ip route detail

显示路由表详细信息

show ip route detail

【命令模式】

特权用户模式

【使用指南】

该命令输出信息帮助用户进行路由方面的故障诊断。

【举例】

Quidway#show ip route detail

Route state description

NoAdv: do not advertiset Int: AS Interior route

Ext: AS External route Del: route to be deleted

Active: current route Retain: route retains in the routing

table

Rej: rejecting route Black: black hole route

Routing Tables:

Generate Default: no

+ = Active Route, - = Last Active, * = Both

Destinations: 4 Routes: 4

Holddown: 0 Delete: 9 Hidden: 0

**Destination: 127.0.0.0 Mask: 255.0.0.0

Protocol: *Static Preference: 0

NextHop: 127.0.0.1 Interface: 127.0.0.1(LO0)

State: $#@60;NoAdv Int Active Retain Rej$#@62;

Age: 19:31:06 Metric: 0/0

**Destination: 127.0.0.1 Mask: 255.255.255.255

Protocol: *Direct Preference: 0

NextHop: 127.0.0.1 Interface: 127.0.0.1(LO0)

State: $#@60;NoAdv Int Active Retain$#@62;

Age: 114:03:05 Metric: 0/0

Holddown路由指的是:一些distance vector 路由协议(如RIP),为了避免错误路由的扩散,提高路由不可达信息的快速准确传播,而采用的一种路由发布策略。它往往在一段时间间隔内固定地发布某条路由,而不管当前实际找回的到同一目的的路由发生了什么变化。其细节参见具体的路由协议。

在路由表统计中显示的是当前被Holddown的路由数目。有些路由由于某种原因(如接口Down)暂时不可用,但是又不希望被删除,我们把这种路由隐藏起来。以便以后能重新恢复在路由表统计中显示的是当前被隐藏的路由数目。
【相关命令】

ip route,show ip route,show ip route static

4.6.4 show

ip route static

显示静态路由表。

show ip route static

【命令模式】

特权用户模式

【使用指南】

根据该命令输出信息,可以帮助用户确认对静态路由的配置是否正确。

【举例】

Quidway#show ip route static

Static routes for family INET: (* indicates gateway(s)

in use)

1.2.3.0/24 pref 60 $#@60;Int$#@62; intf EN0

127.0.0.0/8 pref 0 $#@60;NoAdv Int Retain Rej$#@62; intf 127.0.0.1

以列表的方式显示静态路由表,每一行代表一条静态路由,从左到右依次为:

目的地址/掩码长度

优先级

$#@60;状态参数$#@62;

输出接口和下一跳

【相关命令】

ip route,show ip route,show ip route detail

路由器IP性能配置命令

4.5.1 clear ip counters

清除IP统计信息。

clear ip counters

【命令模式】

特权用户模式

【使用指南】

在某些特殊情况下,需要清除IP统计信息,重新进行统计。

【举例】

清除IP统计信息。

Quidway#clear ip counters

【相关命令】

show ip interface,show ip traffic

4.5.2 ifquelen ip

配置IP接收队列长度。

ifquelen ip queue-length

【参数说明】

queue-length为接口队列长度。

【命令模式】

全局配置模式

【使用指南】

配置IP接收队列长度,会影响系统运行效率,最好在技术支持人员的指导下进行。

【举例】

配置IP的接收队列为70。

Quidway(config)#ifquelen ip 70

【相关命令】

show ip interface

4.5.3 ifquelen arp

配置ARP接收队列长度。

ifquelen arp queue-length

【参数说明】

queue-length为接口队列长度。

【命令模式】

全局配置模式

【使用指南】

配置ARP接收队列长度,可能会影响到以太网口运行效率,最好在技术支持人员的指导下配置。

【举例】

配置ARP的接收队列长度为70。

Quidway(config)#ifquelen arp 70

【相关命令】

show ip interface

4.5.4 ip tcp header-compression

允许或禁止接口上TC 文头压缩

[ no ] ip tcp header-compression

【缺省情况】

接口上缺省为禁止TCP报文头压缩。

【命令模式】

接口配置模式

【使用指南】

在低速广域网线路上运行PPP协议时,由于TCP报文头占全部传输数据的很大比例,这时可以对TCP报文头压缩以提高数据传输效率。

【举例】

在PPP接口Serial0上允许TCP报文头压缩。

Quidway(config-if-Serial0)#ip tcp header-compression

【相关命令】

encapsulation ppp

4.5.5 show ip cache

显示IP路由缓冲。

show ip cache

【命令模式】

特权用户模式

【使用指南】

显示IP最近使用过的路由,帮助用户进行故障诊断。

【举例】

Quidway#show ip cache

Route to destination 129.102.100.141:

Destination NetMask Type Interface GateWay

129.102.100.141 255.255.255.255 direct Ethernet0

上面显示信息表示最近刚使用过的路由是到达129.102.100.141的路由。该路由是一条直接路由,输出接口为Ethernet0。
【相关命令】

ip route

4.5.6 show ip interface

显示IP接口信息。

show ip interface [ interface-type interface-number ]

【参数说明】

interface-type为接口类型。

interface-number为接口编号。

【缺省情况】

如果不指定接口,则缺省显示全部IP接口信息。

【命令模式】

特权用户模式

【使用指南】

该命令输出接口上全部与IP有关的信息,有助于故障诊断。

【举例】

Quidway#show ip interface serial 0

Interface is Serial0, Index is 2

ifFlags=8004 $#@60;NBMA,MULTICAST$#@62;

protocol is x25 dte ietf, MTU is 1500, speed is 64000 bps

input queue is 0/75/0 (current/max/drops)

output queue is 0/75/0 (current/max/drops)

0 packets input, 0 bytes, 0 multicasts

0 input packets dropped, 0 no protocols, 0 input errors

0 packets output, 0 bytes, 0 multicasts, 0 output errors

上面显示信息表示接口Serial0 编号为2;处于NBMA模式,支持组播;该接口封装的链路层协议是X.25协议,最大传输单元是1500字节,传输速率为64000bps。再以下的信息主要反映了该接口报文的收发情况,比如说接收和发送队列的最大长度、当前队列中报文数和由于队列满而丢弃报文数,接收和发送的报文数,接收和发送的组播报文数,不能识别的报文数等等。

【相关命令】

show interface

4.5.7 show ip traffic

显示IP流量统计信息。

show ip traffic

【命令模式】

特权用户模式

【使用指南】

该命令显示IP收发和拆包、组包的统计信息,有助于故障诊断。

【举例】

Quidway#show ip traffic

IP statistics:

Rcvd: 1370 total, 1349 local destination

0 format errors, 0 checksum errors

0 unknown protocol, 0 bad options

Frags: 0 fragment rcvd, 0 fragment dropped

0 reassembled, 0 timeouts

0 fragmented, 0 couldnt fragment, 0 fragment sent

Sent: 359 generated, 0 forwarded, 0 raw ip packets

0 dropped, 0 no route, 0 Compress fails

ICMP statistics:

Rcvd: 0 format errors, 0 checksum errors

0 redirects, 0 unreachable, 14 echo, 0 echo reply

0 mask requests, 0 mask replies, 0 quench

0 parameter, 0 timestamp, 0 info request

Sent: 0 redirects, 0 unreachable, 0 echo, 14 echo reply

0 mask requests, 0 mask replies, 0 quench

0 parameter problem, 0 timestamp, 0 info reply

以上显示信息包括:

IP 统计信息:

接收:接收到1664 个报文,其中1638 个报文送给上层协议,没有报文格式错,没有报文校验错,没有未知协议报文,没有报文选项错。

分片:没有收到分片,没有丢弃分片,重装成功的分片数为0,超时分片为数为0;分组成功的报文数为0,不能被分组的报文数为0,被创建发送分片数为0。

发送:产生报文470 个,被转发报文数为0,产生原始IP报文数为0,被丢弃报文数为0,无法路由的报文的报文数为0,压缩失败的报文数为0。

ICMP统计信息:

接收:接收到格式错报文数为0,校验字错报文数为0,重定向报文数为0,不可达报文数为0,echo请求报文16个, echo应答报文数为0,掩码请求报文数为0,掩码应答报文数为0,源站抑制报文数为0,参数错报文数为0,时间戳请求报文数为0,信息请求报文数为0。

发送:发送重定向报文数为0,目的站不可达报文数为0,echo请求报文数为0,echo应答报文16 个,掩码请求报文数为0,掩码应答报文数为0,源站抑制报文数为0,参数错报文数为0,时间戳请求报文数为0,信息应答报文数为0。

【相关命令】

show interface,show ip interface,clear ip counters

4.5.8 show tcp brief

显示TCP连接状态。

show tcp brief

【命令模式】

特权用户模式

【使用指南】

该命令显示全部TCP连接状态,使用户随时监控TCP连接。

【举例】

Quidway#show tcp brief

LocalAddress LocalPort ForeignAddress ForeignPort State

129.102.100.142 23 129.102.001.092 1038 ESTABLISHED

000.000.000.000 23 000.000.000.000 0 LISTEN

以上显示信息表示:一个TCP连接已经建立,该TCP连接的本地IP地址为129.102.100.142,本地端口号为23,远地IP地址为129.102.1.92,远地端口号为1038,另外本地有一个对23号端口监听的服务器。
【相关命令】

show client

4.5.9 tcp finwait-time

配置TCP finwait定时器。

tcp finwait-time time-value

【参数说明】

time-value为TCP finwait定时器值,单位秒,范围76~3600。

【缺省情况】

TCP finwait定时器缺省为675秒。

【命令模式】

全局配置模式

【使用指南】

当TCP的连接状态由FIN_WATI_1变为FIN_WAIT_2时启动finwait定时器。若finwait定时器超时前仍未收到FIN报文,则TCP连接被终止。

对该参数的配置最好在技术支持人员的指导下进行。

【举例】

配置TCP finwait定时器的值为675秒。

Quidway(config)#tcp finwait-time 675

【相关命令】

tcp synwait-time,tcp window-size

4.5.10 tcp synwait-time

配置TCP synwait定时器。

tcp synwait-time time-value

【参数说明】

time-value为TCP synwait 定时器值,单位秒,范围2~600。

【缺省情况】

TCP synwait定时器缺省值为75秒。

【命令模式】

全局配置模式

【使用指南】

当发送syn报文时,TCP启动synwait定时器,若synwait超时前未收到回应报文,则TCP连接将被终止。

对该参数的配置最好在技术支持人员的指导下进行。

【举例】

配置TCP synwait定时器为75秒。

Quidway(config)#tcp synwait-time 75

【相关命令】

tcp finwait-time,tcp window-size

4.5.11 tcp window-size

配置面向连接Socket的收发缓冲区大小。

tcp window-size window-size

【参数说明】

window-size为面向连接Socket的收发缓冲区大小,单位K字节,范围1~32。

【缺省情况】

面向连接Socket的收发缓冲区大小缺省为4K字节。

【命令模式】

全局配置模式

【使用指南】

对该参数的配置最好在技术支持人员的指导下进行。

【举例】

配置面向连接Socket的收发缓冲区大小为4K字节。

Quidway(config)#tcp window-size 4

【相关命令】

tcp finwait-time,tcp synwait-time

【end】

⑵ 启用IP文件头压缩是什么意思

网络速度本身是没法提高的,运营商给你多少就是多少,所谓提高,也就是在传输过程中,把IP报文中的一些不常用/无用控制信息给压缩掉

⑶ 计算机网络,请问字节流和报文流的区别是什么

字节流是由字节组成的,
字节流是最基本的,所有的InputStrem和OutputStream的子类都是,主要用在处理二进制数据,它是按字节来处理的

字符流和字节流都是什么
流就是stream. 一个连续的字节队列。

流是程序输入或输出的一个连续的字节序列,设备(例如鼠标,键盘,磁盘,屏幕和打印机)的输入和输出都是用流来处理的。在C语言中,所有的流均以文件的形式出现---不一定是物理磁盘文件,还可以是对应与某个输入/输出源的逻辑文件

流(streams)在I/O系统中是一种I/O机制和功能,或者称为streams子系统。它本身并不是一个物理设备的概念。
引入流的目的:
传统的字符设备驱动程序框架有许多缺点,这表现在:
。内核与字符设备驱动程序间接口的抽象层次太高
。内核没有为字符设备提供可靠的缓冲区分配和管理功能
。许多系统对字符设备的界面是把数据看成是FIFO(先进先出)的字节流,因此没有识别消息边界,区分普通设备和控制信息,以及判定不同消息优先级的能力,也没有字节流流量控制
。在网络数据传输设备中这些问题更突出。网络中数据传输是基于消息或数据分组的。
流的概念:
用通讯中的术语来说,流是全双工的处理过程,它是内核中驱动程序和用户进程之间的数据传输通道。
从流的构造上来说,它由一个流头,一个流驱动程序尾,以及其间的零个或若干个可选模块构成 。流头是一个用户级接口,它允许用户应用程序通过系统调用接口来访问流。驱动程序尾与底层设备通信。在流的中间的模块是处理数据的。

字节流与字符流主要的区别是他们的的处理对象

字节流是由字节组成的,字符流是由字符组成的. java里字符由两个字节组成.

字节流是最基本的,所有的InputStrem和OutputStream的子类都是,主要用在处理二进制数据,它是按字节来处理的
但实际中很多的数据是文本,又提出了字符流的概念,它是按虚拟机的encode来处理,也就是要进行字符集的转化。在从字节流转化为字符流时,实际上就是byte[]转化为String时,
public String(byte bytes[], String charsetName)
有一个关键的参数字符集编码,通常我们都省略了,那系统就用操作系统默认的lang

流式传输主要指将整个音频和视频及三维媒体等多媒体文件经过特定的压缩方式解析成一个个压缩包,由视频服务器向用户计算机顺序或实时传送。在采用流式传输方式的系统中,用户不必像采用下载方式那样等到整个文件全部下载完毕,而是只需经过几秒或几十秒的启动延时即可在用户的计算机上利用解压设备对压缩的A/V、3D等多媒体文件解压后进行播放和观看。此时多媒体文件的剩余部分将在后台的服务器内继续下载。

报文是网络中交换与传输的数据单元。报文包含了将要发送的完整的数据信息,其长短很不一致。(可分为自由报文和数字报文)
报文也是网络传输的单位,传输过程中会不断的封装成分组、包、帧来传输,封装的方式就是添加一些信息段,那些就是报文头
以一定格式组织起来的数据.
比如里面有报文类型, 报文版本, 报文长度, 报文实体等等信息.
完全与系统定义, 或自定义的数据结构同义.
来几个 TCP/IP 头结构感受一下:
typedef struct _iphdr //定义IP首部
{
unsigned char h_lenver; //4位首部长度+4位IP版本号
unsigned char tos; //8位服务类型TOS
unsigned short total_len; //16位总长度(字节)
unsigned short ident; //16位标识
unsigned short frag_and_flags; //3位标志位
unsigned char ttl; //8位生存时间 TTL
unsigned char proto; //8位协议 (TCP, UDP 或其他)
unsigned short checksum; //16位IP首部校验和
unsigned int sourceIP; //32位源IP地址
unsigned int destIP; //32位目的IP地址
}IP_HEADER;
typedef struct psd_hdr //定义TCP伪首部
{
unsigned long saddr; //源地址
unsigned long daddr; //目的地址
char mbz;
char ptcl; //协议类型
unsigned short tcpl; //TCP长度
}PSD_HEADER;
typedef struct _tcphdr //定义TCP首部
{
USHORT th_sport; //16位源端口
USHORT th_dport; //16位目的端口
unsigned int th_seq; //32位序列号
unsigned int th_ack; //32位确认号
unsigned char th_lenres; //4位首部长度/6位保留字
unsigned char th_flag; //6位标志位
USHORT th_win; //16位窗口大小
USHORT th_sum; //16位校验和
USHORT th_urp; //16位紧急数据偏移量
}TCP_HEADER;
// 这里只是数据头, 但头最能让你看清报文是啥东东
// IP_HEADER::total_len 指明了实体数据(也就是真正的消息内容)长度.
// 其他以此类推

⑷ UDP报文头和TCP报文头,最小长度是多少

UDP报文的头部只有8个字节,相对TCP的20字节。

报头长度字段:占4比特。是头部占32比特的数字,包括可选项。普通IP数据报(没有任何选项),该字段的值是5,即160比特=20字节。此字段最大值为60字节。TCP报文头必须大于等于20byte,最大为60byte意味着Option选项部分取值范围0-40bits

报文就是网络传输的单位,传输过程中会不断的封装成分组、包、帧来传输,封装的方式就是添加一些信息段,那些就是报文头。

(4)报文头压缩扩展阅读:

特点

(1)电路利用率高。由于许多报文可以分时共享两个节点之间的通道,所以对于同样的通信量来说,对电路的传输能力要求较低。

(2)在电路交换网络上,当通信量变很大时,就不能接受新的呼叫。而在报文交换网络上,通信量大时仍然可以接收报文不过传送延迟会增加。

(3)报文交换系可以把一个报文发送到多个目的地,而电路交换网络很难做到这一点。

(4)报文交换网络可以进行速度和代码的转换。

⑸ javaweb里get请求头报文信息含义是什么啊

常见的HTTP报文头属性

  • Accpet

  • 告诉服务端,客户端接收什么类型的响应

  • Referer

  • 表示这是请求是从哪个URL进来的,比如想在网上购物,但是不知道选择哪家电商平台,你就去问度娘,说哪家电商的东西便宜啊,然后一堆东西弹出在你面前,第一给就是某宝,当你从这里进入某宝的时候,这个请求报文的Referer就是www..com

  • Cache-Control

  • 缓存进行控制,如一个请求希望响应的内容在客户端缓存一年,或不被缓可以通过这个报文头设置

  • Accept-Encoding

  • 例如:Accept-Encoding:gzip, deflate(这两种都是压缩格式)

  • 这个属性是用来告诉服务器能接受什么编码格式,包括字符编码,压缩形式(一般都是压缩形式)

  • Host

  • 指定要请求的资源所在的主机和端口

  • User-Agent 作用:告诉服务器,客户端使用的操作系统、浏览器版本和名称

⑹ Ipv6属性常规选项中的5个参数是

IPv6的地址长度为128位,是IPv4地址长度的4倍。于是IPv4点分十进制格式不再适用,采用十六进制表示。IPv6有3种表示方法。

一、冒分十六进制表示法
格式为X:X:X:X:X:X:X:X,其中每个X表示地址中的16b,以十六进制表示,例如:
ABCD:EF01:2345:6789:ABCD:EF01:2345:6789
这种表示法中,每个X的前导0是可以省略的,例如:
2001:0DB8:0000:0023:0008:0800:200C:417A→ 2001:DB8:0:23:8:800:200C:417A

二、0位压缩表示法
在某些情况下,一个IPv6地址中间可能包含很长的一段0,可以把连续的一段0压缩为“::”。但为保证地址解析的唯一性,地址中”::”只能出现一次,例如:
FF01:0:0:0:0:0:0:1101 → FF01::1101
0:0:0:0:0:0:0:1 → ::1
0:0:0:0:0:0:0:0 → ::

三、内嵌IPv4地址表示法
为了实现IPv4-IPv6互通,IPv4地址会嵌入IPv6地址中,此时地址常表示为:X:X:X:X:X:X:d.d.d.d,前96b采用冒分十六进制表示,而最后32b地址则使用IPv4的点分十进制表示,例如::192.168.0.1与::FFFF:192.168.0.1就是两个典型的例子,注意在前96b中,压缩0位的方法依旧适用[11]。

报文内容

IPv6报文的整体结构分为IPv6报头、扩展报头和上层协议数据3部分。IPv6报头是必选报文头部,长度固定为40B,包含该报文的基本信息;扩展报头是可选报头,可能存在0个、1个或多个,IPv6协议通过扩展报头实现各种丰富的功能;上层协议数据是该IPv6报文携带的上层数据,可能是ICMPv6报文、TCP报文、UDP报文或其他可能报文。

IPv6的报文头部结构如图:

H3C IPv6网解决方案

五、IPv6具有更高的安全性。在使用IPv6网络中用户可以对网络层的数据进行加密并对IP报文进行校验,在IPV6中的加密与鉴别选项提供了分组的保密性与完整性。极大的增强了网络的安全性。

六、允许扩充。如果新的技术或应用需要时,IPV6允许协议进行扩充。

七、更好的头部格式。IPV6使用新的头部格式,其选项与基本头部分开,如果需要,可将选项插入到基本头部与上层数据之间。这就简化和加速了路由选择过程,因为大多数的选项不需要由路由选择。

八、新的选项。IPV6有一些新的选项来实现附加的功能[22]。

安全性能

编辑

原来的Internet安全机制只建立于应用程序级,如E-mail加密、SNMPv2网络管理安全、接入安全(HTTP、SSL)等,无法从IP层来保证Internet的安全。IP级的安全保证分组的鉴权和私密特性,其具体实现主要由IP的AH(Authenticwww.scxhdzs.com#ation Header)和ESP(Encapsulating Security Payload)标记来实现。IPv6实现了IP级的安全。

一、安全协议套:是发送者和接收者的双向约定,只由目标地址和安全参数索引(SPI)确定。

二、包头认证:提供了数据完整性和分组的鉴权。

三、安全包头封装:ESP根据用户的不同需求,支持IP分组的私密和数据完整性。 它既可用于传送层(如TCP、UDP、ICMP)的加密, 称传送层模式ESP,同时又可用于整个分组的加密,称隧道模式ESP。

四、ESPDES-CBC方式:ESP处理一般必须执行DES-CBC加密算法,数据分为以64位为单位的块进行处理,解密逻辑的输入是现行数据和先前加密数据块的与或。

五、鉴权加私密方式:根据不同的业务模式,两种IP安全机制可以按一定的顺序结合,从而达到分组传送加密的目的。按顺序的不同,分为鉴权之前加密和加密之前鉴权[23]。

⑺ 8583中的二进制数据怎么写入

现在我们有ISO8583报文如下(十六进制表示法):

60 00 03 00 00 60 31 00 31 07 30 02 00 30 20 04 C0 20 C0 98 11 00 00 00 00 00 00 00 00 01 00 03 49 02 10 00 12 30 62 25 82 21 12 99 63 01 5D 15 11 10 10 00 00 35 36 38 35 32 33 31 34 32 33 35 32 31 34 35 32 36 38 35 39 32 33 36 31 35 36 C6 24 83 4D 36 7E 9E 9E 20 00 00 00 00 00 00 00 00 13 22 00 00 08 00 05 00 36 37 41 32 32 39 39 41

第一步

POS终端上送POS中心的消息报文结构包括TPDU、报文头和应用数据三部分:

——TPDU说明:长度为10个字节,压缩时用BCD码表示为5个字节长度的数值。
——报文头说明:总长度为12字节,压缩时用BCD码表示为6个字节长度的数值。

——应用数据说明:一般长度都是4个字节,压缩时用BCD码表示为2个字节的长度的数值。

所以上述报文中前五个字节为TPDU,即60 00 03 00 00

报文头占用六个字节,即 60 31 00 31 07 30

应用数据占用2个字节,即 02 00 也就是"0200"

——0200金融类请求消息:

● POS查询请求。

● POS消费请求。

● POS消费撤销请求。

● POS预授权完成(请求)请求。

● POS预授权完成撤销请求。

● 电子现金脱机消费请求。

● 分期付款消费请求。

● 分期付款消费撤销请求。

● 基于PBOC电子钱包/电子现金的IC圈存类交易请求。

● 磁条卡现金充值请求。

第二步

分析位图:

首先取第十四个字节,即0x30 ,转化为二进制为0011 0000,在该字节的第一位为0(从左往右)表示当前报文中只需包括64个域,也就是从当前字节开始连续8个字节为位图(包括当前字节),如要包括128个域,该位为1。

现在进入关键的位图分析,现在我们取到了表示位图的8个字节即30 20 04 C0 20 C0 98 11,转为二进制为

00110000 00100000 00000100 11000000 00100000 11000000 10011000 00010001

位图中为1的位置即代表相应的域,在上面的二进制位中从左往右有第3位、第4位、第11位、第22位、第25位、第26位、第35位、第41位、第42位、第49位、第52位、第53位、第60位、第64位。

下面开始这些域中的数据,首先分析3域,3域为交易处理码,压缩成BCD码后占定长3个字节,我们从位图所占的8个字节后开始连续取3个字节,即 00 00 00,解压后即为“000000”,具体代表含义这里就不叙述了。

4域为交易金额,压缩成BCD码后占定长6个字节,同理取6个字节,即00 00 00 00 00 01,也就是金额0.01元,具体转换参考银联规范。

11域为受卡方系统跟踪号(流水号),压缩成BCD码占定长3个字节,同理取3个字节,即00 03 49,即000349。

22域为服务点输入方式码,压缩成BCD码占定长2个字节,同理取2个字节,即02 10,由于22域本身只占3个字节,压缩时左靠,右补0,所以转换为“021”,具体含义不再叙述。

25域为服务点条件码,压缩成BCD码占定长1个字节,同理取1个字节,即00,转换为“00”,“00”代表正常提交。

26域为服务点PIN获取码,压缩成BCD码占定长1个字节,同理取1个字节,即12,转换为“12”,表示服务点设备所允许输入的个人密码明文的最大长度为12。

解下来的35域由于不是定长,所以处理方法不同,先取一个字节,即30,转换为“30”,表示第二磁道的数据占用30个字节,取连续15个字节即62 25 82 21 12 99 63 01 5D 15 11 10 10 00 00,这里不对这串数据进行说明了。

41域为受卡机终端标识码,占8个字节的定长域,取35 36 38 35 32 33 31 34。

42域为受卡方标识码,占15个字节的定长域,取32 33 35 32 31 34 35 32 36 38 35 39 32 33 36。

49域为交易货币代码,占3个字节的定长域,取31 35 36。

52域为个人标识码数据,占8个字节的定长二进制数域,取C6 24 83 4D 36 7E 9E 9E。

53域为安全控制信息,压缩成BCD码占8个字节定长域,取20 00 00 00 00 00 00 00。

60域为自定义域,为不定长域,先取长度(压缩成BCD码占两个字节),即00 13,转换为13即占60域占13个字节,压缩成BCD码占7个字节,取22 00 00 08 00 05 00。

64域为报文鉴别码,占定长8个字节,取最后八个字节36 37 41 32 32 39 39 41。

热点内容
安卓版浏览器的收藏在哪里 发布:2024-10-13 03:45:13 浏览:650
数据库分量 发布:2024-10-13 03:36:52 浏览:189
安卓系统变为什么系统 发布:2024-10-13 03:24:52 浏览:847
华为4x重置密码是多少 发布:2024-10-13 03:08:31 浏览:279
荣放安卓屏的蓝牙如何关闭 发布:2024-10-13 02:50:49 浏览:57
c语言学完 发布:2024-10-13 02:28:52 浏览:611
酒商城源码 发布:2024-10-13 01:58:54 浏览:138
我的世界服务器圈地设计 发布:2024-10-13 01:46:16 浏览:220
配置升级到什么型号好 发布:2024-10-13 01:38:35 浏览:196
面试java基础 发布:2024-10-13 01:38:34 浏览:893