zoukankan      html  css  js  c++  java
  • IP:网际协议

    IP就像一个专职的快递员,所有的TCP、UDP、ICMP等数据都通过IP数据报的形式来进行传输。

    IP提供的运输服务有2个特点:

    不可靠

    不可靠的含义是,不能保证数据成功的送到收件人的手中。

    如果传输中不幸发生错误,那么IP首先会丢弃包裹,然后发送ICMP消息给寄件人。

    无连接

    无连接的含义是,每个包裹之间的传输是独立的,可能B包裹后寄出,但是比A包裹先送达。

     

    IP首部

    我们可以把IP首部想象成快递单,一般快递单大小为20字节,格式如下:

    下面来分析分析这张快递单:

    目前使用的协议版本号是4,所以IP也叫做IPv4。

    首部长度是指32位的数量,首部长度*32=首部大小。由于该字段长度为4比特,所以该数量的最大值为2的4次方-1=15。

    所以首部最长为15*32/8=60字节。一般来说,这个值为5,也就是20字节(没有任何选项)。

    服务类型TOS)字段包括一个 3 bit的优先权子字段(现在已被忽略), 4 bitTOS子字段和1 bit未用位但必须置 0

    4 bitTOS分别代表:最小时延、最大吞吐量、最高可靠性和最小费用。

    这4比特中,只能有1位是1,其余3位全部为0。

    总长度字段是指整个 I P数据报的长度,以字节为单位。利用首部长度字段和总长度字段,
    就可以知道 I P数据报中数据内容的起始位置和长度。由于该字段长 1 6比特,所以 I P数据报最
    长可达 6 5 5 3 5字节(回忆图 2 - 5,超级通道的 M T U6 5 5 3 5。它的意思其实不是一个真正的
    M T U—它使用了最长的 I P数据报)。

    标识字段唯一地标识主机发送的每一份数据报。通常每发送一份报文它的值就会加 1

    T T Lt i m e - t o - l i v e)生存时间字段设置了数据报可以经过的最多路由器数。它指定了数据
    报的生存时间。 T T L的初始值由源主机设置(通常为 3 26 4),一旦经过一个处理它的路由器,
    它的值就减去 1。当该字段的值为 0时,数据报就被丢弃,并发送 I C M P报文通知源主机。

    协议字段,根据它可以识别是哪个协议向 I P传送数据。

    首部检验和字段是根据 I P首部计算的检验和码。它不对首部后面的数据进行计算。 I C M P
    I G M PU D PT C P在它们各自的首部中均含有同时覆盖首部和数据检验和码。

    为了计算一份数据报的 I P检验和,首先把检验和字段置为 0。然后,对首部中每个 16 bit
    进行二进制反码求和(整个首部看成是由一串 16 bit的字组成),结果存在检验和字段中。当
    收到一份 I P数据报后,同样对首部中每个 16 bit进行二进制反码的求和。由于接收方在计算过程中包含了发送方存在首部中的检验和,因此,如果首部在传输过程中没有发生任何差错,
    那么接收方计算的结果应该为全 1。如果结果不是全 1(即检验和错误),那么I P就丢弃收到的数据报。但是不生成差错报文,由上层去发现丢失的数据报并进行重传。

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

    安全和处理限制(用于军事领域,详细内容参见 RFC 1108[Kent 1991]
    记录路径(让每个路由器都记下它的 I P地址,见7 . 3节)
    时间戳(让每个路由器都记下它的 I P地址和时间,见7 . 4节)
    宽松的源站选路(为数据报指定一系列必须经过的 I P地址,见8 . 5节)
    严格的源站选路(与宽松的源站选路类似,但是要求只能经过指定的这些地址,不能
    经过其他的地址)。
    这些选项很少被使用,并非所有的主机和路由器都支持这些选项。

    IP路由选择

  • 相关阅读:
    FATFS 初学之 f_open/ f_close
    前端JQuery(二)
    前端JQuery(一)
    8.22MySQL(五)pymysql模块、sql注入问题
    8.21MySQL(四)基本查询语句及方法、连表、子查询
    8.20MySQL(三)外键
    8.19MySQL(二)
    8.16MySQL(一)
    8.15并发编程(四)
    8.14并发编程(三)
  • 原文地址:https://www.cnblogs.com/leomei91/p/7510708.html
Copyright © 2011-2022 走看看