网络层的核心功能

网络层提供的服务是将数据从源主机到目的主机进行数据报传输,网络中的每一个主机和路由器都有一个网络层,提供主机到主机(路由器)之间的服务。

在发送端,网络层将传输层的数据段(segment)进行封装,封装到网络层的数据报(datagram)中进行传输。

在接收端,网络层需要把数据段(datagram)提取出数据段(segment)给传输层进行处理。

一、网络层核心功能

1.1 转发,路由选择

转发(forwarding)是指把数据分组从路由器的输入端口转移到合适的输出端口,由硬件完成。 路由器是如何知道当前输入的分组应该从那个输出端口转发出去呢?答案就是转发表。

每一个路由器需要维护一个转发表,路由器基于转发表来决定输入的分组应该被转发到那个输出接口。当请求到来时,路由器直接读取转发表即可。

转发表示意图:

地址 输出链路
0001 1
0002 3
0003 2

所以路由器需要事先维护一个转发表,这便是网络层的另外一个核心功能:路由选择。

路由选择(routing)是指确定分组从源到目的地的路径的网络处理过程,由软件实现。

路由器基于一定的路由算法来计算路径,最终计算出来的路径信息保存到了转发表里面,供路由器转发时使用。

1.2 连接建立

针对某些网络比如ATM网络,在分组传输前需要先建立连接。

网络层连接和传输层连接的区别:

  1. 网络层连接:主机到主机之间(或者路由器)
  2. 传输层连接:属于端到端的进程之间的连接

ATM网络慢慢在退出舞台。

二、网络层服务模型

2.1 无连接服务

  1. 不事先为分组确定传输路径

  2. 每个分组的独立确定传输路径

  3. 不同分组的路径可能不同:转发表可能会变(会出现先出发后到达的case)

核心用是数据报网络,现在急于tcp/ip的internet就是数据报网络

2.2 连接服务

  1. 传输前为整个分组建立连接,确定传输路径
  2. 后续所有分组都急于预先确定的路径(连接)进行传输
  3. 所有分组的传输路径相同
  4. 传输结束后需要拆除连接

核心使用时虚电路网络,ATM网络,出于淘汰状态。所为虚电路就是模拟电路交换,传输前先建立连接,资源进行独占。

作者:iBrake
本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利.
原文地址:https://www.cnblogs.com/Brake/p/14413902.html