计算机网络:概述

本文探讨了计算机网络中的数据传输、协议原理、OSI七层和TCP/IP四层模型,以及遇到的问题如数据传输路径、错误处理和性能评价。通过分而治之的方法,详细解释了从应用到物理层的通信过程和关键概念。

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 网络评价指标

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

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

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

HenrySmale

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值