01 - 计算机网络中的基本概念

发布于 2022年 04月 08日 00:49

计算机网络的一些基本概念

什么是计算机网络

计算机网络由一些通用的, 可编程的硬件互连而成的, 这些硬件能够用来传送多种不同类型的数据, 支持广泛的和日益增长的应用

  • 多种硬件: 计算机, 智能手机, 智能传感器等各种硬件
  • 多种应用: 图片, 音频, 视频等各种应用

什么是互联网

互联网(Internet): 采用TCP/IP协议族作为通信规则, 把各种计算机连接起来而形成的一个网络, 它是一个全球范围内的连通性和共享的计算机网络

注意

internet(通用名词): 泛指多个计算机形成的网络

Internet(专用名词): 特指采用TCP/IP协议族作为通信规则的计算机网络

计算机网络的分类

  • 电话网络: 提供电话电报及传真服务

  • 有线电话网络: 向用户发送各种电视节目

  • 计算机网络: 在计算机之间传送数据文件

计算机网络的特点

  • 连通性: 可以彼此交换信息
  • 共享: 资源共享 (信息共享, 软件共享, 硬件共享)

计算机网络的组成

边缘部分

由所有连接在互联网上的主机组成. 用户直接使用, 用来通信和资源共享

可以是电脑, 手机或者摄像头

核心部分

由大量网络和连接这些网络的路由器组成. 为边缘部分提供服务

可以是服务器, 大型计算机

什么是通信

主机A和主机B进行通信: 实际上是指运行在主机A上的某个程序和运行在主机B上的某个程序进行通信

也就是主机A的某个进程和主机B上的某个进程进行通信, 简称为"计算机之间的通信"

通信方式

  • C/S方式(客户/服务器方式)

客户端的进程和服务器端的进程间的通信, 被服务和服务的关系

客户是服务的请求方, 服务器是服务的提供方

  • P2P方式(Peer-to-Peer方式, 对待连接方式)

两个主机在通信时不需要区分哪个是服务请求方哪个是服务提供方

P2P特点: P2P方式本质上仍然是客户C/S方式, 只是P2P中的每一个主机既是客户又是服务器

客户端软件的特点

  • 必须知道服务器的地址
  • 在打算通信时主动向服务器发起通信请求
  • 不需要知道特殊的硬件和很复杂的操作系统

服务器端软件的特点

  • 不需要知道客户程序的地址

  • 一直不断的运行着, 被动的等待

  • 一种专门用来提供某种服务的程序

交换技术

  • 电路交换
  • 分组交换
  • 报文交换

电路交换

两部电话需要2根线

5部电话需要10根线

n部电话需要n(n-1)/2根线

可以发现需要电线的数量与电话数量的平方成正比, 我们使用交换机来解决这个问题

电路交换的三个阶段

  • 建立连接 建立一条专用的物理通路, 保证这条道路不会被其他用户占用

  • 通信: 相互通话

  • 释放连接: 释放这条专用的物理通路, 保定其它用户可以使用

电路交换的特点

  • 面向连接
  • 具有突发性
  • 通信线路的利用率我很低 (10%以下, 甚至不到1%)

分组交换的特点

  • 采用存储转发技术

  • 把长报文划分成较短的, 固定长度的数据段, 在每一个数据段前面加上首部构成分组(packet)

  • 把各分组发送到接收端

  • 接收端剥去首部还原成报文

分组交换的优点

  • 高效 动态分配传输带宽, 对通信链路逐段占用
  • 灵活 为每一个分组独立选择最合适的路由
  • 迅速 可以不先建立连接, 就能向其他主机发送分组
  • 可靠 可靠的网络协议, 分布式多路由的分组交换网

分组交换的问题

  • 在结点存储转发时需要排除, 造成一定的时延
  • 每个分组必须携带首部, 造成一定的开销

路由器处理过程

  • 把收到的分组先放入缓存

  • 查找转发表, 找出到目的地址从哪个端口转发

  • 把分组送到适当的端口转发出去

主机和路由器的区别

  • 主机是为用户进行信息处理的, 并向网络发送分组, 从网络接收分组

  • 路由器对分组进行存储转发, 最后把分组交付目的主机

