区块链技术博客
www.b2bchain.cn

iOS 网络相关面试题(IP协议、IP数据报分片、IPv4编址、网络地址转换(NAT))求职学习资料

本文介绍了iOS 网络相关面试题(IP协议、IP数据报分片、IPv4编址、网络地址转换(NAT))求职学习资料,有助于帮助完成毕业设计以及求职,是一篇很好的资料。

对技术面试,学习经验等有一些体会,在此分享。

之前有说到OSI七层协议中的应用层(HTTP协议)、传输层(TCP协议、UDP协议),在传输层之上就是网络层,网络层负责IP数据报的产生以及IP数据包在逻辑网络上的路由转发,网络层分为三个组件:

iOS 网络相关面试题(IP协议、IP数据报分片、IPv4编址、网络地址转换(NAT))

  • 1、IP协议
  • 2、路由选择协议,它决定了数据报从源到目的地所流经的路径
  • 3、ICMP协议 (Internet Control Message Protocol, 因特网控制报文协议),报告数据报中的差错和对某些网路层信息请求进行响应对设施。

网络层和传输层的区别
  • 网络层只是根据网络地址将源结点发出的数据包传送到目的结点(点到点),其主要任务是:通过路由选择算法,为报文或分组通过通信子网选择最适当的路径。该层控制数据链路层与传输层之间的信息转发,建立、维持和终止网络的连接。具体地说,数据链路层的数据在这一层被转换为数据包,然后通过路径选择、分段组合、顺序、进/出路由等控制,将信息从一个网络设备传送到另一个网络设备。
即网络层提供了主机之间的逻辑通信
  • 而传输层则负责将数据可靠地传送到相应的端口(端到端),传输层提供了主机应用程序进程之间的端到端的服务。传输层利用网络层提供的服务,并通过传输层地址提供给高层用户传输数据的通信端口,使高层用户看到的只是在两个传输实体间的一条端到端的、可由用户控制和设定的、可靠的数据通路。
即传输层为运行在不同主机上的进程之间提供了逻辑通信

一、IP协议

IP协议是TCP/IP核心协议。

1、IP协议的数据报格式(IPv4)

iOS 网络相关面试题(IP协议、IP数据报分片、IPv4编址、网络地址转换(NAT))

  • 版本号
    规定了数据报的IP协议版本(IPv4还是IPv6)。不同的IP版本使用不同的数据报格式 ,上图是IPv4的数据报格式

  • 首部长度
    大多数IP数据报不包含选项,所以一般IP数据报具有20字节的首部。

  • 服务类型
    使不同类型的IP数据报能相互区别开来。

  • 数据报长度
    整个IP数据报的长度利用首部长度和总长度就可以是算出IP数据报中数据内容的起始地址。该字段长度为16比特,所以IP数据报最长可达2^16=65535字节,而事实上,数据报很少有超过1500字节的

  • 标识、标志、片偏移字段
    这三个字段与IP分片有关。此外,IPv6不允许在路由器上对分组分片

  • 生存时间TTL
    用来确保数据报不会永远在网络中循环。设置该数据报可以经过的最多的路由器数。指定了数据报的生存时间,经过一个路由器,它的值就减1,当该字段为0时,数据报就被丢弃

  • 协议
    该字段只有在一个IP数据报到达其目的地才有用。该字段值指示了IP数据报的数据部分应交给哪个特定的传输层协议,比如,值为6表明要交给TCP,而值为17则表明要交给UDP

  • 首部检验和
    与UDP/TCP的检验和不同,这个字段只检验数据报的首部,不包括数据部分。

  • 选项字段
    是一个可变长字段,选项字段一直以4字节作为界限。这样就可以保证首部始终是4字节的整数倍。很少被用到

  • 源IP和目的IP

记录源IP地址,目的IP地址
  • 数据

二、IP数据报分片

一个链路层帧能承载的最大数据量叫做最大传送单元(Maximun Transmission Unit,MTU),即链路层的MTU限制着IP数据报的长度。
问题是在不同的链路上,可能使用不同的链路层协议,且每种协议可能具有不同的MTU。
假定在某条链路上收到一个IP数据报,通过检查转发表确定出链路,且出链路的MTU比该IP数据报的长度要小,如何将这个过大的IP数据报压缩进链路层帧的有效载荷字段呢?

