计算机网络知识点整理

别说谁变了你拦得住时间么 提交于 2020-01-18 06:54:19

(更新中)

参考书:《计算机网络自顶向下方法 原书第七版》

第一章 计算机网络和因特网


1、什么是协议?

协议(protocol),定义了在两个或多个通信实体间传输报文的格式和顺序,以及报文发送和/或接收一条报文或其他事件所采取的动作

2、什么是网络边缘,常用设备有哪些?

与因特网相连的计算机和其他设备称为端系统

例如:

  • 桌面计算机
  • 服务器
  • 移动计算机。

3、常用家庭接入方式有哪些,企业和移动接入方式有哪些?

  1. 家庭接入:

    • DSL(用户数字线)
    • 电缆
    • FTTH(光纤到户)
    • 拨号
    • 卫星
  2. 企业接入

    • 以太网
    • WIFI
  3. 移动接入

    • 3G
    • LTE(长期演进)

4、导引型物理传输媒体有哪些?非导引型物理传输媒体有哪些?

  1. 导引型物理传输媒体

    • 双绞铜线
    • 同轴电缆
    • 光纤
  2. 非导引型物理传输媒体

    • 陆地无线电信道
    • 卫星无线电信道

5、什么是网络核心?网络核心通常设备有哪些?

互联因特网端系统的分组交换机和链路构成的网状网络

网络核心通常设备有路由器(Route)链路层交换机(link-layer switch)

6、简单描述存储转发传输机制?

传输当前分组时,需要完全的接收到分组,才能把该分组推向数据链路。

7、网络中数据交换的两种基本方式时什么?

  • 分组交换
  • 电路交换

8、电路交换中的复用方式有哪些?分组交换和电路交换的对比?

复用方式: 频分复用时分复用

  1. 电路交换

    • 端系统通信会话间,预留了所需要的链路资源(缓存、链路传输数率)
    • 延迟低
    • 实时性好
  2. 分组交换

    • 不预留资源
    • 提供更好的带宽
    • 更简单
    • 更有效
    • 成本更低

9、简述因特网的网络结构?

如今的因特网是网络的网络,有十多个第一层ISP和数十万个较低层ISP组成。较低层的ISP与较高层的ISP相连较高层的ISP彼此相连
在这里插入图片描述

10、网络传输中时延的组成和时延的计算

时延 = 处理时延dprocd_{proc} + 传输时延dtransd_{trans} + 传播时延dpropd_{prop} + 排队时延dqueued_{queue}

  • 时延
    • 处理时延:检查分组首部,决定将分组导向何处所需的时延。
    • 排队时延:分组在链路上等待传输时,经受的排队时间。
    • 传输时延:将分组的所有比特推向链路所需的时间。
    • 传播时延:分组在链路中传播所需的时间。

11、为什么要网络分层体系结构?TCP/IP协议和ISO/OSI分层情况分别是怎么样的?

分层是为了使得某层所提供的服务实现易于改变而不会影响到其他层面。

在这里插入图片描述
TCP/IP协议的自顶向下五个分层应用层->运输层->网络层->链路层->物理层
ISO/OSI自顶向下七个分层应用层->表示层->会话层->运输层->网络层->链路层->物理层

第二章-应用层


1、什么是应用层,应用层常用协议有哪些?

应用层: 负责对软件提供接口以使程序能使用网络服务。

SMTP简单邮件传输协议Simple Mail Transfer Protocol
FTP文件传输协议File Transfer Protocol
DNS域名解析协议Domain Name System
Telnet远程终端协议Telnet
SNMP简单网络管理协议Simple Network Management Protocol
HTTP超文本传输协议HyperText Transfer Protocol
IMAP因特网邮件访问协议Internet Mail Access Protocol
POP3邮局协议第三版Post Office Protocol - Version 3
SIP会话初始服务Session Initiation Protocol
NFS网络文件系统Network File System

2、应用程序主流体系结构有哪两种?

  • C/S体系结构(客户机/服务器体系结构)
  • P2P体系结构

3、什么是客户机/服务器体系结构,有什么特点和不足?

有一个总打开的服务器,向其他客户机提供服务。

特点:

  • 客户机之间不能直接通信
  • 服务器具有固定的、周知的IP地址

不足:

  • 服务器可能无法处理所有客户的请求
  • 服务商必须支付大量的互联网和维护费用

4、什么是P2P结构,有什么特点和不足?

每个主机即是客服机也是服务器,称作对等方无需重度依赖服务器
在这里插入图片描述
特点: 对数据中心的专用服务器有最小依赖,具有自扩展性,即

  • 不总是在服务器上。
  • 任意端系统直接通信
  • 对等方向其他对等方分发文件能为系统增加了服务能力,文件分发速度更快
  • 自扩张性——新的对等方带来了新的服务容量,以及新的服务需求。

不足:

  • 由于高度的非集中式结构,面临安全性、性能和可靠性的挑战

5、进程与计算机网络之间的接口是什么?

进程通过一个称为Socket(套接字) 的软件接口向网络发送报文和从网络接收报文。

6、在因特网的环境下,主机的进程是如何寻址的?

知道目的地主机的ip地址,指定运行在接收主机(服务器)上的接收套接字(端口号)

7、运输层协议为应用程序服务的主要有哪些?

  • 可靠数据传输
  • 吞吐量
  • 定时
  • 安全性

8、因特网为运输层提供了哪两个运输层协议?

  • UDP(用户数据报协议)
  • TCP(传输控制协议)。

9、常用网络应用对网络传输的要求如何?

  • 可靠数据传输
  • 吞吐量大
  • 时延低
  • 安全性高

10、应用程序获得哪些服务?其中TCP有哪些服务,UDP有哪些服务;

当创建一个新的因特网应用时,首先要做出的决定是选择UDP还是TCP,它们能为应用程序提供下列服务:

  • TCP
    • 面向连接的服务
    • 可靠数据传输服务
  • UDP
    • 无连接的服务
    • 不可靠数据传输服务(不保证到达,也不保证有序到达)

除此之外,TCP具有拥塞控制机制,拥塞控制不一定能为应用程序带来直接好处,但能对整个网络带来好处。UDP没有拥塞控制

