网络层(network layer)控制通信子网的运行过程。网络层面临的一个关键问题是需要确定如何将分组从源节点路由到目标节点。从源节点到目标节点的路径可以建立在静态路由表的基础之上,这些表相当于是网络的“布线“图,而且很少会变化。源节点到目标节点的路径可以在每一次会话开始时就确定下来,会话期间保持不变,如一次终端会话(比如,登录到一台远程机器上)。事实上,源节点到目标节点的路径往往是动态变化的,针对会话的每一个分组都要重新确定其传输路径,以便更好地应对网络当前的负载状况。
如果有太多的分组同时出现在一个通信子网中,那么这些分组彼此之间有时会相互妨碍,从而形成传输瓶颈,解决这个瓶颈依赖于网络层的拥塞控制机制。更进一步讲,如何提供更好的服务质量(比如延迟、传输时间、抖动,等等)也是网络层需要考虑的问题。
当一个分组必须从一个网络传输到另一个网络才能够到达目标节点时,这种跨网传输可能会产生很多问题,如第二个网络所使用的编址方案可能与第一个网络所使用的不同;第二个网络可能根本不能接受这个分组,因为它太大了;两个网络所使用的协议也可能不一样,等等。网络层应负责解决这些协议异构问题,从而允许不同种类的网络可以相互连接起来。
在广播式网络中,路由问题比较简单,所以网络层往往比较薄弱,甚至根本不需要存在。
资料来源:《计算机网络原理》,文章链接:https://developer.aliyun.com/article/726189
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。