计算机网络概述
概念
由若干节点和连接这些节点的链路组成称为计算机网络。
由多个网络通过一些路由器相互连接的一个覆盖范围更大的网络称为互连网
互联网的组成
- 边缘部分 : 由所有连接在互联网上的主机组成。是用户直接使用的。
- 核心部分 : 由大量网络和连接这些网络的路由器组成,为边缘部分提供服务
边缘部分的通信方式
- 客户-服务器方式
- 对等连接方式
核心部分
由路由器起到特殊作用,其任务是转发收到的分组。路由器是实现分组转发的关键构件。
电路交换的特点
-
建立了一条专用的物理通路,此时这些资源不会被其他用户占用。经过三个步骤:建立连接 -> 通话 - > 释放连接
-
通话的全部时间内,通话的两个用户始终占用端到端的通信资源
缺点:
- 线路的传输效率很低。
分组交换的特点
- 采用存储转发技术,将整块数据称为一个报文,通过将报文分为更小的等长数据段,然后在每个数据段前面,加入必要的控制信息首部,就构成了分组。(又称包)。
- 首部存储了目的地址和源地址等重要控制信息,让每个分组能够独立地选择传输路径,并正确交付到分组传输的终点。
上图中,主机为用户进行信息处理,并和其他主机进行交换信息。路由器用来转发分组,即进行分组交换。路由器会暂存分组,检查首部,查找转发表,按照首部中的目的地址,找到合适的接口转发出去,把分组交给下一个路由器,这样一步步地以存储转发的方式,把分组发送给目的主机。
-
发送数据的链路仅仅在当分组正在此链路上传送时才会被占用,在各分组传送之间的空闲时间,该链路仍然可以给其他分组使用
-
分组交换在传输数据之前不必先占用一条端到端的通信资源。分组在哪段链路上传送才占用那段链路的通信资源。
分组交换的优点
- 高效:分组传输的过程中动态分配传输带宽,对通信链路逐段占用
- 灵活:为每一个分组独立地选择最合适的转发路由
- 迅速:以分组作为传送单位,不先建立连接就能向其他主机发送分组
- 可靠:保证可靠性的网络协议:分布式多路由的分组交换网,使网络有很好的生存性。
分组交换的问题
-
分组在个路由器存储转发时需要排队,造成一定时延。
-
分组必须要携带控制信息,造成了一定的开销。
-
需要专门的管理和控制机制。
三种交换的特点
- 电路交换:整个报文的比特流连续地从原点直达终点,好像在一个管道中传送。
- 报文交换:整个报文先传送到相邻节点,全部存储下来后查找转发表,转发到下一个节点。
- 分组交换:单个分组传送到相邻节点,存储下来后查找转发表,转发到下一个节点。
计算机网络体系结构
协议
为了能够稳定地交换数据,从而在计算机网络中必须遵守的一些事先约定好的一些规则。
这些规则明确规定了所交换的数据的格式和有关的同步问题。
网络协议的三要素
- 语法:数据与控制信息的结构或格式
- 语义:需要发出何种控制信息,完成何种动作以及做出何种响应。
- 同步:事件实现顺序的详细说明。
网络分层
分层的好处
- 各层之间相互独立,相互之间不需要知道各自的实现。仅仅需要知道该层通过层间的接口所提供的服务。
- 灵活性好,当任何一层发生变化时,只要层间接口关系保持不变,那么这层以外的各层都不受影响。
- 结构上可分割开,各层都可以采用最合适的技术来实现。
- 易于实现和维护,整个系统已经被分解为若干个独立的子系统。
- 能促进标准化工作,每一层的功能和所提供的服务都做了精确的说明。
协议 + 各层的集合就是网络的体系结构。
TCP 5 层模型各层简介
应用层
-
通过应用进程间的交换来完成特定网络应用。协议定义的是应用进程间通信和交互的规则。
-
常用协议:
- DNS 域名系统、HTTP 协议、 SMTP 协议
-
应用层交互的数据单元称为报文
运输层
- 负责向两台主机中进程之间的通信提供通用的数据传输服务
- 协议
- 传输控制协议 TCP
- 用户数据报协议 UDP
网络层
- 负责为分组交换网上的不同主机提供通信服务
- 协议
- IP 协议
- 将运输层产生的报文段或用户数据报封装成分组或包进行传输
数据链路层
- 在两个相邻节点之间传送数据室,数据链路层将网络层的 IP 数据报组装成帧,在两个相邻节点间的链路上传送帧,每一帧包括数据和必要的控制信息
物理层
- 传数据的单位是比特,要考虑用多大的电压代表 1 或 0 ,接收方如何识别出发送方发出的比特。
实体、协议、服务、服务访问点
实体
表示任何发送或接收信息的硬件或软件进程。
协议
是控制两个对等实体进行通信的规则的集合。
两个对等实体间的通信使得本层能够向上一层提供服务,要实现本层协议,还需要使用下面一层提供的服务。
使用本层服务的实体只能看见服务而无法看见下面的协议。
物理层
- 物理层的协议称为物理层规程
物理层的主要任务
四大特性
接口规范定义范畴
- 机械特性:各种接插件的标准化规定 (形状、尺寸、引脚数目、排列、固定和锁定装置)
- 电气特性:接口电缆的各条线的电压范围
- 功能特性:某条线的某一电平的电压意义
- 过程特性:不同功能的各种可能事件的出现顺序
解决的主要问题:
- 物理层考虑的是怎样才能在连接各种计算机的传输媒体上传输数据比特流
- 物理层为数据链路层屏蔽了各种传输媒体的差异,使数据链路层只需要考虑如何完成本层的协议和服务,而不必考虑网络具体的传输媒体是什么。
数据通信系统的模型
数据通信划分为三大部分:
- 源系统(发送端、发送方)
- 传输系统(传输网络)
- 目的系统(接收端)
源系统的部分:
- 源点:产生传输的数据,产生输出的数字比特流
- 发送器:编码数字比特流后进行传输
目的系统的部分:
- 接收器:接收传输系统的信号,将其转换为能够被目的设别处理的信息
- 终点:获取传送的数字比特流,输出信息
通信的目的是传送消息
数据是运送消息的实体
信号是数据的电气或电磁的表现
信号的类型
- 模拟信号(连续信号),消息的参数的取值是连续的。
- 数字信号(离散信号),消息的参数的取值是离散的。
代表不同离散数值的基本波形称为码元
信道
表示向某一个方向传送信息的媒体。
单向通信:只能有一个方向,而没有反方向的交互。常用(无线电广播、电视广播)
双向交替通信:通信双方都可以发送信息,但不能同时发送,也不能同时接收
双向同时通信: 通信双方可以同时发送和接收信息。
基带信号和调制
来自信源的信号称为基带信号,由于携带了较多的低频分量,需要进行调制才能用信道传输
调制的类型
- 基带调制:调制变换后的信号仍然是基带信号,被称为基带调制
- 带通调制:经过载波调制后的信号被称为带通信号
基带调制是将数字信号转换为另一种形式的数字信号,又被称为编码
常用编码方式
-
不归零制:正电平代表 1 ,负电平代表 0
-
归零制:正脉冲代表 1,负脉冲代表 0
-
曼彻斯特编码:在周期中心的向上跳变为 0 (或者 1),位周期中心的向下跳变代表 1 (或者 0)
-
差分曼彻斯特编码:在每一位的中心始终有跳变,位开始边界有跳变代表 0 ,没有则代表 1
带通调制方法
- 调幅
- 调频
- 调相
为了更高的信息传输速率,可以采用多元制的振幅相位混合调制:正交振幅调制QAM
信道的极限容量
码间串扰:码元在传输过程中的损失,导致接收端收到的波形不再陡峭,所占时间界限不再是很明确的了,即接收端受到的信号波形失去了码元之间的清晰界限。
奈氏准则
在带宽为 W (Hz)的低通信道中,不考虑噪声影响,码元传输的最高速率是 2W (码元/s)。传输速率超过此上限,就会出现串扰的问题,使接收端对码元的判决成为不可能。
信噪比
信号的平均功率和噪声的平均功率之比。 记为 S / N 。使用分贝 dB 作为单位。
信噪比 = 10 log10(S / N)
香农公式
信道的极限信息传输速率 C :
信道的带宽或信道中的信噪比越大,信息的极限传输速率就越高
物理层的传输媒体
导引型传输媒体
-
同轴电缆
-
双绞线 ✨✨
类型:
- 无屏蔽双绞线 UTP
- 屏蔽双绞线 STP
-
**光纤 **✨✨
类型:
- 多模光纤
- 传输时会逐渐展宽,造成失真。只适合近距离传输
- 单模光纤
- 纤芯很细,可使光纤一直向前传播,不会产生多次反射。
3 个波段的中心
- 850nm 、 1300nm、1550nm,其中后两种的信息衰减较小。
优点:
- 通信容量大
- 传输损耗小
- 受雷电和电磁干扰影响小
- 无串音干扰,保密性好
- 体积小
缺点
- 割接需要专用设备
- 多模光纤
-
电力线
非导引型传输媒体
- 无线电波
- 微波
- 红外线
- 可见光
多径效应
多条路径的信号叠加后会产生很大的失真,被称为多径效应
误码率
利用无线信道传送数字信号时,要使得误码率不可超过某一个范围。
误码率(比特错误率)和信噪比的关系:
信道复用
复用指的是对同一条信道进行共享。通过一个复用器,让多个信号复用同一个共享信道,然后通过分用器,把合起来传输的信息分别送到相应的终点。
复用的类型:
- 频分复用:使用调制的方法,把各路信号分别搬移到适当的频率位置,使彼此不产生干扰**。让用户在同样的时间占用不同的带宽资源。**
- 时分复用:将时间划分为一段段等长的时分复用帧,每一路信号在每一个 TDM 帧中占用固定序号的时隙。时分复用的所有用户是在不同的事件占用相同的频带宽度。
- **波分复用:**通过使用一根光纤来同时传输多个频率很接近的光载波信号。
光信号传输会出现衰减,要进行放大才能继续传输,使用掺铒光纤放大器。
- 码分复用
主要用于多地址接入,其被称为码分多址CDMA
频分复用和时分复用同样可用于多地址接入。其对应名词是频分多址和时分多址。
-
码分复用可以让每一个用户在同样的时间使用同样的频带进行通信。
-
各用户经过特殊挑选的不同码型,各用户之间不会互相干扰。
数据链路层
信道类型
- 点对点信道:一对一的通信
- 广播信道:一对多的通信,使用了共享信道协议。
数据链路层在网络体系结构的地位
如下图 1 所示:
主机 H1 通过电话线上网,中间经过三个路由器 ,R1、R2、R3连接到 H2,其对应的数据流动如下图 2 所示。主机 H1 和 H2 都有完整的五层协议栈,而路由器在转发时只有下面的三层。数据进入路由器之后要先从物理层上到网络层,在转发表中找到下一跳的地址后,再下到物理层转发出去。
- **链路:**从一个结点到相邻结点的一段物理线路,而中间没有任何其他的交换结点。
- 数据链路: 把实现通信协议的硬件和软件加到链路上,就构成了数据链路。
数据链路层的三个重要问题
- 封装成帧
- 透明传输
- 查错检测
封装成帧
封装成帧:对应用层协议数据单元加上帧头和帧尾的操作就是封装成帧
ppp 协议的帧:
- 帧头和帧尾包含有重要的控制信息,如上图所示。
- 首部和尾部的重要作用是进行帧定界(确定帧的界限)。
差错检测
差错检测: 比特在传输过程中可能产生差错。比如 比特 0 变为 比特 1,被称为 比特差错,发送方在发送帧之前,将检错码插入到帧尾,接收方收到帧后,检查检错码,查看是否出现了误码。
利用帧尾的差错检测码来为接收方的数据链路层检测帧是否存在误码。
校验方式
- 奇偶校验
但是对于产生了 2 位误码,就无法检出错误了:
偶校验也是同理:
让比特 1 的数量变为偶数,同样对于产生两位误码的情况无法解决:
- 循环冗余校验 CRC
- 收发双方约定好一个生成多项式G(x);
- 发送方基于待发送的数据和生成多项式计算出差错检测码,将其添加到待传输数据的后面一起传输
- 接收方通过生成多项式来计算收到的数据是否产生了误码。
计算:
说明
检错码只能检测出帧在传输过程中出现了差错,但并不能定位错误,因此无法纠正错误。
要想纠正传输中的差错,可以使用冗余信息更多的纠错码进行前向纠错。但是占用资源较大。
透明传输
**透明传输:**表示无论什么样的比特组合的数据,都能够按照原样没有差错地通过这个数据链路层。即数据链路层对上层交付的传输数据没有任何限制,就好像数据链路层不存在一样。
对于可能出现的数据部分存在帧定界符,可以通过在数据中出现控制字符前插入一个转义字符。这种方法被称为字节填充或字符填充
会导致接收方的数据链路层误认为帧结束了。
解决方案:
**字节填充:**在协议数据单元中包含帧定界符的部分加入一个 ESC 的转义字符。(面向字节的物理链路使用)
零比特填充: 扫描整个信息字段,只要发现连续的 5 个 1 ,后面立即填补一个 0 。也是 ppp 协议所采用的填充方法。(面向比特的物理链路使用)
接收方会在扫描时剔除掉转义字符。
- 为了提高帧的传输效率,应当使帧的数据部分的长度尽可能大些。
- 考虑到差错控制等多种因素,**每一种数据链路协议都规定了帧的数据部分的长度上限。**即:最大传送单元 MTU。
使用广播信道的数据链路层的问题
如下图:
接收端主机要如何知道发送给自己的数据是否是自己的呢?
-
将帧的目的地址存储在帧中一起传输:
将目的地址字段和源地址字段存储在帧头中
可靠传输的基本概念
- 使用差错检测技术,接收方的数据链路层可以检测出帧的传输过程是否产生了误码。
- 数据链路层向上层提供的服务类型:
- 不可靠传输服务:仅仅丢弃有误码的帧,其他都不做
- 可靠传输服务:想办法实现发送端发送什么,接收端就收到什么
- 有线链路的误码率比较低,减少开销,并不要求数据链路层向上提供可靠的传输服务。即使出现了误码,可靠传输的问题由其上层解决。
- 无线链路易受干扰,误码率比较高,因此要求数据链路层必须向上层提供可靠传输服务。
比特差错只是传输差错的一种,而传输差错还包括:分组丢失、分组失序、分组重复。
分组丢失
分组失序
最先发送的分组,未必最先到达接收端。
分组重复
由于某些问题,分组未能在定时时间内到达接收端,其被滞留在路由器中进而触发了发送端的超时重发,导致发送了两份同样的信息。
- 分组丢失、分组失序、分组重复这些传输差错,一般不会出现在数据链路层。而是出现在其上层。
- 可靠传输服务并不局限于数据链路层,其他各层均可以选择实现可靠传输。
可靠传输的实现机制
停止等待协议 SW
发送方发送数据给接收方,如果接收方检测数据正常,返回 ACK,如果发送检查出误码,就返回 NAK,发送方需要重新发送数据,并等待接收方的 ACK
- 特殊的情况
一旦接收方没收到数据,不能让发送方一直等待,要设置一个超时重传机制
超时重传流程图
接收方丢失的情况:
发送方正常发送数据到达接收方,接收方返回的 ACK 丢失,导致发送方触发超时重传,重新发送了数据,导致出现分组重复问题。
解决方案:给数据添加上一个比特的序号编号,来作为接收方的判断条件:
流程图如下:
确认信息也需要编号
如图所示:
会因为出现接受方的 ACK 传输太慢,导致触发了发送方的超时重传,进而重发了 DATA0,而此时接收到了 ACK,会导致发送方发送 DATA1,然后由于接收方发现 DATA0 重复,其返回了 ACK,此时发送方就无法知道这个 ACK 是重传的还是 DATA1 的 ACK 了。
解决方案:给 ACK 也加上编号。
解决流程:
####回退 N 帧协议GBN
由于停止等待协议 SW 的信道利用率较低,所以采用了批量发送数据的方式来提高信道利率用:
比如: 一次性发送 5 个数据,然后接收方一一确认,全部确认后,就返回给发送方,发送方再发送下一组的数据:
累计确认
接收方不一定要逐个确认,只需要对按需到达的最后一个数据分组发送确认。 ACKn 表示序号为 n 及以前的所有数据分组都已正确接收。
协议工作过程中,发送窗口和接收窗口不断向前滑动,这类协议又被称为滑动窗口协议。
选择重传协议 SR
回退 N 帧协议的缺点:
-
接收窗口尺寸 Wr 只能等于 1,因此接收方只能按序接收正确到达的数据分组。
-
一个数据分组的误码会导致其后续的多个数据分组不能被接收方按序接收而丢弃。这必然会造成发送方队这些数据分组的超时重传,显然是对通信资源的极大浪费。
为了进一步提高性能,可设法只重传出现误码的数据分组。 因此 Wr 不应再等于 1 ,而是大于 1 ,以便接收方先收下失序到达但无误码并且序号落在接收窗口内的那些数据分组。等到所缺分组收齐后再一并送交上层。这就是选择重传协议
注意:这样的设计就导致选择重传协议的接收方不能采用累计确认的机制,而只能逐一确认了。
执行流程:具体看湖科大教程。
3.4.4 可靠传输的实现机制 — 选择重传协议_哔哩哔哩_bilibili3.4.4 可靠传输的实现机制 — 选择重传协议_哔哩哔哩_bilibili
发送方的发送窗口尺寸要求: WT 大于 1 小于 2n-1
接收方的接收窗口尺寸必须满足 1< WR < WT
若发送了大于 2n-1 个数据一次,那么就会出现下图的接收方无法分辨新旧数据分组的情况:
接收方返回 ACK 时, 0 号数据的 ACK 丢失,然而接收方已经移动了接收窗口,导致后续重发的数据 0 无法被接收方确定。
PPP 协议
一个应用最广泛的点对点协议。
ppp协议的帧格式:
解释:
F:标志字段, PPP 帧的定界符,取值为 0x7E
A:地址字段,预留
C:控制字段,预留
P:协议,指明了帧的数据部分应送交给哪个协议处理:
FCS:帧检验序列字段,用于检测是否存在误码。使用的是 CRC(循环冗余校验)算出的校验位。
PPP协议实现透明传输的方法
一样是采用字节填充和比特填充:
字节填充的处理
比特填充的处理
PPP 协议的工作状态
广播信道的数据链路层
局域网的数据链路层
局域网的特点
网络为一个单位所拥有,且地理范围和站点数目都有限。
局域网的优点
- 具有广播功能,一个站点可以方便地访问全网。
- 便于系统的拓展和逐渐地演变
- 提高了系统的可靠性、可用性、生存性。
局域网的类型
- 星形网
- 环形网
- 总线网
共享信道的两种方案
- 静态划分信道:就是之前介绍的频分复用、时分复用、波分复用和码分复用等。占用资源大,不适合局域网使用。
- 动态媒体接入控制(多点接入):信道并非是在用户通信时固定分配给用户。
- 随机接入:随机接入的特点是所有的用户可随机地发送信息,但是可能会在同一时刻发送信息,产生碰撞。
- 受控接入:受控接入的特点是用户不能随机地发送信息而必须服从一定的控制。
###以太网
一种基带总线局域网。
数据链路层拆分
- 逻辑链路控制 LLC
- 媒体接入控制 MAC 子层
适配器
- 计算机与外界局域网的连接是通过适配器(网卡 NIC)
-
适配器和局域网之间的通信是通过电缆或双绞线以串行传输方式进行的。而适配器和计算机之间是通过计算机主板上的 I/O 总线以并行的方式进行的。
-
为了解决网络数据率和计算机总线上的数据率的不同,适配器必须有对数据进行缓存的存储芯片。
-
计算机的硬件地址就在适配器的 ROM 中,而计算机的软件地址 IP 地址存储在计算机存储器中。
动态媒体接入控制的细节
随机接入的问题:
存在碰撞
多种接入方式:
- 共享式以太网不能连接太多主机,使用的总线也不能太长。
最小帧长:
以太网的协议 CSMA/CD
CSMA/CD 特点
- **多点接入:**说明这是总线型网络。许多计算机以多点接入的方式连接在一条总线上。
- **载波监听:**边发送边监听。不管在发送数据之前,还是在发送数据之后,每个站都必须不停地检测信道。
- **碰撞检测:**适配器边发送数据,边检测信道上的信号电压的变化情况。当适配器检测到信号电压变化幅度超过一定的门限值时,就认为总线上至少有两个站同时在发送数据,表明产生了碰撞。
MAC 地址
MAC 地址是以太网的 MAC 子层所使用的地址
MAC 地址的作用
-
当多个主机连接在同一个广播信道中,要想实现两个主机之间的通信,必须要给每个主机一个唯一的标识,即一个数据链路层地址。
-
在每个主机发送的帧中必须携带标识发送主机和接收主机的地址。由于这类地址是用于媒体接入控制 MAC ,因此这类地址被称为 MAC 地址。
各个主机可以根据接收到的数据是否跟自己的 MAC 地址匹配来选择是丢弃还是接受该帧:
-
MAC 地址被固化在**适配器(网卡)**的电可擦可编程只读存储器 EEPROM 中,因此 MAC 地址也被称为硬件地址。
-
MAC 地址也被称为物理地址,但它不属于物理层。
-
用户主机会包含两个网络适配器:有限局域网适配器(有线网卡)、无线局域网适配器(无线网卡),每个网络适配器都有一个全球唯一的 MAC 地址。而交换机和路由器往往拥有更多的网络接口,所以会拥有更多的 MAC 地址。 MAC 地址是对网络上各接口的唯一标识,而不是对网络上各设备的唯一标识。
IP 地址
IP 地址是因特网上的主机和路由器所使用的地址,用于标识两个部分的内容:
- 网络编号: 标识因特网上数以百万计的网络
- 主机编号: 标识同一网络上不同主机(或路由器各接口)
很显然,之前介绍的 MAC 地址不具备区分不同网络的功能。
- 如果只使用一个网络,不介入因特网,可以只使用 MAC 地址。
数据包传输过程的地址变化
但是主机发送到各个路由器到 H2 的 MAC 地址是未知的(我们只知道 IP 地址),它们是如何找到各自的呢?
ARP 地址解析协议
每台主机都会有一个 ARP 高速缓存表,记录了 IP 地址和 MAC 地址的关系。
ARP 请求报文会被封装到 MAC 帧中发送。
它会发送广播帧,主机收到该广播帧后,网卡将该帧交给上层 ARP 进程解析 ARP 帧,上层会判断广播帧对应的 IP 地址是否匹配,如果不是,主机就不做理会。如果是,主机就会将发送过来的 IP 地址和 MAC 地址记录到自己的 ARP 高速缓存中。给 B 发送 ARP 响应,以告知自己的 MAC 地址。
ARP 高速缓存中的地址可能是动态的,也可能是静态的。
动态:记录是主机自动获取到的,生命周期默认为 2 分钟
静态:由网络维护人员手动配置
集线器
-
使用集线器的以太网在逻辑上仍是一个总线网,各个站共享总线资源,使用的还是 CSMA/CD 协议
-
集线器不只工作在物理层,它的每个接口仅简单地转发比特,不进行碰撞检测。
-
集线器一般都有少量的容错能力和网络管理功能。
使用集线器 HUB 在物理层扩展以太网
使用一个主干集线器,将各个独立的以太网扩展成一个更大的以太网:
交换机
以太网交换机工作在数据链路层。
以太网交换机的自学习算法
交换机在刚启动时内部的帧交换表是空的,随着网络中各主机间的通信,以太网交换机可以通过自学习算法自动逐渐建立其帧交换表
开始时,交换机中并没有其他主机的 MAC 地址,此时,若是寻找一个它没记录的地址,那么它就会采用盲目泛红(盲目转发)的方式来向所有的主机转发,直到正确接收到该帧的主机返回结果给源地址时,交换机会将其记录到自己的帧交换表中,而其他不匹配的主机(不应该接收该帧的主机)则会丢弃该帧。
如下图:
A 给 B 发送帧, B 返回结果给 A 帧,在初始时,A 发送帧,A 的 MAC 地址会被记录到帧交换表中,由于帧交换表中没有数据,会进行泛红操作,盲目发送帧,其他的主机会丢弃该帧,而 B 接收该帧,并返回结果,返回的帧的主机 B 的 MAC 地址会被记录到帧交换表中:
**为什么记录要设置有效时间呢?**到期自动删除?
因为 MAC 地址与交换机接口的对应关系并不是永久性的。
PDU :又名协议数据单元,是计算机网络体系结构中对等实体间逻辑通信的对象。
虚拟局域网 VLAN
随着交换式以太网规模的扩大,广播域响应扩大,巨大的广播域会带来很多弊端:
- 广播风暴
- 难以管理和维护
- 潜在的安全问题
广播风暴会浪费网络资源和各主机的 CPU 资源。
并且,网络中会频繁出现广播信息:
分割广播域
- 可以使用路由器隔离广播域,但路由器的成本较高。
虚拟局域网概述
是一种将局域网内的设备划分成与物理位置无关的逻辑组的技术,这些逻辑组具有某些共同的需求。
如下图:我们仅仅让相同 VLAN 的主机可以互相通信,不同 VLAN 的不能互相通信
交换机的端口类型
在 VLAN 下的主机发送的信息是 802.1Q 标签的帧,它需要被去标签化才能被正常主机识别,因此需要各个端口需要维护自己的去标签列表,来确认哪些主机发送来的信息可以被获取,哪些无法识别的丢弃。
交换机有三种端口类型:
- Access
- Trunk
- Hybrid
Access 端口的实现:
它会对相同虚拟局域网的主机设置好 4 字节的 VLAN 标签,里面存储了 PVID 是和虚拟局域网对应的,而每次发送的广播信息会携带一个 VID 值,其 只会发送到有相同 PVID 的主机上。
Trunk 端口的实现:
跟 Access 端口类似,但是 Trunk 端口更多用于交换机之间,或者交换机跟路由器之间的互联。
注意: 这里 A,B,C,D 等连接的交换机端口仍然是 Access 端口,遵循 Access 端口的规则,而 Trunk 端口是中间连接其他交换机的端口:
对于 PVID 不等于 Trunk 接口的 PVID 的情况,比如 VID = 2,而 PVID = 1. 它会直接转发。
Hybird 端口
类似于 Trunk 端口,但是它如果存在标签,就去标签后转发
如果不存在,就直接转发,而直接转发的是 802.1Q 帧,无法被主机识别
网络层
目标: **向其上层只提供简单灵活的、无连接的、尽最大努力交付的数据报(又名:IP 数据报 或 IP 分组)服务。**也就是说,网络层并不提供服务质量的承诺,它有可能会出现传输丢失等情况,这些将由上层来解决。
网络层的主要任务是实现网络互连,进而实现数据包在各网络之间的传输。
网络层要解决的主要问题:
-
网络层向运输层提供怎样的服务(可靠传输 、 不可靠传输)
-
网络层寻址问题
-
路由选择问题
网络层的两个层面
数据层面:用于转发源主机和目的主机之间所传送的数据。通过查找转发表,将数据发送出去
**控制层面:**传送路由信息,通过路由选择算法,创建路由表。并由此导出转发分组使用的转发表。
软件定义网络 SDN
由于传统的路由器的数据层面和控制层面的效率不均的情况(数据层面比控制层面快得多),因此提出了软件定义网络 SDN 。其控制层面取消了路由选择算法的软件,路由器之间不再相互交换路由信息,而采用了一个逻辑上集中的远程控制器。该远程控制器掌握了各个主机和整个网络的状态,能够为每一个分组计算出最佳的路由。
网络层提供的两种服务
面向连接的虚电路服务
无连接的数据报服务
IP 协议
IP 协议的作用
IP(Internet Protocol,网际协议) 是 TCP/IP 协议中最重要的协议之一,属于网络层的协议,主要作用是定义数据包的格式、对数据包进行路由和寻址,以便它们可以跨网络传播并到达正确的目的地。
###与 IP 协议配套使用的三个协议
- 地址解析协议 ARP
- 网际控制报文协议 ICMP
- 网际组管理协议 IGMP
网络互连的中间设备
物理层的中间设备称为转发器
数据链路层的中间设备称为网桥或桥接器、交换机
网络层使用的中间设备是路由器
网络层以上的中间设备是网关
- 当两台主机的通信的中间设备是转发器或者网桥时,这仅仅是把一个网络扩大了。这还只是一个网络,不能称为网络互连(需要多个网络相连)
虚拟互连网络
通过路由器进行互连的计算机网络,使用了相同的 IP 协议,其可以被看做是一个虚拟互连网络
在网络中,如果信息不需要经过任何路由器就能到达目标主机的方式称为直接交付,如果需要经过路由器转发,则称为间接交付
互联网可以由多种异构网络互连组成,无论它们是使用哪种传播方式。只要都遵循 IP 协议即可。
IPV4
IPv4 地址是给因特网上每个主机的每一个接口分配一个在全世界范围内是唯一的 32 比特的标识符。
- IPv4 地址采用点分十进制表示方法来表示
IP 地址采用了两级结构
第一个字段是网络号,它标志主机所连接到的网络。一个网络号在整个互联网范围内必须是唯一的。
第二个字段是主机号,它标志该主机。(对于路由,则是标志该路由器)
IP 分类
分为 A - E 类地址,如图:
- 只有 A - C 类地址可以分配给网络中的主机或路由器的各接口。
- 主机号为 全 0 的地址是网络地址,不能分配给主机或路由器的各接口
- 主机号为 全 1 的地址是广播地址,不能分配给主机或路由器的各接口
IP 地址
IP 地址的作用:识别和定位
公网 IP 均是唯一的。
IP 分为:
- IPV4 共有 32 位
- IPV6 共有 128 位
机器视角: 二进制
人视角:十进制
IPV4 点分割,8 位一组。
IPV6 用冒号(:),每 4 个 16 进制为一位,共 8 组。
IP 地址分成两部分:网络地址 + 主机地址
子网掩码
将网络地址全置为 1 ,主机位全置为 0 ,就可以得到网络地址。
A 类地址的特点
- 最小网络号为 0 ,保留不指派。
- 第一个可指派的网络号为 1 ,网络地址为 1.0.0.0
- 最大网络号为 127,作为本地环回测试地址,不指派。
- 最小的本地环回测试地址为 127.0.0.1
- 最大的本地环回地址为 127.255.255.254
- 最后一个可指派的网络号为 126,网络地址为 126.0.0.0
范围
-
机器的视角:左边最高位为 0
-
人的视角:左边的第一位为0,无法使用,因此只有 0 - 127,而 127 无法被使用,因为它作为本地环回测试地址,比如 127.0.0.1
划分
- 网络位 8 位
- 主机位 24 位
A 类地址的子网掩码为 255.0.0.0,把网络地址全置为 1 ,把主机地址置为 0
B 类地址的特点
- 左边最高位是 10
- 人的视角:左边的10固定,因此只能有 0 - 63.
划分
- 网络位是 16
- 主机位是 16
B 类地址的子网掩码为 255.255.0.0,把网络地址全置为 1 ,把主机地址置为 0
C 类地址的特点
- 左边最高位 110
- H : 192 - 223,因为 110 = 128 + 64 = 192,剩下全为 1 ,则再 + 32,就是 192 + 32 = 224,而 224 - 1 = 223
- 网络号 24 位,主机号 8 位
- 子网掩码 255.255.255.0
特殊的 DNS 服务器地址
- 8.8.8.8 谷歌的 DNS 地址
- 119.29.29.29 腾讯的 DNS 地址
通过 ipconfig 得到的 IP 地址是私有 IP
必须是唯一的。
第二个字段是主机号,它标志该主机。(对于路由,则是标志该路由器)
IP 分类
分为 A - E 类地址,如图:
- 只有 A - C 类地址可以分配给网络中的主机或路由器的各接口。
- 主机号为 全 0 的地址是网络地址,不能分配给主机或路由器的各接口
- 主机号为 全 1 的地址是广播地址,不能分配给主机或路由器的各接口
[外链图片转存中…(img-aozf0Kx6-1713097051414)]
IP 地址
IP 地址的作用:识别和定位
公网 IP 均是唯一的。
IP 分为:
- IPV4 共有 32 位
- IPV6 共有 128 位
机器视角: 二进制
人视角:十进制
IPV4 点分割,8 位一组。
IPV6 用冒号(:),每 4 个 16 进制为一位,共 8 组。
IP 地址分成两部分:网络地址 + 主机地址
子网掩码
将网络地址全置为 1 ,主机位全置为 0 ,就可以得到网络地址。
A 类地址的特点
- 最小网络号为 0 ,保留不指派。
- 第一个可指派的网络号为 1 ,网络地址为 1.0.0.0
- 最大网络号为 127,作为本地环回测试地址,不指派。
- 最小的本地环回测试地址为 127.0.0.1
- 最大的本地环回地址为 127.255.255.254
- 最后一个可指派的网络号为 126,网络地址为 126.0.0.0
范围
-
机器的视角:左边最高位为 0
-
人的视角:左边的第一位为0,无法使用,因此只有 0 - 127,而 127 无法被使用,因为它作为本地环回测试地址,比如 127.0.0.1
划分
- 网络位 8 位
- 主机位 24 位
A 类地址的子网掩码为 255.0.0.0,把网络地址全置为 1 ,把主机地址置为 0
B 类地址的特点
- 左边最高位是 10
- 人的视角:左边的10固定,因此只能有 0 - 63.
划分
- 网络位是 16
- 主机位是 16
B 类地址的子网掩码为 255.255.0.0,把网络地址全置为 1 ,把主机地址置为 0
C 类地址的特点
- 左边最高位 110
- H : 192 - 223,因为 110 = 128 + 64 = 192,剩下全为 1 ,则再 + 32,就是 192 + 32 = 224,而 224 - 1 = 223
- 网络号 24 位,主机号 8 位
- 子网掩码 255.255.255.0
特殊的 DNS 服务器地址
- 8.8.8.8 谷歌的 DNS 地址
- 119.29.29.29 腾讯的 DNS 地址
通过 ipconfig 得到的 IP 地址是私有 IP
[外链图片转存中…(img-cV1NYpuw-1713097051414)]