计算机网络复习

前言

  • 这篇复习博客是基于老师的PPT和课本来写的,根据老师给的重点内容来写的。博客可以在手机上打开, 就不用再拿着课本来看了。

第一章 概述

Q1 计算机网络的概念和功能

计算机网络的概念:

计算机网络是指将地理位置不同的多台计算机及其外部设备,通过通信线路连接起来实现资源共享和信息传递的计算机系统。

  • ps:目前最大的网络–因特网使用TCP/IP协议。

计算机网络的功能

  • 连通:计算机与计算机之间不论相距多远,都能便捷地交换各种信息。

  • 共享:所谓共享就是资源共享,可以是信息共享,软件共享,也可以是硬件共享。

  • ps:计算机网络的基本特点:连通性和共享。

Q2 本章缩写

  • ISP(Internet Service Provider),互联网服务提供商。
  • TCP/IP(Transmission Control Protocol/Internet Protocol,传输控制协议/网际协议)。
  • Request For Comments(RFC),是一系列以编号排定的文件。文件收集了有关互联网相关信息,以及UNIX和互联网社区的软件文件。 ps:课本上译为“请求评论”。
  • C/S服务(客户机-服务器服务),即Client-Server(C/S)结构。
  • P2P(peer to peer),对等连接方式。

Q3 三种交换方式的比较

电路交换

  • 电路交换:在使用电路交换进行通话之前,必须先拨号建立一条连接,通信线路为通信双方用户专用,数据直达。ps: 电路交换面向连接。

  • 优点:实现简单,不存在数据失序问题,实时性强,传输时延非常小,电路交换既适用于传输模拟信号,也适用于传输数字信号。

  • 缺点:平均连接建立时间长,信道利用率低,在通信过程中难以实现差错控制。

报文交换

  • 报文交换:报文交换是以报文为数据交换的单位,报文携带有目标地址、源地址等信息,在交换结点采用存储转发的传输方式。

  • 优点:不存在连接建立时延,用户可随时发送报文,提供多目标服务,即一个报文可以同时发送到多个目的地,通信线路的利用率高,允许建立数据传输的优先级。

  • 缺点:报文交换的实时性差,报文交换只适用于数字信号,增加了传送时延。

分组交换

  • 分组交换:分组交换仍采用存储转发传输方式,但将一个长报文先分割为若干个较短的分组,然后把这些分组(携带源、目的地址和编号信息)逐个地发送出去。

  • 优点:分组交换比报文交换的时延小,用户可随时发送分组,提高了通信线路的利用率,发送数据更加灵活,时延更小,网络生存性好。

  • 缺点:分组都要加上源、目的地址和分组编号等信息,增加了处理的时间,使控制复杂,时延增加可能出现失序,丢失或重复分组,发送设备和接收设备更加复杂。

Q4 因特网的工作原理

  • 分组交换、存储转发

Q5 网络的分类和网络的评价指标

网络的分类

  • 按照网络的作用范围进行分类可以分为广域网WAN、城域网MAN、局域网LAN、个人区域网PAN

  • 按照网络的使用者进行分类可以分为公用网、专用网

网络的评价指标

  1. 速率: 数据的传送速率,也称为数据率
  2. 带宽: 计算机网络中的带宽指的是在单位时间内网络中的某信道所能通过的最高数据率,单位是bit/s
  3. 吞吐量: 表示单位时间内通过某个网络的实际的数据量。
  4. 时延: 时延分为: 发送时延、传播时延、处理时延、排队时延
  • ps: 降低处理时延比较好。

Q6服务与协议

  • 服务是垂直的,服务是由下层向上层通过层间接口提供的。

  • 协议是水平的,即协议是控制对等实体之间通信的规则的集合。

  • 在协议的控制下,两个对等实体间的通信使得本层能够向上一层提供服务。

  • 要实现本层协议,还需要使用下层所提供的服务。

  • 本层的服务用户只能看见服务而无法看见下面的协议。

  • 下面的协议对上面的服务用户是透明的。

Q7 理解31页计算机网络体系结构

  • 在五层协议的结构体系中:
  1. 物理层解决01的传输问题。
  2. 数据链路层解决数据帧的传输问题。
  3. 网络层解决数据包从起点到终点的传输问题。
  4. 运输层解决端与端之间的通讯问题。

第二章 物理层