解决方案就是分片:将IP数据报中的数据分片为两个或更多个较小的IP数据报,用单独的链路层帧封装这些较小的IP数据报,然后向出链路上发送这些帧,每个这些较小的数据都称为片(fragment)

片在到达目的地传输层前需要重新组装。

之前有说到OSI七层协议中的应用层(HTTP协议)、传输层(TCP协议、UDP协议),在传输层之上就是网络层,网络层负责IP数据报的产生以及IP数据包在逻辑网络上的路由转发,网络层分为三个组件:

iOS 网络相关面试题(IP协议、IP数据报分片、IPv4编址、网络地址转换(NAT))

  • 1、IP协议
  • 2、路由选择协议,它决定了数据报从源到目的地所流经的路径
  • 3、ICMP协议 (Internet Control Message Protocol, 因特网控制报文协议),报告数据报中的差错和对某些网路层信息请求进行响应对设施。

网络层和传输层的区别
  • 网络层只是根据网络地址将源结点发出的数据包传送到目的结点(点到点),其主要任务是:通过路由选择算法,为报文或分组通过通信子网选择最适当的路径。该层控制数据链路层与传输层之间的信息转发,建立、维持和终止网络的连接。具体地说,数据链路层的数据在这一层被转换为数据包,然后通过路径选择、分段组合、顺序、进/出路由等控制,将信息从一个网络设备传送到另一个网络设备。
即网络层提供了主机之间的逻辑通信
  • 而传输层则负责将数据可靠地传送到相应的端口(端到端),传输层提供了主机应用程序进程之间的端到端的服务。传输层利用网络层提供的服务,并通过传输层地址提供给高层用户传输数据的通信端口,使高层用户看到的只是在两个传输实体间的一条端到端的、可由用户控制和设定的、可靠的数据通路。
即传输层为运行在不同主机上的进程之间提供了逻辑通信

一、IP协议

IP协议是TCP/IP核心协议。

1、IP协议的数据报格式(IPv4)

iOS 网络相关面试题(IP协议、IP数据报分片、IPv4编址、网络地址转换(NAT))

  • 版本号
    规定了数据报的IP协议版本(IPv4还是IPv6)。不同的IP版本使用不同的数据报格式 ,上图是IPv4的数据报格式

  • 首部长度
    大多数IP数据报不包含选项,所以一般IP数据报具有20字节的首部。

  • 服务类型
    使不同类型的IP数据报能相互区别开来。

  • 数据报长度
    整个IP数据报的长度利用首部长度和总长度就可以是算出IP数据报中数据内容的起始地址。该字段长度为16比特,所以IP数据报最长可达2^16=65535字节,而事实上,数据报很少有超过1500字节的

  • 标识、标志、片偏移字段
    这三个字段与IP分片有关。此外,IPv6不允许在路由器上对分组分片

  • 生存时间TTL
    用来确保数据报不会永远在网络中循环。设置该数据报可以经过的最多的路由器数。指定了数据报的生存时间,经过一个路由器,它的值就减1,当该字段为0时,数据报就被丢弃

  • 协议
    该字段只有在一个IP数据报到达其目的地才有用。该字段值指示了IP数据报的数据部分应交给哪个特定的传输层协议,比如,值为6表明要交给TCP,而值为17则表明要交给UDP

  • 首部检验和
    与UDP/TCP的检验和不同,这个字段只检验数据报的首部,不包括数据部分。

  • 选项字段
    是一个可变长字段,选项字段一直以4字节作为界限。这样就可以保证首部始终是4字节的整数倍。很少被用到

  • 源IP和目的IP

记录源IP地址,目的IP地址
  • 数据

二、IP数据报分片

一个链路层帧能承载的最大数据量叫做最大传送单元(Maximun Transmission Unit,MTU),即链路层的MTU限制着IP数据报的长度。
问题是在不同的链路上,可能使用不同的链路层协议,且每种协议可能具有不同的MTU。
假定在某条链路上收到一个IP数据报,通过检查转发表确定出链路,且出链路的MTU比该IP数据报的长度要小,如何将这个过大的IP数据报压缩进链路层帧的有效载荷字段呢?

解决方案就是分片:将IP数据报中的数据分片为两个或更多个较小的IP数据报,用单独的链路层帧封装这些较小的IP数据报,然后向出链路上发送这些帧,每个这些较小的数据都称为片(fragment)

片在到达目的地传输层前需要重新组装。

