zoukankan      html  css  js  c++  java
  • MAC帧格式、IPV4数据报格式、TCP报文格式、UDP数据报格式

    1、MAC帧格式

     类型:2字节,指出数据域中携带的数据应交给哪些协议实体处理

    校验码:校验数据段(采用32位CRC冗余校验方式进行校验)

    2、IPV4数据报

    版本:IP协议版本,这里为4

    首部长度:占4位

    总长度:占16位,指首部和数据之和的长度

    标识:占16位,它是一个计数器,每产生一个数据报就加1

    标志:占3位,标志字段的最低位为MF,MF=1表示后面还有分片;MF=0表示最后一个分片。标识字段中间的一位是DF,只有DF=0时才允许分片

    片偏移:占13位,它指出较长的分组在分片后,某片在原分组中的相对位置,片偏移一8个字节为偏移单位

    首部校验和:占16位,只校验分组的首部,而不校验数据部分

    生存时间TTL:占8位,及数据报在网络中通过的路由器数的最大值

    协议:占8位,指出使用何种协议,其中6表示TCP,17表示UDP

    固定部分20个字节,可变部分40字节,首部最长60字节。

    3、TCP报文格式

     序号字段:占4个字节,TCP是面向字节流的

    确认号字段:占4字节,是期望收到对方的下一个报文段的数据的第一个字节的序号。确认号=N,则表明到序号N-1为止的所有数据都已经收到

    数据偏移:占4位,指出TCP报文段的数据起始处距离TCP报文段的起始处有多远

    保留字段:占6位

    标志位:

        URG:URG=1时,表明紧急指针有效

        ACK:ACK=1时,确认号字段(TCP三次握手里面的ack)才有效

        PSH:就收到PSH=1的报文时,就尽快地交付接收应用进程,不用等到整个缓存都填满了后再向上交付

        RST:当RST=1时,表明TCP连接中出了很严重的差错,必须释放连接,然后在重新建立连接

        SYN:SYN=1、ACK=0,表明这是一个连接请求报文,对方若同意建立连接,则在响应报文中使用SYN=1、ACK=1

        FIN:用来释放一个连接,FIN=1表明此报文段的发送方数据已经传送完毕

    窗口字段:占2字节,它指出了现在允许对方发送的数据量

    检验和:占2字节,检验范围包括首部和数据这两部分

    紧急指针字段:占16位,指出文本中紧急数据共有多少字节

    选项字段:长度可变

    填充字段:为了使整个首部长度4字节的整数倍

    4、UDP报文格式

    长度:UDP数据报长度,其最小值是8

    校验和:检测UDP数据报在传输中是否出错,有错就丢弃,如果字段全为0,表明不校验。

  • 相关阅读:
    Quartz.net官方开发指南 第十一课: 高级(企业级)属性
    .NET开源项目:Tomboy
    开源的作业调度框架 Quartz.NET
    DinnerNow.net: 微软最新技术集成示例
    将Quartz.NET集成到 Castle中
    评论:微软的SOA战略
    行为驱动开发Behaviour Driven Development
    Mono 1.2.5 发布,提供对IronPython和DLR的支持
    Quartz.net官方开发指南 第二课:Jobs And Triggers
    数据库厂商提供的 Providers for ASP.NET
  • 原文地址:https://www.cnblogs.com/ybf-yyj/p/8559348.html
Copyright © 2011-2022 走看看