本文主要是介绍iOS 网络相关面试题(IP协议、IP数据报分片、IPv4编址、网络地址转换(NAT)),希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
之前有说到OSI七层协议中的应用层(HTTP协议)、传输层(TCP协议、UDP协议),在传输层之上就是网络层,网络层负责IP数据报的产生以及IP数据包在逻辑网络上的路由转发,网络层分为三个组件:
-
1、IP协议
-
2、路由选择协议,它决定了数据报从源到目的地所流经的路径
-
3、ICMP协议 (Internet Control Message Protocol, 因特网控制报文协议),报告数据报中的差错和对某些网路层信息请求进行响应对设施。
网络层和传输层的区别
- 网络层只是根据网络地址将源结点发出的数据包传送到目的结点(点到点),其主要任务是:通过路由选择算法,为报文或分组通过通信子网选择最适当的路径。该层控制数据链路层与传输层之间的信息转发,建立、维持和终止网络的连接。具体地说,数据链路层的数据在这一层被转换为数据包,然后通过路径选择、分段组合、顺序、进/出路由等控制,将信息从一个网络设备传送到另一个网络设备。
即网络层提供了主机之间的逻辑通信
- 而传输层则负责将数据可靠地传送到相应的端口(端到端),传输层提供了主机应用程序进程之间的端到端的服务。传输层利用网络层提供的服务,并通过传输层地址提供给高层用户传输数据的通信端口,使高层用户看到的只是在两个传输实体间的一条端到端的、可由用户控制和设定的、可靠的数据通路。
即传输层为运行在不同主机上的进程之间提供了逻辑通信
一、IP协议
IP协议是TCP/IP核心协议。
1、IP协议的数据报格式(IPv4)
- 版本号
规定了数据报的IP协议版本(IPv4还是IPv6)。不同的IP版本使用不同的数据报格式 ,上图是IPv4的数据报格式
- 首部长度
大多数IP数据报不包含选项,所以一般IP数据报具有20字节的首部。
- 服务类型
使不同类型的IP数据报能相互区别开来。
- 数据报长度
整个IP数据报的长度,利用首部长度和总长度就可以是算出IP数据报中数据内容的起始地址。该字段长度为16比特,所以IP数据报最长可达2^16=65535
字节,而事实上,数据报很少有超过1500
字节的
- 标识、标志、片偏移字段
这三个字段与IP分片有关。此外,IPv6不允许在路由器上对分组分片
- 生存时间TTL
用来确保数据报不会永远在网络中循环。设置该数据报可以经过的最多的路由器数。指定了数据报的生存时间,经过一个路由器,它的值就减1,当该字段为0时,
这篇关于iOS 网络相关面试题(IP协议、IP数据报分片、IPv4编址、网络地址转换(NAT))的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!