• 计算机网络复习总结之网络层(一)


    最近也准备临近考试月了,抽时间精简总结一下《计算机网络》。这是一篇关于计算机网络的第三层,网络层相关的知识。

    在计算机网络的分层中,网络层的作用就是将分组从源主机沿网络路径发到目的主机上,所以网络层里最核心的功能就是:分组转发路由选择

    分组转发和路由选择


    既然我们知道了网络层里最核心的两个功能,那我们有必要逐个了解它们分别是干什么的。

    • 分组转发。当一个分组到达路由器输入链路时,需要将该分组转发到相应合适的输出链路上。每一个分组都会带有一个首部,而首部里有转发的标识。路由器根据转发标识,查询路由器内的转发表(forwarding table),转发表会为分组指出该通往的输出链路。

    • 路由选择。当分组开始从源主机发往目的主机,网络层必须决定分组该采用的路由或路径。而路由选择,就是用来提供分组转发时所需要的转发表。

    网络层提供的两种服务


    网络层可以为用户提供两种服务,一个是面向连接的服务,另一种则是无连接的服务。我们在现有的计算机网络体系结构中,网络层只能单独提供其中一个服务的,两种服务同时提供是不存在的。

    在网络层提供面向连接的计算机网络被称为虚电路网络(virtual-circuit network),而提供无连接的计算机网络则被称为数据报网络(datagram network)。我们首先大致了解一下它们的特点:

    虚电路网络

    虚电路网络是借鉴电信网的成功例子的,让网络来负责可靠交付。虚电路网络要求两个计算机进行通信时,应当先建立连接,也就是虚电路。然后双方就通过该虚电路发送分组。这样分组无需头部节省开销,信号传输也十分可靠。通信结束后,就释放掉虚电路。但无疑,网络的造价相对会更加昂贵。

    数据报网络

    因特网的先驱者则坚定认为无连接服务是更适合因特网的网络层的。电信网的提供可靠的传输服务,对于电话这种无智能,没有处理差错能力的设备无疑是非常奏效的。但计算机是可以有很强的差错处理能力的。所以因特网设计时就与电信网完全不一样:网络层向上只提供简单灵活的、无连接的、尽最大努力交付的数据报服务

    在数据报网络里,分组发送时并不需要建立连接,每一个分组都是独立发送的,并且网络层不提供服务质量保证。所以分组在发送过程中,会出现出错、丢失、重复和失序,还有交付期限。而为了保证通信可靠,这些差错处理则交给网络边缘主机——终端,来进行处理。这样网络核心相比之下就简单许多,网络造价大大降低,并且灵活适应性强。这种设计思想称为端到端原则(end-to-end arguments),到现在也验证了这种设计思路是明智的。

    总结两者对比

    我们最后归纳一下虚电路网络与数据网络的对比。

    对比的方面 虚电路网络 数据报网络
    思路 可靠通信应当由网络来保证 可靠通信应当由用户主机保证
    连接的建立 必须有 不需要
    终点地址 建立阶段使用,分组使用虚电路号 每个分组都有终点的完整地址
    分组的转发 属于同一条虚电路的分组按照同一路由进行转发 每个分组独立选择路由进行转发
    节点故障 所有通过该节点的虚电路都无法工作 会出现丢失分组,路由会相应变化
    分组顺序 顺序到达 不一定按照顺序到达
    服务质量保证 通信资源提前分配给虚电路,容易实现 很难实现
  • 相关阅读:
    UML模型
    Clustering vs. Witness SQL Server AlwaysOn vs. Database Mirroring
    工具软件推荐
    用StyleCop规范团队代码
    个人整理的Knockout.js文档,有兴趣的朋友可以直接下载!
    认识ASP.NET MVC的5种AuthorizationFilter
    深入探讨ASP.NET MVC的筛选器
    如何在调用WCF服务之前弹出一个确认对话框?
    愤青,哀哉我本愤青幸哉
    vs2005入门 .Net2.0视频教程 之 DataSet深入使用 [视频]
  • 原文地址:https://www.cnblogs.com/YikaJ/p/4532869.html
Copyright © 2020-2023  润新知