12、通常应用层协议定义的内容有哪些?

  1. 交换的报文类型。(例如请求报文和响应报文)
  2. 各种报文类型的语法。(如报文中的各个字段及这些字段是如何描述的)
  3. 字段的语义。(即这些字段中的信息的含义)
  4. 确定一个进程何时以及如何发送报文。(对报文进行响应的规则)

13、HTTP(超文本传输协议)

使用TCP作为运输层协议

无状态协议:服务器向客户机发送被请求的文件时,并不存储任何关于该客户机的状态信息。假如某个特定的客户机在短短的几秒钟内两次请求同一个对象,服务器并不会因为刚刚为该用户提供了该对象就不再做出反应,而是重新发送该对象。

  • HTTP客户机:web浏览器
  • HTTP服务器:web服务器,包含web对象(HTML文件、JPEG文件、java小程序、视频片段等)

连接类型

  • 非持续连接

    • 每个请求/响应对是经过一个单独的TCP连接发送
    • 每次受到两倍的RTT交付时延
  • 持续连接

    • 所有的请求及其响应经相同的TCP连接发送
    • 响应时间短
    • web服务器负担小

HTTP报文格式(请求报文)

在这里插入图片描述
“Host”:请求的目标主机
“Connection:close”:浏览器告诉服务器不希望麻烦地使用持久连接,而是要求服务器在发送完请求后关闭连接
“User-agent”:用户代理,即向服务器发送请求的浏览器的类型(服务器可以正确地为不同类型的用户代理发送相同对象的不同版本)
“Accept-language”:用户想得到该对象的语法版本

在这里插入图片描述
方法字段

  • GET:绝大部分HTTP请求报文使用GET方法
  • POST:用户提交表单时(如向搜索引擎提供关键字),但提交表单不一定要用POST方法
  • HEAD:类似于GET,区别在于服务器返回的响应报文中不包含请求对象(常用于故障跟踪)
  • PUT:用于向服务器上传对象
  • DELETE:用于删除服务器上的对象

HTTP报文格式(响应报文)

在这里插入图片描述
“Connection:close”:告诉客户机在报文发送完后关闭了TCP连接
“Date”:报文生成、发送时的日期
“Last-Modified”:web对象最后修改的日期
在这里插入图片描述
状态信息

  • 200 OK: 请求成功,信息在返回的响应报文中。
  • 301 Moved Permanently: 请求的对象已经被永久转移了。(新的URL定义在响应报文的Location:首部行中。客户软件将自动获取新的URL。)
  • 304 Not Modified:条件GET的响应报文中的状态码,web服务器告诉web缓存相应对象未被修改
  • 400 Bad Request: 一个通用差错代码,指示该请求不能被服务器理解。
  • 403 Forbidden:服务器收到请求,但是拒绝提供服务。服务器通常会在响应报文中给出不提供服务的原因
  • 404 Not Found: 被请求的文档不在服务器上。
  • 505 HTTP Version Not Supported: 服务器不支持请求报文使用的HTTP协议版本。

Cookie

用于识别用户,可能出于下列意图:

  • 服务器想限制用户的访问
  • 服务器想把内容与用户身份关联起来

Cookie包含4个组件:
1、在HTTP响应报文中的一个cookie首部行;
2、在HTTP请求报文中的一个cookie首部行;
3、在用户端系统中保留有一个cookie文件,并由用户的浏览器进行管理;
4、位于Web站点的一个后端数据库。

Web缓存

Web缓存(Web cache)也叫代理服务器(proxy server),用于缓存Web对象。
在这里插入图片描述

优点

  1. Web缓存器可以大大减少对客户请求的响应时间。
  2. Web缓存器能够大大减少一个机构的接入链路到因特网的通信量。
  3. Web服务器能从整体上大大减低因特网上的Web流量,从而改善了所有应用的性能。

条件GET:web缓存器使用条件GET向web服务器确认某个对象是否已经被修改(不是最新的对象)。如果请求报文使用GET方法,并且包含一个If-modified-since: 首部行,那么这个HTTP请求报文就是一个条件GET。

14、电子邮件系统有哪几个组成部分?SMTP、POP3、IMAP三种协议主要作用是什么?

电子邮件系统的组成部分

  1. 用户代理(user agent)。
  2. 邮件服务器(mail server)。
  3. 简单邮件传输协议(Simple Mail Transfer Protocol, SMTP)。

SMTP (Simple Mail Transfer Protocol, 简单邮件传输协议)

  • 把邮件从发送方邮件服务器推到接收方的邮件服务器

POP3 (Post Office Protocol-Version 3,第三方的邮局协议)

  • 110端口

  • 将邮件从接收方的邮件服务器传送到接收方的用户代理。

  • 分为三个阶段

    1. 特许

    2. 事务处理 - OK or ERR

    3. 更新

IMAP(Internet Mail Access Protocol, 因特网邮件访问协议)

  • IMAP服务器把每一个报文与一个文件夹联系起来
  • 为用户提供了创建文件夹以及将邮件从一个文件夹移到另一个文件夹的命令。
  • 可以在远程文件夹中查询邮件。
  • 允许用户代理获取报文的一部分内容

15、SMTP和HTTP协议主要不同在什么地方?

  1. SMTP一个推协议,而HTTP一个拉协议
  2. SMTP要求每个报文(包括它们的体)采用7为ASCII码格式。而HTTP数据则不受这种限制
  3. HTTP则是把每个对象封装到它自己的响应报文中,而SMTP则是把所有报文对象放到一个报文之中。

16、DNS(域名系统)

DNS运行于UDP之上,使用53号端口,它提供下列服务:

  1. 主机名到IP地址的转换(主要)
  2. 主机别名:有着复杂主机名的主机可以拥有一个或多个别名,应用程序可以调用DNS来获得主机别名对应的规范主机名以及主机的IP地址
  3. 邮件服务器别名:qq.com与foxmail.com,DNS可以解析邮件服务器别名获得规范名和IP地址
  4. 负载分配:繁忙的站点被冗余分布在多台服务器上,这些服务器有不同IP地址,IP地址集合对应于一个规范主机名,当客户机通过主机名获取IP地址时,DNS服务器用包含全部这些地址的报文进行回答,但在每个回答中选择这些地址排放的顺序,从而将负载分配到不同服务器

DNS服务器

在这里插入图片描述

  • 根DNS服务器
  • 顶级域(DNS)服务器
  • 权威DNS服务器

