• 计算机网络:概述


    0 学时安排及讨论题目

    在这里插入图片描述

    0.1讨论题目:

    1. CSMA/CD协议
    2. 交换机基本原理
    3. ARP协议及其安全
    4. 子网划分
    5. IP分片
    6. 路由选择算法
    7. 网络地址转换NAT
    8. TCP连接建立和释放
    9. 再论网络体系结构

    0.2 本节主要内容

    问题描述
    解决思路
    评价指标

    1 计算机网络的问题描述

    1.1 数据层面

    从数据流动的层面去思考计算机网络:

    • 计算机、手机、摄像头等设备产生数据,这些数据如何准确无误地送到目的地?
    • 在把数据运输到目的地需要添加什么数据,比如源地址、目的地址,然而通信不仅仅在两个计算机之间,实际是计算机上的两个进程在通信,所以还需要表示进程的源端口、目的端口;
    • 在通信过程中,还需要给出合适的指令才能保证通信有效,这些指令也可以算做通信数据的一部分,比如给出指令表示建立连接、释放连接、增加窗口的大小以传输更多的数据等。

    综上所述,计算机网络涉及到的数据大概包括三个部分:应用进程产生的数据、用于运输的数据、保证正常通信的指令。

    1.2 设备层面

    我们以两个计算机A和B通信为例子来说明。
    计算机A的处理步骤大致如下:

    • 某应用进程产生数据,该数据临时保存在内存中,现在要通过网络发送到计算机B;
    • 计算机A的应用进程获取到目的计算机B的地址,CPU发出指令对应用数据进行封装,主要是填充上面提到的运输数据和指令数据,运输数据中要填上计算机A、B的地址和表示通信进程的端口号(四元组:源地址、目的地址、源端口、目的端口);
    • CPU发出指令,将封装好的数据发送到网卡,那么网卡发送的数据下一站应该是哪里呢?
    • 大家想一想,我们配置计算机A的IP地址的时候,是不是还配置了一个默认网关,计算机A的网卡就是把数据发送到默认网关。

    默认网关收到计算机A发来的数据后,处理步骤大致如下:

    • 先存储起来;
    • 检查其中的运输数据,找到目的地址,确定从默认网关的哪一个端口发出去?怎么确定呢?有一个表格可以查询就好了,如果以主机为单位建立表格,是不是这个表格也太大了,怎么才能减小表格的大小呢?
    • 从表格中找到对应的条目后,根据表格条目的指示,把数据从对应端口发出去,作为一个中转站,发出去的数据我就不负责了哦。
    • 是不是有可能传输的过程中会涉及到多个这样的中转站,它们处理方式基本类似于默认网关。

    最后一个中转站将数据交给计算机B,计算机B的处理步骤大致如下:

    • 网卡收到计算机A发来的数据;
    • CPU将数据暂存在内存中;
    • 去掉运输数据和指令数据,发送给对应的应用进程进行处理。

    上面的过程感觉很完美了,是这样吗?还远远不够,还有一些问题没有解决:

    • 计算机A如何把数据送到中转站,中转站又如何把数据送到计算机B?(快递员)
    • 数据在传输过程中迷路了怎么办?
    • 数据在传输过程中出现错误了怎么办?
    • 数据在传输过程中由于运输能力的限制,需要分片怎么办?
    • 数据在传输过程中出现了拥塞,怎么办?

    2 解决思路

    这些问题是不是想起来特别头大,面对复杂问题,我们是不是可以采用分而治之的方法来解决它呢?

    2.1 第一种思路:OSI七层模型

    在这里插入图片描述

    2.2 第二种思路:TCP/IP四层模型

    在这里插入图片描述

    2.3 第三种思路:前面两种思路进行结合,五层模型

    在这里插入图片描述
    应用层:

    • 任务:通过应用进程间的交互来完成特定网络应用。
    • 协议:定义的是应用进程间通信和交互的规则。
    • 把应用层交互的数据单元称为报文(message)。
    • 例如:DNS,HTTP,SMTP

    运输层:

    • 任务:负责向两台主机中进程之间的通信提供通用的数据传输服务。
    • 具有复用和分用的功能。
    • 主要使用两种协议: 传输控制协议 TCP、用户数据报协议 UDP 。

    网络层:

    • 为分组交换网上的不同主机提供通信服务。
    • 路由选择:通过一定的算法,在互联网中的每一个路由器上,生成一个用来转发分组的转发表。
    • 转发:每一个路由器在接收到一个分组时,要依据转发表中指明的路径把分组转发到下一个路由器。

    数据链路层:

    • 任务:实现两个相邻节点之间的可靠通信。
    • 在两个相邻节点间的链路上传送帧(frame)。
    • 如发现有差错,就简单地丢弃出错帧。
    • 如果需要改正出现的差错,就要采用可靠传输协议来纠正出现的差错。这种方法会使数据链路层协议复杂。

    物理层:

    • 任务:实现比特(0 或 1)的传输。
    • 确定连接电缆的插头应当有多少根引脚,以及各引脚应如何连接。
    • 注意:传递信息所利用的一些物理媒体,如双绞线、同轴电缆、光缆、无线信道等,并不在物理层协议之内,而是在物理层协议的下面。

    3 网络评价指标

    如何评价一个网络的好坏?

    性能指标:
    在这里插入图片描述
    非性能指标:
    在这里插入图片描述

  • 相关阅读:
    手把手带你学SQL—牛客网SQL 插入记录(一)
    半道转嵌入式开发适合吗?(从事十年的我建议不要,你会后悔的)
    selenium 根据【关键词】获取知网文献信息
    交换机的工作原理
    卷积相关知识
    从Docker Hub获取镜像和创建容器
    电脑QQ如何录制视频文件?
    华为认证 | HCIP-Datacom,这门认证正式发布新版本!
    【hadoop】mapreduce面试题总结
    Python基础的四十二道题目(由易到难)
  • 原文地址:https://blog.csdn.net/search_129_hr/article/details/134302972