课程
计算机网络(深夜的路边/牢杨)
计算机网络(深夜的路边/牢杨)
第一章 概述
1. 互联网组成部分
按工作方式划分:
| 部分 | 组成 | 功能 |
|---|---|---|
| 边缘部分 | 由所有连接在互联网上的主机组成 | 用户直接使用,用于通信和资源共享 |
| 核心部分 | 由大量网络和连接这些网络的路由器组成 | 为边缘部分提供服务,提供连通性和交换 |
2. 分组交换的要点
分组交换(采用存储转发技术):
- 在发送端,将报文分为较短的、固定长度的数据段
- 每个数据段前加上首部构成分组
- 分组交换网以”分组”作为数据传输单元
- 依次发送
- 接收端接收后剥去首部,恢复为原来的报文
优点:
- 高效:在传输过程中动态分配带宽,提高通信链路利用率
- 灵活:每个分组独立选择转发路由
- 迅速:以分组作为传送单位,可以不先建立连接就能向其他主机发送分组
- 可靠:保证可靠性的网络协议,具有完善的网络生存性
3. 网络协议三要素
- 语法:数据与控制信息的结构或格式
- 语义:需要发出何种控制信息,完成何种动作以及做出何种响应(含义和目的)
- 同步:事件实现顺序的详细说明(时序关系)
4. 网络中主要性能指标
各指标含义及产生位置:
| 指标 | 含义 |
|---|---|
| 速率 | 数据传输速率,单位b/s |
| 带宽 | 信道具有的频带宽度,在课程中指单位时间内网络中某信道所能通过的最高数据率 |
| 吞吐量 | 单位时间内通过某个网络(或信道、接口)的数据量,受带宽或速率限制 |
| 时延 | 数据(一个报文或分组、比特)从网络的一端传送至另一端所需时间 |
时延的组成:
- 发送时延 = 数据帧长度(bit) / 发送速率(bit/s)
- 传播时延 = 信道长度(m) / 信道传播速率(m/s)
- 排队时延:分组在路由器输入队列中排队等待处理的时间
- 处理时延:路由器处理分组所花费的时间
其他指标:
- 时延带宽积 = 传播时延 × 带宽
- 往返时间RTT:从发送方发送数据开始,到发送方收到来自接收方的确认总共经历的时间
- 信道利用率:信道有百分之几的时间被利用
- 网络利用率:全网络信道利用率的加权平均值
5. 体系结构的概念、标准
体系结构是计算机网络的各层及其协议的集合。
OSI七层模型与TCP/IP四层模型、五层协议对比:
| OSI七层 | TCP/IP四层 | 五层协议 |
|---|---|---|
| 应用层 | 应用层 | 应用层 |
| 表示层 | (各种应用层协议如DNS) | |
| 会话层 | ||
| 运输层 | 运输层(TCP/UDP) | 运输层 |
| 网络层 | 网际层IP | 网络层 |
| 数据链路层 | 网络接口层 | 数据链路层 |
| 物理层 | (无具体内容) | 物理层 |
第二章 物理层
1. 物理层接口特性
- 机械特性:接口所用接线器的尺寸、引线数目和排列、固定和锁定装置等
- 电气特性:各条线上出现的电压的范围
- 功能特性:某条线上出现的某一电平的电压表示何种意义
- 过程特性:对于不同功能的各种可能事件的出现顺序
2. 奈氏准则
理想低通信道的最高码元传输速率 = 2W Baud
- W是理想低通信道的带宽,单位为赫兹(Hz)
- 每赫带宽的理想低通信道的最高码元传输速率是每秒2个码元
- Baud是波特,是码元传输速率的单位,1波特为每秒传送1个码元
3. 物理传输介质
传输媒体分类:
- 导引型传输媒体:电磁波被导引沿着固体媒体(铜线或光纤)传播
- 双绞线
- 同轴电缆
- 光纤
- 非导引型传输媒体:自由空间中的无线传输
4. 基本的带通调制方法
三种基本调制方式:
- 调幅(AM):载波的振幅随基带数字信号而变化
- 调频(FM):载波的频率随基带数字信号而变化
- 调相(PM):载波的初始相位随基带数字信号而变化
计算示例: 在无噪声情况下,若某通信链路的带宽为3kHz,采用4个相位,每个相位具有4种振幅的QAM调制技术,则该通信链路的最大数据传输速率是?
- 信号状态数 = 4 × 4 = 16
- 每个码元携带 bit
- 最高码元传输速率 = 2W = 2 × 3000 = 6000 Baud
- 最大数据传输速率 = 6000 × 4 = 24000 bps = 24 kbps
5. 信道复用技术
| 复用技术 | 特点 |
|---|---|
| 频分复用(FDM) | 所有用户在同样的时间占用不同的带宽资源(注意:这里的”带宽”是频率带宽而不是数据的发送速率) |
| 时分复用(TDM) | 将时间划分为一段段等长的时分复用帧,每个用户在每个TDM帧中占用固定序号的时隙,可能造成资源浪费 |
| 统计时分复用(STDM) | 不是固定分配时隙,而是按需分配时隙 |
| 波分复用(WDM) | 光的频分复用,使用一根光纤来同时传输多个光载波信号 |
| 码分复用(CDMA) | 各用户使用经过特殊挑选的不同码型,彼此不会造成干扰,有很强的抗干扰能力 |
第三章 数据链路层
1. PPP协议及其透明传输
透明传输的实现:
- 同步传输:比特填充法(连续的5个1后面补1个0)
- 异步传输:字符填充法
字符填充法:
- 将信息字段中出现的每一个0x7E字节转变成为2字节序列(0x7D, 0x5E)
- 若信息字段中出现一个0x7D的字节,则将其转变成为2字节序列(0x7D, 0x5D)
- 若信息字段中出现ASCII码的控制字符(即数值小于0x20的字符),则在该字符前面要加入一个0x7D字节,同时将该字符的编码加以改变
PPP协议的组成部分:
- 一个将IP数据报封装到串行链路的方法
- 链路控制协议LCP(Link Control Protocol)
- 网络控制协议NCP(Network Control Protocol)
PPP协议应满足的需求:
- 简单(首要要求)
- 封装成帧
- 透明性
- 多种网络层协议
- 多种类型链路
- 差错检测
- 检测连接状态
- 最大传送单元MTU
- 网络层地址协商
- 数据压缩协商
PPP不需要的功能:
- 纠错
- 流量控制
- 序号
- 多点线路
- 半双工或单工链路
PPP帧格式:
| 标志 | 地址 | 控制 | 协议 | 信息部分 | FCS | 标志 |
|------|------|------|------|----------|-----|------|
| 0x7E | 0xFF | 0x03 | 2字节 | ≤1500字节 | 2字节 | 0x7E |
PPP是面向字节的,所有的PPP帧的长度都是整数字节。
2. 局域网的特点
最主要的特点:
- 网络为一个单位所拥有
- 地理范围和站点数目均有限
拓扑类型: 星形网、环形网、总线网
3. CSMA/CD协议
工作过程: 先听后发、边听边发、冲突停止、等待重发
重要特性:
- 只能进行半双工通信
- 每个站在发送数据后的一小段时间内存在遭遇碰撞的可能性,这种不确定性使整个以太网的平均通信远小于以太网的最高数据率
争用期:
- 以太网端到端往返时延2τ称为争用期或碰撞窗口
- 经过争用期这段时间还没检测到碰撞,才能肯定这次发送不会碰撞
- 对于10Mbit/s以太网在争用期内可发送512bit,即64字节(2τ=51.2μs)
最短帧长: 以太网规定最短有效帧长为64字节,凡长度小于64字节的帧都是由于冲突而异常终止的无效帧
计算示例:
题目1: 假定1km长的CSMA/CD网络的数据率为1Gbit/s,设信号在网络上的传播速度为200000km/s,能够使用此协议的最短帧长是多少字节?
- 传播时延 = 1km / 200000km/s = 5×10⁻⁶s = 5μs
- 往返时延 = 2τ = 10μs
- 最短帧长 = 1Gbit/s × 10μs = 10000bit = 1250字节
题目2: 某局域网采用CSMA/CD协议实现介质访问控制,数据传输速率为10Mbit/s,主机甲和主机乙之间的距离为2km,信号传播速度是200000km/s。
(1) 若主机甲和主机乙发送数据时发生冲突,则从开始发送数据时刻起,到两台主机均检测到冲突时刻止,最短需经多长时间?最长需经过多长时间?
- 最短:2km / 200000km/s = 1×10⁻⁵s = 0.01ms
- 最长:2 × 2km / 200000km/s = 2×10⁻⁵s = 0.02ms
(2) 若网络不存在任何冲突与差错,主机甲总是以标准的最长以太网数据帧(1518B)向主机乙发送数据,主机乙每成功收到一个数据帧后立即向主机甲发送一个64B的确认帧,主机甲收到确认帧后方可发送下一个数据帧。此时主机甲的有效数据传输速率是多少?
- 发送数据帧所需时间:1518B / 10Mbit/s = 1.2144ms
- 发送确认帧所需时间:64B / 10Mbit/s = 0.0512ms
- 往返时延:2 × 2km / 200000km/s = 0.02ms
- 总时延 = 1.2144 + 0.0512 + 0.02 = 1.2856ms
- 有效数据传输速率 = 1500B / 1.2856ms = 9.33Mbit/s
4. 以太网的MAC地址
定义: 在局域网中,硬件地址又称为物理地址或MAC地址
MAC帧各字段:
- 源地址、目的地址:各6个字节
- 类型:2字节,用来标志上一层使用的是什么协议
- 数据字段:长度46~1500字节(46=最短帧长64-18字节首部和尾部),当数据字段<46字节时,会有填充字段
- FCS字段:使用CRC算法检测错误
MTU: MAC帧数据字段最大值1500字节
最大帧长: MTU加上首部尾部长度 = 1500 + 18 = 1518字节
5. VLAN的特点
VLAN不是新的技术,是交换机的应用,它能够分割广播域。
虚拟局域网(VLAN)技术的主要优点:
- 改善了性能
- 简化了管理
- 降低了成本
- 改善了安全性
第四章 网络层
1. 网络互联的概念
网络互联都是用路由器进行网络互联和路由选择,利用IP协议。
使用的中间设备:
- 物理层中继系统:转发器、集线器
- 数据链路层中继系统:网桥、交换机
- 网络层中继系统:路由器
- 网络层以上的中继系统:网关
2. IP地址的组成和分类
IP地址组成: IP地址 = {<网络号>, <主机号>},在互联网范围内唯一
各类IP地址:
| 类别 | 网络号 | 主机号 | 范围 |
|---|---|---|---|
| A类 | 8位 | 24位 | 1.0.0.0 ~ 126.255.255.255 |
| B类 | 16位 | 16位 | 128.0.0.0 ~ 191.255.255.255 |
| C类 | 24位 | 8位 | 192.0.0.0 ~ 223.255.255.255 |
| D类 | 多播地址 | 224.0.0.0 ~ 239.255.255.255 | |
| E类 | 保留 | 240.0.0.0 ~ 255.255.255.255 |
IP地址辨认练习:
- 128.36.199.3 → B类
- 21.12.240.17 → A类
- 192.12.69.248 → C类
- 89.3.0.1 → A类
- 230.3.6.2 → D类
配套协议: ICMP、IGMP、ARP
3. CIDR(无分类域间路由选择)
定义: 消除了传统的A、B、C分类以及划分子网的概念
网络前缀: IP地址 = {<网络前缀>, <主机号>},网络前缀的位数n不固定
地址块: CIDR把网络前缀都相同的连续的IP地址组成地址块
地址表示含义:
- 128.14.35.7/20:是IP地址,同时指明了网络前缀为20位
- 128.14.32.0/20:是包含有多个IP地址的地址块,同时也是这个地址块中主机号为全0的IP地址
- 128.14.35.7:是IP地址,但未指明网络前缀长度,不知道其网络地址
- 128.14.32.0:不能指明一个网络地址,因为无法知道网络前缀是多少
特殊地址:
| 网络前缀长度 | 点分十进制 | 说明 |
|---|---|---|
| /32 | 255.255.255.255 | 就是一个IP地址,用于主机路由 |
| /31 | 255.255.255.254 | 只有两个IP地址,用于点对点链路 |
| /0 | 0.0.0.0 | 同时IP地址也是全0,用于默认路由 |
地址掩码(子网掩码): 可以找出IP地址中的网络号部分,长度32位
- A类地址默认:255.0.0.0
- B类地址默认:255.255.0.0
- C类地址默认:255.255.255.0
网络地址计算: IP地址 AND 地址掩码 = 网络地址
4. IP数据报格式
首部前一部分长度固定20字节:
0 16 31
+-------------------+-------------------+
| 版本 | 首部长度 | 区分服务 | 总长度 |
+-------------------+-------------------+
| 标识 | 标志 | 片偏移 |
+-------------------+-------------------+
| 生存时间 | 协议 | 首部检验和 |
+-------------------+-------------------+
| 源地址 |
+-------------------+-------------------+
| 目的地址 |
+-------------------+-------------------+
| 可选字段(长度可变) |
+-------------------+-------------------+
各字段含义:
- 版本:IPv4,所以值为4
- 标志:
- MF = 1表示后面还有分片,反之表示为最后一个分片
- DF = 0表示可以分片
- 协议:指出此数据报携带的数据使用何种协议
- 首部检验和:只检验数据报的首部
5. ARP协议
定义: 地址解析协议,完成主机或路由器IP→MAC的映射,解决下一跳走哪的问题
作用: 从网络层的IP地址解析出数据链路层使用的硬件地址
工作过程:
- 检查ARP高速缓存,有对应项则写入MAC帧
- 无对应项,则用目的MAC为FF-FF-FF-FF-FF-FF的帧封装并广播ARP请求分组
- 目的主机收到后向源主机单播一个ARP响应分组
- 将映射写入高速缓存
IP地址与MAC地址的区别:
- MAC地址(或物理地址)是数据链路层和物理层使用的地址
- IP地址是网络层和以上各层使用的地址,是一种逻辑地址(用软件实现)
6. ICMP报文类型
1. 差错报文(4种):
- 终点不可达
- 时间超过
- 参数问题
- 重定向
2. 询问报文:
- 回送请求和回答报文
- 时间戳请求和回答报文
应用:
- 差错报告、拥塞控制、流量控制
- PING:测试连通性
- Traceroute:跟踪一个分组从源点到终点的路径
7. IGMP作用
让连接在本地局域网上的多播路由器知道本局域网上是否有主机(的进程)参加或退出了某个多播组。在IP多播时使用。
8. 路由协议分类
两大类路由选择协议:
| 内部网关协议IGP | 外部网关协议EGP | |
|---|---|---|
| 定义 | 在一个自治系统内部使用的路由选择协议 | 在不同自治系统之间进行路由选择时使用 |
| 常用协议 | RIP、OSPF | BGP-4 |
自治系统AS的定义: 在单一的技术管理下的一组路由器,而这些路由器使用一种AS内部的路由选择协议和共同的度量以确定分组在该AS内的路由,同时还使用一种AS之间的路由选择协议用以确定分组在AS之间的路由。
路由协议对比:
| IGP(RIP) | IGP(OSPF) | EGP(BGP-4) | |
|---|---|---|---|
| 原理(基于) | 距离向量 | 链路状态 | 路径向量 |
| 协议三要素 | 相邻路由器、所有路由 | 所有、相邻链路 | BGP发言人、全部、变化 |
| 时间 | 固定间隔 | 变化时 | 变化时 |
| 传送(调用) | UDP | IP | TCP |
| 特点 | 小规模 | 分区域 | 域间 |
RIP特点: 好消息传得快,坏消息传得慢
9. BGP协议
BGP路由: [前缀,BGP属性] = [前缀,AS-PATH, NEXT-HOP]
- 前缀:指明到哪一个子网(用CIDR记法表示)
- BGP属性:最重要的两个属性是自治系统路径AS-PATH和下一跳NEXT-HOP
选择原则(按优先级):
- 本地偏好(local preference)值最高的路由(默认值=100)
- AS跳数最小的路由
- 使用热土豆路由选择算法(分组在AS内的转发次数最少)
- 路由器BGP ID数值最小的路由
10. IPv6地址格式
冒号十六进制记法: 128bit地址
零压缩: 可以省略前导零,也可以用一对冒号代替连续的零
示例:
- 0:0:0:0:0:0:128.10.2.1 → ::128.10.2.1
- 12AB:0000:0000:CD30:0000:0000:0000:0000/60 → 12AB::CD30:0:0:0:0/60 或 12AB:0:0:CD30::/60
11. 专用地址、VPN、NAT
三个专用IP地址块:
- 10.0.0.0 ~ 10.255.255.255(A类,10.0.0.0/8,24位块)
- 172.16.0.0 ~ 172.31.255.255(B类,172.16.0.0/12,20位块)
- 192.168.0.0 ~ 192.168.255.255(C类,192.168.0.0/16,16位块)
VPN(虚拟专用网): 利用公用的互联网作为本机构各专用网之间的通信载体
NAT(网络地址转换):
- 需要在专用网连接到互联网的路由器上安装NAT软件
- 装有NAT软件的路由器叫做NAT路由器
- 它至少有一个有效的外部全球IP地址
- 所有使用本地地址的主机在和外界通信时,都要在NAT路由器上将其本地地址转换成全球IP地址
使用IP隧道技术的应用/协议:
- IP多播
- 虚拟专用网VPN
- IPv4向IPv6过渡
第五章 运输层
1. TCP和UDP的特点
TCP(传输控制协议):
- 一种面向连接的协议
- 提供面向连接的服务
- 传送的数据单位称为TCP报文段(segment)
- 不提供广播或多播服务
- 提供可靠的、面向连接的运输服务,增加了许多开销
UDP(用户数据报协议):
- 一种无连接协议
- 提供无连接服务
- 在传送数据之前不需要先建立连接
- 传送的数据单位称为UDP报文或用户数据报
- 对方的运输层在收到UDP报文后,不需要给出任何确认
- 虽然不提供可靠交付,但在某些情况下是最有效的工作方式
2. TCP确认机制
确认号的两重含义:
- 对上条信息的确认,确认号是下条信息的首部字段
- 表示该消息包括之前的消息已经全部收到,期望收到的消息是哪条
3. TCP报文段首部格式
| 源端口 | 目的端口 |
|--------|----------|
| 序号 |
| 确认号 |
|首部偏移|保留|标志位|窗口|
| 检验和 |紧急指针|
| 选项(可变) |填充|
各字段含义:
- 序号:第一字节的编号
- 确认号:对连续接收的最后一个字节的确认
- 窗口:接收方限制发送方
UDP伪首部: 在计算检验和时,临时把”伪首部”和UDP用户数据报连接在一起,伪首部仅仅是为了计算检验和
4. TCP连接建立
三次握手过程
5. TCP拥塞控制算法
拥塞窗口遇到的两种情况:
- 超时
- 3个连续的ACK
第六章 应用层
1. DNS(域名系统)
作用: 把便于人们使用的域名(机器名字)转换为IP地址
解析过程:
- 主机向本地域名服务器采用递归查询
- 本地域名服务器向根域名服务器采用迭代查询
顶级域名:
- 国家顶级域名:.cn、.us等
- 通用顶级域名gTLD:
- .com(公司和企业)
- .net(网络服务机构)
- .org(非赢利性组织)
- .edu(美国专用的教育机构)
- .gov(美国专用的政府部门)
- .mil(美国专用的军事部门)
- .int(国际组织)
我国二级域名:
- 类别域名:.ac(科研机构)、.com(工商金融等企业)、.edu(教育机构)、.gov(政府部门)、.net(互联网络、NIC、NOC)、.org(非盈利性组织)
- 行政区域名:34个(省、自治区、直辖市),如.bj(北京)、.sh(上海)、.hn(湖南)、.ha(河南)、.hi(海南)
2. FTP(文件传送协议)
特点:
- 提供交互式的访问
- 允许客户指明文件的类型与格式
- 允许文件具有存取权限
- 屏蔽了各计算机系统的细节,适合于在异构网络中任意计算机之间传送文件
两个连接:
- 控制连接:在整个会话期间一直保持打开,FTP客户发出的传送请求通过控制连接发送给服务器端的控制进程,但控制连接不用来传送文件
- 数据连接:实际用于传输文件的是”数据连接”,服务器端的控制进程在接收到FTP客户发送来的文件传输请求后就创建”数据传送进程”和”数据连接”
3. 万维网(WWW)
四个问题:
- 怎样标志分布在整个互联网上的万维网文档? 使用统一资源定位符URL来标志万维网上的各种文档
- 用何协议实现万维网上各种超链的链接? 超文本传送协议HTTP,使用TCP连接进行可靠的传送
- 怎样使各种万维网文档都能在互联网上的各种计算机上显示出来? 超文本标记语言HTML
- 怎样使用户能够很方便地找到所需的信息? 使用各种搜索工具(即搜索引擎)
4. 电子邮件
四个协议两个端口号:
- SMTP:发邮件,端口25
- POP3、IMAP:收邮件,端口110
- MIME:对SMTP的拓展
5. DHCP协议
因特网上的主机需要配置的项目:
- IP地址
- 子网掩码
- 默认路由器的IP地址
- 域名服务器的IP地址