之前有说到OSI七层协议中的应用层(HTTP协议)、传输层(TCP协议、UDP协议),在传输层之上就是网络层,网络层负责IP数据报的产生以及IP数据包在逻辑网络上的路由转发,网络层分为三个组件:

iOS 网络相关面试题(IP协议、IP数据报分片、IPv4编址、网络地址转换(NAT))

  • 1、IP协议
  • 2、路由选择协议,它决定了数据报从源到目的地所流经的路径
  • 3、ICMP协议 (Internet Control Message Protocol, 因特网控制报文协议),报告数据报中的差错和对某些网路层信息请求进行响应对设施。

网络层和传输层的区别
  • 网络层只是根据网络地址将源结点发出的数据包传送到目的结点(点到点),其主要任务是:通过路由选择算法,为报文或分组通过通信子网选择最适当的路径。该层控制数据链路层与传输层之间的信息转发,建立、维持和终止网络的连接。具体地说,数据链路层的数据在这一层被转换为数据包,然后通过路径选择、分段组合、顺序、进/出路由等控制,将信息从一个网络设备传送到另一个网络设备。
即网络层提供了主机之间的逻辑通信
  • 而传输层则负责将数据可靠地传送到相应的端口(端到端),传输层提供了主机应用程序进程之间的端到端的服务。传输层利用网络层提供的服务,并通过传输层地址提供给高层用户传输数据的通信端口,使高层用户看到的只是在两个传输实体间的一条端到端的、可由用户控制和设定的、可靠的数据通路。
即传输层为运行在不同主机上的进程之间提供了逻辑通信

一、IP协议

IP协议是TCP/IP核心协议。

1、IP协议的数据报格式(IPv4)

iOS 网络相关面试题(IP协议、IP数据报分片、IPv4编址、网络地址转换(NAT))

  • 版本号
    规定了数据报的IP协议版本(IPv4还是IPv6)。不同的IP版本使用不同的数据报格式 ,上图是IPv4的数据报格式

  • 首部长度
    大多数IP数据报不包含选项,所以一般IP数据报具有20字节的首部。

  • 服务类型
    使不同类型的IP数据报能相互区别开来。

  • 数据报长度
    整个IP数据报的长度利用首部长度和总长度就可以是算出IP数据报中数据内容的起始地址。该字段长度为16比特,所以IP数据报最长可达2^16=65535字节,而事实上,数据报很少有超过1500字节的

  • 标识、标志、片偏移字段
    这三个字段与IP分片有关。此外,IPv6不允许在路由器上对分组分片

  • 生存时间TTL
    用来确保数据报不会永远在网络中循环。设置该数据报可以经过的最多的路由器数。指定了数据报的生存时间,经过一个路由器,它的值就减1,当该字段为0时,数据报就被丢弃

  • 协议
    该字段只有在一个IP数据报到达其目的地才有用。该字段值指示了IP数据报的数据部分应交给哪个特定的传输层协议,比如,值为6表明要交给TCP,而值为17则表明要交给UDP

  • 首部检验和
    与UDP/TCP的检验和不同,这个字段只检验数据报的首部,不包括数据部分。

  • 选项字段
    是一个可变长字段,选项字段一直以4字节作为界限。这样就可以保证首部始终是4字节的整数倍。很少被用到

  • 源IP和目的IP

记录源IP地址,目的IP地址
  • 数据

二、IP数据报分片

一个链路层帧能承载的最大数据量叫做最大传送单元(Maximun Transmission Unit,MTU),即链路层的MTU限制着IP数据报的长度。
问题是在不同的链路上,可能使用不同的链路层协议,且每种协议可能具有不同的MTU。
假定在某条链路上收到一个IP数据报,通过检查转发表确定出链路,且出链路的MTU比该IP数据报的长度要小,如何将这个过大的IP数据报压缩进链路层帧的有效载荷字段呢?

解决方案就是分片:将IP数据报中的数据分片为两个或更多个较小的IP数据报,用单独的链路层帧封装这些较小的IP数据报,然后向出链路上发送这些帧,每个这些较小的数据都称为片(fragment)

片在到达目的地传输层前需要重新组装。

部分转自互联网,侵权删除联系

赞(0) 打赏
部分文章转自网络,侵权联系删除b2bchain区块链学习技术社区 » iOS 网络相关面试题(IP协议、IP数据报分片、IPv4编址、网络地址转换(NAT))求职学习资料
分享到: 更多 (0)

评论 抢沙发

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址

b2b链

联系我们联系我们