第 1 章 概述
1. 网络的基本特点
- 连通性
- 共享性
2. internet 和 Internet 的含义
-
internet Internet 中文名称 互连网 互联网/因特网 名词性质 通用名词 专用名词 名词解释 指由多个计算机网络互连而成的计算机网络 指当前全球最大的、开放的、由众多网络连接而成的特定互连网,前身是 ARPANET 采用协议 任意 TCP/IP 协议
3. 互联网的组成和工作方式
-
边缘部分
- 组成:所有连接在互联网上的主机
- 功能:用户直接使用,进行通信和资源共享
- 工作方式
- 客户/服务器方式(C/S方式)
-
客户是服务请求方,服务器是服务提供方
-
客户程序 服务器程序 请求发起与处理 主动发起 被动等待,同时处理 运行时间 用户调用后 系统启动后 是否需要知道对方连接 需要 不需要 特殊硬件和复杂操作系统 不需要 需要
-
- 对等方式(P2P方式)
- 两台主机都可以是服务请求方和服务提供方,前提是两台主机均安装对等连接软件(P2P软件)
- 客户/服务器方式(C/S方式)
-
核心部分
-
由大量网络和连接这些网络的路由器组成
-
为边缘部分提供服务
-
工作方式
-
电路交换
- 三个步骤:建立连接->通话->释放连接
- 主要特点:在通话的全部时间内,通话的两个用户始终占用端到端的通信资源,线路的传输效率低
-
分组交换
- 采用技术:存储转发
- 路由器功能:转发分组
- 转发前的操作:将报文,即要发送的整块数据划分成多个等长数据段,在每个数据段前加上由必要的控制信息组成的首部构成分组,也称包
- 转发时的操作:路由器收到分组后将其暂时存储,检查其首部,查找转发表,按首部中的目的地址找到合适的接口转发给下一个路由,最终交付给目的主机
- 主要特点:在分组传输的过程中动态分配传输带宽,逐段占用通信链路
-
比较三种交换方式
-
电路交换 报文交换 分组交换 传送单位 报文 报文 分组 传送路径 源点到终点 节点到节点 节点到节点
-
-
-
4. 计算机网络的类别
- 按网络的作用范围分
- 广域网 WAN
- 域域网 MAN
- 局域网 LAN
- 个人区域网 PAN
- 按网络的使用者分
- 公用网
- 专用网
5. 计算机的性能指标
- 速率(数据率、比特率)
- 数据的传输速率
- 单位:bit/s(b/s、bps)
- 带宽
- 单位时间内网络中某信道所能通过的最高数据率
- 单位:bit/s(b/s、bps)
- 吞吐量
- 单位时间内通过某个网络/信道/接口的实际数据量
- 单位:bit/s(b/s、bps)
- 时延
- 发送时延(传输时延)
- 主机或路由器发送数据帧所需的时间
- 发送时延 = 数据帧长度 ( b i t ) 发送速率 ( b i t / s ) 发送时延=\frac{数据帧长度(bit)}{发送速率(bit/s)} 发送时延=发送速率(bit/s)数据帧长度(bit)
- 传播时延
- 电磁波在信道中传播一定的距离需要花费的时间
- 传播时延 = 信道长度 ( m ) 电磁波在信道上的传播速率 ( m / s ) 传播时延=\frac{信道长度(m)}{电磁波在信道上的传播速率(m/s)} 传播时延=电磁波在信道上的传播速率(m/s)信道长度(m)
- 处理时延
- 主机或路由器收到分组时处理分组的时间
- 排队时延
- 分组进入路由器后在输入队列中排队等待处理和在输出队列中排队等待转发的时间
- 总时延
- 总时延 = 发送时延 + 传播时延 + 处理时延 + 排队时延 总时延=发送时延+传播时延+处理时延+排队时延 总时延=发送时延+传播时延+处理时延+排队时延
- 发送时延(传输时延)
6. 具有四层和五层协议的体系结构
-
TCP/IP 的四层协议
- ⑤ 应用层、④ 运输层、③ 网际层、② 链路层
-
讲述原理的五层协议
-
⑤ 应用层、④ 运输层、③ 网络层、② 数据链路层、① 物理层
-
任务 协议与数据单位 ⑤ 应用层 通过应用进程间的交互来完成特定网络应用 域名系统 DNS、支持万维网应用的 HTTP 协议、支持电子邮件的 SMTP 协议——均为报文 ④ 运输层 负责向两台主机进程之间的通信提供数据传输服务 传输控制协议 TCP ——报文段、用户数据报协议UDP——用户数据报 ③ 网络层 负责为分组交换网上的不同主机提供通信服务 IP协议——数据报(分组) ② 数据链路层 负责为链路上两个相邻节点提供数据传送服务 帧 ① 物理层 负责在收发双方中传输比特 比特
-
第 2 章 物理层
1. 通信的三种方式
-
特点 单向通信(单工通信) 只有一个方向的通信没有反方向的交互 双向交替通信(半双工通信) 通信的双方都可以发送信息,但不能双方同时发送 双向同时通信(全双工通信) 通信的双方可以同时发送和接收信息
2. 信号与调制
-
信号
-
基带信号 带通信号 来自信源的信号,包含低频甚至直流分量,需要进行调制
经过基带调制的信号,是数字信号经过基带调制的信号,是数字信号
-
-
调制
-
基带调制 带通调制 对基带信号的波形进行变换,使之能与信道特性相适应,也叫编码 使用载波进行调制,把基带信号的频率范围搬移到较高频段 基带信号 → \rightarrow →基带信号 基带信号 → \rightarrow →带通信号 数字信号 → \rightarrow →数字信号 数字信号 → \rightarrow →模拟信号
-
-
常用的编码方法
-
含义 不归零制 正电平——1, 负电平——0 归零制 正脉冲——1,负脉冲——0 曼彻斯特编码 位周期中心向上跳变——0,位周期中心向下跳变——1,也可相反 差分曼彻斯特编码 位开始边界有跳变——0,位开始边界没有跳变——1
-
基本的带通调制方法
-
含义 调幅(AM) 载波的振幅变化,无载波输出——0,有载波输出——1 调频(FM) 载波的频率变化,频率 f 1 f_1 f1——0,频率 f 2 f_2 f2——1 调相(PM) 载波的相位变化,相位 0 度——0,相位 180 度——1
3. 传输媒体
- 导引型传输媒体
- 电磁波被导引沿着固体传播
- 举例:双绞线、同轴电缆、光缆
- 非导引型传输媒体
- 电磁波常为无线传输
- 微波接力:在一条微波通信信道的两个终端之间建立若干个中继站,中继站把前一站送来的信号经过放大后再发送到下一站
- 卫星通信:利用人造同步地球卫星作为中继器的一种微波接力通信
4. 信道复用技术
-
频分复用 FDM
- 频分复用的各路信号在同样的时间占用不同的带宽资源
- 频分多址接入 FDMA:让 N 个用户各使用一个频带,或让更多的用户轮流使用这 N 个频带
-
时分复用 TDM(同步)
- 时分复用的所有用户在不同的时间占用同样的频带宽度
- 时分多址接入 TDMA:让 N 个用户各使用一个时隙,或让更多的用户轮流使用这 N 个时隙
-
统计时分复用 STDM
-
改进的时分复用,按需动态地分配时隙
-
-
波分复用 WDM
- 光的频分复用
-
码分复用 CDN
-
码分多址 CDMA:码分复用信道为多个不同地址的用户所共享,每一个用户可以在同样的时间使用同样的频带进行通信
- 每个站点被指派一个唯一的 m bit 码片序列,若站点要发送比特 1,则发送其码片序列;若站点要发送比特 0,则发送其码片序列的反码
- 为方便运算,码片序列中的 0 记作 -1,1 记作 +1
- 每个站点的码片序列的规格化内积为0、其反码的规格化内积为0,任何一个码片序列和它本身的规格化内积为 1,与其反码的规格化内积为 -1
- 接收站接收时,将发送站的码片序列与收到的信号求规格化内积求得发送的码元
-
各用户使用经过特殊挑选的不同码型,各用户之间不会造成干扰
-
5. 宽带接入技术
- ADSL 技术
- 光纤同轴混合网
- FTTx 技术
第 3 章 数据链路层
1. 信道类型
- 点对点信道
- 广播信道
2. 三个基本问题
- 封装成帧
- 帧 = 首部 + 数据 + 尾部
- 首部和尾部的作用是进行帧定界
- 数据部分长度不超过最大传送单元 MTU
- 数据是 ASCII 码组成的文本文件,可用帧界定符 SOH、EOT
- 透明传输
- 数据是非 ASCII 码组成的文本文件,可能会错误地找到帧边界,收下第一个 SOH 和 EOT 间的部分,丢弃其他部分
- 透明表示实际存在的事物看起来像不存在一样,在数据链路层表示无论什么样的数据都能按照原样无差错地通过数据链路层
- 解决透明传输问题的方法是字节填充,在 SOH、EOT 前加上转义字符 ESC
- 差错检测
- 比特差错指的是比特在传输过程中 1 变成 0 或 0 变成1
- 数据链路层广泛使用循环冗余检测 CRC 检错技术
-
假设数据 M 的位数为 k,CRC 运算即为在 M 后添加供差错检测用的 n 位冗余码,构成 (k + n) 位的帧发送
-
n 位冗余码通过二进制的模 2 运算得出,即用 (k + n) 位数除以 (n + 1) 位除数 P,得到 n 位余数 R 作为冗余码
-
为进行检错而添加的冗余码称帧检验序列 FCS,FCS 不一定选用 CRC
+ -
使用 CRC 只能做到无差错接受,即接受的帧以非常接近 1 的概率认为其无差错
-
3. 网络适配器(网卡)的作用
- 进行数据串行传输和并行传输的转换
- 对数据进行缓存
- 包含数据链路层和物理层两个层次的功能
- 适配器接收和发送帧时,不使用计算机CPU
- 从局域网收到有差错的帧,直接丢弃不通知计算机
- 从局域网收到正确的帧,使用中断通知计算机并交付网络层
- 发送数据报,组装成帧发送至局域网
4. CSMA/CD 协议
- 使用该协议的以太网进行半双工通信
- 每个站点发送数据后的一小段时间内存在遭遇碰撞的可能
- 争用期指以太网端到端往返时间,又称碰撞窗口
- 每个站点发送数据后经过争用期还未检测到碰撞,才肯定这次发送不会发生碰撞
- 以太网使用截断二进制指数退避算法确定碰撞后重传的时机
5. 以太网的 MAC 层
-
MAC 地址
- 也称硬件地址、物理地址
- 实际为适配器地址
- 48 位
- 地址字段的第一字节的最低有效位为 I/G 位
- I/G 位为 0,表示单个站地址
- I/G 位为1,表示组地址
- 地址字段第一字节的最低第二位为 G/L 位
- G/L 位为 0,表示全球管理
- G/L 位为1,表示本地管理
- 适配器每收到一个 MAC 帧就用硬件检查 MAC帧中的目的地址,若是发往本站的帧则收下,否则丢弃
- 单播帧(一对一)收到的帧的 MAC 地址与本站的 MAC 地址相同
- 广播帧(一对全体)发送给本局域网上所有站点的帧
- 多播帧(一对多)发送给本局域网上一部分站点的帧
6. MAC帧
-
最小帧长 64(46+18) 字节,最大帧长 1518(1500+18)字节
-
组成
-
字段 字节 描述 目的地址 6 目的 MAC 地址 源地址 6 源 MAC 地址 类型 2 标志上一层使用的协议,例如0x0800表示上层使用的是 IP 协议 数据 46~1500 不足 46 字节 MAC 层将其填充至 46 字节,上层收到后再把多余的字节丢弃 FCS 4 使用 CRC 检验的帧检验序列,其检验范围为整个 MAC 帧
-
7. 在物理层扩展互联网
-
拓展主机和集线器之间的距离
-
使用一对光纤和一对光纤调制解调器,可以使主机和几公里外的集线器相连(距离上)
-
使用多个集线器,可以连接成更大的以太网(范围上)
-
-
以太网交换机的功能
- 自学习功能:源主机向目的主机发送帧,从源端口进入交换机,交换机收到帧后查找交换表,若无目的主机地址,将此帧的源地址和源端口写入交换表,并向除源端口外的端口广播该帧;若有目的主机地址,直接转发而不广播,并将此帧的源地址和源端口写入交换表
第 4 章 网络层
8. 网络层的两种服务
-
虚电路服务 数据报服务 思路 可靠通信应由网络来保证 可靠通信应由用户主机来保证 连接的建立 必须有 不需要 终点地址 仅在连接建立时使用,每个分组使用短的虚电路号 每个分组均有终点的完整地址,即 IP 地址 分组转发 属于同一条虚电路的分组按照同一路由进行转发 每个分组独立查找转发表进行转发 节点故障 所有通过出故障的节点的虚电路均不能工作 出故障的节点可能会丢失分组,一些路由可能发生变化 分组顺序 总是按发送顺序到达终点 到达终点的顺序不一定按发送的顺序 端到端的差错处理和流量控制 可以由网络负责,也可以由用户主机负责 由用户主机负责
9. 网络层的协议
- 最主要的协议
- 网际协议 IP
- 与其配套使用的协议
- 地址解析协议 ARP
- 网际控制报文协议 ICMP
- 网际组管理协议 IGMP
10. IP 地址
-
连接到互联网上的每一台主机或路由器的每个接口分配到的 32位 标识符
-
现由互联网名字和数字分配机构 ICANN 进行分配
-
IP 地址使用点分十进制记法
-
IP 地址前 n 位是网络号,后 (32 - n) 位是主机号
+ -
分类的 IP 地址
-
n 类别 地址数量 网络号 特殊网络号 主机号 特殊主机号 A 类地址 8 单播地址 2 31 2^{31} 231,占 50% 占 1 个字节 前 1 位为1,网络号 127 (01111111)作为本地软件环回测试不指派,可指派的网络号为 2 7 − 1 2^7-1 27−1 个 占 3 个字节 主机号 全 0 表示本主机连接到的单个网络地址,全 1 表示该网络上的所有主机,最大主机数为 2 24 − 2 2^{24}-2 224−2 B 类地址 16 单播地址 2 30 2^{30} 230,占 25% 占 2 个字节 前 2 位为 10,网络号128 不指派,可指派的网络号为 2 14 2^{14} 214 个 占 2 个字节 最大主机数为 2 16 − 2 2^{16}-2 216−2 C 类地址 24 单播地址 2 29 2^{29} 229,占 12.5% 占 3 个字节 前 3 位为 110,网络号 192 不指派,可指派的网络号为 2 21 2^{21} 221 个 占 1 个字节 最大主机数为 2 8 − 2 2^{8}-2 28−2 D 类地址 32 多播地址 2 28 2^{28} 228,占 6.25% E 类地址 32 保留地址 2 28 2^{28} 228,占 6.25%
-
11. CIDR 地址块的最小、最大地址
-
网络前缀都相同的所有连续的 IP 地址
-
CIDR 地址包含的 IP 地址数目取决于网络前缀的位数
-
知道 CIDR 地址块的任意一个地址,就可以知道该地址块的最小地址和最大地址
-
例:128.14.35.7/20 是 CIDR 地址块中的一个地址,将其写为二进制为:10000000 00001110 00100011 00000111,由于其前 20 位为网络前缀,可得出最小和最大地址分别为:
-
二进制 点分十进制 最小地址 10000000 00001110 00100000 00000000 128.14.32.0 最大地址 10000000 00001110 00101111 11111111 128.14.47.255
-
12. CIDR 地址块划分
- 通过 0、1 每次划分一半的地址
13. ARP 协议的作用
-
地址解析协议 ARP 在主机的 ARP 高速缓存中存放一个从 IP 地址到 MAC 地址的映射表,该映射表动态更新(新增或超时删除)
-
主机 A 向主机 B 发送 IP 数据报时,先在其 ARP 高速缓存中查看有无 B 的 IP 地址,若有,查出 B 对应的 MAC 地址,再把该 MAC 地址写入 MAC 帧,通过局域网将该 MAC 帧发往此 MAC 地址;若无,按照以下步骤查找 B 的 MAC 地址
- ① 主机 A 的 ARP 进程在本局域网上广播发送一个 ARP 请求分组,求主机 B 的 IP 地址对应的 MAC 地址
- ② 在此局域网的所有主机上运行的 ARP 进程均收到此 ARP 请求分组
- ③ 主机 B 的 IP 地址与 ARP 请求分组中要查询的 IP 地址相同,收下该 ARP 请求并向主机 A 单播发送 ARP 响应分组,在该响应分组中写入 B 的 MAC 地址;其余主机丢弃收到的请求分组
- ④ 主机 A 收到主机 B 的 ARP 响应分组后,在其 ARP 高速缓存中写入 主机 B 的 IP 地址到 MAC 地址的映射
14. IP 数据报的格式
-
首部宽度 32 位
-
固定部分的各字段
-
位数 描述 版本 4 位 IP 的版本,4 表示 IPV4,6 表示 IPV6 首部长度 4 位 首部长度的最小值为 5 (表示 20 字节) ,最大值为 15 (表示 60 字节) 区分服务 8 位 用于获得更好的服务,一般不使用 总长度 16 位 首部和数据之和的长度,总长度以 1 个字节为单位,数据报的最大长度为 2 16 − 1 = 65535 2^{16}-1=65535 216−1=65535 字节 标识 16 位 每产生一个数据报,计数器加 1 标志 3 位 最低位 MF,MF = 1 表示后面还有分片,MF = 0 表示后面无分片;中间位 DF,DF = 1 表示不能分片,DF = 0 表示允许分片 片偏移 13 位 分片后某片在原分组的相对位置,片偏移以 8 字节为单位,即除最后一个外,其余每个分片均为 8 字节的整数倍
+
-
15. 分组转发
-
例如:有三个子网通过两个路由器互联在一起,主机 H1 发出一个分组,其目的地址为 128.1.2.132,即 H2
-
思路:判断目的主机是否在本网络上,若是,直接交付,无需利用路由器;否则,间接交付,将分组发给本网络上的路由器,由路由器完成交付
-
主机 H1 先将要发送的分组的目的地址与本网络 N1 的子网掩码进行按位与运算,若结果等于本网络 N1 的前缀,表明目的主机连接在本网络上,否则交由 R1 转发
-
二进制 点分十进制 目的主机 IP 地址 10000000 00000001 00000010 10000100 128.1.2.132 N1 的子网掩码 11111111 11111111 11111111 11000000 255.255.255.192 按位与结果 10000000 00000001 00000010 10000000 128.1.2.128
-
-
由于结果不等于 N1 的前缀,R1 查找转发表,寻找前缀匹配
-
第一行 二进制 点分十进制 目的主机 IP 地址 10000000 00000001 00000010 10000100 128.1.2.132 128.1.2.192 的子网掩码 11111111 11111111 11111111 11000000 255.255.255.192 按位与结果 10000000 00000001 00000010 10000000 128.1.2.128
-
-
第一行前缀不匹配
-
第二行 二进制 点分十进制 目的主机 IP 地址 10000000 00000001 00000010 10000100 128.1.2.132 128.1.2.128 的子网掩码 11111111 11111111 11111111 10000000 255.255.255.128 按位与结果 10000000 00000001 00000010 10000000 128.1.2.128
-
-
第二行前缀匹配,于是通过路由器 R1 的接口 1 在 网络 N2 上进行分组的直接交付
-
此时路由器 R1 调用 ARP 解析出目的主机 H2 的 MAC 地址,封装成帧直接交付给主机 H2
16. 最长前缀匹配
-
例如:路由器 R1 收到一个目的地址为 128.1.24.1 的分组,求分组的转发接口
-
将 128.1.24.1 与转发表的第一、二行做按位与运算,结果都是匹配的
-
尽管 B 将 3 个前缀聚合成更大的前缀 128.1.24.0/22,但聚合后的网络前缀并不包含 128.1.24.1,与划分前的 128.1.24.0/22 不同
-
点分十进制 二进制 128.1.24.0/22 **10000000 00000001 000110**00 00000000 A 128.1.24.0/24 10000000 00000001 00011000 00000000 B 128.1.25.0/24 10000000 00000001 00011001 00000000 B 128.1.26.0/24 10000000 00000001 00011010 00000000 B 128.1.27.0/24 10000000 00000001 00011011 00000000 128.1.24.1 10000000 00000001 00011000 00000001
-
17. PING
- 用来测试两台主机之间的连通性
- 应用层直接使用网络层 ICMP 的例子,没有通过运输层的 TCP 或 UDP
- 主机 A 向主机 B 发送回送请求报文,若主机 B 正常响应该回送请求报文,其将会发回回送应答报文,由于往返的 ICMP 报文有时间戳,可得出往返时间
18. traceroute
- 用来跟踪一个分组从源点到终点的路径
- 主机 A 向主机 B 发送一连串 IP 数据报,数据报中封装无法交付的 UDP 用户数据报,数据报每经过一个路由器转发,其 TTL 都会减 1,当 TTL 为 0 ,该数据报就会被丢弃,路由器向主机 A 发送一个 ICMP 时间超过差错报告报文;每发送一个数据报,其 TTL 都会再前一个的基础上加 1 以到达更远的路由,当最后一个数据报到达主机 B 时,其 TTL 为1,不再转发也不将 TTL 减 1,主机 B 向主机 A 发送 ICMP 终点不可达差错报告报文
19. IPV4 向 IPV6 的过度
- 双协议栈
- 双协议栈主机同时有 IPV4 和 IPV6 地址
- 双协议栈主机使用域名系统 DNS 查询目的主机使用的地址类型,若 DNS 返回的是 IPV4 地址,则使用 IPV4 地址;若返回 IPV6 地址,则使用 IPV6 地址
- 隧道技术
- 在 IPV6 数据报进入 IPV4 网络时,将 IPV6 数据报封装成 IPV4 数据报,整个 IPV6 数据报变成 IPV4 数据报的数据部分,当 IPV4 数据报离开 IPV4 网络后,再把数据部分交给主机的 IPV6 协议栈
20. 路由表的更新
-
例如:路由器 R6 的路由表和收到相邻路由器 R4 的路由更新信息如下,更新 R6 的路由表
-
先把 R4 发来的路由信息中的距离加 1,并把下一跳路由器改为 R4
-
将新表与路由器 R6 的路由表进行比较,若没有,则添加;若有,且下一跳也是 R4,比较距离,距离增大了,更新;若有,且下一跳路由器不同,比较距离,距离减小,更新
-
更新后的路由表如下
21. 内部网关协议 OSPF
- O——开放
- SPF——使用最短路径算法
- OSPF 协议使用链路状态协议,RIP 使用距离向量协议
22. 内网使用的专用地址
- 专用地址只能用于一个机构的内部通信,不能用于互联网上的主机通信
- 在互联网中的所有路由器,对目的地址是专用地址的数据报一律不进行转发
第 5 章 运输层
1. 运输层
- 向应用层提供服务
- 面向通信部分的最高层,用户功能中的最低层
2. 运输层的端口号
-
服务端使用的端口号
-
熟知端口号(0~1023)
-
应用程序 FTP TELNET SMTP DNS TFTP HTTP SNMP SNMP(trap) HTTPS 熟知端口号 21 23 25 53 69 80 161 162 443
-
-
登记端口号(1024~49151)
-
-
客户端使用的端口号(49152~65535)
- 临时端口号,由客户进程动态选择
3. UDP 的主要特点
-
用户数据报协议 UDP 在 IP 数据报服务上增加了复用和分用功能以及差错检测功能
-
① UDP 是无连接的
- 发送数据前无需建立连接,减小开销和发送数据之前的时延
-
② UDP 使用尽最大努力交付
- 不保证可靠性交付,主机不需要维持复杂的连接状态表
-
③ UDP 是面向报文的
- 发送方:UDP 对应用层交下来的报文,保留报文边界,加上 UDP 首部下交给 IP 层
- 接收方:UDP 对 IP 层交上来的报文,去除首部后上交给应用层
-
UDP 没有拥塞控制
- 符合要求源主机以恒定的速率发送数据,并允许在网络发生拥塞时丢失部分数据,但不允许数据有太大时延的实时应用的要求(IP 电话、实时视频会议)
-
UDP 支持一对一、一对多、多对一和多对多的交互通信
-
UDP 首部开销小
- UDP 首部只有 8 个字节,TCP 首部有 20 字节
4. UDP 首部格式
-
UDP 首部为 8 字节
-
字段 长度 意义 源端口 2 字节 源端口号,需要对方回信时选用,不需要时可用全0 目的端口 2 字节 目的端口号,在终点交付报文时必须使用 长度 2 字节 UDP 用户数据报的长度,最小值为 8 检验和 2 字节 检验 UDP 用户数据报在传输中是否有错,有错就丢弃 -
IP 数据报的检验和只检验 IP 数据报的首部,但 UDP 的检验和是将首部和数据部分一起检验,计算检验和时要在 UDP 报文段前加上 12 字节的伪首部
5. TCP 的特点
- 传输控制协议 TCP
- ① TCP 是面向连接的运输层协议
- 使用 TCP 协议前必须建立 TCP 连接,传输数据完毕后必须释放已建立的 TCP 连接
- ② 每条 TCP 连接只能有两个端点
- 每条 TCP 连接只能是点对点的
- ③ TCP 提供可靠交付的服务
- 通过 TCP 连接传送的数据,无差错、不丢失、不重复
- ④ TCP 提供全双工通信
- TCP 允许通信双方在任何时候都能发送数据
- TCP 连接的两端设有发送缓存和接收缓存用于临时存放双向通信的数据,发送时把数据传入缓存,TCP 在合适的时候将其发送;接收时把数据传入缓存,上层应用在合适的时候将其读取
- ⑤ 面向字节流
- 虽然应用程序与 TCP 的交互是一次一个数据块,但 TCP 把应用程序交下来的数据仅仅看成是一连串的无结构的字节流
6. TCP 首部格式
-
TCP 首部有 20 个字节固定
-
TCP 首部固定宽度为 32 位
-
字段 长度 意义 源端口 2 字节 源端口号 目的端口 2 字节 目的端口号 序号 4 字节 本报文段所发送的数据的第一个字节的序号,使用 m o d 2 32 mod\;2^{32} mod232 运算,若本报文段的数据的第一个字节序号是 301,最后一个字节的序号是 400,下一个报文段的数据序号应从 401 开始 确认号 4字节 期望收到对方下一个报文段的第一个数据字节的序号,若 B 收到 A 发送的报文段,其序号字段位 501,数据长度为 200,表名 B 正确收到了到序号 700 为止的数据,因此 B 期望收到 A 的下一个数据序号为 701,B 给 A 发送的确认报文中的确认号为 701 数据偏移 4 位 表示 TCP 报文段的数据起始处与 TCP 报文段的起始处的距离,单位为 4 字节 保留 6 位 保留为今后使用,目前置 0 紧急 URG 1 位 URG=1 表示紧急指针字段有效,表明此报文段中有紧急数据,应尽尽快传送 确认 ACK 1 位 ACK=1 表示确认字段有效,建立 TCP 连接后所有传送的报文段都必须将 ACK 置 1 推送 PUSH 1 位 PUSH=1 表示立即响应,尽快交付 复位 RST 1 位 RST=1 表示 TCP 连接中出现严重差错,必须释放连接重新建立,或者拒绝非法报文段、拒绝打开一个连接 同步 SYN 1 位 SYN=1 表示这是一个连接请求或连接接受报文,当 SYN=1 且 ACK=0 时表明是连接请求报文段,若对方同意建立连接,则在响应报文段中置 SYN=1 和 ACK=1 终止 FIN 1 位 FIN=1表示此报文段的发送方的数据已发送完毕,要求释放连接 窗口 2 字节 接收方让发送方设置其发送窗口的依据,指明允许对方发送的数据量,动态变化 检验和 2 字节 检验首部和数据,在计算检验和时要在 TCP 报文段前加上 12 字节的伪首部 紧急指针 2 字节 仅在 URG=1 时有效,指出本报文段中的紧急数据的字节数 选项 长度可变,最长可达 40 字节 填充 保证首部为 4 字节的整数倍
7. 滑动窗口
-
以字节为单位
-
发送
- 发送缓存暂时存放
- 发送应用程序传送给发送方 TCP 准备发送的数据
- TCP 已发送但尚未收到确认的数据
- 发送窗口是发送缓存的一部分
- 发送应用程序必须控制写入缓存的速率,不能太快,否则发送缓存就会没有存放数据的空间
- 发送缓存暂时存放
-
接收
- 接收缓存暂时存放
- 按序到达的但尚未被接收应用程序读取的数据
- 未按序到达的数据
- 若接收应用程序来不及读取收到的数据,接收缓存最终就会被填满,使接收窗口减小至 0
- 若接收应用程序能及时读取收到的数据,接收窗口可以增大,但不能超过接收缓存的大小
- 接收缓存暂时存放
8. TCP 的流量控制
- 流量控制指让发送方的发送速率不要太快,让接收方来得及接收
- 利用滑动窗口实现流量控制
-
假设 A 向 B 发送数据,在建立连接时,B 告诉 A 它的接收窗口 rwnd=400,于是 A 的发送窗口不能超过 B 给出的接收窗口的数值
-
设每个报文段为 100 字节长,数据报文段序号的初始值为1
-
B 进行了 3 次流量控制,将窗口依次减小到 300、100、0,减到 0 时 不允许对方发送数据
-
9. TCP 的拥塞控制
- 拥塞控制算法
-
慢开始
- 即由小到大加倍增大拥塞窗口数量
-
拥塞避免
- 即由小到大加法增大拥塞窗口数量
-
快重传
- 接收方一收到报文段就向发送方发送确认,当发送方收到 3 个连续的重复确认,便知道发生拥塞,立即重传
-
快恢复
-
10. TCP 连接的建立(三次握手)
-
A:“我要发送数据了,你准备好了吗?”
-
B:“我准备好了,你发吧!”
-
A:“那我开始发送数据咯!”
-
——A发送数据——
11. TCP 连接的释放(四次挥手)
+
- ——A发送数据——
- A:“我发送完数据,准备走啦!”
- B:“好的,那到我发咯!“
- ——B 发送数据——
- B:”我发送完数据,准备走啦!“
- A:”好的!“
第 6 章 应用层
12. 域名系统
- 互联网使用的命名系统,用来把便于人们使用的机器名字转换为 IP 地址
- DNS 使大多数名字都在本地进行解析,仅少量解析需要在互联网上通信,效率高
- DNS 是分布式系统,即使单个计算机出了故障,也不会妨碍整个 DNS 系统的正常运行
13. 域名空间
-
某个单位拥有了一个域名,就可以自己决定是否要进一步划分其下属的子域,无需其上级机构批准
-
域名树的树叶为单台计算机的名字,不能继续往下划分子域
14. 域名服务器
-
根域名服务器
- 最高层次的域名服务器,也最重要
- 本地域名服务器对互联网上任何一个域名进行解析时,只要自己无法解析,都要首先求助于根域名服务器,根域名服务器告诉本地域名服务器下一步应当找哪个顶级域名服务器进行查询
-
顶级域名服务器
- 负责管理在该顶级域名服务器注册的所有二级域名
- 收到查询请求时会给出相应的回答,可能是最后结果,也可能是下一步应当找的域名服务器的 IP 地址
-
权限域名服务器
- 负责一个区的域名服务器,一个区可能小于等于域,但不大于域
- 收到查询请求时会给出相应的回答,可能是最后结果,也可能是下一步应当找的域名服务器的 IP 地址
-
本地域名服务器
- 主机发送的 DNS 查询请求发送给本地域名服务器
- 每个互联网服务提供者 ISP,一个大学,甚至一个大学的系,都拥有一个本地域名服务器
- 当要查询的主机属于同一个本地 ISP 时,该本地域名服务器能立即将主机名转换为其 IP 地址,无需询问其他域名服务器
- 主机向本地域名的查询一般采用递归查询
- 本地域名服务器向根域名服务器的查询通常采用迭代查询
-
FTP 服务器
- FTP 使用客户服务器方式
- 服务端的从属进程
- 控制进程(21 端口)
- 收到 FTP 客户发送过来的文件传输请求后创建“数据传输进程”和“数据连接”,用于连接客户端和服务端的数据传送进程
- 数据传送进程(20 端口)
- 传送文件,传送完毕后关闭“数据传送连接”并结束运行
- 控制进程(21 端口)
15. 使用 HTTP 的 URL
- 最常用形式省略“: 端口”:
http://主机名/路径
- 若省略“路径”,URL 指明互联网上的某个主页
16. 电子邮件
-
电子邮件系统应具有的主要组成构件
- 用户代理
- 有撰写、显示、处理和通信功能
- 邮件服务器
- 邮件发送协议(SMTP)和邮件读取协议(POP3、IMAP)
- 用户代理
17. POP3 和 IMAP
-
操作位置 操作内容 IMAP POP3 收件箱 阅读、标记、移动、删除邮件 客户端与邮箱更新同步 仅在客户端内 发件箱 保存到已发送 客户端与邮箱更新同步 仅在客户端内 创建文件夹 新建自定义的文件夹 客户端与邮箱更新同步 仅在客户端内 草稿 保存草稿 客户端与邮箱更新同步 仅在客户端内 垃圾文件夹 接收并移入垃圾文件夹的邮件 支持 不支持 广告邮件 接受并移入广告文件夹的邮件 支持 不支持
第 7 章 网络安全
1. 安全性威胁
-
被动攻击(截获)
- 攻击者从网络上窃听他人的通信内容
- 攻击者只是观察和分析某一个协议数据单元 PDU,不干扰信息流
-
主动攻击
- 篡改
- 攻击者故意篡改网络上传送的报文
- 恶意程序
- 计算机病毒、计算机蠕虫、特洛伊木马、逻辑炸弹、后门入侵、流氓软件
- 拒绝服务
- 攻击者向互联网上的某个服务器不停发送大量分组,使该服务器无法提供正常服务
- 篡改
2. 数据加密模型
-
发送端:明文 X 通过加密算法 E 运算后得出密文 Y
- Y = E k ( X ) Y=E_k(X) Y=Ek(X)
-
接收端:密文 Y 通过解密算法 D 运算和解密密钥 K 解出明文 X
- D k ( Y ) = X D_k(Y) = X Dk(Y)=X
3. 两类密码体制
- 对称密钥密码体制
- 加密密钥与解密密钥都是用相同密钥
- 例如:数据加密标准 DES,密钥保密,算法公开
- 在通信信道上进行一对一的双向保密通信
- 公钥密码体制(非对称密钥密码体制)
- 使用不同的加密密钥与解密密钥
- 加密密钥 PK 公开,解密密钥 SK 保密,加密算法 E、解密算法 D 公开
- 在通信信道上进行多对一的单向保密通信
- 任何加密方法的安全性取决于密钥的长度、攻破密文所需的计算量,不是简单取决于加密的体制
4. 数字签名
-
功能
- 鉴别报文
- 只有 A 有私钥 S K A SK_A SKA,除 A 外无人能产生密文 D S K A ( X ) D_{SK_A}(X) DSKA(X),B 可确认报文 X 是由 A 签名发送的,鉴别了报文段发送者
- 若他人篡改报文,B 对收到的报文进行核实签名 E 运算后会得出不可读的明文,不会被欺骗
- 不可否认性
- 发送者事后不能抵赖对报文的签名
- 鉴别报文
第8章 互联网上的音频/视频服务
1. 多媒体信息传输主要特点
- 信息量大
- 对时延和抖动要求高
2. 互联网提供的音频/视频服务
- 流式存储音频/视频(边下载边播放)
- 流式实况音频/视频(边录制边发送)
- 交互式音频/视频(实时交互)
第 9 章 无线网络和移动网络
1. IEEE 802.11
- 802.11 是无线以太网的标准,使用星形拓扑
- 802.11 无线局域网的 MAC 层使用 CSMA/CA 协议
- 802.11 无线局域网称 WiFi
- 802.11 的基本服务集 BSS 和拓展服务集 ESS
-
BSS 包括一个接入点 AP 和若干个移动站,安装 AP 时 必须为该 AP 分配一个不超过 32 字节的服务集标识符 SSID 和一个通信信道
-
基本服务集连接分配系统构成拓展服务集 ESS,ESS 也有不超过 32 字节的拓展服务集标识符