前言
本系列文章来源于《计算机网络教程》谢钧,谢希任 著 学习后的个人总结和一些内容补充和修改
1.计算机网络在信息时代中的作用
- 计算机网络为我们提供浏览信息和发布信息的平台
- 计算机网络为我们提供通信和交流的平台
- 计算机网络为我们提供休闲和娱乐的平台
- 计算机网络为我们提供资源共享的平台
- 计算机网络为我们提供电子商务的平台
- 计算机网络为我们提供远程协作的平台
- 计算机网络为我们提供网上办公的平台
2.因特网概述
网络的网络
当网络通过路由器进行互连形成覆盖范围更大的网络即互联网,所以互联网称为网络的网络
网络,互联网,因特网的基本概念
网络(Network)也称物理网络
网络(Network)由若干结点(Node)和连接这些节点的链路(Link)组成
结点(Node)
指计算机,集线器,交换机,路由器等
互联网(internet)也称逻辑网络
当网络通过路由器进行互连形成覆盖范围更大的网络即互联网
因特网(Internet)
世界上最大的互联网络,将接入Internet中的计算机称为主机(Host) 采用TCP/IP协议作为通信的规则前生为ARPANET
路由器(router)
路由器是一种特殊的计算机,它是连接不同网络的专用设备,用户并不直接使用路由器处理信息,故路由器不能称为主机
总结
网络把许多计算机连接在一起,而互联网则把许多网络连接在一起,因特网是世界上最大的互联网
因特网发展的三个阶段
第一阶段
从单个网络ARPANET向互联网发展
ARPANET
单个的分组交换网
第二阶段
逐步建成了三级结构的因特网
第三阶段
逐渐形成了多层次ISP结构的因特网
ISP三层结构
因特网的标准化工作——制定因特网的正式标准的四个阶段
- 因特网草案
- 建议草案(称为RFC文档)
- 草案标准(现在以及被取消)
- 因特网标准
RFC文档
所有的因特网标准都是以RFC文档形式在因特网上发表,意思是request for comments 请求评论,皆可在http://www.ietf.org/rfc.html上免费下载 但不是所有的RFC文档都符合因特网标准
3.因特网的组成
从功能上可分为2个部分
- 边缘部分(由所有连接在因特网上的主机组成,由用户直接使用进行各类网络操作)
- 核心部分(由大量网络和连接这些网络的路由器组成,为边缘部分提供服务【提供连通性和数据交换】)
边缘部分
C/S
将主机分为客户机(client)和服务器(server) 客户机(用户)向服务器发送请求,服务器向客户机提供服务(响应请求返回处理)
P2P
称为对等方式peer to peer 通常情况下没有固定的服务请求者和服务提供者,分布在网络中的应用进程是对等的,被称为对等方,主机之间直接进行通信 P2P方式可支持大量用户同时工作
核心部分
在核心部分中起到特殊作用的是路由器,是实现分组交换的关键构件,任务是转发收到的分组,是网络核心部分最重要的功能
分组交换
计算机网络常采用的一种通信方式,将一个数据报文划分为几个分组的概念 报文:指要发送的整块数据
储存转发
储存转发时每个分组交换机都会接收分组并存储再更具首部查找目标地址,寻找转发表进行转发最后发送到客户机 我想这张我画的图应该可以说清除
拥塞
每个分组交换机有多条链路与之相连,对于每条链路,分组交换机有一个输出缓存(又称数据队列)用于存储分组交换机准备发送到其他链路的分组,在分组交换中起着重要作用 若到达的分组需要从某条链路转发出去,但该链路正在传输其他分组,则必须进行排队等待,当一个分组到达时发现输出缓存已满则会发生分组丢失 当网络中大量分组需要从某条链路中进行转发导致分组丢失就称为拥塞
分组交换的优点
- 高效(在分组传输的过程中动态分配传输带宽,对通信链路是逐段占用的)
- 灵活(为每一个分组独立地选择转发路由)
- 迅速(以分组为传输单位,可以不先建立连接就能向其他主机发送分组)
- 可靠(分布式多路由的分组交换网,使得网络有良好的生存性)
分组交换的问题
- 路由器在转发时会造成时延
- 无法确保通信时端到端所需的带宽,在通信量大时可能造成网络拥塞
- 各分组必须携带控制信息造成了一定的开销
电路交换
使用交换机进行电话线路连通称为电路交换 电路交换进行数据传输的效率很低(线路的传输效率)
电路交换的步骤
建立连接 ==》通话 ==》释放连接
报文交换
和分组交换性质相同省去其中分组
三种交换模式对比
4.计算机网络的定义与分类
定义
一些互连的自治的计算机的集合
计算机网络的分类
1.从网络的作用范围进行分类
- 局域网(LAN)
- 城域网(MAN)
- 广域网(WAN)
- 个人区域网(PAN)
2.从网络的使用者进行分类
- 公用网(public network)
- 专用网(private network)
5.计算机网络的主要性能指标
速率
指数据的传送速率,也称为数据率或比特率,是计算机网络中最重要的一个性能指标
比特(bit)
计算机中数据量的单位,是二进制的
单位
bit/s或bps或b/s 换算1000进:1kb/s = 1000b/s
带宽
指某个信号具有的频带宽度或表示网络的通信线路所能传送数据的能力
单位
当指某个信号具有的频带宽度时单位为:赫Hz 当表示网络的通信线路所能传送数据的能力时单位为:bit/s
吞吐量
也称为吞吐率,表示在单位时间内通过某个网络的数据量 受到网络带宽或网络的额定速率的限制 单位同比特
时延
指数据从网络的一端传输到另一端所用的时间,也称延迟或迟延
时延的组成
- 发送时延
- 传播时延
- 处理时延
- 排队时延
发送时延
也称传输时延 主机或路由器将分组发送到通信线路上所需要的时间 公式:发送时延 = 分组长度 / 发送速率 单位:bit 在分组交换中计算机在发送数据时以信道最高数据率发送数据。所以发送速率可改为信道带宽
传播时延
是电磁波在信道中需要传播一定的距离而花费的时间 公式:传播时延 = 信道长度 / 电磁波在信道上的传播速率 在光纤中一般为2*10^5 km/s
处理时延
主机或路由器受到分组后所花费的处理时间(俗称解包)
排队时延
在分组交换进行网络传输时需要经过多个路由器,分组会在每个路由器中进行相应的接收==》存储==》解析==》转发一套过程,数据量多时造成的数据排队的时间就是排队时延
丢包率
即分组丢失率,指在一定时间范围内分组传输过程中丢失的分组数量与总的分组数量的比率 可分为:接口丢包率,结点丢包率,链路丢包率,路径丢包率,网络丢包率等 通信量大时造成的网路拥塞导致分组交换机的队列溢出和分组丢失是主要原因 丢包率高时用户感受到的仅是网络延时大,网速慢而不是信息丢失
利用率
分为信道利用率和网络利用率两种 信道的利用率并不是越高越好,利用率大时反而易造成网络拥塞以致丢包等问题产生 一般来说ISP通常会控制信道利用率在50%以下 若超出则需要扩容
信道利用率
指某信道有数据通过量,完全闲置的信道的利用率为0
网络利用率
全网路的信道利用率的加权平均值
6.计算机网络体系结构
协议和分层的体系结构是最重要的!
网络协议
计算机网络由多个结点组成,当各个结点需要进行数据交换时需要遵守相关的规则称为网络协议 网络协议明确规定了所要交换的数据的格式和时序,以及在发送或接收数据时要采取的动作等问题
网络协议的组成
- 语法(数据与控制信息的结构或格式)
- 语义(各个控制信息的具体含义,包括需要发出何种控制信息,完成何种动作以及何种响应)
- 同步(事件实现顺序和时间的详细说明,包括数据应该在何时发送,以什么速率发送)
网络的体系结构
计算机网络的层次模型与各层协议的集合 指这个计算机网络及其部件所应完成的功能的精确定义 体系结构是抽象的,实现是具体的,是正在运行的计算机硬件和软件
按照层次结构所设计的计算机网络的体系结构的好处
- 各层之间相互独立
- 灵活性高
- 结构上可分割开
- 易于实现和维护
- 有利于功能的复用
- 能促进标准化工作
OSI模型
TCP/IP模型
5层协议模型
应用层
任务
如何通过应用进程间的交互来完成特定的网络应用
协议
HTTP,SMTP电子邮件协议,FTP文件传输协议
报文
应用层交互的数据单元
传输层
任务
负责向两台主机中进程之间的通信提供通用的数据传输服务
协议
- 传输控制协议(TCP):提供面向连接的,可靠的数据传输服务(3次握手,4次挥手),其数据传输单位是报文段
- 用户数据报协议(UDP):提供无连接的,尽最大的努力的数据传输服务,无法确保数据传输的可靠性,其数据传输的单位是用户数据报
网络层
任务
为分组交换网上的不同主机提供通信服务 在发送数据时,网络层把运输层产生的报文段或用户数据报封装成分组或包进行传输 由于网络层使用IP协议,因此分组也叫做IP数据报
协议
IP协议
数据链路层
任务
将分组从链路的一端传送到另一端
传输数据单元
称为帧 每一帧包括数据和必要的控制信息,如有错则数据链路层会丢弃有错误的帧以免浪费资源
物理层
任务
在传输媒体上传送比特流(即01二进制数据)
传输单位
比特
标准传输过程
看到这里再去理解上面的储存转发图应该就可以结合起来理解了
实体,协议和服务
实体Entity
表示任何可发送或接收信息的硬件或软件进程
协议
控制两个对等实体进行通信的规则的集合 例如应用层所要使用的HTTP协议
服务
在协议的控制下,两个对等实体间通信使得本层能够向上一层提供服务要实现本层协议,还需要使用下一层所提供的服务 这里我写个例子吧 Java中:mapper向entity索取服务,service向mapper索取服务,control再向service索取服务
@Autowired
private UserService userService;
其自动注入其实也是这样的一种思想 使用本层服务的实体只能看见服务但无法看见下面的协议,下面的协议对上面的实体是透明的(指看不到,不存在)
协议是水平的,服务是垂直的!
|