zoukankan      html  css  js  c++  java
  • 计网大框架

    本文为考研复试准备,参考知乎、博客园,仅供参考,有不对的地方欢迎指正

    首先,我们可以明确计算机网络最主要的作用是通信,是为了连接端到端。

    已知三种数据交换方式(网):

    • 电路交换
    • 报文交换(分组交换是报文交换的升级)
    • 分组交换

    而使用电路交换,两点间必须建立起一条专用的物理通信路径,而且在通信的过程中,这条路径不能断,会导致通信线路被独占,导致信道利用率很低,因此我们使用分组交换。

    分组交换采用存储转发方式,在传输时不占用网络其他部分的资源,因为此时资源是共享的!将每一次传输的数据块划分成小的数据块,带上一些必要的控制信息(如源地址目的地址等)。

    而分组交换还可进一步划分为面向连接的虚电路方式无连接的数据报方式

    同样的,虚电路方式是指发送方和接收方之间建立起一条逻辑上的虚电路。这也会导致资源的浪费,而且一旦有故障结点,会导致通过该结点的虚电路均不能到达。

    因此因特网使用的是数据报方式,这种方式虽然无法保证分组的有序到达,但不需要建立连接,且可以很好地适应故障。


    那么我们接下来说明数据报分组在因特网中是如何传输的。

    首先:我们的因特网是基于物理电路的,因为我们需要将数据转换为信号。

    计算机网络通信中传输的是数字或模拟信号。

    请记住数字信号和模拟信号的形式一般采用二进制编码。

    那么!!物理层安排上了

    物理层的任务:

    1. 通过媒介传输比特流(就是0、1)
    2. 确定机械及电气规范(告诉我们接口参数、信号的意义和电气规范)

    然后我们开始发信号,然后我们必须要知道发给谁,这时,MAC地址派上了用场。每个主机都有一个,全球唯一的MAC地址!!

    那么!!数据链路层安排上了

    数据链路层的任务:

    1. 差错控制(将物理层提供的可能出错的物理连接改造为逻辑上无差错的数据链路)—— 加强物理层的功能

    2. 将比特组装成帧

    3. 传输——为网络层提供服务,提供三种方式(点到点)
      有确认的无连接
      无确认的无连接
      有确认的有连接

    4. 流量控制(在传输的过程中发送方的发送能力大于接收方的接收能力,因此需要限制发送方的发送能力)

    然而如果用mac地址来通信,会很难,因为mac地址的空间分布是无规律的,找起来很困难,所以我们需要IP地址

    那么!!网络层安排上了

    网络层的任务:

    1.异构网络互联

    2.将数据包从源到宿的传递(路由转发)

    3.拥塞控制

    然后,为了适应不同的传输需求,并行通信,我们需要端口号

    那么!!传输层安排上了

    网络层的任务:

    1.端到端的通信(进程之间的逻辑通信)

    2.差错检测

    3.复用和分用

    4.面向连接和面向无连接的服务(TCP & UDP)

    会话层:建立、管理和终止会话(会话协议数据单元SPDU)

    表示层:对数据进行翻译、加密和压缩(表示协议数据单元PPDU)

    应用层:允许访问OSI环境的手段(应用协议数据单元APDU)

  • 相关阅读:
    Python参考资料汇总
    Redis发布/订阅
    Redis读书笔记之API的理解和使用
    三、Dubbo源码学习笔记(一)之 Spring容器启动
    利用VMware在虚拟机上安装Zookeeper集群
    二、Dubbo相关文献链接
    一、Dubbo初体验
    @Retention小记
    EasyUI知识点杂记
    ---Mybatis3学习笔记(2)补充
  • 原文地址:https://www.cnblogs.com/tanghm/p/12880213.html
Copyright © 2011-2022 走看看