TCP/IP协议------IP首部

IP:
TCP/IP协议族种最为核心的协议,所有的tcp,udp,icmp,igmp数据都是以IP数据报格式传输的。

不可靠的,无连接的,无状态的。

不可靠 : 不能保证IP数据报能成功到达目的地,仅提供最好的传输服务,当发生某路由器缓冲区暂时用完,错误处理算法将会丢弃该数据,发送ICMP消息报给信息源,任何要求的可靠性,必须由上层来提供。

无连接 : IP并不维护任何关于后续数据报的状态信息,每个数据报的处理都是相互独立的,数据报可以不按发送顺序接受,相同信号源的信宿发送两个连续的数据报(A先,后B),每个数据报都是独立进行路由选择,可能选择不同的路线,B可能在A之前到达。

无状态: 通信双方不同步传输数据的状态信息,即ip数据报的发送,传输,接收都是相互独立的,没有上下文关系的,所以接收端可能收到重复的,乱序的报文段。

IP首部:

在这里插入图片描述

上图IP首部中,最高位在左边,记为0bit,最低位在右边,记为31bit。.

  • 4字节的31bit值传输次序:0-7bit,8-15bit,16-23bit,24-31bit。称为big endian字节序。又称网络字节序,tcp/ip首部中的所有二进制整数在网络中传输时都以这种次序。以其他形式存储二进制整数的机器,必须在传输数据之前把首部换成网络字节序。

    扩:由于网络中不同主机,字节序列可能不同,所以在传输端口号的时候,规定统一转换为大端,即大端作为网络字节序,四个方法;
    htons: 主机字节序列转网络字节序列  短整形
    htonl: 主机字节序列转网络字节序列  长整形
    ntohs: 网络字节序列转主机字节序列  短整形
    ntohl: 网络字节序列转主机字节序列  长整形
    
  • 协议版本号为4,因此ip有时也称作ipv4。

  • 首部长度:值首部占31bit,包括任何选项,首部最长为60个字节。

  • 服务类型:该字段包括一个3bit的优先权子字段(以被忽略),4bit的TOS子字段以及1bit未用位必须置为0。4bit的TOS分别代表:最小时延,最大吞吐量,最高可靠性和最小费用,4bit只能置其中1bit,如果所有4bit均为0,为一般服务。

  • 总长度字段:整个IP数据报的长度,以字节为单位,通过首部长度字段和总长度字段就可以知道IP数据报中数据内容的起始位置和长度。大多数的链路层都会对他进行分片,当数据报被分片时,该字段的值也会改变。它是IP首部必要的内容,因为一些数据链路(以太网)需要填充一些数据已达到最小长度。IP数据可能更短尽管以太网最小帧长为46字节,如果没有总长度字段,IP层就不知道46字节中有多少IP数据报内容。

  • 标识字段:唯一地标识主机发送的每一份数据报,同好穿那个每发送一次他的值就会加一。

  • TTL:生存时间字段设置了数据报可以经过的最多路由器数,指定数据包的生存时间。TTL初始值有源主机设置(32/64),一旦经过一个处理他的路由器,其值减1,当该字段的值为0是,数据报就被丢弃,并发送icmp报文通知主机。

  • 首部检验和字段:根据IP首部计算的检验和码,不对首部后面的数据进行计算。ICMP,IGMP,UDP,和TCP在他们各自的首部中均含有同时覆盖首部和和数据检验码。采用相同的检验和算法。

     计算ip检验和:
    1>将检验和字段置为0,将首部中每个16bit进行二进制反码求和(每个手部看成是由一串16bit的字组成)。
    2>将结果存在检验和中,当每收到一份ip数据报后,同样对手部中每个16bit进行二进制反码求和。
    3>因为接收方在计算过程中包含了发送方存在首部的检验和,所以,如果首部在传输过程中没有发生任何差错,
    接收方计算的结果应该全为1,结果不全为1,ip就丢弃收到的数据报,不生成差错报文,有上层发现丢失的数据报进行重传。
    
  • 任选项:数据报中的一个可变长度的可选信息。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值