IP:网络协议

所有的TCP,UDP,ICMP,IGMP数据都以IP数据报格式传输。IP提供不可靠,无连接的数据报传送服务。

不可靠:不能保证IP数据报能成功地到达目的地。如若路由器没有缓冲区了,那么IP就会丢弃数据报。

无连接:IP不维护任何关于后续数据报的状态信息。每个数据报的处理是相互独立的进行路由选择,如两个连续的数据报AB可能在到达时为BA。

IP首部

普通IP首部的长度为20字节。


屏幕快照 2019-05-08 下午7.23.46.png
  • 版本号为4或者6
  • 总长度字段是指整个IP数据报的长度。利用首部长度字段和总长度字段就可以知道IP数据报中数据内容的起始位置和长度。
  • 标识字段唯一地标识主机发送的每一份数据报。通常每发送一份报文,它的值就会加1。
  • TTL生存时间字段设置了数据报可以经过的最多路由器数。一旦经过一个处理它的路由器,它的值就会减1。当该字段的值为0时,数据报就会被抛弃,然后发送ICMP报文通知原主机。
  • 首部检验和字段是只根据IP首部计算的检验和码。ICMP,IGMP,UDP,TCP,在各自的首部中均含有同时覆盖首部和数据检验和码。

IP路由选择

IP层在内存中有一个路由表,当收到一份数据报并进行发送时,都要对该表搜索一次。

路由表中的每一项都包含以下信息:

  • 目的IP地址,可以是一个完整的主机地址也可以是一个网络地址。

  • 下一站路由器的IP地址,或者有直接连接的网络IP地址。

  • 标志。指明目的IP地址是网络地址还是主机地址,和下一站路由器是真的下一站路由器还是一个直接连接的接口。

  • 为数据报的传输指定一个网络接口。

IP路由选择是逐跳进行的。IP不知道到目的地的完整路径(除非直接和目的地相连),IP路由选择只是在假定下一站路由器更加接近目的地,为数据报传输提供下一站路由器的IP地址。

IP路由选择完成的功能:

  • 搜索路由表,寻找能与目的IP地址完全匹配的条目(网络号和主机号都要匹配)。如果找到,则把报文发给该表目指定的下一站路由器或直接连接的网络接口。

  • 搜索路由表。寻找能与目的网络号相匹配的条目。目的网络上的所有主机都可通过这个表目处理。如果找到,则把报文发给该表目指定的下一站路由器或直接连接的网络接口。

  • 搜索路由表,寻找“默认”条目,把报文发给该条目指定的下一站路由器。

若上诉步骤不成功,那么会向生成数据报的应用程序返回一个“主机/网络不可达”的错误。

为一个网络指定一个路由器,而不为每个主机指定一个路由器,这极大的缩小了路由表的规模。

子网寻址

把主机号再分为一个字网号和主机号


屏幕快照 2019-05-08 下午7.58.23.png

子网掩码

除了IP地址以外,主机还需要知道有多少比特是用于子网号以及多少比特用于主机号。
当给定了IP地址和子网掩码后,主机就可以确定IP数据报的目的是:本子网上的主机,本网络中其他子网中的主机,其他网络上的主机。

你可能感兴趣的:(IP:网络协议)