除此之外,DNS服务器还有本地DNS服务器。严格来说,本地DNS服务器不属于DNS服务器的层次结构,但对DNS层次结构很重要。一台主机具有一台或多台本地DNS服务器的IP地址,本地DNS服务器起着代理的作用,将请求转发到DNS服务器层次结构中

递归查询和迭代查询

  • 递归查询
    • 以自己的名义请求DNS服务器来获得映射。
  • 迭代查询
    • 所有的回答都是直接返回给本地DNS服务器。

DNS通常从请求主机到本地DNS服务器使用递归其余的查询使用迭代

DNS记录

Type = A 提供了标准的主机名到IP地址的映射
Type = NS 用于沿着查询链来路由DNS查询
Type = CNAME 提供一个主机名对应的规范主机名
Type = MX 提供邮件服务器的规范主机名

DNS报文(查询和响应报文格式相同)

在这里插入图片描述

第3层 运输层


1、什么是运输层的多路复用和多路分解?UDP和TCP的多路复用和多路分解分别是如何实现的?

多路分解:将运输层报文段中的数据交付到正确的套接字的过程(通过报文段的端口号字段)。
多路复用:从源主机不同套接字收集数据,并为数据封装上首部信息从而生成报文段,传递到网络的过程。

  • UDP:(目的IP地址,目的端口号)若两个UDP报文段有不同源IP地址和/或源端口号,但有相同目的IP地址和目的端口号,则这两个报文段将通过相同的套接字被定向到相同的目的进程。

  • TCP:(源IP地址,源端口号,目的IP地址,目的端口号),当一个TCP报文段从网络到达一台主机时,使用全部4个值将报文段分解到相应套接字。两个具有不同源IP地址或源端口号的TCP报文段将被定向到不同的套接字。

2、UDP有哪些优点?试使用UDP通信的应用层协议。

  1. 应用层能更好地控制要发送的数据和发送时间(TCP拥塞时会遏制发送方发送)
  2. 无需建立连接
  3. 无连接状态(TCP需要维护连接状态,包括接收和发送缓存、拥塞控制参数、序号与确认号的参数)
  4. 分组首部开销小(每个TCP报文段有20字节的首部开销,而UDP仅有8字节的开销)

使用UDP通信的应用层协议有: DNS、NFS、SNMP

3、熟悉UDP报文段的结构;

在这里插入图片描述
UDP首部只有4个字段,每个字段2个字节,一共8个字节大小的首部

