zoukankan      html  css  js  c++  java
  • 报文分析2、IP头的结构

    IP头的结构
    版本(4位)
    头长度(4位)
    服务类型(8位)
    封包总长度(16位)
    封包标识(16位)
    标志(3位)
    片断偏移地址(13位)
    存活时间(8位)
    协议(8位)
    校验和(16位)
    来源IP地址(32位)
    目的IP地址(32位)
    选项(可选)
    填充(可选)
    数据
     
    1)字节和数字的存储顺序是从右到左,依次是从低位到高位,而网络存储顺序是从左到右,依次从低位到高位。
    2)版本:占第一个字节的高四位。头长度:占第一个字节的低四位。
    3)服务类型:前3位为优先字段权,现在已经被忽略。接着4位用来表示最小延迟、最大吞吐量、最高可靠性和最小费用。
    4)封包总长度:整个IP报的长度,单位为字节。
    5)存活时间:就是封包的生存时间。通常用通过的路由器的个数来衡量,比如初始值设置为32,则每通过一个路由器处理就会被减一,当这个值为0的时候就会丢掉这个包,并用ICMP消息通知源主机。
    6)协议:定义了数据的协议,分别为:TCPUDPICMPIGMP。定义为:
    define PROTOCOL_TCP    0x06
    define PROTOCOL_UDP    0x11
    define PROTOCOL_ICMP   0x06
    define PROTOCOL_IGMP   0x06
    7)检验和:校验的首先将该字段设置为0,然后将IP头的每16位进行二进制取反求和,将结果保存在校验和字段。
    8)来源IP地址:将IP地址看作是32位数值则需要将网络字节顺序转化位主机字节顺序。转化的方法是:将每4个字节首尾互换,将23字节互换。
    9)目的IP地址:转换方法和来源IP地址一样。
    在网络协议中,IP是面向非连接的,所谓的非连接就是传递数据的时候,不检测网络是否连通。所以是不可靠的数据报协议,IP协议主要负责在主机之间寻址和选择数据包路由。
  • 相关阅读:
    菜鸟学IT之四则运算升级版
    菜鸟学IT之简易四则运算程序开发
    菜鸟学IT分布式版本控制系统Git的安装与使用
    Javascript 编程范式
    【每日一题】2013年12月10日
    关于闭包的一些小东西
    【每日一题】2013年12月12日
    javascript学习计划
    新来挂号,以后就开始好好的维护这个博客了~
    【每日一题】2013年12月11日
  • 原文地址:https://www.cnblogs.com/classics/p/10417386.html
Copyright © 2011-2022 走看看