Linux高性能服务器编程学习笔记——IP协议

IP协议详解

IP服务的特点

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

  1. 无状态是指IP通信双方不同步传输数据的状态信息,因此所有IP数据报的发送、传输和接收都是相互独立、没有上下文关系的。这种服务最大的缺点是无法处理乱序和重复的IP数据报,优点也很明显:简单、高效,无需为保持通信的状态而分配内核资源,也无需每次传输数据时都携带状态信息
  2. 无连接是指IP通信双方都不长久的维持对方的任何信息。上层协议每次发送数据的时候都必须指定对方的IP地址。
  3. 不可靠是指IP协议不能保证IP数据报准确地到达接收端。

IP分片

当IP数据报的长度超过帧的MTU时,它将被分片传输。分片可能发生在发送端,也可能发生在中转路由器上,而且可能在传输过程中被多次分片,但只有在最终的目标机器上,这些分片才会被内核中的IP模块重新组装。
IP头部中的如下三个字段给IP的分片和重组提供了足够的信息:数据报标识、标志和片偏移。

IP路由

IP协议的一个核心任务时数据报的路由,即决定发送数据报到目标机器的路径
IP模块实现数据报路由的核心数据结构是路由表,路由表必须能够更新,以反映网络连接的变化。

  1. 查找路由表中和数据报的目标IP地址完全匹配的主机IP地址
  2. 查找路由表中和数据报的目标IP地址具有相同网络ID的网络IP地址
  3. 选择默认路由项,这通常意味着数据报的下一跳路由是网关

IP转发

不是发给本机的IP数据报将有数据报转发子模块来处理。路由器都能执行数据报的转发操作,而主机一般只发送和接受数据报。

重定向

ICMP重定向报文的数据部分含义很明确,它给接收方提供了如下两个信息:

  1. 引起重定向的IP数据报的源端IP地址
  2. 应该使用的路由器的IP地址

接受主机根据这两个信息就可以断定引起重定向的IP数据报应该使用哪个路由器来转发,并以此来更新路由表。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值