`
xumingyong
  • 浏览: 183478 次
  • 性别: Icon_minigender_1
  • 来自: 成都
社区版块
存档分类
最新评论

MMS related Protocol structure & frame format

阅读更多

Get from http://wiki.wireshark.org/IsoProtocolFamily

 

 

 

 

 

Summary

 

 

Packet-based vs. stream-based:

 

COTP transports packets of data from one user to the other, so the receiver will get exactly the same data boundaries as the sender transmitted.

 

TCP transports a continuous stream of data to the receiver, so the protocol on top of TCP often has to add such boundaries itself (see the TPKT protocol for such a protocol).

 

TSAPs vs. ports:

 

To multiplex several conversations between two hosts, COTP uses TSAP's which are variable length binary blobs (often a meaningful string is used).

 

These TSAP's are matched at connection establishing phase, and replaced by the 2 byte (destination/source) references at data transfer.

 

TCP uses ports for this. One notable difference is that TSAP's are singletons - if a TSAP is used for a connection it cannot be used by another. XXX - Needs clarification. A single TSAP (Transport Service Access Point) may be used by multiple connections.

 

Tranport Layer:

 

Protocol                     Note

------------                   ---------------------------------------------------------------------------------------

COTP                          

TPKT                           = TPKT works on TCP port 102 to emulate COTP

TCP

----------------------------------------------------------------------------------------------------------------

 

 

1.  TPKT = RFC 1006

 

It start with \x03\X00.

 

TPKT is used to "emulate" ISO transport services COTP on top of TCP. The two major points missing in TCP (compared to COTP) are the TSAP addressing and the detection of packet boundaries on the receiving host.


Include Packet Header and TPDU, The format of the TPDU is defined in [ISO8073].  

Note that only TPDUs formatted for transport class 0 [TP0] are exchanged (different transport classes may use slightly different formats).

 

 

 

 

        0                   1                   2                   3
        0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
       +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
       |      vrsn     |    reserved   |          packet length        |
       +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
 

 

Header:version = always 3, 1 byte

 

TPDU = max. 65531. Based on the size of the data transfer (DT) TPDU, this permits a maximum TSDU size of 65524 octets.

 

 

2.  COTP = ISO 8073 / RFC983

 

Connection-oriented transport protocol

 

To support expedited data, a non-standard TPDU, for expedited data is permitted.  The format used for the ED TPDU is nearly identical to the format for the normal data, DT, TPDU.  The only difference is that the value used for the TPDU's code is ED, not DT:

 

       0                   1                   2                   3
       0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
      +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
      | header length | code  |credit |TPDU-NR and EOT|   user data   |
      +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
      |      ...      |      ...      |      ...      |      ...      |
      |      ...      |      ...      |      ...      |      ...      |
      |      ...      |      ...      |      ...      |      ...      |
      +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 

 

 

 

 

TPDU Code

-------------------
CR = 0xE0, Connection Request

CC = 0xD0, Connection Confirm
DR = 0x80, Disconnection Request
DT = 0xF0, Data Transfer
ED = 0x70, Expected Data transfer

 

After the credit field (which is always ZERO on output and ignored on input), there is one additional field prior to the user data.

     

TPDU-NR and EOT = 8 bits

 Bit 7 (the high-order bit, bit mask 1000 0000) indicates the end of a TSDU.  All other bits should be ZERO on output and ignored on input.

 

  

The format of a CR or CC TPDU is:

       0                   1                   2                   3  
       0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
      +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
      | header length | code  | credit|     destination reference     |
      +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
      |       source reference        | class |options| variable data |
      +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
      |    ...        |      ...      |      ...      |      ...      |
      |    ...        |      ...      |      ...      |      ...      |
      |    ...        |   user data   |      ...      |      ...      |
      |    ...        |      ...      |      ...      |      ...      |
      +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

 

 

 

 

The format of a DR TPDU is:

       0                   1                   2                   3  
       0 1  2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
      +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
      | header length | code  | credit|     destination reference     |
      +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
      |       source reference        |     reason    | variable data |
      +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
      |    ...        |      ...      |      ...      |      ...      |
      |    ...        |      ...      |      ...      |      ...      |
      |      ...      |   user data   |      ...      |      ...      |
      |    ...        |      ...      |      ...      |      ...      |
      +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

 

The format of a DT or ED TPDU is:

       0                   1                   2                   3  
       0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
      +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-++-+-+-+
      | header length | code  | credit|         TPDU-NR and EOT       |
      +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
      |   user data   |      ...      |      ...      |      ...      |
      |    ...        |      ...      |      ...      |      ...      |
      |    ...        |      ...      |      ...      |      ...      |
      +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

 


 

3.  ISO 8327-1

ISO Session Protocol

 

 

 

 

 

Format

-----------------------------------------------

SPDU Type  --  1 byte

Length  --  1 byte

Connect Accept Item  --  8 bytes

Session Requirement  --  4 bytes

Calling Session Selector  --  4 bytes

Called Session Selector  --  4 bytes

Session User Data  --  ...

 

 

ISO Session Protocol (ISO-SP) Messages:

Functional unit

SPDU code

SPDU name

Kernel

CN
OA
CDO
AC
RF
FN
DN
AB
AA
DT
PR

CONNECT
OVERFLOW ACCEPT
CONNECT DATA OVERFLOW
ACCEPT
REFUSE
FINISH
DISCONNECT
ABORT
ABORT ACCEPT
DATA TRANSFER
PREPARE

Negotiated release

NF
GT
PT

NOT FINISHED
GIVE TOKENS
PLEASE TOKENS

Half-duplex

GT
PT

GIVE TOKENS
PLEASE TOKENS

Duplex

 

No additional associated SPDUs

Expedited data

EX

EXPEDITED DATA

Typed data

TD

TYPED DATA

Capability data exchange

CD
CDA

CAPABILITY DATA
CAPABILITY DATA ACK

Minor synchronize

MIP
MIA
GT
PT

MINOR SYNC POINT
MINOR SYNC ACK
GIVE TOKENS
PLEASE TOKENS

Symmetric synchronize

MIP
MIA

MINOR SYNC POINT
MINOR SYNC ACK

Data separation

 

No additional associated SPDUs

Major synchronize

MAP
MAA
PR
GT
PT

MAJOR SYNC POINT
MAJOR SYNC ACK
PREPARE
GIVE TOKENS
PLEASE TOKENS

Resynchronize

RS
RA
PR

RESYNCHRONIZE
RESYNCHRONIZE ACK
PREPARE

Exceptions

ER
ED

EXCEPTION REPORT
EXCEPTION DATA

Activity management

AS
AR
AI
AIA
AD
ADA
AE
AEA
PR
GT
PT
GTC
GTA

ACTIVITY START
ACTIVITY RESUME
ACTIVITY INTERRUPT
ACTIVITY INTERRUPT ACK
ACTIVITY DISCARD
ACTIVITY DISCARD ACK
ACTIVITY END
ACTIVITY END ACK
PREPARE
GIVE TOKENS
PLEASE TOKENS
GIVE TOKENS CONFIRM
GIVE TOKENS ACK

 

  


 

4.  ISO 8823

ISO Presentation Protocol, on top of ASN.1, BER.


 

Frame format

-------------------------------------------------------------------------

Mode-selector  --  3 bytes

Normal-mode-parameters

Padding  --  1 byte

Protocol-version  --  1 byte, 80 = version-1

calling-presentation-selector  --  4 bytes

called-presentation-selector  --  4 bytes

presentation-contex-definition-list  --  ??

Padding --  1 byte

Presentation- requirement  --  1 byte

User-data  --  ...

 

 

Protocol Structure - ISO-PP: OSI Presentation Layer Protocol (X.226, X.216, ISO 8823, 8822)

 

Connection Release Primitive

Token Handling Primitive

P-RELEASE request

P-RELEASE indication

P-RELEASE response

P-RELEASE confirm

P-TOKEN-GIVE request

P-TOKEN-GIVE indication

P-TOKEN-PLEASE request

P-TOKEN-PLEASE indication

P-CONTROL-GIVE request

P-CONTROL-GIVE indication


Presentation Exception Reporting Primitive

Activity Management Primitive

P-P-EXCEPTION-REPORT indication

P-U-EXCEPTION-REPORT request

P-U-EXCEPTION-REPORT indication

P-ACTIVITY-START request

P-ACTIVITY-START indication

P-ACTIVITY-RESUME request

P-ACTIVITY-RESUME indication

P-ACTIVITY-INTERRUPT request

P-ACTIVITY-INTERRUPT indication

P-ACTIVITY-NTERRUPT response

P-ACTIVITY-INTERRUPT confirm

P-ACTIVITY-DISCARD request

P-ACTIVITY-DISCARD indication

P-ACTIVITY-DISCARD response

P-ACTIVITY-DISCARD confirm

P-ACTIVITY-END request

P-ACTIVITY-END indication

P-ACTIVITY-END response

P-ACTIVITY-END confirm

Synchronization Services Primitive

P-SYNC-MINOR request

P-SYNC-MINOR indication

P-SYNC-MINOR response

P-SYNC-MINOR confirm

P-SYNC-MAJOR request

P-SYNC-MAJOR indication

P-SYNC-MAJOR response

P-SYNC-MAJOR confirm


 

 

5.  ISO 8650-1, ACSE-1

ISO Association Control Service Element (Layer 7)

 

The OSI method for establishing a call between two application programs. ACSE checks the identities and contexts of the application entities, and could apply an authentication security check.

 

ICCP uses the ISO Association Control Service element (ACSE) to establish logical associations. Multiple associations may be established from a client to multiple, different control center servers.

 

Application Association & network connection are different.

 

 

 

6.  MMS

ISO 9506-2

 

0
0
分享到:
评论

相关推荐

    mms-Format

    根据给定的信息,本文将详细解释“mms-Format”中的关键知识点,特别是与C#语言中的MMS(Multimedia Messaging Service,多媒体信息服务)编码格式有关的部分。 ### MMS发送过程概述 MMS是一种用于在移动设备之间...

    mms彩信mm1的实现方式

    在IT行业中,MMS(Multimedia Messaging Service)是一种允许用户发送和接收多媒体消息的技术,比如图片、音频和视频。MM1是MMS协议栈中的一部分,主要负责在移动网络上处理MMS消息的传输。本篇文章将深入探讨MMS...

    MMS.rar_MMS_mms协议文档

    MMS协议基于WAP(Wireless Application Protocol)框架,其架构主要包括彩信中心(MMSC)、客户端(MMS User Agent)以及网关等组件。MMS协议栈通常由HTTP/HTTPS、WSP(WAP Session Protocol)、WTP(WAP Transport...

    MMS 开发 PDF 文档

    **MMS 开发 PDF 文档概述** MMS(Multimedia Messaging Service)是一种允许移动设备之间交换多媒体消息的技术,包括文本、图像、音频和视频等。它扩展了传统的SMS(Short Message Service)服务,使得用户可以分享...

    mms 协议 文档 介绍了mms协议和所有的命令等 对于mms研究者大有用处

    此外,还更新了“MMS Pre Headers”部分,加入了新的数据,而“MMS Command Protocol State Sequences”的细节也得到了更新。 在2002年9月30日的更新中,引入了新的“IEEE 754-1985双精度值”部分,所有使用这种8...

    mms.tar.gz_MMS_mms 协议

    1. **WAP协议栈**:MMS是基于WAP(Wireless Application Protocol,无线应用协议)协议栈构建的,它包括了WSP(Wireless Session Protocol,无线会话协议)、WTP(Wireless Transaction Protocol,无线事务协议)和...

    IEC61850 MMS协议解析

    IEC61850 MMS 协议解析 IEC61850 MMS 协议是一种用于电力系统自动化领域的通用标准,旨在实现不同制造设备之间的互操作。MMS(Manufacturing Message Specification)是一种制造报文规范,用于在设备或程序之间传送...

    网络电台MMS地址大全

    MMS协议由微软开发,主要用于Windows Media Services服务器和客户端之间的通信,通过UDP(User Datagram Protocol)或TCP(Transmission Control Protocol)传输媒体数据。 #### 知识点一:MMS协议的特点 MMS协议...

    MMS分析

    根据提供的文档信息,我们可以从中提炼出与MMS相关的知识点,并结合描述中的协议层(WTP、WSP、WDP)进行详细的阐述。 ### MMS分析 #### 1. 多媒体简讯服务(MMS)简介 多媒体简讯服务(Multimedia Messaging ...

    MMS协议原理及实现

    MMS的通信主要通过MMS PDU(Protocol Data Units,协议数据单元)来完成。MMS PDU由MMS头部和消息体两部分组成。其中,MMS头部包含了PDU的特定信息,而消息体则是可选的。通常情况下,大多数通信过程中没有MMS消息体...

    MMS_load_MMS_

    MMS协议是建立在WAP(Wireless Application Protocol)协议栈上的,用于在移动网络中传递多媒体消息。它扩展了短信服务(SMS)的功能,使用户能发送更复杂的内容。MMS消息通常通过MMSC(Multimedia Messaging ...

    mms wap2.0协议

    WAP2.0(Wireless Application Protocol 2.0)则是用于在无线网络上实现互联网服务的协议栈,它提供了更高级别的安全性和性能,相比早期的WAP1.x有显著改进。本文将深入探讨MMS与WAP2.0协议在移动通信中的应用及相互...

    android4.0.4 MMS原生代码

    它包含了对MMS协议的理解,如WAP Push(Wireless Application Protocol Push)技术,用于传递MMS通知到手机。Mms类的解析方法能够将接收到的二进制数据转化为可读的MMS消息对象。 5. **SmsProvider** 虽然名为Sms...

    mms notification pdu 解析

    在WAP MMS Encapsulation Protocol 6.2节中,概述了在PDU的用户数据区应该包含的字段,下面将通过解析一个具体的PDU来深入理解每个字段的具体含义。 #### 实例分析 下面主要通过解析一个PDU来分析每个字段的含义。...

    MMS与ASN.1编码规则

    ### MMS与ASN.1编码规则 #### 引言 在电力行业的实际工作中,MMS(制造消息规范)的理解及应用一直是重要的课题。MMS作为ISO/IEC 9506标准的一部分,在非专业人士看来存在一定的理解难度,主要是因为它涉及到了...

    mms协议中英文对照版

    MMS Streaming Protocol是MMS协议的一部分,用于实时媒体流的传输。这个协议允许用户通过互联网或移动网络观看音频、视频等内容。MMS协议的工作原理类似于HTTP,但增加了对流媒体的支持和优化,适用于带宽有限的...

    华为MMS开发指南,mms开发必备

    华为MMS(Multimedia Messaging Service)开发指南是针对在华为平台上进行多媒体消息服务应用开发的专业文档,对于开发者来说,这是理解和实现MMS功能的关键参考资料。本文将深入解析华为MMS开发涉及的重要知识点,...

    MMS协议原理及实现.pdf

    在MMS通信中,主要传输的单位是MMS PDU(Protocol Data Units),由MMS头部和可选的消息体组成。MMS头部详细描述了PDU的特性信息,而消息体仅在特定情况下出现,例如在M2Send.req和M2Retrieve.conf原语中。MMS PDU...

    MMS_Ethereal软件安装包v120

    《MMS_Ethereal软件详解及其安装步骤》 MMS_Ethereal,全称为MMS Ethereal,是一款功能强大的网络分析工具,专为对网络数据包进行捕获和解析而设计。这款软件在电力系统自动化领域,特别是符合IEC61850标准的智能...

    Android4.42短信MMs源码

    5. **PduLoader**: 这个类主要负责解析和构建MMS pdu(Protocol Data Unit),它是MMS协议中的数据传输单元。 6. **ContentProvider**: Android的ContentProvider是数据共享的关键组件,Mms源码中包含的MmsProvider...

Global site tag (gtag.js) - Google Analytics