Q1 物理层的功能

  • 物理层负责数据的比特流如何在传输媒体上的传输,即物理层负责解决0和1的传输问题。

Q2 理解一些概念

模拟信号和数字信号

  • 模拟信号(又称连续信号): 代表消息的参数的取值是连续的。
  • 数字信号(又称离散信号): 代表消息的参数的取值是离散的。

有关信道的几个概念

  • 单向通信(单工通信)—— 只能有一个方向的通信而没有反方向的交互。ps:例如打印机,只能计算机向打印机传输数据。

  • 双向交替通信(半双工通信)—— 通信的双方都可以发送信息,但不能双方同时发送(当然也就不能同时接收)。ps:例如对讲机。

  • 双向同时通信(全双工通信)—— 通信的双方可以同时发送和接收信息。 ps:例如电话。

基带信号与带通信号

  • 基带信号:来自信源的信号。像计算机输出的代表各种文字或图像文件的数据信号都属于基带信号。

  • 基带信号往往包含有较多的低频成分,甚至有直流成分,而许多信道并不能传输这种低频分量或直流分量。因此必须对基带信号进行调制(modulation)。

  • 带通信号:把基带信号经过载波调制后,把信号的频率范围搬移到较高的频段以便在信道中传输(即仅在一段频率范围内能够通过信道)。

Q3 信号调制的方法

  • 最基本的二元制调制方法有以下几种:
  • 调幅(AM):载波的振幅随基带数字信号而变化。
  • 调频(FM):载波的频率随基带数字信号而变化。
  • 调相(PM) :载波的初始相位随基带数字信号而变化。

Q4 香农公式和奈氏准则

  • 奈氏准则告诉我们:在任何信道中,码元传输的速率是有上限的,传输速率超过此上限,就会出现严重的码间串扰问题,使接收端对码元的判决(即识别)成为不可能

  • 香农公式: C=W*log₂(1+S/N) (bit/s)

  • 其中C为信道的极限信息传输速率,W 为信道的带宽(以 Hz 为单位),S 为信道内所传信号的平均功率,N 为信道内部的高斯噪声功率。

Q5 传输媒介

有线(导引型传输媒介)

  • 双绞线: 造价低,稳定性强,施工方便

  • 同轴电缆: 抗干扰能力好,传输数据稳定,价格也便宜

  • 光缆: 频带较宽,不受电磁干扰,衰减较小、

无线(非导引型传输媒介)

  • 无线传输所使用的频段很广。
  • 短波通信主要是靠电离层的反射,但短波信道的通信质量较差。
  • 微波在空间主要是直线传播。

Q6 信道复用技术

频分复用 FDM

  • 用户在分配到一定的频带后,在通信过程中自始至终都占用这个频带。
  • 频分复用的所有用户在同样的时间占用不同的带宽资源(请注意,这里的“带宽”是频率带宽而不是数据的发送速率)。

时分复用 TDM

时分复用则是将时间划分为一段段等长的时分复用帧(TDM 帧)。每一个时分复用的用户在每一个 TDM 帧中占用固定序号的时隙。
每一个用户所占用的时隙是周期性地出现(其周期就是 TDM 帧的长度)。
TDM 信号也称为等时(isochronous)信号。
时分复用的所有用户是在不同的时间占用同样的频带宽度。

  • 时分复用可能会造成线路资源的浪费

  • 概念看着很难理解, 可以看看别的文章。

传送门

统计时分复用 STDM

  • 时分复用的改进版。

波分复用 WDM

  • 光的频分复用。

码分复用 CDM

  • 各用户使用经过特殊挑选的不同码型,因此彼此不会造成干扰。

  • 每一个比特时间划分为 m 个短的间隔,称为码片(chip)

  • 码分复用利用了码分多址 CDMA (Code Division Multiple Access)

  • 每个站分配的码片序列不仅必须各不相同,并且还必须互相正交(orthogonal)。

  • 关于内积:

  • 假设S 为 (-1,-1,1,-1), T 为(-1,1,-1,-1),则内积为:-1*-1 + -1*1 + 1*-1 + -1*-1。即对应位置相乘然后相加。

Q7 本章缩写

  • STP(Spanning Tree Protocol)是生成树协议的英文缩写,可应用于计算机网络中树形拓扑结构建立,主要作用是防止网桥网络中的冗余链路形成环路工作。STP 同时也是屏蔽双绞线Shielded Twisted Pair的缩写

  • UTP :非屏蔽双绞线(Unshielded Twisted Pair)

  • CDMA : (Code Division Multiple Access) 码分多址。

  • ADSL : (Asymmetric Digital Subscriber Line) 非对称数字用户线路。

