计算机网络(第8版)期末复习 (下)
简介
以下内容为根据学校重点复习部分整理,可能会有缺漏,谅解。
内容过多分为上下两册。
第四章 网络层
4.1 网络层的几个重要概念
互联网采用的设计思路是这样的:网络层要设计得尽量简单,向其上层提供简单灵活的,无连接的,尽最大努力交付的数据报服务。
虚电路服务与数据报服务的区别(重点)
4.2 网络层的必要性(以及如何解决)(简答题)
- 跨越互连网络的主机寻址问题(采用IP协议解决)
- 发送端到目标主机的最佳路径选择问题(采用路由选择协议来解决,路由选择协议有多种类型,包括静态路由和动态路由。)
- 异构网络互连的问题(通过IP地址、网络地址转换、路由选择协议和网关等技术,实现异构网络之间的数据传输和交互。)
4.3 网际协议IP
4.3.1 概念
1、网际协议IP是TCP/IP体系中两个最主要的协议之一。
2、与协议IP配套使用的还有三个协议:
- 地址解析协议ARP
- 网际控制报文协议ICMP
- 网际组管理协议IGMP
3、 互联网可以由多种异构网络互联组成
4.3.2 IP地址
IP 地址就是给每个连接在因特网上的主机(或路由器)分配一个在全世界范围是唯一的 32 位的标识符。
1、分类的IP地址
- 点分十进制记法(重点)
2、分类的IP地址
每一类地址都由两个固定长度的字段组成,其中一个字段是网络号 net-id,它标志主机(或路由器)所连接到的网络,而另一个字段则是主机号 host-id,它标志该主机(或路由器)。
IP 地址管理机构在分配 IP 地址时只分配网络号
-
A类地址 网络号为100,网络地址IP:100.0.0.0,广播地址IP:100.255.255.255,该网络可分配IP:224-2
-
B类地址 网络号为128.250,网络地址IP:128.250.0.0,广播地址IP:128.250.255.255,该网络可分配IP:216-1
-
C类地址 网络号为192.128.64,网络地址IP:192.128.64.0,广播地址IP:192.128.64.255,该网络可分配IP:28-2
常用的三种类别的IP地址
4.3.3 练习(包含IP划分)(必考)
-
假设某企业有250台计算机,试问需要申请一个多大的网络?
(C类网络。例如:210.192.3.0) -
假设某企业有256台计算机,试问需要申请一个多大的网络?
(B类网络。例如:130.192.0.0) -
试辨认以下IP地址的网络类别及网络号
128.35.2.12 B类 128.35
77.45.96.23 A类 77
193.35.89.51 C类 193.35.89
200.13.59.42 C类 200.13.59 -
假定某公司拥有一个B类网络137.45.0.0。该公司下设16个部门,试给每个部门都分配一个子网号码(每个子网尽可能拥有较多的IP地址),并计算出每个子网的IP地址范围。
子网范围:
IP地址范围:
-
假定某公司拥有一个B类网络137.45.0.0。该公司预建立多个子网,每个子网最多可以分配到500个IP地址,试问最多可以建立多少个子网,并计算出每个子网号码。
(29-2=510>500,所以主机号9位,子网号7位。子网掩码:255.255.254.0)
-
假设某企业有256台计算机,试问需要申请一个网络前缀是多少的网络?
网络规模需要28-2<256<29-2,所以网络前缀为32-9=23 -
假设某企业申请到一个CIDR地址块159.65.34.0/24,若该企业拥有两个机构,机构1需要的IP地址数为100,机构2需要的IP地址数为30,试问如何分配?(必考)
-
假定某个ISP已拥有地址块206.0.64.0/18。现在某大学需要800个IP地址。(必考)
1、该大学需要申请多大 的CIDR地址块?
2、假设该校有四个系,第一个系需要400个IP地址,第二个系需要200个IP地址,第三个系和第四个系各需要100个IP地址,试问如何分配?
-
假设某企业有256台计算机,试问需要申请一个网络前缀是多少的网络?
(网络规模需要28-2<256<29-2,所以网络前缀为32-9=23)
4.3.4 IP数据报的格式(重点)
- IP数据报首部的固定部分中的各字段
- 标志
标志字段中最低位记为MF。MF=1即表示后面“还有分片”的数据报。MF=0即表示这已是若干数据报片中的最后一个。
标志字段中间的一位记为DF,意思是”不能分片“。只有当DF=0时才允许分片。 - 片偏移(占13位)
- 生存时间(占8位)英文缩写为TTL
- 协议
- 标志
4.4 网络地址转换NAT
4.4.1 专用地址
10.0.0.0 到 10.255.255.255
172.16.0.0 到 172.31.255.255
192.168.0.0 到 192.168.255.255
4.4.2 功能
实现将私有IP地址转换为可以在公网上被路由的公有IP地址
4.5 路由器
4.5.1 路由器的构成
三层:1、网络层。2、数据链路层。3、物理层
- 分组转发
- 分组转发部分由三个部分构成:交换结构,一组输入端口和一组输出端口。它的任务是根据转发表将用户的 IP 数据报从合适的端口转发出去。
- 路由选择
- 路由选择部分又称为控制部分,其核心构件是路由选择处理机。它的任务是根据选定的路由选择协议构造出路由表,同时经常或定期地和相邻路由器交换路由信息而不断地更新和维护路由表。
- 输入端口
- 负责对线路上收到的分组的处理
- 输出端口
- 负责将交换结构传送来的分组发送到线路
- 分组丢弃
- 若路由器处理分组的速率赶不上分组进入队列的速率,则队列的存储空间最终必定减少到零,这就使后面再进入队列的分组由于没有存储空间而只能被丢弃。
- 路由器中的输入或输出队列产生溢出是造成分组丢失的重要原因。
- 交换结构
- 负责将分组从一个输入端口转移到合适的输出端口
- 通过存储器
- 通过总线
- 通过互连网络
4.5.2 路由表项的优先级(分组转发)
-
直接连接路由:这些路由指向直接连接到接口上的网络或子网,因此具有最高优先级,通常是默认路由。
-
静态路由:由网络管理员手动配置的路由。它们通常比第3和第4种路由的优先级高。
-
默认路由(默认网关):如果没有更具体的路由表项匹配目标地址,则使用默认路由。它通常指向互联网边缘路由器。
-
动态路由:使用动态路由协议(例如OSPF或BGP)自动获取和更新路由表信息,这些路由项通常具有较低的优先级。
4.6 ARP
4.5.1 功能
实现IP-MAC地址的映射
4.5.2 工作原理
- 每一个主机都设有一个 ARP 高速缓存,里面有所在的局域网上的各主机和路由器的 IP 地址到硬件地址的映射表。
- 当主机 A 欲向本局域网上的主机 B 发送 IP 数据报时,就先在其 ARP 高速缓存中查看主机 B 对应的硬件地址。
- 如果查找不到主机B的项目,主机A就自动运行ARP。
4.5.3 特点
只能解决同局域网的问题
4.7 RIP协议
4.7.1 RIP工作原理
RIP是一种基于距离向量的路由选择协议。
RIP允许一条路径最多只能包含15个网络。因此”距离“等于16时即相当于不可达。
4.7.2 RIP协议工作特点(简答)
- 仅和相邻路由器交换信息。
- 交换的信息是当前本路由器所知道的全部信息,即自己的路由表。
- 按固定的时间间隔交换路由信息,例如,每隔30 秒。
4.8 OSPF协议的工作特点(简答)
OSPF是使用最短路径优先算法计算和选择路由
- 向本自治系统中所有路由器发送信息,这里使用的方法是洪泛法。
- 发送的信息就是与本路由器相邻的所有路由器的链路状态,但这只是路由器所知道的部分信息。
- 只有当链路状态发生变化时,路由器才用洪泛法向所有路由器发送此信息。
4.9 网际控制报文协议ICMP
4.9.1 ICMP报文的种类(简答)
ICMP报文有两种,即ICMP差错报文和ICMP询问报文。
- ICMP差错报文共有5种
- 终点不可达,当路由器或主机不能交付数据报时就向源点发送终点不可达报文。
- 时间超过,当路由器收到生存时间为零的数据报时,除丢弃该数据报外,还要向源点发送时间时间超过报文。当终点在预先规定的时间内不能收到一个数据报的全部数据片时,就把已收到的数据报片都丢弃,并向源点发送时间超过报文。
- 参数问题,当路由器或目的主机收到的数据报的首部中有的字段的值不正确时,就丢弃该数据报,并向源点发送参数问题报文。
- 改变路由(重定向),路由器把改变路由报文发送给主机,让主机知道下次应将数据报发送给另外的路由器(可通过更好的路由)
- 源点抑制,当路由器或主机由于拥塞而丢弃数据报时,就向发送源点抑制报文,使源点知道应当把数据报的发送速率放慢。
第五章 运输层
5.1 运输层协议概述
5.1.1 进程之间的通信
当运输层采用面向连接的TCP协议时,尽管下面的网络是不可靠的,但这种逻辑通信信道就相当于一条全双工的可靠信道。但运输车采用无连接的UDP时,这种逻辑通信信道仍然是一条不可靠信道。
5.1.2 运输层的两个主要协议
- 用户数据报协议UDP
- 传输控制协议TCP
5.1.3 运输层的端口
- 服务器端使用的端口号,分为两类。
- 熟知端口(0~1023)
- 登记端口(1024~65535)
- 熟知端口(0~1023)
- 客户端使用的端口号(49152~65535)
5.1.4 运输层的两大基本功能
- 运输层为应用进程之间提供端到端的逻辑通信。
- 只有位于网络边缘部分的主机的协议栈才有运输层
- 运输层对收到的报文进行差错检测。
5.2 用户数据报协议UDP
5.2.1 UDP概述(特点)
- UDP是无连接的
- UDP使用尽最大努力交付,即不保证可靠交付
- UDP是面向报文的
- UDP没有拥塞控制
- UDP支持一对一,一对多,多对一或多对多的交互通信
- UDP首部开销小
5.2.2 UDP的首部格式
5.3 传输控制协议TCP
5.3.1 TCP最主要的特点(简答题)
- TCP是面向连接的运输层协议
- 每一条TCP连接只能有两个端点,也就是点对点
- TCP提供可靠交付的服务
- TCP提供全双工通信
- 面向字节流
5.3.2 TCP的连接
5.4 可靠传输的工作原理
依靠于反馈机制与重传机制
5.5 TCP报文段的首部格式(重点)
以下为该报文段的解析
- 源端口和目的端口字段——各占 2 字节。端口是运输层与应用层的服务接口。运输层的复用和分用功能都要通过端口才能实现。
- 序号字段——占 4 字节。TCP 连接中传送的数据流中的每一个字节都编上一个序号。序号字段的值则指的是本报文段所发送的数据的第一个字节的序号。
- 确认号字段——占 4 字节,是期望收到对方的下一个报文段的数据的第一个字节的序号。
- 数据偏移(即首部长度)——占 4 位,它指出 TCP 报文段的数据起始处距离 TCP 报文段的起始处有多远。“数据偏移”的单位是 32 位(以 4 字节为计算单位)。
- 保留字段——占 6 位,保留为今后使用,但目前应置为 0。
- 紧急 URG —— 当 URG 1 时,表明紧急指针字段有效。它告诉系统此报文段中有紧急数据,应尽快传送(相当于高优先级的数据)。
- 确认 ACK —— 只有当 ACK 1 时确认号字段才有效。当 ACK 0 时,确认号无效。
- 推送 PSH (PuSH) —— 接收 TCP 收到 PSH = 1 的报文段,就尽快地交付接收应用进程,而不再等到整个缓存都填满了后再向上交付。
- 复位 RST (ReSeT) —— 当 RST 1 时,表明 TCP 连接中出现严重差错(如由于主机崩溃或其他原因),必须释放连接,然后再重新建立运输连接。
- 同步 SYN —— 同步 SYN = 1 表示这是一个连接请求或连接接受报文。
- 终止 FIN (FINis) —— 用来释放一个连接。FIN 1 表明此报文段的发送端的数据已发送完毕,并要求释放运输连接。
- 窗口字段 —— 占 2 字节,用来让对方设置发送窗口的依据,单位为字节。
- 检验和 —— 占 2 字节。检验和字段检验的范围包括首部和数据这两部分。在计算检验和时,要在 TCP 报文段的前面加上 12 字节的伪首部。
- 紧急指针字段 —— 占 16 位,指出在本报文段中紧急数据共有多少个字节(紧急数据放在本报文段数据的最前面)。
- 选项字段 —— 长度可变。TCP 最初只规定了一种选项,即最大报文段长度 MSS。MSS 告诉对方 TCP:“我的缓存所能接收的报文段的数据字段的最大长度是 MSS 个字节。”
5.6 TCP的流量控制
所谓流量控制就是让发送方的发送速率不要太快,要让接收方来得及接收。(与RWND相关)
5.6.1 TCP的拥塞控制方法
TCP进行拥塞控制的算法有四种,即慢开始、拥塞避免、快重传和快恢复。
- 慢开始和拥塞避免
拥塞控制也叫做基于窗口的拥塞控制。为此,发送方维持一个叫做拥塞窗口cwnd
5.7 计算题
5.7.1 GBN(画出窗口状态)(必考)
例题:若窗口序号位数为3,发送窗口尺寸为2,采用Go-back-N法,试画出由初始状态出发相继发生下列事件时的发送及接收窗口图示:发送0号报文段;接收0号报文段;发送1号报文段;接收0号确认;发送2号报文段;接收1号报文段;接收2号报文段;接收1号确认。
5.7.2 TCP和GBN滑动窗口的区别
-
窗口大小定义不同
TCP中的滑动窗口大小是以字节为单位定义的,而GBN协议中的窗口大小是数据包的数量。 -
序列号的定义不同
TCP中的序列号是以字节为单位的,而GBN中的序列号是以数据包为单位的。 -
确认机制的不同
TCP中的确认机制是累计确认机制,即不必对收到的报文段逐个发送确认,而是对按序到达的最后一个字节发送确认。而GBN协议的确认机制是选择确认机制,表明已经收到了哪些数据包。 -
重复数据包的处理方式不同
TCP协议在接收到重复的数据包时会丢弃这个数据包,而GBN协议则会忽略这个数据包。
5.7.3 TCP工作的三步过程状态
三步分别是1、建立连接2、数据传送3、连接释放
例题:
用TCP传送212字节的数据,设发送窗口为100字节,而TCP报文段每次也是传送100字节的数据。再设发送端和接收端的起始序号分别选为100和300,试画出从连接建立阶段到连接释放阶段的图。
5.7.3 拥塞控制
记住几个点:
- 慢开始
- 拥塞避免
- 掉半的话就是前面有三次确认
- 掉底的话就是超时重传
5.7.4 协议报头分析
直接实战
第1题 也就是求目的MAC地址和源MAC地址。我们可以得知他们各占6个字节。
也就是:源MAC=00-21-27-21-51-ee 目的MAC=00-15-c5-c1-5e-28
第2题:然后类型类型占2个字节也就是08-00。接下来就是下面这个以比特为单位的表,8bit=1字节,版本占4个bit,也就是4。头部长度就是5。因为单位是4字节,所以头部长度=54=20字节。服务类型占8bit,也就是1字节就是00。接着就是总长度:16bit占2字节就是01ef,用16进制换算1162+14*161+15=495.
第3题:前面有讲过:(标志字段中间的一位记为DF,意思是”不能分片“。只有当DF=0时才允许分片。)
一样数下去11 3b是标识,标志占3比特 (4*16=64, 二进制:01000000,取前3位就可以也就是010) DF=1,不允许分片
第4题:最多还能经过多少给路由器也就是看生存时间TTL。数下来,生存时间为80,换算一下8*16=128.也就是最多还能经过128个路由器。
第5题:协议是06,也就是TCP
第6题:源IP:0a-02-80-64------目的IP:40-aa-62-20。
还要用点分十进制换算:源IP:10.2.128.100------目的IP:64.176.98.32
第7题:要看与目的主机通信的是目的主机的哪个应用进程就是看目的主机的端口号
源端口号就是04 ff,目的端口号就是00-50,换算一下就是5*16=80,也就是HTTP服务进程。
第六章 应用层(4分)
6.1 域名系统DNS
6.1.1 域名系统概述
域名系统DNS是互联网使用的命名系统
6.1.2 DNS的功能
-
域名解析
DNS最基本的功能就是将域名转换为对应的IP地址,使得用户可以更加方便地使用域名来访问网络资源。用户只需要输入域名,DNS就会将它解析为实际的IP地址。 -
IP地址解析
除了将域名解析为IP地址之外,DNS还可以将IP地址解析为对应的域名。这个功能通常用于诊断网络问题或记录网络活动。 -
负载均衡
在多台服务器提供同一个服务的情况下,DNS可以实现负载均衡的功能,将多个请求分配到不同的服务器上以达到均衡负载的目的。 -
防止DNS劫持
DNS劫持是指黑客通过恶意手段来篡改DNS服务器的配置,使它返回虚假的IP地址,导致用户访问到错误的网站。DNS服务器可以通过一些安全防护机制来防止这种攻击,例如域名持有人可以使用DNSSEC(DNS Security Extensions)技术来保护域名。 -
网络优化
DNS服务器还可以通过一些技术手段来实现网络优化,例如缓存DNS解析结果、预解析域名、自动选择最优的DNS服务器等。
6.1.3 域名结构
注意两点:
- 主机向本地域名服务器的查询一般采用递归查询
- 本地域名服务器向根服务器的查询通常采用迭代查询
6.2 文件传送协议
在进行文件传输时,FTP的客户和服务器之间要建立两个并行的TCP连接”控制连接“(端口号:21)和”数据连接“(端口号:20)
6.3 万维网 WWW
6.3.1 统一资源定位符URL
- URL的格式
统一资源定位符URL是用来表示从互联网上得到的资源位置和访问这些资源的方法。
URL的一般形式由以下四个部分组成:
URL最左边的协议指出用何种协议来获取该万维网文档。
6.3.2 超文本传送协议HTTP
协议HTTP定义了浏览器咋样向万维网服务器请求万维网文档。