校验和:对报文段中的所有16比特字(包括数据部分,不包括校验和本身)的和相加(如有溢出会卷回)的结果取反就是校验和。在接收方,会将所有16比特字的和相加,如果分组无差错,这个和会是“1111-1111-1111-1111”(为了方便阅读,使用’-'分隔)

许多链路层协议提供了差错检测,UDP还需提供校验和的原因在于,不能确保所有链路都提供了差错检测。此外,即使报文段经链路正确地传输,当其存储在某台路由器的内存中时,也可能引入比特差错。既未确保逐段链路的可靠性,也未确保内存中的差错检测,因此UDP必须在端到端基础上在运输层提供差错检测

校验和方法需要相对小的分组开销。例如,TCP和UDP中的校验和只用了16比特。然而与常用于链路层的CRC(循环冗余检测)相比,他们提供相对弱的差错保护。运输层使用校验和而链路层使用CRC的原因是:运输层通常在主机中作为用户操作系统的一部分并用软件实现,因此采用简单而快速(如校验和)的差错检测方案是重要的。另一方面,链路层的差错检测在适配器中用专业硬件实现,它能快速地执行更复杂的CRC操作

4、TCP连接建立和释放过程分别是怎么样的?

三次握手

  1. 客户首先发送一个特殊的TCP报文段 。
  2. 服务器用另一个报文段来响应 。
  3. 最后客户用另一个报文段来响应。
    前两个报文段不承载 有效载荷 ,也就是不包括应用层数据,第三个报文段具有载荷。

四次挥手

  1. 客户端进程发送一个关闭命令,向服务器发送一个特殊的TCP,将报文段中FIN比特置为1 。
  2. 服务器接收后向发送方发送一个确定报文 。
  3. 服务器发送它自己终止报文段,将其FIN比特置为1 。
  4. 客户端对终止报文进行确认 然后两台主机的资源被释放 。

5、TCP滑动窗口算法的流程

  • 初始状态

  • 传输过程

  • 调整窗口

  • 处理丢失确认信息

英文缩写

SMTP简单邮件传输协议Simple Mail Transfer Protocol
FTP文件传输协议File Transfer Protocol
DNS域名解析协议Domain Name System
Telnet远程终端协议Telnet
SNMP简单网络管理协议Simple Network Management Protocol
HTTP超文本传输协议HyperText Transfer Protocol
IMAP因特网邮件访问协议Internet Mail Access Protocol
POP3邮局协议第三版Post Office Protocol - Version 3
SIP会话初始服务Session Initiation Protocol
NFS网络文件系统Network File System
RIP 路由信息协议Routing Information Protocol
UDP 用户数据报协议User Datagram Protocol
TCP 传输控制协议Transmission Control Protocol
SSL 安全套接字层Secure Sockets Layer
DSL 数字用户线Digital Subscriber Line
UTP 无屏蔽双绞线Unshielded Twisted Pair
STP屏蔽双绞线Shielded Twisted Pair
FTTH光纤到户Fibre To The Home
LTE长期演进Long Term Evolution
IETF因特网工程任务组 Internet Engineering Task Force
PON被动光纤网络Passive Optical Network
AON主动光纤网络Active Optical Network
OLT光纤线路端接器Optical Line Terminal
CMTS 电缆调制解调器端接系统 Cable Modem Termination System

第四章 网络层:数据平面


1、网络层的两种重要功能是什么?p199

  1. 转发(forwarding):是指将分组从一个输入链路接口转移到适当的输出链路接口的路由器本地动作。
  2. 路由选择(routing):是指确定分组从源到目的地所采取的端到端路径的网络范围处理过程。

2、什么是路由器的数据平面,什么是路由器的控制平面,主要完成什么功能

  • 数据平面

    主要功能:包转发,即将数据报从其输入链路转发到其输出链路。

  • 控制平面

    主要功能:确定转发表的内容

3、路由器体系结构示意图 p203

在这里插入图片描述

  • 输入端口

    • 把一条输入的物理链路与路由器连接的物理层功能
    • 与位于入链路远端的数据链路层交互的数据链路层功能
    • 在输入端口完成查找功能。通过查询转发表决定路由器的输出端口
    • 控制分组从输入端口转发到路由选择处理器
  • 交换结构

    • 将路由的输入端口与输出端口相连接
  • 输出端口

    • 从交换结构接收分组,并通过执行必要的链路层和物理层功能在输出链路上传输这些分组
  • 路由选择处理器

    • 执行路由选择协议,维护路由选择表以及连接的链路状态信息,并为路由器计算转发表。还执行网络管理功能。

4、路由器交换结构包含哪三种交换技术?p208

  • 内存交换

    1. 输入端口和输出端口之间的交换是在CPU(路由选择处理器)的直接控制下完成的。
    2. 不能同时转发两个分组。
  • 总线交换

    1. 输入端口经一根共享总线将分组直接传送到输出端口,不需要路由选择处理器的干预。
    2. 一次只能有一个分组跨越总线。
  • 互联网络交换

    1. 可使用纵横式网络,实现多个分组从不同的输入、输出总线。
    2. 纵横式交换机是非阻塞的。

5、路由器分组调度包括哪三种调度策略?p211

  • 先进先出(First-In-First-Out,FIFO)
    在这里插入图片描述

  • 优先权排序(priority queuing)
    在这里插入图片描述

  • 循环和加权公平排队
    在这里插入图片描述

6、IPv4的报文格式 p214

在这里插入图片描述

  • 版本号4位。IP协议的版本,路由器根据版本号确定如何解释剩余部分。
  • 首部长度4位。一个IPV4数据报可包含一些可选项,所以需要用4比特确定数据部分实际从哪开始,大多数IP数据报不包含可选项,有20字节的首部
  • 服务类型8位。可以使不同类型(实时与非实时等)的IP数据报区分开来。
  • 数据报长度16位。IP数据报的总长(16bit,首部+数据,所以IPv4数据报的最大大小是65535字节)。
  • 寿命(TTL)8位,用以确保数据报不会永远在网络中循环,每经过一台路由器减1,减为0时丢弃。
  • 上层协议8位。指明了数据部分应该交给哪个运输层协议(UDP(6)、TCP(17))。
  • 首部校验和16位。首部中每2个字节作为一个数,和的反码存入校验和字段中。路由器一般会丢弃检测出的错误数据报。每台路由器上都必须重新计算并更新校验和,因为TTL及选项字段可能会改变。
  • 选项0~40字节(长度可变)。在IPv6中已不再使用。

除此之外,首部中的以下3个字段用于IP数据报分片的标识

  • 标识16位。识别分片的序号。
  • 标志3位 最后一个分片的标志为0,其余分片的标志为1(设置DF位表示不允许分片,可用于路径MTU发现)。
  • 比特片偏移13位。该分片起始数据在原数据报中的偏移量/8。

IPv4要求的最小链路MTU是68字节,这允许最大IPv4首部(20字节固定长度+最多40字节选项部分)拼接最小的片段(IPv4首部中片段偏移字段以8个字节为单位)

7、IPv4数据报的分片;会计算IP报文分片;

  • IP数据报分片
    一个链路层帧能承载的最大数据量叫做最大传输单元(MTU)(以太网可承载不超过1500字节的数据),因为每个IP数据报封装在链路层帧中,再从一台路由器运输到下一台路由器,故链路层协议MTU严格地限制着IP数据报的长度。发送方与目的地路径上的每段链路可能使用不同的链路层协议,每种协议可能具有不同的MTU,如果转发表查找决定的出链路的MTU比该IP数据报的长度小,则需要对IP数据报进行分片。片在到达目的地运输层以前需要被组装,如果一个或多个片没有到达目的地,则该不完整的数据报被丢弃。

8、IPv4的编址;知道IPv4的私网地址段;

  • IPv4编址
    主机与物理链路之间的边界叫做接口,一个IP地址在技术上是与一个接口相关联的,而不是与包括该接口的主机或路由器相关联的。

    IP地址编址格式:点分十进制,一个接口的IP地址的组成部分需要由其连接的子网来决定。互连主机的接口与路由器一个接口的网络形成一个子网
    在这里插入图片描述
    IP编址为子网分配一个地址:223.1.1.0/24,其中/24记法称为子网掩码。其它要连到223.1.1.0/24网络的主机都要求其地址形式为223.1.1.xxx。

    上图对应了下图中3个子网:
    在这里插入图片描述
    除此之外,子网还包括互连路由器接口的网段

    1)分类编制
    在无类别域间选路之前,IP地址的分配策略采用分类编制,网络分为下面3类

    • A类网络:网络部分被限制长度为8比特
    • B类网络:网络部分被限制长度为16比特
    • C类网络:网络部分被限制长度为24比特

    分类编制的问题在于:对于一个组织,分配一个B类网络可能太大,分配一个C类网络可能太小,这样分配B类网络就会造成地址空间的迅速消耗,以及大量的地址浪费。这个问题类似于操作系统内存管理中固定分区的问题。

    2)无类别域间选路(CIDR)
    32比特的IP地址被划分为2部分,a.b.c.d/x,前x比特构成了IP地址的网络部分,被称为该地址的网络前缀

    组织外部的路由器仅考虑前缀比特,大大减少了路由器中的转发表的长度。剩余32-x比特用于区分组织内部设备,当组织内部的路由器转发分组时,才会考虑这些比特。

IP地址由因特网名字与号码分配机构(ICANN)管理,非盈利的ICANN不仅分配IP地址,还管理DNS根服务器、解决分配域名与域名纠纷,ICANN向地区性因特网注册机构分配地址,这些机构一起形成了ICANN地址支持组织,处理本地域内的地址分配/管理。

  • IPv4私网地址段

    A类私网地址 10.0.0.0 - 10.255.255.255 16,777,216(24位块)
    B类私网地址 172.16.0.0 - 172.31.255.255 1,048,576(20位块)
    C类私网地址 192.168.0.0 - 192.168.255.255 65,536 (16位块)

9、DHCP协议 p223

DHCP为即插即用协议或是零配置协议

DHCP协议配置的4个步骤

  1. DHCP服务器发现
  2. DHCP服务器提供
  3. DHCP 请求
  4. DHCP ACK
    在这里插入图片描述