第三章 数据链路层

Q1 数据链路层的功能和协议

  • 数据链路层的功能主要是解决临结点间数据帧的传输问题,可以概括为三个环节:即封装成帧、透明传输、差错检测

  • 协议:主要协议有PPP协议(点对点协议)CSMA/CD协议(载波侦听/冲突检测)

Q2 PPP协议的工作原理

  • ps:这个内容老师PPT上也没有, 课本上也没有, PPT和课本上共有的是PPP协议的特点、组成、帧格式、工作状态。下面是我百度的一些PPP工作原理的答案:

PPP协议的运行分为四个阶段:
第一阶段:建立链路(LCP)
第二阶段:验证(PAP/CHAP)
第三阶段:网络控制协商(NCP)
第四阶段:终止PPP链路(LCP)

  • 为了更好地应对有关PPP协议的题目,这里也把PPP的特点、组成、帧格式这些我个人认为比其工作原理更有可能考的问题记一下:

特点

  • (1) 简单:在同一条物理链路上进行点对点的数据传输,对数据链路层的帧不进行纠错,不需要序号,不需要流量控制。
  • (2) 封装成帧:加入帧界定符。
  • (3) 透明性:采用字节填充法。
  • (4) 支持多种网络层协议:在同一条物理链路上同时支持多种网络层协议(如IP和IPX等)的运行。
  • (5) 支持多种链路类型:PPP必须能够在多种类型的链路上运行,例如串行或并行链路。
  • (6) 差错检测:接收方收到一个帧后进行CRC检验,若正确就收下这个帧,反之则丢弃。
  • (7) 检测连接状态:自动检测链路是否处于正常工作状态。

组成

  • PPP 协议有三个组成部分:
  1. 一个将 IP 数据报封装到串行链路的方法。
  2. 链路控制协议 LCP (Link Control Protocol)。
  3. 网络控制协议 NCP (Network Control Protocol)。

帧格式

  • 对于首部的FAC,其中标志字段F = 0x7E,地址字段A只置为0xFF,实际上不起作用,控制字段C通常置为0x03

  • 尾部的FCS是帧校验序列,是用于CRC校验的标志位。

所有的 PPP 帧的长度都是整数字节,即不存在如1505.5字节大小的PPP帧。

Q3 数据链路层传输数据的基本单位和完成工作的基本原则

  • 基本单位:

  • ps:各自传输数据的基本单位: 网络层: 包数据链路层: 帧物理层: 比特

  • 完成工作的基本原则:

封装成帧

  • 首先是封装成帧,封装成帧(framing)就是在一段数据的前后分别添加首部和尾部,然后就构成了一个帧。确定帧的界限。首部和尾部的一个重要作用就是进行帧定界

透明传输

  • 我们在完成了封装成帧又出现了新的问题, 我们该如何处理如下图的情况?

  • 这可以去类比C语言的类似情况,这让我们想到了C语言的转义符号\,同样,我们也可以在数据帧这块引入我们的转义符号,这种方法叫做字节填充法字符填充法

  • 这样我们得到的帧就是这种形式了:

  • 那么接收端该如何处理这多出来的转义符号呢?

接收端的数据链路层在将数据送往网络层之前删除插入的转义字符。
而且如果转义字符也出现数据当中,那么应在转义字符前面插入一个转义字符。当接收端收到连续的两个转义字符时,就删除其中前面的一个。

差错检测(校验)

  • 在传输过程中可能会产生比特差错:1 可能会变成 0 而 0 也可能变成 1。

在一段时间内,传输错误的比特占所传输比特总数的比率称为误码率 BER (Bit Error Rate)。

  • 在数据链路层传送的帧中,广泛使用了循环冗余检验 CRC的检错技术。

  • 下面的问题中会具体介绍这个检错方法。

Q4 CRC校验计算方法及它与多项式的对应关系

  • 这个有点难写, 具体可以看下面一篇博客, 写的还算比较通俗易懂的, 但愿这个考点考不到。

传送门

  • ps:补充一点: 模2除法可以看作异或运算

