1.1 计算机网络在信息时代中的作用
1.1.1 计算机网络的定义
1.1.2 计算机网络的特点
- 连通性:使上网用户之间可以非常便捷经济地交换各种信息
- 资源共享:实现信息共享、软件共享、硬件共享
1.2 !!!互联网概述
1.2.1 !!!网络的网络
- 计算机网络:n * 节点 + m * 连接这些节点的链路。节点可以是计算机、集线器、交换机或路由器等
- 互连网(网络的网络):多个网络通过一些路由器相互连接起来,构成了一个覆盖范围更大的计算机网络
- !!!互联网 ≠ 互连网
- 网络:把许多计算机连接在一起
- 互连网:把许多网络通过一些路由器连接在一起,与网络相连的计算机常称为主机
- 互联网:连接(互连网)+信息传输与处理
1.2.2 互联网基础结构发展的三个阶段
互联网" dir="auto">1969-1990 ARPANET->互联网
- 1983 TCP/IP协议成为ARPANET上的标准协议
- 1983 互联网的诞生时间
1985-1993 建成了三级结构的互联网
- 国家科学基金网NSFNET
- 三级结构:主干网、地区网和校园网(或企业网)
1993-现在 全球范围的多层次ISP结构的互联网
- 出现了互联网服务提供者ISP(移动联通电信)
- 多层次ISP结构:主干ISP、地区ISP和本地ISP
- 互联网交换点IXP:允许两个网络直接相连并快速交换分组
- 内容提供者(爱奇艺百度……):在互联网上向所有用户提供视频等内容的公司,不向用户提供互连网的转接服务
- 20世纪90年代:万维网WWW问世
1.2.3 互联网的标准化工作
- 标准发布:以RFC(Request For Comments请求评论)的形式
- RFC相当于一个标准的池子,一步步被筛选出来形成标准
1.3 !!!互联网的组成
1.3.1 互联网的边缘部分
- 边缘部分:由所有连接在互联网上的主机组成,由用户直接使用,用来进行通信(传送数据、音频或视频)和资源共享。这些主机又称为端系统(手机、电脑、服务器等)。
- 云边端计算:数据中心-网络各种设备-手机
- 计算机之间通信:主机A的进程和主机B的进程通信。两种方式:
- C/S 客户-服务器
- 客户是服务的请求方,服务器是服务的提供方
- 客户程序
- 被用户调用后运行,需主动向远地服务器发起通信(请求服务)。
- 不需要特殊的硬件和很复杂的操作系统
- 服务器程序
- 一直不断地运行着,被动地等待并接受来自各地的客户的通信请求。
- 一般需要强大的硬件和高级的操作系统支持。
- P2P:每个主机既是C也是S,只要都运行了P2P软件,就可以进行平等的、对等连接通信
- C/S 客户-服务器
1.3.2 !!!互联网的核心部分
- 核心部分:由大量网络和连接这些网络的路由器组成,为边缘部分提供服务(提供连通性和交换)。
- 路由器:在网络核心部分起特殊作用,实现分组交换,任务是转发收到的分组
!!!三种交换技术
- 电路交换:连续传送大量的数据,且传送时间远大于连接建立时间
- 报文交换&分组交换:传送突发数据(因为不需要预先分配传输带宽)
- 分组交换优于报文交换:一个分组的长度往往远小于整个报文的长度,因此分组交换比报文交换的时延小,同时也具有更好的灵活性。
1 电路交换
- 每一部电话都直接连接到交换机上,而交换机使用交换的方法,让电话用户彼此之间可以很方便地通信
- 转接:把一条电话线转接到另一条电话线,使它们联通起来
- 电路交换:必须经过“建立连接(占用通信资源)、通话(一直占用通信资源)、释放连接(归还通信资源)”三个步骤的交换方式
- 特点:通话的两个用户始终占用端到端的通信资源
- 缺点:浪费
2 分组交换
- 采用存储转发技术
- 在发送端先把较长的报文划分成更小的等长数据段
- 在数据段前面添加首部(包头)构成分组(包)。分组是在互联网中传送的数据单元
- 发送端依次把各分组发送到接收端
- 接收端收到分组后剥去首部,还原成原来的报文
- 分组的转发
- 根据首部中包含的目的地址、源地址等信息进行转发
- 每个分组在互联网中独立选择传输路径
- 位于网络核心部分的路由器负责转发分组,即进行分组交换
- 路由器要创建和动态维护转发表(所以在路由器中的输入和输出端口之间没有直接连线)
- 优点
- 高效:在分组传输的过程中动态分配传输带宽,对通信链路逐段占用
- 灵活:为每一个分组独立地选择最合适的转发路由
- 迅速:以分组作为传送单位,可以不先建立连接就能向其他主机发送分组
- 可靠:保证可靠性的网络协议;分布式多路由的分组交换网,使网络有很好的生存性
- 缺点
- 排队延迟:分组在各路由器存储转发时需要排队。
- 不保证带宽:动态分配。
- 增加开销:各分组必须携带控制信息;路由器要暂存分组,维护转发表等。
3 报文交换
- 时间较长,电报通信
1.4 计算机网络在我国的发展
1.5 计算机网络的类别
1.5.1 计算机网络的定义
- 计算机网络:由一些通用的、可编程的硬件互连而成的,而这些硬件并非专门用来实现某一特定目的(例如,传送数据或视频信号)。这些可编程的硬件能够用来传送多种不同类型的数据,并能支持广泛的和日益增长的应用。
- 可编程的硬件:这种硬件一定有CPU
1.5.2 几种不同类别的计算机网络
- 按照网络的作用范围分类
- 广域网/远程网 WAN:几十到几千公里
- 城域网 MAN:5-50公里
- 局域网 LAN:1公里左右
- 个人区域网 PAN:10米左右(个人热点)
- 按照网络的使用者分类
- 公用网/公众网:按照规定缴纳费用的人都可以使用的网络
- 专用网:为特殊业务工作的需要而建造的网络
- 用来把用户接入到互联网的网络:接入网AN
- 又称为本地接入网或居民接入网
- 是从某个用户端系统到本地ISP的第一个路由器之间的一种网络
- 是本地ISP所拥有的网络,既不是互联网的核心部分,也不是互联网的边缘部分
1.6 !!!计算机网络的性能
1.6.1 !!!计算机网络的性能指标
- 速率:数据的传送速率,也称为数据率或比特率。往往是额定速率或标称速率,非实际运行速率。 bit/s(1 Byte = 8 bit)
- 带宽 (bandwidth)
- 频域:某个信号具有的频带宽度
- 赫
- 某信道允许通过的信号频带范围称为该信道的带宽
- 时域:网络中某通道传送数据的能力,表示在单位时间内网络中的某信道所能通过的“最高数据率”
- bit/s
- 频域:某个信号具有的频带宽度
- 吞吐量 (throughput):单位时间内通过某个网络(或信道、接口)的实际数据量
- 每秒传送的字节数/帧数
- 0 < 吞吐量 < 额定速率
- 时延/延迟/迟延 (delay 或 latency)
- 指数据(一个报文或分组,甚至比特)从网络(或链路)的一端传送到另一端所需的时间
- 组成 总时延 = 发送时延+传播时延+处理时延+排队时延
- 发送时延(传输时延):主机或路由器发送数据帧所需要的时间,也就是从发送数据帧的第一个比特算起,到该帧的最后一个比特发送完毕所需的时间。
发 送 时 延 数 据 帧 长 度 发 送 速 率 - 传播时延:是电磁波在信道中传播一定的距离需要花费的时间
传 播 时 延 信 道 长 度 米 信 号 在 信 道 上 的 传 播 速 率 米 秒 - 自由空间 - 光速 -
- 铜线电缆 -
- 光纤 -
- 自由空间 - 光速 -
- 处理时延:主机或路由器在收到分组时,为处理分组(例如分析首部、提取数据、差错检验或查找路由)所花费的时间
- 排队时延:分组在路由器输入输出队列中排队等待处理和转发所经历的时延。
- 排队时延的长短往往取决于网络中当时的通信量。当网络的通信量很大时会发生队列溢出,使分组丢失,这相当于排队时延为无穷大
- 发送时延与传播时延的区别
- 发送时延发生在机器内部的发送器中,与传输信道的长度(或信号传送的距离)没有任何关系
- 传播时延发生在机器外部的传输信道媒体上,与信号的发送速率无关。信号传送的距离越远,传播时延就越大。
- 发送时延(传输时延):主机或路由器发送数据帧所需要的时间,也就是从发送数据帧的第一个比特算起,到该帧的最后一个比特发送完毕所需的时间。
- 高速链路(高宽带链路)上数据传送的更快?(×)
- 高速网络链路只提高数据的发送速率,而非比特在链路上的传播速率
- 提高数据的发送速率只减小了数据的发送时延
- 时延带宽积
- 链路的时延带宽积又称为以比特为单位的链路长度
- 管道中的比特数表示从发送端发出但尚未到达接收端的比特数。只有在代表链路的管道都充满比特时,链路才得到了充分利用
- 往返时间 RTT (Round-Trip Time):表示从发送方发送完数据,到发送方收到来自接收方的确认总共经历的时间
- 在互联网中,往返时间还包括各中间结点的处理时延、排队时延以及转发数据时的发送时延
- 当使用卫星通信时,往返时间RTT相对较长,此时,RTT是很重要的一个性能指标
- 利用率
- 信道利用率:某信道有百分之几的时间是被利用的(即有数据通过)
- 网络利用率:全网络的信道利用率的加权平均值
- 时延与网络利用率:利用率↑,时延↑
1.7 !!!计算机网络的体系结构
1.7.1 计算机网络体系结构的形成
- 最初的ARPANET设计时提出了分层的设计方法
- 最终ISO提出了OSI/RM,1983年,形成了著名的 ISO 7498 国际标准,即七层协议的体系结构。ISO试图达到理想境界,但发布出来时TCP/IP已经大范围运行,故目前法律上的国际标准为OSI,事实上的国际标准为TCP/IP
1.7.2 协议与划分层次
- 网络协议(协议):未进行网络中的数据交换而建立的规则、标准或约定
- 三个组成要素
- 语法:数据与控制信息的结构或格式。
- 语义:需要发出何种控制信息,完成何种动作以及做出何种响应。
- 同步:事件实现顺序的详细说明。
- 两种形式
- 文字描述:便于人来阅读和理解
- 程序代码:让计算机能够理解
- 层次式协议结构
各层完成的主要功能- 差错控制 传输层的tcp:使相应层次对等方的通信更加可靠。
- 流量控制 传输层:发送端的发送速率必须使接收端来得及接收,不要太快。
- 分段和重装 传输层:发送端将要发送的数据块划分为更小的单位,在接收端将其还原。
- 复用和分用 传输层(端口 tcp)、网络层(tcp udp)、链路层(IPV4 IPV6):发送端几个高层会话复用一条低层的连接,在接收端再进行分用。
- 连接建立和释放 传输层:交换数据前先建立一条逻辑连接,数据传送结束后释放连接。
- 网络的体系结构 (Network Architecture) 是计算机网络的各层及其协议的集合,就是这个计算机网络及其构件所应完成的功能的精确定义(不涉及实现)。
1.7.3 具有五层协议的体系结构
1 各层的主要功能
7) 应用层只发生在主机端
- 任务:通过应用进程间的交互来完成特定网络应用。
- 协议:定义的是应用进程间通信和交互的规则。
- 把应用层交互的数据单元称为报文(message)。
- 例如:DNS,HTTP,SMTP
6) 表示层(现在应用层干他的活)
- 代码转换、字符转换、数据格式修改,以及对数据结构操作的适应、数据压缩、加密等。
- 字符文件、二进制文件(图片、程序)、加密、压缩等
5) 会话层(现在运输层干他的活)
- 允许不同机器上的用户之间建议会话关系
4) 运输层只发生在主机端
- 任务:负责向两台主机中进程之间的通信提供通用的数据传输服务。在通信两个计算机之间建立连接,实现发送端和接收端的丢包重传、流量控制。
- 具有复用和分用的功能。
- 主要使用两种协议:
- 传输控制协议 TCP(可靠但慢)
- 提供面向连接的、可靠的数据传输服务。
- 数据传输的单位是报文段 (segment)。
- 用户数据报协议 UDP(不可靠但快)
- 提供无连接的尽最大努力 (best-effort) 的数据传输服务(不保证数据传输的可靠性)。
- 数据传输的单位是用户数据报。
- 传输控制协议 TCP(可靠但慢)
3) 网络层
- 为分组交换网上的不同主机提供通信服务。
- 任务:
- 路由选择:通过一定的算法,在互联网中的每一个路由器上,生成一个用来转发分组的转发表。
- 转发:每一个路由器在接收到一个分组时,要依据转发表中指明的路径把分组转发到下一个路由器。
- 互联网使用的网络层协议是无连接的网际协议IP (Internet Protocol) 和许多种路由选择协议,因此互联网的网络层也叫做网际层或IP 层。
- IP 协议分组也叫做 IP 数据报,或简称为数据报。
Note
- 除了tcp协议外都是无连接的
- 路由选择协议用来生成转发表
2) 数据链路层
- 常简称为链路层
- 任务:实现两个相邻节点(局域网)之间的可靠通信。
- 在两个相邻节点间的链路上传送帧(frame)。
- 如发现有差错,就简单地丢弃出错帧。
- 如果需要改正出现的差错,就要采用可靠传输协议来纠正出现的差错。这种方法会使数据链路层协议复杂。
链路层的可靠协议
1) 物理层
- 任务:实现比特(0 或 1)的传输。
- 确定连接电缆的插头应当有多少根引脚,以及各引脚应如何连接。
- 注意:传递信息所利用的一些物理媒体,如双绞线、同轴电缆、光缆、无线信道等,并不在物理层协议之内,而是在物理层协议的下面。
2 OSI参考模型和网络排错——从底层到高层一次检查
- 物理层:检查网线是否连接好
- 网线是大红叉
- 网线里8根线,6个发送,2个接收,有发送数据包,没有接收数据包,网线损坏
- 数据链路层
- MAC地址冲突:出厂全球唯一,但可以修改
- VLAN错误:划分到不同的VLAN了
- ADSL拨号:账号密码错误
- 网卡接口速率不一致:如交换机接口1000M,网卡接口100M,物理层没问题,但链路层不同,发送数据包有,但没有接收数据包
一些解释
- 网络层
- IP地址是否正确
- 子网掩码(只有IPV4)
- 网关:出口的路由器地址
- 应用层
- 由于应用程序配置问题
网络排错过程
- 检查网络连接
- 查看IP地址 ipconfig/all
- 测试到网关是否连通 ( ping 网关)
- 测试到Internet是否连通 ( ping 8.8.8.8)
- 测试域名解析 ( ping 域名)
- 测试端口是否能够访问 (telnet www.baidu.com 80)
- 检查软件的配置
3 OSI参考模型和网络安全
- 物理层安全
- 数据链路层安全
- Wifi 密码
- ADSL 密码
- 交换机接口上配置MAC地址绑定
- 划分VLAN
- 网络层安全(wf.msc)
- 个人电脑通过设置windows防火墙控制进入流量
- 应用层安全
- 代码漏洞 SQL注入漏洞
4 数据在各层之间的传输过程
- 主机1
- 4运输层:如果应用层用流媒体协议,则udp;否则tcp。udp的首部很轻巧。
- 3网络层:为了能在整个互联网上全球唯一地路由,把ip地址和ip路由过程需要的所有信息都放在首部。检错纠错也放在首部
- 2链路层:寻址信息放在首部,检错纠错放在尾部。
- 路由器
- 3网络层:首部唯一不变,只被解析,不被改变
- 2链路层:首部尾部都要变,把新的MAC地址更新到首部
5 对等层与协议数据单元
- OSI 参考模型把对等层次之间传送的数据单位称为该层的协议数据单元 PDU (Protocol Data Unit)。
- 任何两个同样的层次把 PDU (即数据单元加上控制信息)通过水平虚线直接传递给对方。这就是所谓的“对等层”之间的通信。
- 各层协议实际上就是在各个对等层之间传递数据时的各项规定。
1.7.4 实体、协议、服务和服务访问点
-
实体 (entity) :表示任何可发送或接收信息的硬件或软件进程。
-
协议:控制两个对等实体进行通信的规则的集合。
- 协议要把所有不利的条件实现都能预先估计到,而不能假定一切都是正常的和非常理想的
- 看一个计算机协议是否正确,不仅要看他在正常情况下是否正确,还必须仔细检查这个协议是否能应付各种异常情况。
-
在协议的控制下,两个对等实体间的通信使得本层能够向上一层提供服务。
-
要实现本层协议,还需要使用下层所提供的服务。
协议与服务- 协议
- 其实现保证了能够向上一层提供服务。
- 对上面的服务用户是透明的。
- 是“水平的”
- 服务
- 上层使用服务原语获得下层所提供的服务。
- 上面的服务用户只能看见服务,无法看见下面的协议。
- 是“垂直的”
- 协议
-
服务访问点SAP
- 在同一系统中相邻两层的实体进行交互(即交换信息) 的地方,通常称为服务访问点 SAP (Service Access Point)。
- SAP 是一个抽象的概念,它实际上就是一个逻辑接口。
- OSI 把层与层之间交换的数据的单位称为服务数据单元 SDU(Service Data Unit)。
- SDU 可以与 PDU 不一样。
例如:可以是多个 SDU 合成为一个 PDU,也可以是一个 SDU 划分为几个 PDU。
1.7.5 TCP/IP的体系结构
- TCP/IP 体系结构的另一种表示方法
现在互联网使用的 TCP/IP 体系结构已经发生了演变,即某些应用程序可以直接使用 IP 层,或甚至直接使用最下面的网络接口层。
- 沙漏计时器形状的 TCP/IP 协议族
互联网中客户-服务器工作方式
- 一台计算机上可能同时运行多个服务器进程同时为多个客户进程提供服务