10、DHCP 配置中可以获得的网络参数 p223

  1. 主机IP地址
  2. 子网掩码
  3. 默认网关
  4. 本地DNS服务器地址

11、什么是NAT,NAT有什么作用?

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

    网络地址转换(NAT)是一种路由器功能,可以实现公共和专用网络连接,并允许单个IP地址通信。虽然全世界有许多公共网络,但私人网络数量有限。NAT被引入作为有效、及时的解决方案来处理繁重的网络流量。

  • 作用
    1. 扩大地址空间 私网->公网
    2. 增强了网络的安全性
    3. 便于管理 可以反向映射

  • 功能(来自百度百科)

    NAT不仅能解决IP地址不足的问题,而且还能够有效地避免来自网络外部的攻击,隐藏并保护网络内部的计算机。

    1. 宽带分享:这是 NAT 主机的最大功能。
    2. 安全防护:NAT 之内的 PC 联机到 Internet 上面时,他所显示的 IP 是 NAT 主机的公共 IP,所以 Client 端的 PC 当然就具有一定程度的安全了,外界在进行 portscan(端口扫描) 的时候,就侦测不到源Client 端的 PC 。

12、IPv6 地址

表示方法(来自百度百科):

IPv6的地址长度为128位,是IPv4地址长度的4倍。于是IPv4点分十进制格式不再适用,采用十六进制表示。

IPv6有3种表示方法。
一、冒分十六进制表示法
  格式为X:X:X:X:X:X:X:X,其中每个X表示地址中的16b,以十六进制表示,例如:
  ABCD:EF01:2345:6789:ABCD:EF01:2345:6789
  这种表示法中,每个X的前导0是可以省略的,例如:
  2001:0DB8:0000:0023:0008:0800:200C:417A→ 2001:DB8:0:23:8:800:200C:417A
二、0位压缩表示法
  在某些情况下,一个IPv6地址中间可能包含很长的一段0,可以把连续的一段0压缩为“::”。但为保证地址解析的唯一性,地址中”::”只能出现一次,例如:
  FF01:0:0:0:0:0:0:1101 → FF01::1101
  0:0:0:0:0:0:0:1 → ::1
  0:0:0:0:0:0:0:0 → ::
三、内嵌IPv4地址表示法
  为了实现IPv4-IPv6互通,IPv4地址会嵌入IPv6地址中,此时地址常表示为:X:X:X:X:X:X:d.d.d.d,前96b采用冒分十六进制表示,而最后32b地址则使用IPv4的点分十进制表示,例如 ::192.168.0.1::FFFF:192.168.0.1就是两个典型的例子,注意在前96b中,压缩0位的方法依旧适用 。

地址类型:

  • 单播地址(Unicast Address)
  • 组播地址(Multicast Address)
  • 任播地址(Anycast Address)

与原来在IPv4地址相比,新增了“任播地址”类型,取消了原来IPv4地址中的广播地址,因为在IPv6中的广播功能是通过组播来完成的。

13、IPv6 报文格式 p228

在这里插入图片描述
IPv6引入了称为任播地址的新地址,这种地址可以使一个数据报能交付给一组主机中的任意一个

定长的40字节首部允许更快的处理IP数据报

  • 版本号4位。IPv6将该字段值设置为6。
  • 流量类型8位。与IPv4中的”服务类型“字段含义相同,区分不同类型数据报(实时/非实时)。
  • 有效载荷16位。数据部分的字节数(16bit,不包括首部,所以IPv6数据报的最大大小是65535+40=65575字节)。
  • 下一个首部8位。应该交付给运输层的哪个协议。
  • 跳限制8位。同TTL。

IPv6中不存在IPv4中的:

  • 分片、重组
  • 首部校验和
  • 选项

IPv6不允许在中间路由器上进行分片与重新组装,这种操作只能在源与目的地上进行。如果一台路由器收到的IPv6数据报因太大而不能转发到出链路上,则只需丢掉该数据报,并返回一个”分组太大“的ICMP差错报文。因此IPv6中没有IPv4用于分片相关的3个字段。

IPv6的关注快速处理分组,由于运输层提供了差错检测,IP设计者可能觉得没必要再在网络层进行差错检测,所以去掉了首部校验和字段。

IPv4中的选项字段并没有作为IPv6的首部字段出现,但其并未消失,而是可能出现在可能出现在首部中由”下一个首部“指出的位置上。

IPv6要求的最小链路MTU为1280字节,IPv6可以运行在MTU小于此最小值的链路上,不过需要特定于链路的分片和重组功能,以使得这些链路看起来具有至少为1280字节的MTU。IPv6只有主机对其产生的数据报分片,IPv6路由器不对其转发的数据报执行分片

14、实践中广泛使用 IPv4 到 IPv6 地址迁移方法 p230

建立隧道,即如果两个IPv6路由器需要用IPv6的数据报进行传输,但是两个IPv6路由器中间隔了一个、两个或者多个IPv4路由器,那么我们可以把这些IPv4路由器所组成的链路体称为隧道,而IPv6数据报要到达隧道时,可以被封装到IPv4数据报中的数据(有效载荷)字段中,并把目的指向隧道外的第一个IPv6路由器的节点,然后经由隧道中IPv4路由器的传输,到达隧道外的第一个IPv6路由器,这个IPv6路由器可得知这个IPv4数据报是包含IPv6数据报的(通过观察在IPv4数据报中的协议号字段是41,指示该IPv4有效载荷是IPv6数据报),从中取出IPv6数据报,然后再为该IPv6数据报提供路由。
在这里插入图片描述

英文缩写

SDN软件定义网络Software Defined Network
TTL生存时间值Time To Live
DHCP动态主机配置协议Dynamic Host Configuration Protocol
SOHO家庭办公室Small Office,Home Office
NAT网络地址转换Network Address Translation
RTT往返时延Round-Trip Time
TOS服务类型Type Of Service
MTU最大传输单元Maximum Transmission Unit
UDP用户数据报协议User Datagram Protocol
TCP传输控制协议Transmission Control Protocol

第五章 网络层:控制平面


1、链路状态路由算法的基本原理:使用该算法的路由协议:OSPF p246

在链路状态算法中,网路拓扑和所有的链路开销都是已知的。

实践中,通过让每个节点向网络中所有其他节点广播链路状态分组来完成的,其中每个链路状态分组包含它所连接的链路的标识和开销。

