zoukankan      html  css  js  c++  java
  • 初始IP协议

    一、引言

    发送一段TCP数据大致需要经过:用户封装 –> TCP封装 –> IP封装 –>帧封装

     

    Note:用户封装没啥好说的,都是客户自己决定的,在一些简单的应用情况下,这个步骤可以省去。

    本篇重点讲述IP封装。

    二、IP协议解析

    一般的IP首部长度为20个字节,除非含有选项字段

     

    第一行字段如下:

    版本(4bit):目前版本协议好是4,所以IP有时也称为IPv4

    首部长度(4bit):记录首部占用一个整型(32bit)的个数。所以,一般IP头(没有选项)

    的这个字段指是5

    服务类型(8bit):包括一个3bit的优先权字字段(现在已被忽略),4bit的TOS子字段和1bit未用位但必须置0。4bit的TOS分别代表:最小时延、最大吞吐量、最高可靠性和最小费用。

    总长度(16bit):总长度字段是指整个IP数据报的长度,以字节为单位。

    第二行字段如下:

    标识(16bit):对于发送端发送的每份IP数据报来说,其标识字都包含一个唯一的值。该值

    在数据报分片时被复制到每个片中。

    标志(3BIT):    标志字段用其中的一个比特来标识“更多的片”。除了最后一片外,其他每个

    组成数据报的片都要把该比特置1。

    标志字段中有一个比特作“不分片”位。如果这一个比特置1,IP将不对数据报

    进行分片。

    片偏移(13Bit):片移字段指的是该片偏移原始数据报开始除的位置。

    第三行字段如下:

    生存时间(8bit):生存时间字段设置了数据报可以经过的最多路由器数。它指定了数据报的

    生存时间。TTL的初始值由源主机设置(通常为32或64),一旦经过一个路由器,指就减一。当该值为0时,数据报就被丢弃,并且发送ICMP报文通知源主机。

    协议(8bit):协议字段用来表示具体的封装协议。1:ICMP  2:IGMP  6:TCP   17:UDP

    首部校验和(16bit):首部校验和字段是根据IP首部计算的检验和码。

    第四行字段如下:

    源IP地址(32bit):32bit IP源地址

    第五行字段如下:

    目的IP地址(32bit):32bit IP目的地址

    第六行字段如下:(任选)

    最后一个字段是任选项,是数据报中的一个可变长的信息。目前这些选项定义如下:

             安全和处理限制

    记录路径

    时间戳

    宽松的源站选路

    严格的源站选路

  • 相关阅读:
    centos7.6 安装与配置 MongoDB yum方式
    MongoDB 介绍
    centos 关闭selinux
    前端 HTML标签属性
    前端 HTML 标签嵌套规则
    前端 HTML 标签分类
    前端 HTML body标签相关内容 常用标签 表单标签 form里面的 input标签介绍
    前端 HTML body标签相关内容 常用标签 表单标签 form 表单控件分类
    前端 HTML form表单标签 select标签 option 下拉框
    POJ 1426
  • 原文地址:https://www.cnblogs.com/mfc1207/p/9034820.html
Copyright © 2011-2022 走看看