IP层八股文
共 2148字,需浏览 5分钟
·
2021-04-11 21:36
前言
上一篇记录了一下链路层相关的知识点,其中包括链路层的作用、ARP、RARP等。
今天来记录一下IP层相关的知识点,当然也是八股文。
IP:网际协议
IP是TCP/IP协议族中最为核心的协议,所有的TCP、UDP、ICMP及IGMP数据都以IP数据报格式传输。
IP提供的是不可靠、无连接的数据报服务。
「不可靠」:
不能保证IP数据报能成功发送到目的地,IP仅提供最好的传输服务。
如果发生某种错误比如某个路由器暂时用完了缓冲区,
处理方法就是丢弃该数据报,然后发送ICMP消息报给信源端。
任何要求的可靠性必须有上层(如TCP)来提供。
「无连接」:
IP并不维护后续数据报的状态信息。每个数据报的处理都是相互独立的。
IP首部
普通的IP首部长度为20字节
「首部长度」
首部占32bit的数目,由于是一个4比特的字段,因此首部最长为60个字节。
「总字段长度」
整个IP数据报的长度,以字节为单位。
利用首部长度字段和总长度字节,就可以知道IP数据报中数据内容的起始位置和长度。
该字段长度为16bit,所有IP数据报最长为65535字节。2^16-1
「TTL生存时间字段:」
数据报可以经过的最多路由器数,指定了数据报生存时间。
经过一个路由器,值就减1,当值为0时,数据报就被丢弃,并发送ICMP报文通知源主机。
「网络字节序:」
4个字节的32bit值以下面的次序传输:
首先是0~7bit,
其次是8~15bit,
然后16~23bit,
最后是24~31bit。
TCP/IP首部中所有的二进制整数在网络中传输时都要求以这种次序传输。
传输数据之前必须把首部转换成网络字节序。
每一份数据报都包含源IP地址和目标IP地址。
IP路由选择
IP可以从TCP、UDP、ICMP、IGMP接收数据报(即在本地生成的数据报)并进行发送,或者从一个网络接口接收数据报(待转发的数据报)并进行发送。
「路由表」
IP层在内存中有一个路由表,当收到数据报并进行发送时,都要对该表搜索一次。
当数据报来自某个网络接口时,IP首先检查目的IP地址是否为本机的IP地址之一或者IP广播地址,
如果是,数据报就被送到由IP首部协议字段所指定的协议模块进行处理,
反之,如IP层被设置有路由转发的功能,则将数据报转发,否则将丢弃数据报。
❝路由表中的每一项都包含如下信息:
❞
目的IP地址 下一个路由器的IP地址,或有直连网络IP地址。 标志:其中一个标志指明目的IP地址是网络还是主机地址,另一个标志指明下一个路由器是否为真正的下一站路由器,还是一个直连接口。 为数据报的传输指定一个网络接口。
IP路由选择是逐跳地进行的,IP并不知道到达任何目的的完整路径,所有的IP路由选择只为数据报传输提供下一站路由器的IP地址。
IP路由选择主要完成以下功能:
(如果下面的步骤都没有成功,那么该数据报就不能被传送。)
(1)搜索路由表,寻找能与目的IP地址完全匹配的表目(网络号和主机号都要匹配),找到则把报文发送给该表目指定的下一站路由器或直连的网络接口。
(2)搜索路由表,寻找能与目的网络号相匹配的表目,找到则把报文发送给该表目指定的下一站路由器或直连的网络接口。目的网络上的所有主机都可以通过这个表目来处置。
(3)搜索路由表,寻找默认的表目,找到则把报文发送给该表目指定的下一站路由器。
看枯燥的文字不如直接看下图
子网寻址
子网编址,不是把IP地址仅仅看成一个网络号和一个主机号,而是把主机号再分成一个子网号和一个主机号。全0或全1的主机号都是无效的。
比如一个B类网络140.252,在剩下的16bit中,8bit用于子网号,8bit用于主机号,这样就有254个子网,每个子网又有254台主机。
子网对外部路由器来说隐藏了内部网络组织的细节,子网对于子网内部的路由器是不透明的。可以缩小Internet路由表的规模。
一份来自Internet的数据报到达gateway,它的目的地址是140.252.57.1。路由器gateway需要知道子网号是57,然后把它送到kpno。同样,kpno必须把数据报送到R55,最后由R55把它送到R57。
子网掩码
除了IP地址以外,主机还需要知道有多少比特用于子网络号及多少bit用于主机号,这是通过子网掩码来确定的,子网掩码是一个32bit的值,其中值为1的比特留给网络号和子网号,值为0的比特留给主机号。
例如:
子网掩码一般用十六进制表示,是一个比特掩码。
给定IP地址和子网掩码以后,主机就可以确定IP数据报的目的是:
❝❞
本子网上的主机。(最后的主机号不一致) 本网络中的其他子网的主机。(子网号不一致) 其他网络的主机(网络号不一致)
当然,根据前一篇所说的CIDR(无类型域间选路)可以获取到网络号、子网掩码、网络中的第一个地址、广播地址信息。
往期推荐: