网络层必须具有以下功能:
分组与分组交换:把从传输层接收到的数据报文封装成分组(Packet,也称为“包”)再向下传送到数据链路层。
路由:通过路由选择算法为分组通过通信子网选择最适当的路径。
网络连接复用:为分组在通信子网中节点之间的传输创建逻辑链路,在一条数据链路上复用多条网络连接(多采取时分复用技术)。
差错检测与恢复:一般用分组中的头部校验和进行差错校验,使用确认和重传机制来进行差错恢复。
服务选择:网络层可为传输层提供数据报和虚电路两种服务,但 Internet的网络层仅为传输层提供数据报一种服务。
网络管理:管理网络中的数据通信过程,将数据设法从源端经过若干个中间节点传送到目的端,为传输层提供最基本的端到端的数据传送服务。
流量控制:通过流量整形技术来实现流量控制,以防止通信量过大造成通信子网的性能下降。
拥塞控制:当网络的数据流量超过额定容量时,将会引发网络拥塞,致使网络的吞吐能力急剧下降。因此需要采用适当的控制措施来进行疏导。
网络互连:把一个网络与另一个网络互相连接起来,在用户之间实现跨网络的通信。
分片与重组:如果要发送的分组超过了协议数据单元允许的长度,则源节点的网络层就要对该分组进行分片,分片到达目的主机之后,有目的节点的网络层再重新组装成原分组。