zoukankan      html  css  js  c++  java
  • 报文

    报文(message)是网络中交换与传输的数据单元,即站点一次性要发送的数据块。报文包含了

    将要发送的完整的数据信息,其长短很不一致,长度不限且可变。(可分为自由报文和数字报文)
    报文也是网络传输的单位,传输过程中会不断的封装成分组、包、帧来传输,封装的方式就是添加

    一些信息段,那些就是报文头以一定格式组织起来的数据。
    比如里面有报文类型,报文版本,报文长度,报文实体等等信息。
    完全与系统定义,或自定义的数据结构同义。
    来几个 TCP/IP 头结构感受一下:IP报文头部信息  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 指明了实体数据(也就是真正的消息内容)长度.
    // 其他以此类推
    编辑本段认证方式报文的认证方式有传统加密方式的认证、有报文加密的报文认证、使用密钥的报

    文认证码方式、使用单向散列函数的认证和数字签名认证方式

  • 相关阅读:
    Python前戏
    Python概述
    博科Brocade 300光纤交换机配置zone教程
    pygame---制作一只会转弯的小乌龟
    UNIX故障--sun m4000服务器故障硬盘更换案例
    redhat系统升级openssh到7.5
    SAN---第二网的概念
    博科交换机常用操作命令
    博科brocade光纤交换机alias-zone的划分-->实操案例
    python常用内置函数
  • 原文地址:https://www.cnblogs.com/javawebsoa/p/3196721.html
Copyright © 2011-2022 走看看