节点广播的结果是所有节点都具有该网络的统一、完整的试图。

2、距离向量路由算法的基本原理:使用该算法的路由协议:RIP、BGP、IPX p248

每个节点都要从一个或多个直接相连邻居接收某些信息,执行计算,然后将其计算结果分发给邻居。过程一直要持续到邻居之间无更多信息要交换为止。不需要所有节点相互之间步伐一致地操作。

3、OSPF、BGP

OSPF p255

OSPF是自治系统内部路由选择协议,是一种链路状态协议,使用洪泛链路状态信息和Dijkstra最低开销路径算法,在每个路由器内部,维护以自身为源的最短路径树(SPT)。

优点:

  1. 安全
  2. 可选择多条相同开销的路径
  3. 对单播与多播路由选择的总和支持
  4. 支持在单个AS中的层次结构

BGP p257

ISP的路由选择,边界网关协议(Broder Gateway Protocol,BGP)

AS间路由选择设计多个AS之间的协调,所以AS间的通信必须运行相同的协议。

4、SDN体系结构的4个关键特征

4个关键特征

  1. 基于流的转发
  2. 数据平面与控制平面分离
  3. 网络控制功能
  4. 可编程的网络

5、SDN中控制器和受控设备交流的协议:OpenFlow

OpenFlow协议允许在TCP协议之上,默认使用6653的端口。

控制器到受控交换机流动的重要报文有下列 p268

  • 配置
  • 修改状态
  • 读状态
  • 发送分组

受控交换机到控制器流动的重要报文有下列这些 p268

  • 流删除
  • 端口状态
  • 分组入

6、SDN的两种典型控制器

OpenDaylight 和 ONOS

7、ICMP 协议有什么作用

ICMP(Internet Control Message Protocol)因特网控制报文协议。它是TCP/IP协议簇的一个子协议,用于在IP主机、路由器之间传递控制消息。控制消息是指网络通不通、主机是否可达、路由是否可用等网络本身的消息。这些控制消息虽然并不传输用户数据,但是对于用户数据的传递起着重要的作用。

8、用ICMP来实现Traceroute的过程

ICMP是在数据报内部进行传输的,格式如下图:
在这里插入图片描述
ICMP报文格式会根据不同的错误类型有不同的格式,但是8位类型,8位代码,16位校验和是必不可少的,格式如下图:
在这里插入图片描述

9、Traceroute工作过程

工作过程

源主机中的Traceroute向目的地主机发送一系列普通的IP数据报,每个数据报都携带了一个具有不可达UDP端口号的UDP报文段。第一个数据报的TTL是1,第二个数据报的TTL是2,依此类推。并且源主机还为每个数据报启动定时器。当第n个数据报到达第n台路由器时,第n台路由器检查这个数据报的TTL,观察到这个数据报的TTL正好过期。根据IP协议规则,路由器会丢弃这个数据报,并发送一个ICMP告警报文给源主机(类型11编码0)。该告警报文包含了路由器的名字和它的IP地址。当该ICMP报文返回源主机时,源主机从定时器得到往返时间,从ICMP报文中得到第n台路由器的名字和IP地址。最后,当一个数据报到达目标主机时,因为该数据报包含一个不可达端口号的UDP报文段,该目的主机将向源发送一个端口不可达的ICMP报文(类型3编码3)。当源主机收到这个特别的ICMP报文时,知道它不需要再发送另外的探测分组。

在这里插入图片描述

UDP不可到达格式

ICMP部分:
ICMP不可到达报文
整体传输:
传输格式

10、比较和对照链路状态和距离矢量这两种路由选择算法 p246

链路状态路由选择算法

  1. 一种使用全局信息的算法。
  2. 集中式的算法。

距离向量(Distance-Vector, DV)算法

  1. 一个异步的、迭代的、自我终止的、分布式的算法。

每个节点仅与它直接相邻的邻居交谈,每个节点为其直接相邻的邻居提供了自己到网络中所有其他节点的最低开销。

异步:它不要求所有节点相互之间步伐一致地操作。

迭代:此过程中一直要持续到邻居之间无更多信息要交换位置。

自我终止:没有计算应该停止的信号,它就停止了。

分布式:每个节点都要从一个或多个直接相连邻居接收某些信息,执行计算,然后将其结果分发给邻居。

英文缩写

AS自治系统Autonomous System
OSPF开放式最短路径优先Open Shortest Path First
RIP路由信息协议Routing Information Protocol
ICMP控制报文协议Internet Control Message Protocol
SNMP简单网络管理协议Simple Network Management Protocol
BGP边界网关协议Border Gateway Protocol
MIB管理信息库Management Information Base

第六章 链路层和局域网


在通过特定的链路时,传输节点将数据报封装在链路层帧中,并将该帧传送到链路中。

链路层的主体在网络适配器中实现。

链路层时硬件和软件的结合体,此处是协议栈中软件和硬件的交接处 p288

链路层可能提供的服务包括:

  • 成帧:在每个网络层数据报经链路传送之前,几乎所有的链路层协议都要将其用链路层帧封装起来。
  • 链路接入媒体访问控制(MAC) 协议规定了帧在链路上传输的规则。
  • 可靠交付:当链路层协议提供可靠交付服务时,它保证无差错地经链路层移动每个网络层数据报。可靠交付服务通常用于易产出高差错率的链路,对于低比特差错的链路,可靠交付可能被认为是一种不必要的开销,因此不提供此服务。
  • 差错检测和纠正: 当帧中的一个比特作为1传输时,接收方节点中的链路层硬件可能不正确地将其判断为0,反之亦然。这种比特差错是由信号衰减和电磁噪声导致地。因为没有必要转发一个有差错的数据报,所以许多链路层协议提供一种机制来检测这样的比特差错。

1、差错检测和校正

链路层提供了比特差错检验和纠正,从一个节点发送到另一个物理上连接的临近节点的链路层帧中的比特损伤进行检测和纠正,这是链路层通常提供的服务。

一维奇偶校验

若有dd位bit的数据,在最后增加d+1d+1位,使得d+1d+1中的个数为奇数或者偶数(对应奇校验或者偶校验)。

缺点

  • 奇偶校验能力较差,只能检测出奇数位的差错。无法检测出偶数位的差错。
  • 奇偶校验是一种错误检测码,但是由于没有办法确定哪一位出错,所以它不能进行错误校正。