Q5 以太网的工作原理和方法

  • 以太网采用CSMA/CD协议,能够实现载波侦听,冲突检测,多点随机接入,二进制退避

  • 载波监听是指每一个站在发送数据之前先要检测一下总线上是否有其他计算机在发送数据,如果有,则暂时不要发送数据,以免发生碰撞。

  • 冲突检测

  • 多点随机接入表示许多计算机以多点接入的方式连接在一根总线上。

  • 二进制退避: 发生碰撞的站在停止发送数据后,要推迟(退避)一个随机时间才能再发送数据。

Q6 网卡的功能

  • 数据的封装与解封。发送时将上一层交下来的数据加上首部和尾部,成为以太网的帧。接收时将以太网的帧剥去首部和尾部,然后送交上一层。

  • 链路管理。主要是CSMA/CD协议的实现。

  • 编码与译码。即曼彻斯特编码与译码。

Q7 数据链路层信道的使用方法

  • 数据链路层有两种信道:

  • 第一种是点对点信道,实现协议是PPP协议

  • 第二种是广播信道,实现协议是CSMA/CD协议,ps:使用CDMA/CD协议的以太网只能进行半双工通信。

Q8 本章缩写

  • CRC: 循环冗余校验(Cyclic Redundancy Check, CRC)

  • CSMA/CD:载波侦听多路访问/冲突检测(Carrier Sense Multiple Access with Collision Detection)

  • PPP: 点对点协议(Point to Point Protocol,PPP)

  • MAC地址: Media Access Control Address,媒体存取控制位址

  • FCS: Frame Check Sequences,帧校验序列

  • LLC: Logical Link Control,逻辑链路控制

  • VLAN: Virtual Local Area Network,虚拟局域网

Q9 各层如何拓展网络

  • 物理层采用集线器Hub来拓展网络

  • 数据链路层采用网桥交换机来拓展网络

  • 网络层采用路由器来拓展网络。

  • 其中交换机、网桥可以隔绝碰撞域。

  • 路由器可以隔绝广播域。

Q10 网桥和交换机的工作原理 (重点!)

网桥

  • 网桥根据 MAC 帧的目的地址对收到的帧进行转发。
  • 网桥具有过滤帧的功能。当网桥收到一个帧时,并不是向所有的接口转发此帧,而是先检查此帧的目的 MAC 地址,然后再确定将该帧转发到哪一个接口。

网桥的优点: 过滤通信量、扩大了物理范围、提高了可靠性、可互连不同物理层、不同 MAC 子层和不同速率(如10 Mb/s 和 100 Mb/s 以太网)的局域网。

网桥的缺点:存储转发增加了时延、在MAC 子层并没有流量控制功能、网桥只适合于用户数不太多和通信量不太大的局域网。

  • 网桥的功能可以归结为学习、转发

交换机

  • 理解了网桥以后,交换机就简单了, 交换机就可以当做多接口的网桥

交换机通常都有十几个接口。因此,以太网交换机实质上就是一个多接口的网桥,可见交换机工作在数据链路层。

Q11 VLAN的功能及实现方法

  • VLAN的功能:

  1. 限制广播域:广播域被限制在一个VLAN内,节省了带宽,提高了网络处理能力。

  2. 增强局域网的安全性:不同VLAN内的报文在传输时是相互隔离的,即一个VLAN内的用户不能和其它VLAN内的用户直接通信。

  3. 提高网络的健壮性:故障被限制在一个VLAN内,本VLAN内的故障不会影响其他VLAN的正常工作。

  4. 灵活构建虚拟工作组:用VLAN可以划分不同的用户到不同的工作组,同一工作组的用户也不必局限于某一固定的物理范围,网络构建和维护更方便灵活。

  • VLAN的实现方式有:基于端口划分基于MAC地址划分基于IP划分基于策略划分

Q12 个人补充

  • 记住一个特殊的数字1518

第四章 网络层

Q1 网络层的功能和协议

  • 网络层的功能: 网络层主要解决数据包从起点到终点的传输问题。
  • 与网络层相关的协议: 地址解析协议 ARP逆地址解析协议 RARP内部网关协议 RIP内部网关协议 OSPF外部网管协议 BGP等…

Q2 IP和MAC的关系?(为什么既要有MAC有需要有IP)

  • 首先来简单介绍一下MAC地址和IP地址。

  • MAC地址是绝对的

    MAC地址又称为物理地址,每一台主机有一个固定的MAC地址,可以理解成这台主机出厂就具备了该物理地址,就好比人的身份证号,每个人都有自己唯一的身份证号。

  • IP地址是相对的

