计算机网络学习(一) 计算机网络概述
正在学习计算机网络课程,以下是学习的一些笔记,知识点分类摘录自mooc网哈尔滨工业大学计算机网络课程:https://www.icourse163.org/course/HIT-154005,部分定义摘录自《计算机网络-自顶向下方法》
1.计算机网络基本概念
1.1计算机网络
- 计算机网络是通信技术与计算机技术紧密结合的产物,计算机网络就是一种通信技术。
- 定义:计算机网络就是互连的、自治的计算机的集合。
- 互连:互联互通
- 自治:无主从关系
- 远距离怎么通信?
- 主机可以通过交换网络实现通信,交换网络中含有交换节点(路由器、交换机)
1.2什么是Internet
从组成细节上看
数以百万计的互连的计算设备集合(PC、服务器、无线笔记本、智能手机
- 将以上设备统称为主机(host)或端系统(end systems),它们都运行着各种网络应用。
- 它们通过通信链路相连(光纤、铜缆、无线电、卫星)
- 也不可能通过通信链路直连所有主机,因此,有了交换网络,实现数据的分组转发(路由器routers和交换机switches)
从服务的角度
- 为网络应用提供通信服务的通信基础设施
- 为网络应用提供应用编程接口(API)
1.3网络协议
网络协议(network protocol),简称协议,是为进行网络中的数据交换而建立的规则、标准或约定。
- 规定了通信实体之间所交换的消息的格式、意义、顺序以及针对收到信息或发生的事件所采取的动作(actions)。
- 基本要素:语法(Syntax,规定结构或格式)、语义(Semantics)、时许(Timing,事件顺序和速度匹配)
- 协议规范了网络中所有信息发送和接受过程
2.计算机网络结构
2.1计算机网络结构
- 网络边缘
- 主机(端系统)
- 网络应用(客户/服务器模型、对等(peer-peer、P2P)应用模型)
- 接入网络
- 有线或无线通信链路,要把网络边缘接入核心网(边缘路由器)
- 网络核心
- 互联的路由器或分组转发设备
- 核心功能:路由(routing) + 转发(forwarding)
- 路由:确定分组从源到目的的传输路径,路由算法得出转发表、路由表
- 转发:将分组从路由器的输入端口换至正确的输出端口
2.2Internet结构
端系统通过接入ISP(互联网服务提供商,Internet Service Provider)连接到Internet。具体结构很难表述(复杂性、动态性)。
3.网络核心
网络核心就是要实现数据交换,数据交换的类型:电路交换、报文交换、分组交换
3.1电路交换
- 典型的电路交换网络:电话网络
- 电路交换的 三个阶段:
- 建立连接
- 通信(独占资源)
- 释放连接
- 电路交换网络中如何实现链路共享?——多路复用(Multiplexing)
3.2多路复用
- 典型多路复用方法:
- 频分多路复用(frequency division multiplexing——FDM)
- 各用户占用不同的宽带资源(频率带宽)
- 用户在分配到一定的频带后,在通信的过程中始终占用这个频带
- 时分多路复用(time division multiplexing——TDM)
- 将事件划分为一段段等长的时分复用帧,每个用户在每个TDM帧中占用固定序号的时隙
- 时隙周期出现,周期就是TDM帧的长度
- 所有用户在不同时间占用相同的频带宽度
- 波分多路复用(Wavelength division multiplexing——WDM)
- 利用光的频分复用
- 码分多路复用(Code division multiplexing——CDM)
- 广泛应用于无线链路共享
- 频分多路复用(frequency division multiplexing——FDM)
3.3报文与分组交换
- 报文:源(应用)发送信息整体,如一个文件
- 分组:报文分拆出来的一系列相对较小的数据包
- 分组交换需要报文的拆分与重组,产生额外开销
- 报文交换与分组交换的联系:
- 均采用存储-转发的交换方式
- 报文交换以完整报文进行存储-转发
- 分组交换以较小的分组进行存储-转发
4.计算机网络性能
- 速率:数据率(data rate)、数据传输速率、比特率(bit rate)
- 指单位时间传输信息(比特)量
- 单位:b/s、kb/s、Mb/s、Gb/s
- 带宽:bandwidth
- 网络中的带宽通常指数字信道所能传送的最高数据率
- 单位:b/s、kb/s、Mb/s、Gb/s、Tb/s
- 延时(delay)/时延(latency)
- 分组到达路由器后要在缓存中排队,当分组到达速率超出输出链路容量时会发生丢包(loss);分组排队,等待输出链路可用时,会发生时延。
- 四种分组延迟:
- 结点处理延迟,nodal processing delay
- 排队延迟,queuing delay
- 传输延迟,transmission delay
- 传播延迟,propagation delay
- 时延宽带积
- 时延宽带积 = 传播时延 * 带宽
- 又称为以比特为单位的链路长度
- 分组丢包
- 队列缓存已满时到达的分组将被丢弃,丢弃分组可能由前序结点或源节点重发,也可能不重发
- 丢包率 = 丢包数 / 已发分组总数
- 吞吐量(Throughput)
- 表示在发送端与接收端之间传送数据速度(b/s)
- 即时吞吐量
- 平均吞吐量
5.计算机网络体系结构
5.1体系结构概述
- 分层结构,从功能上描述计算机网络结构,是抽象的
- 每层遵循某些网络协议完成本层功能
- 分层结构结构清晰,有利于识别复杂系统的部件及其关系,模块化的分层易于系统更新维护,有利于标准化
5.2OSI参考模型
- 开放系统互连(Open System Interconnection),7层结构。每层都要进行数据封装,增加控制信息,构造协议数据单元PDU,传递给下一层。控制信息主要包括:地址、差错检测编码、协议控制
- 应用层,Application
- 支持用户通过用户代理(浏览器)或网络接口使用网络服务
- Web:HTTP协议
- 文件传输:FTP协议
- 电子邮件:SMTP协议
- 表示层,Presentation
- 处理两个系统间交换信息的语法与语义问题,数据的表示转化
- 实际中不单独存在
- 会话层,Session
- 不会对表示层的数据单元分割,只是加入一些控制信息
- 对话的建立与维护、同步
- 实际中不单独存在,或者说根本没有这一层
- 传输层,Transport
- 负责端到端、进程间完整报文传输
- 源主机传输层把完整报文分段,在目的主机重组
- 端到端的连接控制
- 流量控制
- 差错控制
- 网络层,Network
- 负责源主机到目的主机数据分组(packet)交付
- 逻辑寻址(Logical addressing)全局唯一逻辑地址,如IP地址
- 路由与分组转发
- 数据链路层,Data link
- 负责结点 - 结点(node to node)的数据传输
- 构建组帧(Framing),在帧头增加发送端和接收端的物理地址用以标识
- 流量控制(Flow control),避免淹没接收端
- 差错控制(Error control),检测并重传损坏或丢失帧,并避免重复帧
- 访问控制/接入控制(Access control),在任一时刻决定哪儿设备拥有链路(物理介质)控制使用权
- 物理层,Physical
- 规定接口特性:机械特性、电气特性、功能特性、规程特性
- 比特编码
- 数据率
- 比特同步
- 传输模式:单工、半双工、全双工
5.3TCP/IP参考模型
4层,IP over Everything
5.4 5层参考模型
5层参考模型是现在网络中应用最多,非常好的参考。综合了以上两者的优点
- TCP/IP:实用,真实的网络结构,实实在在的协议
- OSI:从理论上把网络概念结构讲述得非常清晰
5层:
- 应用层:支持各种网络应用,HTTP、SMTP、FTP
- 传输层:进程-进程的数据传输,TCP、UDP
- 网络层:源主机到目的主机的数据分组路由与转发,IP协议、路由协议
- 链路层:相邻的网络元素(主机、交换机、路由器)的数据传输
- 物理层:比特传输