二维奇偶校验

对每行和每列计算奇偶值。产生的i+j+1i+j+1奇偶比特构成了链路层帧的差错检测比特。p290

因特网校验和

通常更多的应用于运输层。将数据分为多个k比特的序列,相加(可能回滚)后取反,作为校验和。接收方对所有k比特(包括校验和)的序列相加,结果的任意比特如果出现0,则检测为出现比特差错。

CRC 循环冗余检测

发送方和接收方协商一个r+1比特的生成多项式(G),要求最高比特位为1。发送方通过在d比特的数据后附加r比特,使得整个(d+r)比特的值能够被G整除。接收方用G去除(d+r)比特,如果余数非0,则出现差错。

要求,会计算R,使得(D<<r)xorR=nG(D<<r) xor R = nG

2、多路访问链路和协议

两种网络链路:

  • 点对点链路
  • 广播链路

多路访问协议 p293

多路访问协议用于广播链路,广播链路能够让多个发送和接收节点都连接到相同的、单一的、共享的广播信道上。多路访问协议用于协调多个发送和接收节点对一个共享广播信道的访问。

特性:

  • 当仅有一个节点发送数据时,该节点具有RR bpsbps的吞吐量。
  • 每个节点在一些适当定义的时间间隔内应该有 RM{R} \over {M}的平均传输速率。
  • 协议是分散的。
  • 协议是简单的,实现代价不大

可以把所有的多路访问协议分成三类:

  • 信道划分协议
  • 随机接入协议
  • 轮流协议
信道划分协议

FDMTDM见第一章。
CDMA(码分多址):每个节点分配一种不同的编码,每个节点使用其唯一的编码来对发送的数据进行编码(如果精心选择编码,不同节点能同时传输)

随机接入协议 p295

当发生碰撞的时候每个节点反复的重发它的帧,直到该帧无碰撞发生位置。在重发之前该帧等待一个随机的时延。

  • 时隙ALOHA:时间被划分为时隙,每个节点的时间同步,帧的传输只在时隙的开始时进行,如果发生碰撞,在下一个时隙开始时以概率p重传,否则等待一个时隙再以概率p重传。该信道有效传输速率为0.37R0.37Rbps。详细见 p296-297

  • ALOHA:帧到达节点时,立刻传输。如果发生碰撞,节点将立即(在完全传输碰撞帧后)以概率p重传。否则,等待一个帧传输时间,再以概率p重传。p297

  • CSMA(载波侦听多路访问):发送前先侦听信道,如果没有其它节点在使用信道,则传输数据。CSMA 没有碰撞检测,即使发生碰撞,也将传输完碰撞帧(由于节点间数据传输存在时延,很可能一个传输正在信道中但是由于还未到达。所以当前节点检测到信道空闲,进行了传输,但是此时传输最终会发生碰撞)。

  • CSMA/CD(具有碰撞检测的载波侦听多路访问):先侦听信道,如果没有其它节点在使用信道,则传输数据。但是有碰撞检测,如果发生碰撞,会停下传输剩下的数据,等待一个随机时间(通常比传输一帧短)后,再进行尝试。

    其效率近似等于:
    =11+5dpropdtrans效率 = {{1} \over {1 + {{5d_{prop}} \over {d_{trans}}}}}

    从适配器角度其运行p299

    1. 适配器从网络层一条获得数据报,准备链路帧,并将其放入帧适配器缓存中。
    2. 如果适配器侦听到信号空闲,开始传输帧。否则等待,直到没有信号能量时才开始传输。
    3. 在传输过程中,如果适配器没有检测到其它适配器的信号能量,则完成该帧的传输。否则中止传输。
    4. 停止传输后,等待下一个随机时间量,然后返回步骤2。
轮流协议
  • 轮询协议:指定节点之一为主节点。主节点以循环的方式轮询每个节点。告诉每个节点能够传输的最大帧数,然后让节点传输帧,主节点通过观察信道上是否缺乏信号来决定一个节点是否完成了帧的发送(消除了困扰随机接入协议的碰撞和空时隙,效率很高;但引入了轮询延时,同时主节点发生故障将使信道不可用)。优缺点 p301
  • 令牌传递协议:节点间通过令牌传递信道使用权,如果没有数据发送,立即传递令牌给下一个节点(一个节点的故障可能会使整个信道崩溃,或者如果一个节点忘记释放令牌,必须调用某些恢复步骤使令牌返回到循环中来)。

3、ARP协议 p305

提供将IP地址转换为链路层地址的机制(ARP只为同一子网上的节点解析IP地址,DNS为因特网中任何地方的主题解析主机名):

  • 每个节点的ARP模块都在它的RAM中有一个ARP表,包含IP地址到MAC地址的映射关系,每个表项还包含TTL字段,表示表项过期时间(ARP表是自动创建的,如果某节点与子网断开连接,它的表项最终会从留在子网中的节点的表中删除。通常一个表项的过期时间是20分钟)。
  • 主机向其ARP模块提供一个IP地址,ARP模块返回IP地址对应的MAC地址。

ARP表的更新过程

  1. 查询节点构造ARP查询分组,包含有查询节点和目的节点的IP地址,适配器在链路层帧中封装这个ARP分组,广播帧。
  2. 子网中的所有其他适配器接收到帧,将帧中的ARP分组向上传递给ARP模块,每个节点检查自身IP是否与ARP查询分组中的目的IP地址相同,相同的返回一个ARP响应分组
  3. 查询节点接收到ARP分组,获得目的MAC地址,并更新自身的ARP表。

发送数据报到子网以外

数据链路层和网络层的相互作用。

网络层:路由器选择路由出口。

链路层:ARP广播查询地址。
在这里插入图片描述
假设主机1要向主机2发送数据报,应该使用什么MAC地址?如果使用49-BD-D2-C7-56-2A作为目的MAC地址,由于子网内任何一个适配器的MAC地址都不匹配,所以这个数据报将会死亡。正确的步骤如下:

  1. 主机1通过ARP获取路由器接口111.111.111.110的MAC地址,将数据报封装成帧,转发。
  2. 路由器的接口111.111.111.110收到帧,由于MAC地址匹配,适配器获取帧中的数据报上传给网络层。
  3. 路由器通过查找转发表将数据报通过交换结构转发到输出接口222.222.222.220。
  4. 输出接口222.222.222.220通过ARP获取子网中主机2的MAC地址。
  5. 获得主机2的MAC地址后,将数据报传递给适配器,封装成帧,最终发送到主机2。