IP地址并不是主机唯一的,我们知道IP地址有共有IP地址和私有IP地址之分(如下图所示)。其中公有地址是由统一管理分配的,例如我们搭建了一个网站,希望能被所有地方的人访问到,则需要去购买一个公有的IP地址;私有IP地址则是在局域网内部,比如教研室、宿舍、办公室等大家的IP地址(可通过接入设备,以一个共同的公网IP而连接外网),例如常用的192.168.0.1、192.168.0.2等。

  • 所以问题的答案就是: IP地址决定了网络中数据包如何通过路由器的转发到达目的地,而MAC地址则唯一标识了接受这个数据包的主机。ps:可以把IP地址当做快递地址, MAC是收件人。

Q3 网络层的服务(下面的对比表是重点)

  • 网络层向运输层提供的服务主要有两种: 第一种是面向连接,另一种是无连接。它们还有另外的叫法: 可靠服务不可靠服务

  • 这里以虚电路服务数据报服务以及TCP/IPUDP为例。

  • 虚电路服务TCP/IP可靠服务,是面向连接的。

  • 数据报服务UDP不可靠服务,是无连接的。

Q4 本章缩写

  • ARP:(Address Resolution Protocol,地址解析协议)是根据IP地址获取物理地址的一个TCP/IP协议。

  • RARP: (Reverse Address Resolution Protocol,逆地址解析协议),该协议允许局域网的物理机器从网关服务器的 ARP 表或者缓存上请求其 IP 地址。

  • ICMP:(Internet Control Message Protocol,Internet控制报文协议。)

  • RIP:(Routing Information Protocol,路由信息协议)是一种内部网关协议,是一种动态路由选择协议。

  • OSPF: (Open Shortest Path First,开放最短路径优先),该协议是用于网际协议网络的链路状态路由协议。

  • CIDR: (Classless Inter-Domain Routing,无类别域间路由)该协议是一个用于给用户分配IP地址以及在互联网上有效地路由IP数据包的对IP地址进行归类的方法。

  • VLSM: (Variable Length Subnet Mask,可变长子网掩码)该协议的目的是最有效地利用现有的地址空间。

  • VPN: (Virtual Private Network,虚拟专用网络)

  • NVT: (network virtual terminal,网络虚拟终端)

Q5 为何构建虚拟互联网

  • 使用虚拟互连网络的好处是:当互联网上的主机进行通信时,就好像在一个网络上通信一样,而看不见互连的各具体的网络异构细节。

Q6 和IP地址相关的一些知识

分类的IP地址

  • A<128<=B<192<=C

  • 其中ABC类IP为单播地址。

支持子网掩码的IP

  • 分类的IP地址变到支持子网掩码的IP地址解决了IP资源不够的问题。

无分类的IP (CIDR)

  • 支持子网掩码的IP变成无分类的IP解决了路由表内容暴增的问题。

  • 无分类的IP利用了网络聚合技术。

  • 举例1:

  • 128.14.32.0/20 表示的地址块共有 2^12 个地址(因为斜线后面的 20 是网络前缀的位数,而IP总位数为32,所以这个地址的主机号是 32-20=12 位)。

  • 举例2:

Q7 IP地址如何由路由器进行转发

对于分类的IP地址

  • 例题:

对于划分子网的IP地址

  • 例题:

Q8 ARP协议的工作原理

