第一章 计算机网络基础
“如果说18世纪是机械时代,19世纪是蒸汽机时代,人类用机器来代替手。那么20世纪则是计算机时代,人类开始用机器来代替脑。而21世纪则将是信息时代,或者说是网络时代。”
计算机网络
1.1计算机网络的概念和功能及发展阶段
计算机网络:一个将分散的、具有独立功能的计算机系统,通过通信设备与线路连接起来,由功能完善的软件实现资源共享和信息传递的系统。
简单定义(教材上):两台以上具有独立操作系统的计算机通过某些介质连接成的相互共享软硬件资源的集合体。
-
计算机网络是互连的、自治的计算机集合。
- 互连——通过通信链路互联互通
- 自治——无主从关系
-
计算机网络向用户提供的最重要的两大功能:连通性、共享
计算机网络的功能
- 数据通信:相互之间发消息
- 资源共享:同一计算机网络里其他计算机使用某台计算机资源的行为。例如手机和电脑公用一台打印机(这些资源里包括硬件、软件、数据)
- 分布式处理:多台计算机共同承担同一工作的不同部分。GITHUB
- 提高可靠性
- 比如分布式处理的情况下,每个机器可以被其他的代替,继续工作
- 负载均衡
- 还是由分布式处理延申出来的。
计算机网络的发展
第一阶段:阿帕网的诞生
- 美苏冷战时期美国国防部计划发展一个分散的指挥系统,防止唯一的司令部被炸了就结束了,于是诞生了ARPAnet阿帕奇网络,不过只能在特定的一些机器上相连
- 随着时间流逝(苏解体),美想发挥这个系统的余热,于是想要扩大阿帕网的范围,于是就接受了【TCPIP协议】,实现了互联网,并选定Internet作为主要的通信系统。
- 网络把许多计算机连接在一起,而互联网则把许多网络连接在一起, 因特网是世界上最大的互联网。
- 注(i的大小写的区别):Internet特指因特网,internet是指互联网这个词
- 网络:把计算机连接在一起
- 互联网:把网络连接在一起
- 因特网:最大的互联网
第二阶段:三级结构
进入这个阶段过后,许多居民已经加入用网了,但是随着需求越来越大,政府也难以经营了,于是把网络的管理权下放给企业,但对其收费
“JOJO 我不做滥好人啦”
第三阶段—多层次ISP结构
-
ISP:因特网服务提供者/因特网 服务提供商。(Internet Service Provider)
-
分为主干ISP、地区ISP和本地ISP。
- 如中国电信、中国移动
- (所以你交的网费,其实就是给了ISP)
- 给了ISP们钱钱,他们往再上一层申请一个IP,下发给你,这个IP是固定哒。
图的第三层右边有个IXP:因特网的交换点,其功能是可以允许同一层的两个ISP之间的进行相互连,不需要再像以前一样,上传到上面,再下发给另一个人。
- 以前的模式:AB两栋楼,我和朋友都住在6楼,不同的是我住在A栋,他住在B栋,我如果要想找他玩,我就可以从A楼的天台,然后再过到B栋去找他来一场刺激的线下SOLO
- 现在的话,我们直接对窗吊一根线滑过来。
网络攻击
攻击方式:植入恶意软件、攻击服务器和网络基础设施、嗅探分组、伪装、修改或删除报文
1.植入恶意软件:病毒、蠕虫、僵尸网络
通过各种手段在大量计算机中植入特定的恶意程序,使控制者能够通过相对集中的若干计算机直接向大量计算机发送指令的攻击网络。攻击者通常利用这样大规模的僵尸网络实施各种其他攻击活动。
2.攻击服务器和网络基础设施
拒绝服务攻击(Denial of Service , DoS):攻击者通过海量的伪造分组使得合法用户无法正常使用资源(服务器、带宽),三种类型:弱点攻击、带宽洪泛、连接洪泛
3.嗅探分组
记录每个流经的分组拷贝的被动接收机。容易受到攻击的网络:无线网络和以太网LAN
4 . 伪装
生成具有任意源地址、分组内容和目的地址的分组,然后将这个人工制作的分组传输到因特网中将具有虚假源地址的分组注入因特网的能力,称为IP哄骗(spoofing)
解决方法:采用端点鉴别机制
5.修改或删除报文
中间人攻击
1.2 计算机网络组成&分类&性能指标
计算机网络组成
- 组成部分:硬件、软件、协议
- 工作方式
- 边缘部分:用户直接使用 —— C/S方式、P2P方式
- 核心部分:为边缘部分服务
- 功能组成
- 通信子网:实现数据通信
- 资源子网:实现资源共享/数据处理
如图,计算机网络的核心部分是网络和交换设备,用户主机是边缘部分。
计算机网络的分类
标准的分类
- 法定标准
- 由权威机构(OSI)指定的正式的、合法的标准
- 事实标准
- 某些公司的产品在竞争中占据了主流,时间长了过后,这些产品中的协议和技术就成了标准(TCP/IP)
标准化工作的相关组织
- 国际标准化组织ISO —— OSI模型、HDLC协议
- 国际电信联盟 ITU —— 制定通信规则
- 电气和电子工程师协会IEEE —— 学术机构、IEEE802系列标准、5G
- lnternet工程任务组IETF —— 负责因特网相关标准的制定RFC XXXX
1.3 计算机性能指标
- 速率、带宽、吞吐量、时延、时延带宽积、往返时延RTT、利用率
速率
- 速率别称数据率或称数据传输率或比特率。
- 即连接在计算机网络上的主机在数字信道上传送数据位数的速率。
- 单位是b/s, kb/s,Mb/s,Gb/s,Tb/s
带宽
- “带宽”原指某个信号具有的频带宽度,即最高频率与最低频率之差,单位是赫兹(Hz)。
- 计算机网络中,带宽用来表示网络的通信线路传送数据的能力,通常是指单位时间内从网络中的某一点到另一点所能通过的“最高数据率”。单位是“比特每秒”, b/s, kb/s,Mb/s,Gb/s。也就是网络设备所支持的最高速度
例
吞吐量
表示在单位时间内通过某个网络(或信道、接口〉的数据量。单位b/s,kb/s,Mb/s等
吞吐量受网络的带宽或网络的额定速率的限制。
如图,即使链路带宽达到了100Mb/s,但是吞吐量上不去,只有30Mb/s
并且吞吐量常常取最小的那个作最终结果
时延
指数据(报文/分组/比特流)从网络(或链路)的一端传送到另一端所需的时间。也叫延迟或迟延。单位是s。
时延的分类
- 发送时延
- 从主机A上把数据放到信道上耗时
- 发送时延 = 数据长度/信道带宽(发送速率)
- 传播时延
- 在信道上传输耗时
- 传播时延 = 信道长度/电磁波在信道上的传播苏
- 排队时延
- 在交换设备这里排队耗时
- 处理时延
- 交换设备会检查数据正确与否,故耗时
时延带宽积
也就是中间这条链路的“容量”——"该链路现在有多少比特"
往返时延RTT
往返时延包括:
- 传播时延*2
- 末端处理时间(太小就忽略不计)
利用率
右图,当利用率无限接近1的时候,时延接近无穷大
“实际”因特网延时及路由
如何追踪源和目的之间经过的路由?
traceroute 诊断程序
例
在以下a)、b)两种报文传输方式中,源主机将一个长度为8×106比特的应用层报文发送到目的地。假定分组交换机具有足够大的输入输出缓存,网络中没有其他流量,忽略传播、排队和处理时延。
1、考虑报文不分段情况a),三段链路的传输速率分别为2Mbps、8Mbps、4Mbps,分组交换机采用直通转发方式进行数据交换。
(1)报文从源到目的地传送的吞吐量是多少?
(2)报文传输到目的地大致需要多少时间?
答:
1)该文件从源到目的地传送的吞吐量 = min{2Mbps, 8Mbps, 4Mbps} = 2Mbps
2)该文件传输到目的地大致需要的时间为:(8×106) / (2×106) = 4 sec。等处理功能,当出现差错时,能够通知发送方重新发送。
2、考虑报文不分段情况a),每段链路都是2Mbps,分组交换机采用存储转发方式。
(1)报文从源主机发送到第一台分组交换机需要多长时间?
(2)报文从源主机发送到目的地主机需要多长时间?
答:
1)报文从源主机发送到第一台交换机需要的时间为:(8×106) / (2×106) = 4 sec。
2)分组交换机使用存储转发方式,报文从源主机发送到目的地主机需要的时间为:4sec×3 = 12 sec。
3、比较(1)和(2)的结果,阐述分组交换机采用存储转发的特点。
答:采用存储转发的分组交换机,传输过程中花费了一定的处理时间,使得传输速率降低,但是由于对分组进行了差错检测
4、考虑报文分段情况b),每段链路都是2Mbps。假定报文被分段为800个分组,每个分组为10000比特长。
(1)第一个分组从源主机发送到第一台分组交换机需要多长时间?
(2)第二个分组被第一台分组交换机接收到需要多长时间?
(3)第一个分组被第二台分组交换机接收到需要多长时间?
(4)整个报文被目的地主机完全接收需要多长时间?
答:
1)第一个分组从源主机发送到第一台交换机需要的时间为:(1×104) / (2×106) = 5 msec。
2)第二个分组被第一台交换机接收到的时间 = 2×5 msec = 10 msec
3)第一个分组被第二台交换机接收到的时间 = 2×5 msec = 10 msec。
4)第一个分组被目的地主机接收的时间为:5 msec×3 hops = 15 msec。
随后每隔5msec一个分组被接收,因而最后一个分组(第800个)被接收的时间为:15 msec + 799*5 msec = 4.01 sec。
1.4分层结构、协议
- 分层结构
- 协议
- 结构
- 服务
- lSO/OSI参考模型及详解
- TCP/IP参考模型
- 5层参考模型
为什么分层
发送文件前要完成的工作:
(1)发起通信的计算机必须将数据通信的通路进行激活。
(2)要告诉网络如何识别目的主机。
(3)发起通信的计算机要查明目的主机是否开机,并且与网络连接正常。
(4)发起通信的计算机要弄清楚,对方计算机中文件管理程序是否已经做好准备工作。
(5)确保差错和意外可以解决。
——光是发一个文件就有这么多的步骤!
——我们还是把大问题分解成小问题再解决吧
分层
-
实体:第n层中的活动元素称为n层实体。同一层的实体叫对等实体。
-
协议:为进行网络中的对等实体数据交换而建立的规则、标准或约定称为网络协议。【水平】
-
语法:规定传输数据的格式语义:规定所要完成的功能
-
同步:规定各种操作的顺序
-
接口(访问服务点SAP) :上层使用下层服务的入口。
-
服务:下层为相邻上层提供的功能调用。【垂直】
-
SDU服务数据单元:为完成用户所要求的功能而应传送的数据。
-
PCI协议控制信息:控制协议操作的信息。
-
PDU协议数据单元:对等层次之间传送的数据单位。
概念总结
- 网络体系结构是从功能上描述计算机网络结构。
- 计算机网络体系结构简称网络体系结构,分层结构。每层遵循某个/些网络协议以完成本层功能。
- 计算机网络体系结构是计算机网络的各层及其协议的集合。
- 第n层在向n+1层提供服务时,此服务不仅包含第n层本身的功能,还包含由下层服务提供的功能。但是,仅仅在相邻层间有接口,且所提供服务的具体实现细节对上一层完全屏蔽。
- 体系结构是抽象的,而实现是指能运行的一些软件和硬件。
计算机网络分层结构
- 7层OSI参考模型(法定标准)
- 4层TCP/IP参考模型(事实标准)
- ==> 5层体系结构
OSI模型的诞生
目的︰支持异构网络系统的互联互通。
国际标准化组织(ISO)于1984年提出开放系统互连(OSI)参考模型。但是!理论成功,市场失败。
ISO/OSI参考模型解释通信过程
A与B的通信,中间可能会经过很多的交换设备帮忙传输
A负责打包发送,B负责拆包查收
OSI参考模型详解
应用层
- 所有能和用户交互产生网络流量的程序
- 文件传输(FTP)、电子邮件(SMTP)、万维网(HTTP)
表示层
- 用于处理在两个通信系统中交换信息的表示方式(语法和语义)
- 功能
- 功能一︰数据格式变换翻译官
- ….0111011000…. ==> “仰天大笑出门去,我辈岂是蓬蒿人”
- 功能二∶数据加密解密
- "我的微信支付密码是XXXX"
- 功能三:数据压缩和恢复
- 打视频电话
- 功能一︰数据格式变换翻译官
- 主要协议: JPEG、ASCII
会话层
- 向表示层实体/用户进程提供建立连接并在连接上有序地传输数据。 这是会话,也是建立同步(SYN)
- 功能
- 功能一︰建立、管理、终止会话
- 功能二∶使用校验点可使会话在通信失效时从校验点/同步点继续恢复通信,实现数 据同步
- 适用于大文件传输
- 主要协议: ADSP、ASP
传输层
- 负责主机中两个进程的通信,即端到端的通信。传输单位是报文段或用户数据报
- 功能
- 功能一︰可靠传输、不可靠传输
- 功能二∶差错控制
- 功能三:流量控制
- 功能四:复用分用
- 记忆口诀:可差的也能留用??
- 复用:多个应用层进程可同时使用下面运输层的服务。
- 分用:运输层把收到的信息分别交付给上面应用层中相应的进程。
- 主要协议: TCP、UDP
网络层
- 主要任务是把分组从源端传到目的端,为分组交换网上的不同主机提供通信服务。 网络层传输单位是数据报。
- 功能
- 功能一:路由选择(选择 最佳路径 )
- 功能二:流量控制
- 功能三:差错控制
- 功能四:拥塞控制
- 若所有结点都来不及接受分组,而要丢弃大量分组的话,网络就处于拥塞状态。
- 因此要采取一定措施, 缓解这种拥塞。
- 主要协议:IP、IPX、ICMP、 IGMP、ARP、RARP、OSPF
链路层
- 主要任务是把网络层传下来的数据报组装成帧。 数据链路层/链路层的传输单位是帧。
- 功能
- 功能一:成帧(定义帧的开始和结束)
- 功能二:差错控制 (帧错+位错)
- 功能三:流量控制
- 功能四:访问(接入)控制
- 控制对信道的访问
- 主要协议: SDLC、HDLC、PPP、STP
物理层
-
主要任务是在物理媒体上实现比特流的透明传输。 物理层传输单位是比特。
-
透明传输:指不管所传数据是什么样的比特组合,都应当能够在链路上传送。
-
功能
- 功能一:定义接口特性
- 功能二:定义传输模式
- 功能三:定义传输速率
- 功能四:比特同步 单工、半双工、双工
- 功能五:比特编码
-
主要协议: Rj45、802.3
TCP/IP模型 & 5层参考模型
相同点
- 都分层
- 基于独立的协议栈的概念
- 可以实现异构网络互联
不同点
- OSI定义三点︰服务、协议、接口
- OSI先出现,参考模型先丁协议发明,不偏向特定协议
- TCP/IP设计之初就考虑到异构网互联问题,将IP作为重要层次
5层参考模型
综合了OSI和TCP/IP的优点