4、以太网 p309

在这里插入图片描述

  • 前同步码8字节。以太网帧以一个8字节的前同步码字段开始。前7个字节的值都是10101010,最后一个字节是10101011。前7个字节用于“唤醒”接收适配器,并且将其时钟与发送方的时钟同步,第8个字节的最后两个1告诉接收适配器,“重要的内容”就要来了,因此接收适配器知道接下来的6个字节是目的地址。
  • 目的地址6字节
  • 源地址6字节
  • 类型2字节。网络层协议类型。
  • 数据46~1500字节。承载了IP数据报,以太网的最大传输单元(MTU)是1500字节,IP数据报最小46字节,如果不够会填充(如果填充,在目的端填充也会上传到网络层,通过数据报首部的长度字段去除填充)。
  • 循环冗余检测(CRC)4字节。提供差错检测与纠正。如果校验成功,并不会发送肯定确认。如果校验失败,也不会发送否定确认,只是丢弃该帧。

头信息有14字节,尾部校验和FCS占4字节。因此,一个标准的以太网数据帧大小是1518

MAC广播地址:FF-FF-FF-FF-FF-FF

5、链路层交换机

现代以太网LAN使用了一种星型拓扑,每个节点与中心交换机相连
在这里插入图片描述

  • 交换机的任务是接收入链路层帧并将它们转发到出链路
  • 交换机自身对节点透明:某节点向另一节点寻址一个帧,顺利地将该帧发送进LAN,而不知道这个帧经过了某个交换机的接收与转发

交换机具有如下性质

  • 消除碰撞:交换机缓存帧并且绝不会在网段上同时传输多于一个帧。交换机的最大聚合带宽是所有接口速率之和
  • 异质的链路:交换机将链路彼此隔离,LAN中的不同链路能够以不同的速率运行,并且能够在不同的媒体上运行

1)交换机转发与过滤

  • 过滤:交换机决定一个帧是应该转发还是应该丢弃
  • 转发:决定一个帧应该被导向哪个接口

过滤和转发都借助于交换机表
在这里插入图片描述
假设具有目的地址DD-DD-DD-DD-DD-DD的帧从交换机的x接口到达:

  • 如果表中没有针对DD-DD-DD-DD-DD-DD的表项,则向除了x的其它所有接口广播帧
  • 如果表中有针对DD-DD-DD-DD-DD-DD的表项
    • 1)接口等于x:(说明帧的目的地和帧处于同一子网,意味着该帧已经在包含目的地址的LAN网段广播过了)该帧执行过滤功能
    • 2)接口为y,不等于x:将帧转发到接口y的输出缓存区

2)自学习(即插即用)

交换机表是自动、动态、自治地建立的,没有来自网络管理员或配置协议的任何干预。换句话说,交换机是自学习的

  1. 交换机表初始为空
  2. 源地址为DD-DD-DD-DD-DD-DD的帧从接口x到达时,1)如果不存在则新建一项;2)存在则更新当前时间
  3. 如果一段时间后,在x接口没有来自DD-DD-DD-DD-DD-DD的帧,则将该表项删除

3)交换机与路由器对比 p316

  • 交换机
    • 优点
      • 即插即用
      • 相对高的分组过滤、转发速率
    • 缺点
      • 交换网络的活跃拓扑限制为一棵生成树(为了防止广播帧的循环)
      • 对广播风暴不提供任何保护措施(如果某主机故障,没完没了传输广播帧流,交换机会转发所有这些帧,使得整个以太网崩溃)
  • 路由器
    • 优点
      • 分组不会被限制在一棵生成树上,从而能用各种拓扑结构来构建因特网
      • 对广播风暴提供了防火墙保护
    • 缺点
      • 不是即插即用(需要人为配置IP地址)
      • 对分组的处理时间更长(必须处理高达第3层的字段)

6、VLAN局域网

VLAN(Virtual Local Area Network,虚拟局域网) 把一个LAN(Local Area Network,局域网)划分为多个逻辑LAN,VLAN,处于同一个VLAN的主机能直接互通,而处于不同VLAN的主机则不能直接互通,从而增加了局域网的安全性。

VLAN技术的优点:

  • 限制广播域。广播域被限制在一个VLAN内,节省了带宽,提高了网络的处理能力。
  • 增强了局域网的安全性。
  • 可灵活构建虚拟工作组。

7、连接Web请求过程 p326

在这里插入图片描述

8、MAC地址空间有多大?IPv4的地址空间呢?IPv6的地址空间呢?

Object Address Size
MAC 2482^{48}
IPv4 2322^{32}
IPv6 21282^{128}

9、MAC地址

网卡地址,长度为6字节,有2482^{48}种可能的MAC地址。通常用十六进制表示。

  • 每个适配器具有一个唯一的MAC地址,不随位置发生变化(就像人的身份证,而IP则像人的邮政地址)。
  • 一台路由器的每个接口都有一个ARP模块和一个适配器

英文缩写

MAC物理地址Media Access Control Address
EDC差错检测和纠错比特Error-Detection and-Correction
NIC网络接口控制器Network Interface Controller
CRC循环冗余校验Cyclic Redundancy Check
CSMA载波侦听多址访问Carrier Sense Multiple Access
CSMA/CD基带冲突检测的载波监听多路访问技术Carrier Sense Multiple Access with Collision Detection
ARP地址解析协议Address Resolution Protocol
VLAN虚拟局域网Virtual Local Area Network
MPLS多协议标签交换Multi-Protocol Label Switching
CDMA 码分多址Code Division Multiple Access

Other

NSM 网络服务模型Network Service Model
BES尽力而为服务Best-Effort Service
TCAM 三态内容寻址存储器Ternary Content Addressable Memory
HOL排头阻塞Head-Of-Line blocking
AQM 主动队列管理Active Queue Management
RED 随机早期检测Random Early Detection
WFQ加权公平排队Weighted Fair Queuing
FEC前向纠错Forward Error Correction
PPP点对点协议Point to Point Protocol
HDLC 高级数据链路控制High-Level Data Link Control
SDH同步数字体系Synchronous Digital Hierarchy
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!