Q9 IP数据报首部20个字节里的内容及含义 (重点)

  • 其中我们的固定部分就是首部的20字节,每行32位,占4字节,共5行,总计20字节。

  • 我们的可变部分最大40字节。

  • 版本——占 4 位,指 IP 协议的版本。目前的 IP 协议版本号为 4 (即 IPv4)

  • 首部长度——占 4 位,可表示的最大数值,是 15 个单位(一个单位为 4 字节),因此 IP 的首部长度的最大值是 60 字节。

  • 区分服务——占 8 位,用来获得更好的服务,在旧标准中叫做服务类型,但实际上一直未被使用过。1998 年这个字段改名为区分服务。只有在使用区分服务(DiffServ)时,这个字段才起作用。在一般的情况下都不使用这个字段 。

  • 总长度——占 16 位,指首部和数据之和的长度,单位为字节,因此数据报的最大长度为 65535 字节。总长度必须不超过最大传送单元 MTU。

  • 标识——占 16 位,它是一个计数器,用来产生数据报的标识。

  • 标志——占 3 位,目前只有前两位有意义。标志字段的最低位是 MF (More Fragment)MF = 1 表示后面“还有分片”MF = 0 表示最后一个分片。标志字段中间的一位是DF (Don't Fragment)。只有当DF = 0 时才允许分片。 ps: 分片接下来会介绍。

  • 片偏移(12 位)指出:较长的分组在分片后,某片在原分组中的相对位置。片偏移以 8 个字节为偏移单位。

  • 生存时间(8 位)记为 TTL (Time To Live)数据报在网络中可通过的路由器数的最大值。

  • 协议(8 位)字段指出此数据报携带的数据使用何种协议以便目的主机的 IP 层将数据部分上交给哪个处理过程

  • 首部检验和(16 位)字段只检验数据报的首部,不检验数据部分。这里不采用 CRC 检验码而采用简单的计算方法。

  • 源地址目的地址都各占 4 字节

分片

  • 标志和片偏移中我们谈到一个新词分片,下面介绍一下分片:

把一个数据报为了适合网络传输而分成多个数据报的过程称为分片,被分片后的各个IP数据报可能经过不同的路径到达目标主机。
一个IP数据报在传输过程中可能被分片,也可能不被分片。如果被分片,分片后的IP数据报和原来没有分片的IP数据报结构是相同的,即也是由IP头部和IP数据区两个部分组成:

分片后的IP数据报,数据区是原IP数据报数据区的一个连续部分,头部是原IP数据报头部的复制,但与原来未分片的IP数据报头部有两点主要不同:标志和片偏移:

  • 下面举个例子:

Q10 路由器的两大功能

  • 路由转发

Q11 RIP和OSPF 如何工作

RIP协议

  • RIP协议让互联网中的所有路由器都和自己的相邻路由器不断交换路由信息,并不断更新其路由表,使得从每一个路由器到每一个目的网络的路由都是最短的(即跳数最少)。

  • ps: RIP协议基于距离向量算法好消息传得快,坏消息传得慢

OSPF协议

  • 所以OSPF协议的工作原理可以概述为: 先通过问候确定数据报的可达性,然后通过与相邻路由器进行数据库描述达到数据库的同步,最后进行链路状态请求链路状态更新链路状态确认达到新情况下的同步

Q12 分配IP的方法 (重点)

  • 可分配的IP地址数等于 2^n,其中n是主机号的位数(二进制位数)。假设主机号占5位,则可分配的IP地址数为2^5 = 32

  • 可用的IP地址 = 可分配的IP地址数 - 2,需要减去全0的网络号全1的广播地址

例题1

  • 问: 已知200.20.20.0/24,且已知部门1需要121个IP地址, 部门2需要60个IP地址, 部门3需要 30个IP地址 部门4需要10个IP地址, 怎么分配比较合理?

  • 为了方便分配,我们对每个部门都分配2的m次方个IP地址,需要满足2的m次方刚好大于等于我们需要的IP地址数

  • 所以 部门1分配128个,部门2分配64个,部门3分配32个,部门4分配16个。

  • 我们把这段IP(叫法估计不太准确)转换成二进制的形式可以得到:

  • 11001000.00010100.00010100.00000000。IP地址一共32位,这道题其中前24位为网络前缀,后面8位为主机号。部门1分配到128个,128写成二进制就是10000000。由于后面的8位主机号能构成2个128, 我们取其中一个, 所以第25位数写0(默认优先写0)。然后后面的32-25=7位就可以任意组合了,一共128种组合,也就代表了128个IP地址。这样我们得到了部门1分得的IP段11001000.00010100.00010100.0/25

  • 接下来给部门2分配IP段,由于我们的第25位在给部门1分配IP段的时候已经用过了(当时置为0了),所以在给其他部门分配的时候应该置为1。部门2分配64个,64写成二进制为00100000,仿照给部门1分配IP时的方法, 我们第26位要置为0,所以得到部门2的IP段为:11001000.00010100.00010100.10/26

  • 部门3和部门4同理~

  • 所以最终得到:

  • 部门1得到的IP段为: 11001000.00010100.00010100.0/25,也可以记作从200.20.20.0到200.20.20.127

  • 部门2得到的IP段为: 11001000.00010100.00010100.10/26,也可以记作从200.20.20.128到200.20.20.191

  • 部门3得到的IP段为: 11001000.00010100.00010100.110/27,也可以记作从200.20.20.192到200.20.20.223

  • 部门4得到的IP段为: 11001000.00010100.00010100.1110/28,也可以记作从200.20.20.224到200.20.20.239

例题2

  • 问: 200.20.20.0/24划分成16个子网该如何划分?

  • 16个子网也就是2^4个子网, 所以我们需要在主机号段从前往后借4位。

  • 所以我们得到子网掩码为: 11111111 11111111 11111111 11110000

  • 所以每个子网的IP数量2^4=16个 ps: 可以理解子网掩码还剩几个0就是2的几次方个。

  • 第一个子网的IP范围200.20.20.0200.20.20.15。也就是后八位0000000000001111

  • 第二个子网的IP范围200.20.20.16200.20.20.31。也就是后八位0001000000011111

  • ps: 这里每个IP的第四个数都可以看作两部分组合而来的,以这道题为例,由于我们借了4位(第25到第28位),这四位能得到16个子网,而后面四位主机号也能重组得到16个主机号。二者组合得到IP地址的第四个数。 就比方说00011111在这道题中就是代表子网的四位0001和代表主机号的四位1111组合在一起来的。

  • 同理我们能得到第一个一直到第十六个子网各自的IP范围。

  • 其中主机号全0的网络号主机号全1的广播地址不能用。

  • 所以第一个子网中最小的可用IP为:200。20.20.1,最大的可用IP为:200.20。20.14

  • 同理我们也能求出其他子网中最小可用IP和最大可用IP。

例题3

  • 问题依旧是给部门分配IP,但是这次我们知道的是 每个部门最多30台使用IP的设备。

  • 最多30台设备,那我们每个部门分配32(2^5)个IP,这次我们在主机号段,从后往前取5位让它自由组合。

  • 问法应该也就例题1和例题2里面的那几种吧…就不再重新问答一遍了…

Q13 ICMP的功能

  • ICMP 报文的种类有两种,即 ICMP 差错报告报文ICMP 询问报文。 ps: ICMP 报文作为 IP 层数据报的数据,加上数据报的首部,组成 IP 数据报发送出去。
  • 询问2

  • 报错5:

  • 应用举例:

Q14 全球IP地址和私有IP地址

  • 要背私有IP地址~

Q15 VPN和NAT如何工作

  • VPN 虚拟专用网络(Virtual Private Network): 任意两个节点之间的连接并没有传统专网所需的端到端的物理链路,而是架构在公用网络服务商所提供的网络平台

  • NAT 网络地址转换 (Network Address Translation):

第五章 运输层

Q1 运输层的功能和协议

  • 功能: 运输层为应用进程之间提供端到端的逻辑通信。PS:但网络层是为主机之间提供逻辑通信。
  • 协议: TCP/IPUDP

Q2 TCP/IP 和 UDP 的对比


Q3 端口

  • 端口的作用?(为什么要引入端口?):为了使运行不同操作系统的计算机的应用进程能够互相通信,就必须用统一的方法对 TCP/IP 体系的应用进程进行标志。因此我们在运输层使用协议端口号(protocol port number),或通常简称为端口(port)。

  • ps:端口分为软件端口硬件端口。在协议栈层间的抽象的协议端口软件端口路由器或交换机上的端口硬件端口

  • TCP的端口用一个16位的端口号进行标志。

  • 需要记一下HTTP的端口号80,FTP的端口号20和21,其中20用于传输数据,21用于传输控制信息。

Q4 滑动窗口协议 (重点)

  • 这个博客挺不错的,可以根据这个博客学习一下滑动窗口协议。

传送门

Q5 TCP如何进行流量控制

  • 利用滑动窗口机制可以很方便地在 TCP 连接上实现流量控制。

  • 原理这就是运用TCP报文段中的窗口大小字段(在问题Q7中会有详细说明)来控制,发送方的发送窗口不可以大于接收方发回的窗口大小。

考虑一种特殊的情况,就是接收方若没有缓存足够使用,就会发送零窗口大小的报文,此时发送放将发送窗口设置为0,停止发送数据。之后接收方有足够的缓存,发送了非零窗口大小的报文,但是如果这个报文在中途丢失的,那么发送方的发送窗口就一直为零导致死锁。
为解决这个问题,TCP为每一个连接设置一个持续计时器(persistence timer)。只要TCP的一方收到对方的零窗口通知,就启动该计时器,周期性的发送一个零窗口探测报文段。对方就在确认这个报文的时候给出现在的窗口大小(注意:TCP规定,即使设置为零窗口,也必须接收以下几种报文段:零窗口探测报文段、确认报文段和携带紧急数据的报文段)。

Q6 TCP如何进行拥塞控制

  • 两个概念: 接收端窗口(Reciver Window)又称通知窗口(Advertised Window),是接收端根据目前的接收缓存大小所许诺的最新窗口值,是来自接收端的流量控制。拥塞窗口cwnd(Congestion Window)是发送端根据自己估计的网络拥塞程度而设置的窗口值,是来自发送端的流量控制。 PS:发送报文段速率的确定,既要根据接收端的接收能力,又要从全局考虑不要使网络发生拥塞,这由接收窗口拥塞窗口两个状态量确定。

  • 四个策略: 即慢开始(Slow-start)拥塞避免(Congestion Avoidance)快重传(Fast Restrangsmit)快恢复(Fast Recovery)

慢开始

  • 当主机开始发送数据时,如果立即将较大的发送窗口的全部数据字节都注入到网络中,那么由于不清楚网络的情况,有可能引其网络拥塞。

  • 慢开始算法:

  • 在主机刚刚开始发送报文段时可先设置拥塞窗口 cwnd = 1,即设置为一个最大报文段 MSS 的数值

  • 发送方每收到一个对新报文段的确认(重传的不算在内)就使 拥塞窗口cwnd 加 1,即增加一个 MSS 的数值

  • 这样每经过一个传输轮次会使拥塞窗口cwnd加倍,这样会使拥塞窗口cwnd成指数型增长。

  • 但是指数型增长是非常恐怖的, 为了进行拥塞控制, 我们引入了慢开始门限状态变量ssthresh作为一个阀值

拥塞控制算法

  • 拥塞避免算法的思路是让拥塞窗口 cwnd 缓慢地增大,即每经过一个往返时间 RTT 就把发送方的拥塞窗口 cwnd 加 1,而不是加倍,使拥塞窗口 cwnd 按线性规律缓慢增长。

当出现网络拥塞时

举例

乘法减小 && 加法增大

  • 乘法减小是指不论在慢开始阶段还是拥塞避免阶段,只要出现一次网络拥塞,就把慢开始门限值 ssthresh 设置为当前的拥塞窗口值cwnd乘以 0.5

  • ps: 当网络频繁出现拥塞时,ssthresh 值就下降得很快,以大大减少注入到网络中的分组数。

  • 加法增大是指执行拥塞避免算法后,在收到对所有报文段的确认后(即经过一个往返时间),就把拥塞窗口 cwnd增加一个 MSS 大小,使拥塞窗口缓慢增大,以防止网络过早出现拥塞。

快重传

快恢复

other

TCP如何判断出现拥塞?

  • 出现重传或者连续收到三个重复的确认

Q7 TCP报文首部20字节的内容及含义

  • 从这个头部的源端口目的端口也能看出来运输层为应用进程之间提供端到端的逻辑通信。PS:但网络层是为主机之间提供逻辑通信。

Q8 超时重传时间如何计算

  • TCP 每发送一个报文段,就对这个报文段设置一次计时器。只要计时器设置的重传时间到但还没有收到确认,就要重传这一报文段。

  • 超时重传时间要比当前通讯的两点之间的往返时延大一些

Q9 TCP的三次握手

  • TCP连接的建立(三次握手):

-(1)第一次握手:客户将标志位SYN置为1,随机产生一个值seq=x,并将该数据包发送给服务器,等待服务器确认。
-(2)第二次握手:服务器收到数据包后由标志位SYN=1知道客户请求建立连接,服务器将标志位SYN和ACK都置为1ack=x+1随机产生一个值seq=y,并将该数据包发送给客户以确认连接请求
-(3)第三次握手:客户收到确认后,检查ack是否为x+1ACK是否为1,如果是则将标志位ACK置为1ack=y+1,并将该数据包发送给服务器,服务器检查ack是否为y+1,ACK是否为1,如果是则连接建立成功,完成了三次握手,随后客户与服务器之间可以开始传输数据了。

  • 补充一下TCP连接的释放,但愿不考,太多了记不过来了:

已完结