【linux服务器编程学习】2、IP协议

IP服务特点

IP协议是TCP/IP协议族的动力,为上层协议提供无状态、无连接不可靠的服务。

  • 无状态是指通信双方不同步数据传输的状态信息,所有IP数据报都是相互独立、没有上下文关系,可能会重复或乱序。
  • 无连接是指IP协议通信双方都不长久的维持对方的任何信息,每次发送数据时都必须指定对方ip地址。
  • 不可靠是指不能保证IP数据报准确到达接收端,只是尽最大努力交付。

IPV4 头部结构

IP报文头部长度通常为20字节,除非有可变长选项部分。
请添加图片描述

  • 4位版本号,指定IP协议的版本,IPV4的版本号是4.
  • 4位头部长度,标识该IP头部的长度,以32位为单位,4位最大表示为60字节。
  • 8位服务类型(TOS),包括最小延时、最大吞吐量、最高可靠性、最小费用,最多有一个置为1.
  • 16位总长度,即整个IP数据报的长度
  • 16位标识,唯一地标识主机发送的每一个数据报,每发送一个就+1
  • 3位标志,标识是否可分片和是否有更多分片。
  • 13位分片偏移,分片相对原始数据报的开始处。
  • 8位生存时间(TTL),数据报到达目的地之前允许经过的最大路由器跳数,每经过一个路由器其值减一,为0时丢弃,防止陷入路由循环。
  • 8位协议,区分上层协议
  • 16位头部校验和,检验头部信息是否损坏。
  • 32位源IP地址和322位目的IP地址,标识报文的发送端和接收端。
  • 可变长选项字段,最多包含40字节。

IP分片

当IP数据报的长度 超过MTU时,将被分片传输,在目标主机的IP模块中重新组装。由IP头部中的数据报标识、标志、片偏移提供足够的信息用于分片和重组。

以太网帧的MTU为1500字节,因此IP数据报的数据部分最多1480字节。

路由选择

IP数据包的传输过程中会遇到很多路由器,这些路由器会帮助数据包进行路由转发,每当数据包遇到一个路由器后,对应路由器都会查看该数据的目的IP地址,并告知该数据下一跳应该往哪跳。路由器的查找结果可能有以下三种:

  • 路由器经过路由表查询后,得知该数据下一跳应该跳到哪一个子网
  • 路由器经过路由表查询后,没有发现匹配的子网,此时路由器会将该数据转发给默认路由。
  • 路由器经过路由表查询后,得知该数据的目标网络就是当前所在的网络,此时路由器就会将该数据转给当前网络中对应的主机。

路由可分为静态路由和动态路由:

静态路由:是指由网络管理员手工配置路由信息。

动态路由:是指路由器能够通过算法自动建立自己的路由表,并且能够根据实际情况进行调整。

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

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值