1、概述
1.1 因特网概述
internet 与 Internet的区别
internet (互联网)是一个通用名词,它泛指由多个计算机网络互连而成的网络。在这些网络之间的通信协议可以是任意的。
Internet (因特网)则是一个专用名词,它指当前全球最大的、开方的、由众多网络相互连接而成的特定计算机网络,它采用TCP/IP协议作为通信的规则,其前身是美国的ARPANET。
1.2 三种交换方式
电路交换
优点:
- 通信时延小
- 有序传输
- 没有冲突
- 适用范围广
缺点:
- 建立连接时间长
- 线路独占 使用效率低
- 灵活性差
- 难以规格化
分组交换
优点:
- 无需建立连接
- 线路利用率高
- 简化了存储管理
- 加速传输
- 减少出错概率和重发数据量
缺点: - 引起了转发延时
- 需要传输额外的信息量
- 对于数据服务,存在失序,丢失或者重复分组的问题
报文交换
优点:
- 无需建立连接
- 动态分配连接
- 提高线路可靠性
- 提高线路利用率
- 提供多目标服务
缺点:
- 引起了转发延时
- 需要较大的缓存空间
- 需要传输额外的信息量
1.3 计算机网络分类
按覆盖范围分类
- 广域网 WAN
- 城域网 MAN
- 局域网 LAN
- 个域网 PAN
1.4 计算机网络的性能指标
速率
100MB 的文件通过 100Mbps的网卡发送 需要的时间: 8.38s
100MB = 100 * 2^20 * 8 = 838,860,800 bit
100Mbps = 100 * 10^6 b/s = 100,000,000 bit/s
带宽
在模拟信号中:信号所包含的各种不同频率的成分所占的频率范围 单位Hz
在计算机网络中:表示网络的通信线路所能传输数据的能力,因此网络带宽表示在单位时间内网络从网络中某一点到另外一点所能通过的最高数据率 单位: bit/s
吞吐量
吞吐量表示在单位时间内通过某个网络的数据量
吞吐量受网络的带宽或额定速率的限制
时延
发送时延、传播时延、处理时延
发送时延 = 分组长度(b) / 发送速率(b/s)
传播时延 = 信道长度(m) / 电磁波传播速率(m/s)
时延带宽积
传播时延 * 带宽
往返时间
利用率
信道利用率: 表示某信道有百分之几的时间是被利用的
网络利用率:全网络的信道利用率的加权平均
丢包率
丢包率即分组丢失率,是指在一定的时间范围内,传输过程中丢失的分组数量与总分组数量的比率;
分组丢失的两个主要原因:分组误码,结点交换机缓存队列满
※1.5 计算机网络体系结构
常见的计算机网络体系结构
OSI 体系结构:从底层开始依次是 物理层、数据链路层、网络层、运输层、会话层、表示层、应用层
TCP/IP 体系结构: 从底层依次是 网络接口层、网际层、运输层、应用层
原理体系结构: 从底层依次是 物理层、数据链路层、网络层、运输层、应用层
计算机网络体系结构分层的必要性
- 物理层: 解决使用何种信号来传输比特的问题
- 数据链路层:解决分组在一个网络上传输的问题
- 网络层: 解决分组在多个网络上传输的问题
- 运输层: 解决进程之间基于网络的通信问题
- 应用层: 解决通过应用进程的交互来实现特定网络应用的问题
计算机网络体系结构分层思想举例
看视频过程
计算机挖网络体系结构的专业术语
- 实体:任何可发送或接受信息的硬件或软件进程
- 对等实体: 收发双方相同层次中的实体
- 协议: 控制两个对等实体进行逻辑通信的规则的集合
- 服务: 在协议的控制下,两个对等实体间的逻辑通信使得本层能够向上一层提供服务。要实现本层协议,还需要使用下面一层所提供的服务。
2、 物理层
2.1 物理层的基本概念
物理层协议的主要基本内容
- 机械特性: 指明接口所用接线器的形状和尺寸、引脚数目和排列、固定和锁定位置
- 电气特性: 指明在接口电缆的各条线上出现的电压范围
- 功能特性: 指明某条线上出现的某一电平的电压表示何种意义
- 过程特性: 指明对于不同功能的各种可能时间的出现顺序
2.2 物理层下面的传输媒体
传输媒体
导引型传输媒体
- 双绞线
- 同轴电缆
- 光纤
非导引型传输媒体 - 微波通信
2.3 传输方式
串行传输 和 并行传输
同步传输 和 异步传输
单向通信 双向交替通信 双向同时通信
2.4 编码与调制
常用编码
码元
曼彻斯特编码:根据码元中间时刻的跳变来判断比特流
基本调制方法
调幅 调频 调相
2.4 信道的极限容量
奈氏准则
在假定的理想条件下,为了避免码间串扰,码元传输速率是有上限的。
理想低通信道的最高码元传输速率 = 2W Baud = 2W 码元/秒
理想带通信道的最高码元传输速率 = W Baud = W 码元/秒
W: 信道带宽 单位:Hz
Baud : 波特 码元/秒
香农公式
带宽受限且有高斯白噪声干扰的信道的极限信息传输速率
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-KY3HfIUm-1618578083556)(https://www.zhihu.com/equation?tex=C%3DBlb%281%2BS%2FN%29)]
C 代表信道也就是传输通道可传送的最大信息速率,简称为信道容量;B 代表信道也就是传输通道的带宽;S/N 代表接收信号的信噪比;lb代表以2为底的对数。
3、 数据链路层
3.1 数据链路层概述
链路就是从一个节点到相邻节点的一段物理线路,而中间没有任何其他的交换节点。
数据链路是指把视线通信协议的硬件和软件加到链路上,就构成了数据链路。
数据链路层以帧为单位传输和处理数据
封装成帧
差错检测
可靠传输
发送方发送什么 接受方能收到什么称为可靠传输
3.2 封装成帧
封装成帧是指数据链路层给上层交付的协议数据单元添加帧头和帧尾使之成为帧
- 帧头和帧尾中包含有重要的控制信息
- 帧头和帧尾的作用之一就是帧定界
透明传输是指数据链路层对上层交付的传输数据没有任何限制,就好像数据链路层不存在一样
- 面向字节的物理链路 使用字节填充的方法实现透明传输
- 面向比特的物理链路 使用比特填充的方法实现透明传输
为了提高帧的传输效率,应当是帧的数据段长一点
3.3 差错检测
实际的通信链路都不是理想的,比特在传输过程中可能会产生差错,1可能会变成0,而0也有可能编程1。这成为比特差错
在一段时间内,传输错误的比特占所传输比特总数的比率成为误码率
奇偶校验
在待发送的数据后面添加一位奇偶校验位,使整个数据中1的个数为奇数或者偶数。
循环冗余检测CRC
约定好一个生成多项式 用除法得余数并添加到待发送信息后面,接受方再验算余数是否为0。这种方法无法定位错误处。
3.4 可靠传输
3.4.1 可靠传输的基本概念
- 数据链路层向上层提供的服务类型
- 不可靠传输服务 : 仅丢弃有误码的帧
- 可靠传输服务: 想办法实现发送端发送什么,接受端就收到什么
- 一般情况下,有线链路的误码率比较低,为了减小开销,并不要求数据链路层向上提供可靠传输服务。即使出现了误码,可靠传输问题由其上层处理。
- 无线链路易受干扰,误码率比较高,因此要求数据链路层必须向上层提供可靠传输服务
- 比特差错只是传输差错的一种,还包括分组丢失,分组失序以及分组重复
3.4.2 可靠传输的实现机制----停止-等待协议SW (stop and wait)
3.4.3 可靠传输的实现机制----回退N帧协议GBN(Go back N)
3.4.4 可靠传输的实现机制----选择重传协议SR (Select Request)
3.5 点对点协议PPP
- PPP协议为在点对点链路传输各种协议数据报提供了一个标准方法,主要由以下三部分构成
- 对各种协议数据报的封装方法(封装成帧)
- 链路控制协议LCP:用于建立、配置以及测试数据链路的联结
- 一套网络控制协议NCPs:其中的每一个协议支持不同的网络层协议
3.6 媒体接入控制
3.6.1 媒体接入控制的基本概念
- 共享信道要着重考虑的一个问题就是如何协调多个发送和接受站点对一个共享传输媒体的占用,即媒体接入控制MAC(Medium Access Control)
3.6.2 媒体接入控制 ---- 静态划分信道
3.6.3 随机接入 ---- CSMA/CD 协议
载波监听多址接入/碰撞检测 CSMA/CD(Carrier Sense Multiple Access/Collision Detection)
- 多址接入MA:多个站点连接在一条总线上,竞争使用总线
- 载波监听:每一个站点在发送帧之前先要检测一下总线上是否有其他站点在发送帧
- 碰撞检测:每一个正在发送帧的站边发送边检测碰撞
3.6.4 随机接入 ---- CSMA/CA 协议
载波监听多址接入/碰撞避免 CSMA/CD(Carrier Sense Multiple Access/Collision Avoidance)
· 在无线局域网中,仍然可以使用载波监听多址接入CSMA,即在发送帧之前先对传输媒体进行载波监听。若发现有其他站在发送帧,就推迟发送以免发生碰撞。
- 在无线局域网中,不能使用碰撞检测CD,原因如下:
- 由于无线信道的传输条件特殊,其信号强度的动态范围非常大,无线网卡上接受到的信号强度往往会远远小于发送信号的强度,如果要在无线网卡上实现碰撞检测CD,对硬件的要求非常高。
- 即使能够在硬件上实现无线局域网的碰撞检测功能,但由于无线电波传播的特殊性,进行碰撞检测的意义也不大。
3.7 MAC地址、IP地址以及ARP协议
- MAC地址是以太网的MAC子层所使用的地址;
- IP地址是TCP/IP体系结构网际层所使用的地址
- ARP协议属于TCP/IP体系结构的网际层,其作用是已知设备所分配到的IP层,使用ARP协议可以通过IP地址获取到设备的MAC地址
MAC地址
- 一般情况下,用户主机会包含两个网络适配器:有线局域网适配器(有线网卡)和无线局域网适配器(无线网卡)。每个网络适配器都有一个全球唯一的MAC地址。而交换机和路由器往往拥有更多地网络接口,所以会拥有更多的MAC地址。综上所述,MAC地址是对网络上各接口的唯一标识,而不是对网络上各设备的唯一标识。
IP地址
- IP地址是因特网上的主机和路由器所使用的地址,用于标识两部分信息:
- 网络编号:标识因特网上数以百万计的网络
- 主机编号:标识同一网络上的不同主机(或者网络接口)
地址解析协议----ARP协议
ARP协议只能在一段链路或者一个网络上使用
3.8 集线器和交换机的区别
- 集线器Hub
- 使用集线器的以太网在逻辑上仍是一个总线网,各站共享总线资源,使用CSMA/CD协议;
- 集线器制工作在物理层,它的每个接口仅简单地转发比特,不进行碰撞检测(由各站的网卡检测);
- 集线器一般都有少量的容错能力和网络管理能力。
- 以太网交换机Switch
- 工作在数据链路层
- 能同时连通多对接口,无碰撞
3.9 交换机自学习和转发帧的流程
3.10 交换机的生成树协议STP
- 交换机使用生成树协议STP(Spanning Tree Protocal),可以在增加冗余链路来提高网络靠靠性的同时又避免网络环路带来的各种问题。
- 不论交换机之间采用怎样的物理连接,交换机都能够自动计算并构建一个逻辑上没有环路的网络,其逻辑拓扑结构必须是树形的
- 最终生成的树形逻辑拓扑要确保连通整个网络
3.11 虚拟局域网VLAN
3.11.1 虚拟局域网概述
- 虚拟局域网VLAN是一种将局域网内的设备划分成与物理位置无关的逻辑组的技术,这些逻辑组具有某些共同的需求
3.11.2 虚拟局域网VLAN的实现机制
4、网络层
4.1 网络层概述
- 网络层的主要任务是实现网络互连,进而实现数据包在各网络之间的传输。
- 要实现网络层任务,需要解决一下主要问题:
- 网络层向运输层提供怎样的服务(可靠还是不可靠传输)
- 网络层寻址问题
- 路由选择问题
- 因特网是目前全世界用户数量最多的互联网,它使用TCP/IP协议栈。由于TCP/IP协议栈的网络层使用网际协议IP,它是整个协议栈的核心协议,因此在TCP/IP协议栈中网络层常称为网际层。
4.2 网络层提供的两种服务
面向连接的虚电路服务
- 可靠通信由网络来保证
- 必须建立网络层的连接–虚电路VC
- 通信双方沿着已建立的虚电路发送分组
- 通信结束后需要释放所建立的虚电路
无连接的数据包服务
- 可靠通信应当由用户主机来保证
- 不需要建立网络层连接
- 每个分组可走不同的路径
- 每个分组的首部必须携带目的主机的完整地址
- 这种通信方式锁传送的分组可能误码、丢失、重复和失序
- 由于网络本身不提供端到端的可靠传输服务,这就使网络中的路由器可以做的比较简单,而且价格低廉
4.3 IPv4地址
4.3.1 IPv4地址概述
- IPv4地址就是给因特网上的每一台主机或者路由器的每一个接口分配一个在全世界范围内是唯一的32bit的标识符
- 举例:某个IPv4地址为 00001010 11110000 00001111 10101010
- 对应的点分十进制表示: 10.240.15.170
4.3.2 分类编制的IPv4地址
- 网络号 + 主机号,根据网络号划分A(1个字节网络号)、B(2个)、C类(3个)
- 主机号全0 检测地址
- 主机号全1 广播地址
4.3.3 划分子网的IPv4地址
- 从主机号借位划分子网
- 子网掩码来确认子网分组
4.3.4 无分类编址的IPv4地址
4.3.5 IPv4地址的应用规划
定长的子网掩码FLSM
- 使用同一个子网掩码划分
- 每个子网所分配的IP地址数量相同,造成IP地址的浪费
变长的子网掩码VLSM
- 使用不同的子网掩码来划分子网
- 每个子网所分配的IP地址数量可以不同,尽可能减少了IP地址的浪费
4.4 IP数据报的发送和转发过程
- 主机发送IP数据报
- 判断目的主机是否与自己在同一个网络
- 若在同一个网络,则属于直接交付
- 若不在同一个网络,则属于间接交付,传输给主机所在的默认网关,由默认网关帮忙转发
- 路由器转发IP数据报
- 检查IP数据报首部是否出错:
- 若出错,直接丢弃该IP数据报并报告源主机
- 若没有出错就进行转发
- 根据IP数据报的目的地址在路由表中查找匹配的条目
- 若找到匹配的条目,则转发给条目中指示的下一条
- 若找不到,则丢弃该IP数据报并报告源主机
4.5 静态路由配置及其可能产生的环路问题
- 静态路由配置是指用户或网络管理员使用路由器的相关命令给路由器人工配置路由表,这种人工配置方式简单、开销小。但不能及时适应网络状态的变化
- 使用静态路由配置可能会导致以下路又环路的错误
- 配置错误
- 聚合了不存在的网路
- 网络故障
- 路由条目的类型:
- 直连网络
- 静态路由
- 动态路由
- 特殊的静态路由条目
- 默认路由(目的网络为0.0.0.0 地址掩码为0.0.0.0)
- 特定主机路由(目的网络为特定主机的IP,地址掩码为255.255.255.255)
- 黑洞路由(下一跳为null0)
4.6 路由选择协议
4.6.1 路由选择协议概述
4.6.2 路由信息协议RIP的基本工作原理
- 路由信息协议RIP是内部网关协议IGP中最先得到广泛使用的协议之一
- RIP要求自制系统AS内的每一个路由器都要维护从它自己到AS内其他每一个网络的距离记录,这是一组距离,称为“距离向量D-V”
- RIP使用跳数作为度量来衡量到达目的网络的距离
- 路由器到直连网络的距离定义为1
- 路由器到非直连网络的距离定义为所经过的路由器+1
- 允许一条路径最多只能包含15个路由器
- RIP认为好的路由就是距离短的路由
- 当到达统一目的网络有多条距离相登的路由时,可以惊醒等价负载均衡
- RIP包含以下三个要点:
- 和谁交换信息 仅和相邻路由器交换信息
- 交换什么信息 自己的路由表
- 何时交换 周期性 交换
4.6.3 开放最短路径优先OSPF的基本工作原理
- OSPF是基于链路状态的
- OSPF采用SPF算法计算路由,从算法上保证了不会产生路由环路
- OSPF不限制网络规模,更新效率高,收敛速度快
- 链路状态是指本路由器都和哪些路由器相邻,以及相应链路的“代价”
- 代价用来表示费用、距离、时延、带宽等等
4.6.4 边界网关协议BGP的基本工作原理
4.7 IPv4数据报的首部格式
4.8 网际控制报文协议ICMP
- 主机或路由器使用ICMP来发送差错报告报文和询问报文
- ICMP报文被封装在IP数据报中发送
- ICMP差错报文共有以下五种:
- 终点不可达、源点抑制、时间超过、参数问题、改变路由(重定向)
- 常用的ICMP询问报文有以下两种
- 回送请求和回答
- 时间戳请求和回答
- ICMP应用举例
- 分组网间探测PING(windows ping命令)
- 跟踪路由(tracert)
4.9 虚拟专用网VPN与网络地址NAT
- 虚拟专用网VPN(virtual private network)
- 网络地址转换(NetWork Address Translation)
5、运输层
5.1 运输层概述
- 之前的物理层、数据链路层以及网络层它们共同解决了将主机通过异构网络互联起来面临的问题,实现了主机到主机的通信。
- 但实际上在计算机网络中进行通信的真正实体是位于通信两端主机的进程
- 如何为运行在不同主机上的应用进程提供直接的通信服务是运输层的任务,运输层协议又称为端到端协议
- 根据应用需求的不同,因特网的运输层为应用层提供两种不同的运输协议,即面向连接的TCP和无连接的UDP
5.2 运输层端口号、复用与分用的概念
- 运行在计算机上的进程是使用PID来标志
- 然而不同的操作系统使用不同格式的标识符
- 为了使不同操作系统的计算机之间能够进行网络通信,就必须使用统一方法对TCP/IP体系的应用进程进行标识
- TCP/IP体系的运输层使用端口号来区分应用层的不同应用进程
- 端口号使用16比特来表示,取值范围0 ~ 65535;
- 熟知端口号:0 ~ 1023 这些端口号指派给了一些应用协议
- 登记端口号:1024 ~ 49151 为没有熟知端口号的应用程序使用
- 短暂端口号:49512 ~ 65535 留给客户进程选择暂时使用
- 端口号只具有本地意义
5.3 UDP和TCP的对比
- 用户数据协议UDP(User Data Protocol)
- 无连接
- 支持单播、多播、广播
- 面向应用报文
- 向上提供无连接不可靠传输服务;不使用流量控制和拥塞控制
- 首部开销小,仅8字节
- 传输控制协议TCP(Transmission Control Protocol)
- TCP 需要三次握手建立连接 才能进行数据传输,之后还要进行四次挥手释放连接,TCP是面向连接的
- 仅支持单播
- 面向字节流
- 向上提供可靠传输服务
- 首部最小20字节,最大60字节
5.4 TCP的流量控制
- 所谓流量控制就是让发送方的发送速率不要太快,要让接受方来得及接受。
- 利用滑动窗口机制可以很方便地在TCP连接上实现对发送方的流量控制
5.5 TCP的拥塞控制
- 在某段时间,若对网络中某一资源的需求超过了该资源所能提供的可用部分,网络性能就要变坏,这种情况叫拥塞。
- 若出现拥塞而不进行控制,整个网络的吞吐量将随输入负荷的增大而下降。
慢开始
拥塞避免
快重传
块恢复
5.6 TCP超时重传时间的选择
- 不能直接使用某次测量得到的RTT样本来计算超时重传时间RTO
- 利用每次测量得到的RTT样本,计算加权平均往返时间RTTs。
- RTTs1 = RTT1
- RTTs = (1 - a) * RTTs(旧) + a * RTT(新), a的推荐值为0.125
- 超时重传时间RTO应略大于加权平均往返时间RTTs,RTO = RTTs + 4 * RTTd
- RTTd1 = RTT1 / 2
- RTTd = (1 - b) * RTTd(旧) + b * | RTTs - RTT(新)| b 的值一般为0.25
5.7 TCP可靠传输的实现
- TCP基于以字节为单位的滑动窗口来实现可靠传输
5.8 TCP的运输连接管理
5.8.1 TCP的连接建立
- TCP的连接建立要解决以下三个问题:
- 使TCP双方能够确知双方的存在
- 使TCP双方能够协商一些参数(如最大窗口值,是否使用窗口扩大选项和时间戳选项以及服务质量等)
- 使TCP双方能够对运输实体资源(如缓存大小、连接表中的项目等)进行分配
- TCP使用三报文握手建立连接
5.8.2 TCP的连接释放
5.9 TCP报文段的首部格式
6、应用层
6.1 应用层概述
- 应用层是计算机网络体系结构的最顶层,是设计和建立计算机网络的最终目的,也是计算机网络中发展最快的部分。
6.2 客户/服务器方式(C/S) 和 对等方式(P2P方式)
6.3 动态主机配置协议DHCP
DHCP的工作过程听晕了 略
6.4 域名系统DNS(Domain Name System)
- 因特网采用层次树状结构的域名结构
- 域名的结构由若干个分量组成,各分量之间用点隔开,分开代表不同级别的域名
- …….三级域名.二级域名.顶级域名
- 顶级域名(Top level Domain)分为以下三类:
- 国家顶级域名 例如cn
- 通用顶级域名 com(公司企业) net(网络服务机构) org(非盈利性组织) int(国际组织) edu(美国教育机构) gov(美国政府部门) mil(美国军事部门)
- 反向域 用于反向域名解析,即IP地址反向解析为域名
- 域名服务器可以划分为四类
- 根域名服务器
- 顶级域名服务器
- 权限域名服务器
- 本地域名服务器
6.5 文件传送协议FTP
6.6 电子邮件
SMTP 和 POP3
6.7 万维网WWW
- 为了方便地访问在世界范围的文档,万维网使用统一资源定位符URL来指明因特网上任何种类资源的位置
- URL的一般形式:<协议>://<主机>:<端口>/<路径>
- HTML 超文本标记语言,使用多种标签来描述网页的结构和内容
- 层叠样式表CSS 从审美的角度来描述网页的样式
- javascript 控制网页的行为
- 通用顶级域名 com(公司企业) net(网络服务机构) org(非盈利性组织) int(国际组织) edu(美国教育机构) gov(美国政府部门) mil(美国军事部门)
- 反向域 用于反向域名解析,即IP地址反向解析为域名
- 域名服务器可以划分为四类
- 根域名服务器
- 顶级域名服务器
- 权限域名服务器
- 本地域名服务器
6.5 文件传送协议FTP
6.6 电子邮件
SMTP 和 POP3
6.7 万维网WWW
- 为了方便地访问在世界范围的文档,万维网使用统一资源定位符URL来指明因特网上任何种类资源的位置
- URL的一般形式:<协议>://<主机>:<端口>/<路径>
- HTML 超文本标记语言,使用多种标签来描述网页的结构和内容
- 层叠样式表CSS 从审美的角度来描述网页的样式
- javascript 控制网页的行为
- 超文本传输协议HTTP