三种交换的比较

连接传送大量数据, 传送时间远大于连接建立时间, 则电路交换的传输速率较快

报文交换和分组交换不需要预先分配带宽, 在传送突发数据时可提高整个网络的信道利用率

每个分组的长度远远小于整个报文的长度, 因此分组交换的时延小, 有更好的灵活性

互联网的类别

按照范围进行分类

广域网WAN(Wide Area Network) 作用范围几十到几千公里

城域网MAN(Metropolitan Area Network) 作用范围5-50公里

局域网LAN(Local Area Network) 1公里左右

个人区域网PAN(Personal Area Network) 10米左右

按照使用者进行分类

公用网(Public Network) 每个人都可以使用的网络

专用网(Private Network) 为特殊业务工作需要而建造的网络

计算机网络的性能

速率

数据的传送速率, 也称为数据率或比特率, 单位是bit/s(比特/秒)

速率往往是指额定速率或标称速率, 非实际运行速率

带宽

用来表示网络中通道传送数据的能力, 表示在单位时间内网络的信道所能通过的"最高数据率", 单位是bit/s

呑吐率

单位时间内通过某个网络的数据量

时延

数据从网络的一端传送到另一端所需的时间

  • 发送时延(传输时延) 从发送数据的第一个比特开始, 到该数据的最后一个比特结束所需时间

    发送时延 = 数据长度(bit)发送速率(bit/s)\frac {数据长度(bit)}{发送速率(bit/s)}

  • 传播时延 数据在信息中传送一定的距离而花费的时间

    传播时延 = 信道长度(m)传播速率(m/s)\frac {信道长度(m)}{传播速率(m/s)}

  • 处理时延 主机或路由器在收到分组时, 处理分组(分析首部, 提取数据, 差错控制或查找路由)所花费的时间

  • 排队时延 分组在路由器输入输出队列中排队等待处理所经历的时延

总时延 = 发送时延 + 传播时延 + 处理时延 + 排队时延

时延带宽积 传播时延 * 带宽

发送端发送的第一个bit到达接收端时, 发送端发送的bit的多少, 可以简单的理解为某段链路现在有多少bit, 也就是容量

往返时间RTT

从发送方发送数据开始, 到发送方收到来自接收方的确认, 总共经历的时间 (包括各结点的处理时延, 排队时延, 发送时延)

利用率

  • 信道利用率

    信道有百分之几的时间是被利用的

  • 网络利用率

    全网络的信道利用率的加权平均值

  • 注意

    信道利用率并非越高越好, 当信道的利用率增大时, 该信道引起的时延也就迅速增加

网络当前时延 = 网络空闲时延1网络利用率\frac {网络空闲时延}{1-网络利用率}

当网络利用率增大时, 信道引起的时延迅速增加

互联网的体系结构

OSI 理论参考模型

TCP/IP事实上的模型

网络协议

为进行网络中的数据交换而建立的规则, 标准或约定

网络协议三要素

  • 语法

数据与控制信息的结构或格式

  • 语义

需要发出何种控制信息, 完成何种动作以及做出何种响应

  • 同步(时序)

事件实现顺序的详细说明

计算机网络的体系结构

计算机网络的各层及其协议的集合

OSI的七层协议的体系结构

应用层, 表示层, 会话层, 运输层, 网络层, 数据链路层和物理层

TCP/IP的四层协议的体系结构

应用层, 运输层, 网际层和网络接口层

在实际研究中五层协议的体系结构

应用层, 运输层, 网络层, 数据链路层和物理层

数据发送和接收的过程

总结

虽然自己从事IT行业多年, 写过Java, 干过Android, 头脑一热还在HTML\CSS\JS里畅游, 嗯, 其实我的主业是iOS, 从以上可以看出, 我可能不太安生, 喜欢小打小闹, 一直浮于表面, 从未深入了解, 从未看过关于底层原理的书或者文章, 从今天开始我要改过自新, 去扎根基础与原理, 也不枉我从事的这个行业与我付出的汗水!

推荐文章