zoukankan      html  css  js  c++  java
  • tcp和udp的头部信息

    源端口号以及目的端口号:

      各占2个字节,端口是传输层和应用层的服务接口,用于寻找发送端和接收端的进程,通过这两个端口号和IP头部的ip发送和接收号,可以唯一的确定一个连接。
       一般来讲,通过端口号和IP地址,可以唯一确定一个TCP连接,在网络编程中,通常被称为一个socket接口。

    序号:

      占4字节,用来标识从TCP发送端向TCP接收端发送的数据字节流。

    确认序号:

      占4字节,包含发送确认的一端所期望收到的下一个序号,因此,确认序号应该是上次已经成功收到另一端数据字节序号加1。

    数据偏移:

      占4位,最大为1111即15个数字,一个代表4个字节,用于指出TCP首部长度,若不存在选项,则这个值为20字节,数据偏移的最大值为60字节。

    保留字段:

      占6位,值是确定的,暂时可忽略,值全为0

    标志位:

    URG(紧急): 为1时表明紧急指针字段有效
    ACK(确认):为1时表明确认号字段有效
    PSH(推送):为1时接收方应尽快将这个报文段交给应用层
    RST(复位):为1时表明TCP连接出现故障必须重建连接
    SYN(同步):在连接建立时用来同步序号
    FIN (终止): 为1时表明发送端数据发送完毕要求释放连接

    接收窗口:

      占2个字节,用于流量控制和拥塞控制,表示当前接收缓冲区的大小。在计算机网络中,通常是用接收方的接收能力的大小来控制发送方的数据发送量,这样可以避免快主机致使较慢主机的缓冲区溢出。TCP连接的一端根据缓冲区大小确定自己的接收窗口值,告诉对方,使对方可以确定发送数据的字节数。

    校验和:

      占2个字节,范围包括首部和数据两部分。检查当前的TCP包是否有问题,有没有损坏丢失

    选项

      选项是可选的,默认情况是不选

    UDP的头部大小只有8字节

    16位源端口号和16位目的端口号:

    代表出发端口和目的地端口,这个可以类比TCP的源端口和目的端口。

    16位UDP长度:

    代表整个UDP的长度,包括UDP数据,最小的UDP长度就是8字节。

    16位UDP校验和:

    用于检验UDP数据包
    IPv4中,校验和可以为0,意味着不使用校验和。IPv6要求必须进行校验

  • 相关阅读:
    iOS UIActivityIndicatorView 的使用(旋转菊花)
    iOS textView的使用总结
    IOS UI -label总结
    cocos2dx常见的46中+22中动作详解
    iOS 第三方框架SDWebImage的简单使用
    iOS 下拉刷新
    OC 字符串操作
    一些iOS常用的第三方库和控件
    标日语法(1)
    面向对象(初级)个人总结 第二部分 封装
  • 原文地址:https://www.cnblogs.com/wuxu/p/13583523.html
Copyright © 2011-2022 走看看