计算机网络复习

发布时间 2024-01-07 22:07:48作者: L`Lawliet

互联网原理复习提纲

目录


计算机网络基础部分

  • 应用层网络协议分层及分层数据段

    比特流 -> 数据帧 -> IP报文/分组 -> 报文段 -> 数据

备忘录部分:
中英文对照(主要为缩写,省略下述表内内容)
  • DNS——域名服务器(或域名系统)
  • ISP——互联网服务提供者
  • INNAA——因特网名称与地址分配机构
  • Infrastructure domain——基础结构域名
  • CNNIC——中国互联网网络信息中心
  • TLD服务器——顶级域名服务器
  • iterative query——迭代查询
  • NFS——网络文件系统
  • PDU(Protocol Data Unit)——协议数据单元
  • MIME(Multipurpose Internet Mail Extensions)——通用互联网扩充
  • UA(User Agent)——用户代理
  • Bcc(Blind carbon copy)——盲复写副本(暗送)
  • Content-Transfer-Encoding——内容传送编码
  • NVT——网络虚拟终端
  • WWW(World Wide Web)——万维网
  • URL(Uniform Resource Locator)——统一资源定位符
  • HTML(Hyper-Text Markup Language)——超文本标记语言
  • XML(eXtention Markup Language)——扩展标记语言
  • transaction-oriented——面向事务
  • persistent connection——持续连接
  • proxy server——代理服务器
  • CGI(Common Gateway Interface)——通用网关接口
  • search engine——搜索引擎
  • SNS(Social Networking Site)——社交网站
  • RTSP——实时流协议
  • RTP——实时传输协议
  • RTCP——实时传输控制协议
  • SIP——会话控制协议
  • IM(Instant Messaging)——即时传信
  • MCU(Multipoint Control Unit)——多点控制单元
  • QoS——服务质量
  • RSVP——资源预留协议
  • FQ(Fair Queuing)——公平排队(WFQ 加权公平排队)
  • DS(Differentiated Services)——区分服务
  • DSCP——区分服务码点
  • SLA(Service Level Agreement)——服务等级协定
  • PHB(Per-Hop Behavior)——每跳行为
  • EF PHB——迅速转发
  • AF PHB——确认转发
  • NOC(Network Operations Center)——网络运行中心
  • ASN.1——抽象语法记法1
  • BER——基本编码规则
  • TLV方法——”类型—长度—值“编码方式
  • NAT(Network Address Translation)——网络地址转换
  • NAPT(Network Address and Port Translation)——网络地址与端口号转换
  • plug-and-play networking——即插即用网
  • AS——自治系统
  • RIP——路由信息协议
  • OSPF——开放最短路径优先
各协议使用端口号及运输层传输方式
协议名 中文对照 传输方式 服务方式 端口号 所在层
FTP 文件传输协议 TCP C-S 21
Telnet 远程登录协议 TCP C-S 23
SMTP 简单邮件传输协议 TCP C-S 25 应用层
IMAP 网际报文存取协议 TCP C-S 应用层
POP 邮局协议 TCP C-S 应用层
DNS 域名系统 UDP/TCP C-S 53 应用层
BOOTP 引导程序协议 UDP C-S 67 应用层
DHCP 动态主机配置协议 UDP C-S 67 应用层
TFTP 简单文件传输协议 UDP C-S 69
HTTP 超文本传输协议 TCP(书) 80 应用层
SNMP 简单网络管理协议 UDP C-S(用户) 161 应用层
HTTPS TCP 443 应用层

需要注意的地方

  • DNS报文中,RD部分代表迭代与递归的分界,1代表递归查询;QR中0代表查询,1代表响应
  • 既可以使用TCP,又可以使用UDP的协议:DNS(报文长度63字节以上为TCP)、SIP(会话控制协议)和RTSP(实时流式协议)
  • 根服务器有13个套设备体系,[a~m].rootservers.net

第二章 域名系统DNS(Domain Name System

  • 基本配置项

    • 采用方式:UDP/TCP方式【应答内容超过512B长度使用TCP方式】

    • 端口号:53

    • 域名结构:

      ... .三级域名.二级域名.顶级域名(.)

      • 每个标号不可超过63字节,不区分大小写,完整域名不超过255个字符
      • 每一级域名都由字母与数字组成
      • 最高顶级域名由ICNAA管理
      • 域名是唯一的
  • 两种域名翻译方式:

    • 主机文件配置方式
      • hosts文件
      • 缺点:随着网络规模扩大,文件越来越大
    • 集中式服务器翻译方式
      • 平面命名空间
      • 缺点:文件越来越大,服务器负担重,容易成为网络故障点
    • 分布式服务器翻译方式
      • 层次结构命名空间
  • 主要特点

  • 常用顶级域

    • 国家顶级域名:.cn .us .uk
    • 通用顶级域名:.com(公司和企业) .net(网络服务机构) .org(非营利性组织) .edu(美国教育机构) .gov(美国政府部门) .mil(美国军事部门) .int(国际组织)
    • 基础结构域名:arpa(反向域名) 用于由IP解析域名,采用IP地址反写(将域名等级颠倒)

    注意:我国的相关域名,如:.gov .net .org .mil .edu均为类别域名(我国二级域名分为“类别域名”和“行政区域名”),而.edu之下划分三级域名为中国教育机构类型网站

  • 四种服务器类型

    • 根域名服务器:

      • 共有13个不同的IP地址,从a到m,基本构成为a.rootservers.net
      • 本地域名服务器自己无法完成解析域名过程时,优先求助于根域名服务器
    • 顶级域名服务器:

      • 管理在该顶级域注册的二级域名

      • 面对DNS查询给出的应答,可能是最后结果,也可能是下一步应当查找的域名服务器IP地址

    • 权限域名服务器

      • 单个服务器负责管理范围为“区”(zone)
    • 本地域名服务器

      • 默认域名服务器,每一个ISP都可拥有一个本地域名服务器
  • 迭代、递归查询(本地递归、向上迭代)

    • 主机向本地域名查询,一般使用递归查询
    • 本地域名服务器向根域名服务器的查询通常采用迭代查询

    image-20240106215253633

    image-20240106215313520

  • DNS优化:

    1. 复制,复制很多根服务器的副本
    2. 缓存,依据DNS局部访问原理,DNS服务器将地址映射记录进行缓存(浏览器也有类似操作)
  • DNS攻击:

    1. DNS欺骗(冒充域名服务器,返回假IP)
    2. 拒绝服务攻击(访问时间延长)
  • 高速缓存(和辅助域名服务器有关,为了提高可靠性

    image-20240106220614270

    image-20240106220650098

  • 提高域名服务器可靠性

    image-20240106220900721

  • 相关命令:

    $ nslookup [域名地址/IP地址]
    
    $ Ipconfig/displaydns # 查看本机缓存
    $ Ipconfig/flushdns # 清空本机缓存
    

第三章 文件传输协议FTP(File Transfer Protocol

  • 基本配置项

    • 采用方式:TCP
    • 端口号:21
  • 功能特性:

    1. 通用性,实现互联网对通用文件交互
    2. 任意文件内容,允许任意数据类型文件传送
    3. 验证和权限,对文件具拥有权和访问控制权
    4. 跨平台,异构计算机间可以文件传递
  • 通信系统组成:

    • 两个TCP连接:控制连接(“带外”out of band)和数据连接

      image-20240106222526720

    • 优势:

      1. 协议更加简单和更容易实现
      2. 传输文件时可以利用控制进程进行控制
  • 两种连接方式

    • PORT方式(被动打开):客户向服务器端21号端口发送请求,客户被动被打开端口接收文件

      image-20240106222820785

      • 服务器默认使用20号端口传送数据,防止了数据连接与控制连接混乱
    • PASV方式(主动打开):服务器进程直接告知客户传送数据的新端口,而用户主动使用另一端口进行数据传输

      image-20240106223400836

  • 支持的相关数据:

    • 文件类型:ASCII文件、EBCDIC文件和图像文件
    • 数据结构:文件结构、记录结构和页面结构
    • 传输方式:流方式、块方式和压缩方式
  • 注意:

    FTP处理异构系统中文件相关命令和Telnet中的NVT相似

    • NVT处理:本地终端格式(或NVT格式)\(\to\) NVT格式传输 \(\to\) NVT格式/本机格式
  • 相关命令:

    # FTP软件常用命令
    $ open/close [计算机域名] # 打开(或关闭)TCP连接,但不关闭FTP服务
    $ get/put [远程文件名] # 取(或发送)文件
    $ ls
    $ help
    $ quit # 退出FTP程序
    
    # 常见服务号
    220 # 服务就绪
    331 # 需要 password
    221 # 释放连接
    
简单文件传输协议TFTP(Trivial File Transfer Protocol
  • 基本配置项

    • 采用方式:UDP
    • 端口号:69
  • 特点:

    • 每次数据报文中都有512字节,但最后一次可不足512字节(若传送内容刚好为512整数倍,仍需要发送一个只含首部的报文)
    • 含有序号,由1开始
    • 支持ASCII或二进制传送,且可对文件传送,使用很简单的首部
  • 五种协议数据单元:

    image-20240106225858823

  • 工作过程

    image-20240106230104051

  • TFTP流量控制

    1. 确认机制,发送完一个文件块等待对方确认,确认时需要注明块编号(原本那块)
    2. 超时重传,在规定时间没有被确认就重发协议数据单元PDU
    3. 下一块确认,在规定时间收不到下一块,也需要重发确认PDU

第四章 Email应用部分

image-20240107093727243

  • 电子邮件传输流程

    • 电子邮件通过用户代理UA借助SMTP协议发送到SMTP服务器(push
    • 之后由SMTP中转到接收方邮件服务器,借助POP3(或者IMAP、http)协议发送给接收方用户代理(pull
    • 接收方用户通过用户代理拿到邮件
  • 应用层传输文件基本格式

    • 信封(envelope)

      • 电子邮件地址:[用户邮箱名]@[邮箱所在域名]
        • MAIL FROM
        • RCPT TO
    • 内容(content)

      • 首部(header):由于信封的存在,因此这里的源地址和目的地址是可以随意填写的

        • From

        • To

        • Subject

      • 主体(body)

简单邮件传输协议SMTP(Simple Mail Transfer Protocol
  • 基本配置项

    • 采用方式:TCP
    • 端口号:25(服务器)
  • 主要特点

    • 三个阶段:
      1. 连接建立(250 OK):连接是建立在发送主机的SMTP客户(UA)与接收主机的服务器间的
      2. 邮件传送(225为请求命令完成通告、354为开始邮件输入)
      3. 连接释放(221):邮件发送完毕后,SMTP应释放TCP连接
    • 特点:
      1. SMTP不使用中间的邮件服务器
      2. 其是基于文本(即ASCII码)的协议
      3. 客户与服务器间采用命令—响应方式交互
  • 基本命令:

    命令名 描述
    HELO [服务器主机名] 用户端发起连接建立请求
    AUTH LOGIN 返回信息后,服务器等待以base64编码的用户名和密码
    QUIT 退出
    VRFY [验证收件人名] 需要验证收件人
网际报文存取协议IMAP(Internet Message Access Protocol
  • 主要特点:
    • 联机协议,只有联网状况才能查看邮件
    • 允许收件人只读取邮件某一部分
    • 部分下载,联网后只下载邮件首部
邮局协议POP3(Post Office Protocol
  • 支持功能:
    • 支持用户鉴别【用户名—口令】
    • POP3服务器删除被用户读取的邮件
  • 主要特点:删除用户读取的邮件,具有本地缓存(不需要联网便可以查看一些邮件)
基于万维网的电子邮件

image-20240107102729932

  • 特点:
    • 无需用户代理软件
    • 界面友好,能联网就可以方便收发电子邮件
  • 部分过程:
    • 使用POST方法提交需要发送的邮件
    • 使用GET方法读取邮件
通用互联网邮件扩充MIME
  • MIME:

    image-20240107103103098

    • 意图:增加邮件主体,沿用[RFC 822]格式。在不改变SMTP框架情况下,定义传送非ASCII码的编码规则
    • 改动:
      • 5个新的邮件首部字段
        • Content-Type要求:内容类型和子类型需要用“/”分隔
      • 多媒体电子邮件内容标准化
      • 定义了传送编码

    image-20240107103506533

    • 三种内容传送编码(Content-Transfer-Encoding

      • 7bit:对ASCII不做任何转换,只规定每行不超过1000个字符
      • quoted-printable:将每个字节用两个十六进制数表示,每个字节用“=”分隔。如3D转换为“=3D”
      • Base64:将24位切分为一个部分,不足的用“=”补齐,再将每部分划分为6位的4个部分,6位组转为ASCII码。6位对应64个字符:[A-Za-z0-9]对应0~61,+为63,/为63。

      image-20240107103602341


第五章 远程终端协议TELNET(终端仿真协议)

  • 网络虚拟终端NVT(Network Virtual Terminal)

    image-20240107105550649

    • 主要功能

      针对异构网络或者异构系统进行解释转换。将本地字段转换为NVT格式再进行TCP传输给Telnet服务器,由这一服务器再转换为目标主机可解释的字段。

    • 目的:解决异构系统间的互操作问题

    • 两种字符集:

      • 数据字符:8位字符集,但最高位为0,低七位与ASCII码一致
      • 远程控制字符:最高位为1

      因为上述字段划分,使得数据与控制字符虽然使用同一链路,但是却支持回退控制


第六章 WWW

  • 万维网需要解决的问题

    1. 定位资源,使用统一资源定位符URL,此标识符在互联网范围是唯一的
    2. 使用HTTP超文本传输协议实现万维网链接间的转送
    3. 使用HTML超文本标记语言适配不同作者风格
    4. 使用搜索引擎方便客户搜索资源信息
  • URL

    • 格式:<协议>://<主机>:<端口>/<路径>

      :主机部分支持IP和域名,端口号默认80可省)

  • 代理服务器的概念

    image-20240107112736063

    • 概念:又称万维网高速缓存,能代表发出HTTP请求
    • 作用:减少访问互联网服务器的时延
    • 工作过程:
      1. 浏览器访问互联网的服务器时,先与校园网的高速缓存建立 TCP 连接,并向高速缓存发出 HTTP 请求报文。
      2. 若高速缓存已经存放了所请求的对象,则将此对象放入 HTTP 响应报文中返回给浏览器。
      3. 若未存放,高速缓存就代表浏览器与互联网上的源点服务器建立 TCP 连接,并发送 HTTP 请求报文。
      4. 源点服务器将所请求的对象放在 HTTP 响应报文中返回给校园网的高速缓存。
  • cookie的作用

    万维网使用Cookie跟踪HTTP服务器和客户之间传递的状态信息

  • html的标签作用(一般是排版,传输数据为动态网页功能)

    注:HTML只是万维网浏览器使用的语言,而非协议;其文档也是一种ASCII码文件

  • 通用网关接口CGI(cgi-bin 脚本)

    • 定义:定义动态文档应该如何创建,输入数据应该如何提供给应用程序,以及输出结果如何使用的标准
  • 搜索引擎

    • 定义:万维网中,用于搜索资源的程序
    • 分类:
      • 全文检索搜索引擎:Google,bing,baidu
      • 分类目录搜索引擎:雅虎、新浪、搜狐、网易
      • 垂直搜索引擎
      • 元搜索引擎
    • 谷歌搜索技术特点——网页排名(PageRank)
      • 对搜索结果的重要性排序
      • 对链接数目加权统计
      • 进行超文本匹配分析,确定相关性
      • 综合重要性和特定相关性计算
超文本传输协议http(Hyper Text Transfer Protocol)
  • 基本配置项

    • 采用方式:TCP(通常)
    • 端口号:80
  • 特点:

    • 本身无连接,适配大量并发状态,但是TCP保证了可靠性
  • 三个版本:

    • HTTP/1.0:采用非持续性连接,因为每一次通信都需要建立新连接,因此每一个文档都消耗了2RTT的时间
    • HTTP/1.1:采用持续性连接,具备两种工作方式:
      • 非流水线式:用户收到上次响应才能继续发出下个请求
      • 流水线式:用户收到上次响应前就能继续发出下个请求
    • HTTP/2:
      • 可使用同一TCP并行发回响应,允许客户复用多个请求
      • 采用新压缩编码,不发送重复首部字段
      • 向低版本兼容
  • 报文结构

    • 请求报文:

      image-20240107112901967

      • 请求报文的一些方法:

        image-20240107113108399

    • 响应报文:

      image-20240107113006368

      • 状态码:
        • 1xx表示通知信息
        • 2xx表示成功
        • 3xx表示重定向
        • 4xx表示客户差错
        • 5xx表示服务器差错

第七章 多媒体

  • 基本概念

    互联网IP层提供“尽最大努力交付”服务,以及每一分组独立交付策略。

    • 特点
      1. 信息包含声音及图像
      2. 信息量往往很大,且对时延和时延抖动都有很高的要求
    • 网络抖动
      • 产生原因
        • 互联网是非等时的,但是分组的发送速率是恒定的,因此最后分组为非等时的
        • 接收端为了解决非等时问题,设置了缓存,队列中产生了播放时延(减小了时延抖动影响)
      • 解决方法
        • 在媒体分组中,为每个分组加上序号
        • 要将接收端中正常短时间停顿和时延较长的停顿区分开,需要一个时间戳区分
    • 提供的服务类型
      • 流式存储音频/视频——边下载边播放
        • 使用TCP传送,步骤为:
          1. 使用HTTP获取存储在万维网服务器中的视频文件,之后将视频数据传送到TCP发送缓存中
          2. 从TCP发送缓存通过互联网向客户机中接收缓存传送视频数据,直到接收缓存被填满
          3. 从TCP接收缓存把视频数据在传送到应用程序缓存,到达一定程度,就开始播放。这个过程一般不超过1分钟
          4. 在播放时,媒体播放器等时地把视频数据按帧读出,经解压缩后,把视频节目显示在用户的屏幕上
      • 流式实况音频/视频——边录制边发送
      • 交互式音频/视频——实时交互式通信
  • IP电话

    • 概念:

      • 狭义:使用IP协议的分组交换网
      • 广义:进行IP网络上进行交互式多媒体实时通信,甚至包括即时传信IM
    • 网关的作用:

      1. 在电话呼叫阶段和呼叫释放阶段进行电话信令转换
      2. 在通话期间进行话音编码转换
    • 通话质量:

      • 两个因素:
        1. 一个是通话双方端到端的时延和时延抖动(不应超过250ms)
        2. 另一个是话音分组的丢失率

      image-20240107140554044

    • 两种应用协议:

      1. 信令协议,它使我们能够在互联网上找到被叫用户
      2. 话音分组的传送协议,使我们用来进行电话通信的话音数据能够以时延敏感属性在互联网中传送
实时流式协议RTSP(Real-Time Streaming Protocol)

本身并不传送数据,是一个多媒体播放控制协议

  • 特点
    • 有状态的协议,它记录客户机所处于的状态
    • 控制分组既可以在TCP上传送,也可以在UDP上传送
    • 没有定义压缩方案,也没有规定其内容在网络中传送如何封装在分组中,更没有规定应如何缓存
实时传输协议RTP(Real-Time Transport Protocol)

为实时应用提供端到端的运输,但不提供服务质量的保证

  • 特点
    • RTP只是一个协议框架,只包含实时应用的一些共同功能
    • RTP不对多媒体数据块做任何处理,只是向应用层提供一些附加信息,让应用层知道处理方式
  • 特殊项
    • 序号:16位
    • 时间戳:32位
实时传输控制协议RTCP(RTP Control Protocol)

RTP的配套协议

  • 基本配置项
  • 主要功能:
    1. 服务质量的监视与反馈
    2. 媒体间的同步
    3. 播组中成员的标识
  • 五种分组类型:
    • 结束分组BYE 203,表示关闭一个数据流
    • 特定应用分组APP 204,使应用程序能够定义新的分组类型
    • 接收端报告分组RR 201,用来使接收端周期性地向所有的点用多播方式进行报告
    • 发送端报告分组SR 200,用来使发送端周期性地向所有接收端用多播方式进行报告
    • 源点描述分组SDES 202,给出会话中参加者的描述
会话发起协议SIP(Session Initiation Protocol)
  • 基本配置项

    • 采用方式:UDP
    • 使用文本方式的客户服务器协议,两种构件是用户代理网络服务器
    • 用户代理包括:
      • 用户代理客户:用来发起呼叫
      • 用户代理服务器:用来接受呼叫
    • 网络服务器分为:
      • 代理服务器:接受来自主叫用户的呼叫请求,并将其转发给下一跳代理服务器,最后将呼叫请求转发给被叫用户
      • 重定向服务器:不接受呼叫,它通过响应告诉下一跳代理服务器的地址,由客户按此地址向下一跳代理服务器重新发送呼叫请求
  • 特点:

    • 和HTTP相似,SIP是基于报文的协议
    • SIP使用了HTTP的许多首部、编码规则、差错码以及一些鉴别机制
    • 相较于H.323具有更好的可扩展性

    SIP登记器用途:跟踪被叫方

  • 配套的协议(会话描述协议SDP(Session Description Protocol))

    • 在电话会议的情况下特别重要,因为电话会议的参加者是动态地加入和退出
    • SDP 详细地指明了媒体编码、协议的端口号以及多播地址
    • SDP 现在也是互联网建议标准
资源预留协议RSVP(ReSource reserVation Protocol

IntServ的信令协议,是网络层的控制协议

  • 作用
    • 一个会话必须首先声明它所需的服务质量,以便路由器是否有足够资源满足该会话要求
    • 当请求被接受时,链路带宽和缓存空间就被分配给这个分组流
    • 在进行资源预留时采用多播树的方式
  • 综合服务(IntServ)与区分服务(DiffServ
    • 综合服务:对单个的应用会话提供服务质量的保证,
      • 其主要特点有两个:
        1. 资源预留:预留资源多少(链路带宽和缓存空间)
        2. 呼叫建立:需要服务质量保证的会话必须首先在源站到目的站的路径上的每个路由器预留足够的资源
      • 定义的两类服务:
        • 有保证的服务,可保证一个分组在通过路由器时的排队时延有一个严格的上限
        • 受控负载的服务,可以使应用程序得到比通过”尽最大努力“更加可靠的服务
      • 组成部分:
        1. 资源预留协议RSVP
        2. 接纳控制,用来决定是否同意对某一资源的请求
        3. 分类器,用来将进入路由器的分组进行分类,根据分类的结果将不同类别的分组放入特定队列
        4. 调度器,根据服务质量要求决定分组发送的前后顺序
    • 区分服务:
      • 要点:
        1. 力图不改变网络的基础结构,但在路由器中增加区分服务的功能
          • DS字段现只使用前6bit,即区分服务码点DSCP
        2. 网络被划分为许多个DS域
        3. 边界路由器中的功能较多
        4. 聚合
          • 将若干流根据其DS值聚合成少量的流,而非针对所有流维持状态信息
          • 路由器对相同DS值的流都按相同优先级进行转发
          • 区分服务不需要使用RSVP
      • 每跳行为PHB
        • 概念:在当前路由器转发分组时,路由器采取的操作
        • 分类:
          • 迅速转发(EF):EF 指明离开一个路由器的通信量的数据率必须等于或大于某一数值
          • 确保转发(AF):AF 用 DSCP 的比特 0~2 将通信量划分为四个等级,并给每一种等级提供最低数量的带宽和缓存空间(发生拥塞时,首先丢弃优先级较高的分组)

第八章 简单网络管理协议SNMP(Simple Network Management Protocol)

  • 基本配置项

    • 采用方式:UDP
    • 端口号:161(代理端)、162(管理端)
  • 基本功能:

    最重要指导思想:尽可能简单

    • 监视网络性能
    • 检测分析网络差错
    • 配置网络设备
  • 管理功能

    • 故障管理:故障检测、隔离和纠正
    • 配置管理:初始化网络、并配置网络
    • 计费管理:记录网络资源的使用
    • 性能管理:估价系统资源的运行状况及通信效率
    • 网络安全管理:对授权机制、访问控制、加密和加密关键字的管理
  • 网络管理基本概念

    • 代理
      • 在每一个被管设备中都要运行一个程序,以便和管理站中的管理程序进行通信
      • 这些运行着的程序叫做网络管理代理程序(代理)
      • 代理程序在管理程序的命令和控制下在被管设备上采取本地的行动
    • 网管对象
      • 网络的每一个被管设备中可能有多个被管对象
      • 被管设备有时可称为网络元素(或网元)
      • 但在被管设备中也会有一些不能被管的对象
  • 三个部分作用

    • SNMP本身
      • SNMP定义了管理站和代理之间所交换的分组格式
      • 所交换的分组包含各代理中的对象(变量)名及其状态(值)
      • SNMP负责读取和改变这些数值
    • 管理信息结构SMI(Structure Management Information)
      • 功能:
        1. 被管对象应怎样命名
        2. 用来存储被管对象的数据类型有哪些
        3. 在网络上传送的管理数据应如何编码
    • 管理信息库MIB(Management Information Base)
      • MIB在被管理的实体中创建了命名对象,并规定了其类型
      • 管理程序使用MIB中的信息,对网络进行管理
  • 简单工作过程

    • 两种基本管理功能

      • “读”操作Get,检测被管对象状态
      • “写”操作Set,改变各个被管对象的状态
    • ”探询“操作(周期性事实监控):

      • 定义:SNMP管理进程定时向被管理设备周期性地发送探寻信息
      • 好处:
        1. 可使系统相对简单
        2. 能限制通过网络所产生的管理信息的通信量
      • 缺点:
        1. 不够灵活,可管理设备数目不多
        2. 开销大

      注:上述两种基本操作建立在探询操作上

    • 陷阱信息trap(特殊事件报告):

      • 定义:允许不经过询问就发送某些信息,这样的信息被称为陷阱
      • 操作:当被管对象代理检测发生事件时,就进行门限值检查。代理只允许进程报告达到某些门限值的事件(即过滤)
      • 过滤的好处:
        1. 仅在严重事件发生时才发送陷阱
        2. 陷阱信息很简单,所需字节数少
管理信息结构SMI
  • SMI定义了命名对象和定义对象类型的通用规则,以及把对象和对象的值进行编码规则,以确保网络管理数据的语法和语义的无二义性

  • 标准指明:所有MIB变量使用ASN.1(抽象语法记法1)定义

  • 数据类型分类:简单类型、结构化定义

  • 基本编码规则BER(Basic Encoding Rule):

    • BER指明每种数据类型中每个数据的值的表示
    • 发送端使用BER编码,可将ASN.1所表述的报文转换为唯一比特序列
    • 接收端用BER进行编码,得到该比特序列所表示的ASN.1报文

    使用TLV方法编码

    image-20240107175517789

管理信息库MIB
  • 定义:被管对象必须维持可供管理程序读写的若干控制和状态信息。这些信息总称为管理信息库

  • 功能:管理程序使用 MIB 中这些信息的值对网络进行管理(如读取或重新设置这些值)

    注意:只有在 MIB 中的对象才是 SNMP 所能够管理的


第九章 客户—服务器模式

image-20240107191742171

  • Socket运行过程

    • 连接建立阶段

      • socket(pf,type,protocol):创建一个套接字,protofamily协议族,type包含连接和无连接,protocol包含tcp/udp

      • bind(socket,locaaddr,addrlen):进行套接字和IP地址绑定过程,locaaddr为IP与端地址联编

      • listen(socket,quenlen):如果服务器为面向连接的,需要使用listen过程将套接字设置为被动模式,然后开始接受连接请求

      • accept(caddress,caddresslen):其中的参数可以继承自connect函数的地址参量,服务器通过调用此过程创建一个新套接字与客户通信,如:newsock=accept(caddress,caddresslen)

      • connect(socket,saddress,saddresslen)saddress是按地质结构组成的IP地址和协议端口号;当使用面向连接的TCP,本质上connect是客户与已调用listen过程和服务器accept过程进行连接的过程

        另外,在客户使用UDP协议连接时,仅仅只需要将socket完成与将通信的目的服务器端地址联编

    • 数据传输阶段

      • send(socket,data,len,flags)len为数据字节数,flags为特殊选项位
      • recv(socket,buffer,len,flags)buffer为内存中存放接收到的数据地址,其它内容同上
    • 连接释放阶段

      • close(socket)close调用告诉系统终止对一个套接字socket使用,系统对套接字进行释放
  • C++的其它相关方法:

    gethostname();	//获取本机完整名字
    gethostbyname();	//获取计算机IP地址
    gethostbyaddr();	//给出IP地址情况下获取域名
    

第十章 虚拟专用网与网络地址转换

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

    • 定义:在专用网对外界互联网通信时,需要将本地地址转换成全球IP地址,而这一方式被称为NAT。
    • 在单向通信过程中,发生在NAT路由器上发生两次地址转换:
      1. 离开专用网,源地址转换
      2. 进入专用网,目的地址转换
    • 分类:
      • 静态:一个专用网IP与一个公用网IP长期绑定
      • 动态:路由器(或专用服务器)使用线程池对专用网IP和池中公网IP进行临时映射
  • 网络地址与端口号转换NAPT(Network Address and Port Translation)

    • 由专用网进程端口到公用网端口号的临时地址映射过程,称作NAPT

    • 与NAT区别

      • NAT并不能节省IP地址
      • NAPT可以使多台拥有本地地址的主机共用一个全球地址,因为其将端口号与IP地址相结合进行临时地址转换
    • 两种方式优缺点:

      • NAT方式:
        • 优点:既实现了内部专用网对外部网络的访问,又实现了外部网路对内网地址的访问
        • 缺点:并不能实质解决公网IP数量不足导致的冲突问题
      • NAPT方式:
        • 优点:实现了专用网进程对外部网络的访问,解决了公用网IP不足的困境
        • 缺点:因为其实质上为IP+端口的临时映射关系,因此实现外部网络对内网进程的访问变得复杂

第十一章 动态主机配置协议DHCP(Dynamic Host Configuration Protocol)

  • 基本配置项:

    采用方式:UDP方式

    端口号:67为服务器端,68为客户端

  • 自举过程需要配置项及理论处理措施

    • IP地址 【RARP请求—>获得RARP响应】
    • 子网掩码 【广播ICMP地址掩码请求—>获得ICMP地址掩码响应】
    • 默认路由IP地址【利用ICMP网关发现报文寻找默认路由器IP,加入路由表】
    • 域名服务器的IP地址
  • DHCP交互过程

    • ②中主机在启动时向 DHCP 服务器广播发送发现报文(DHCPDISCOVER),这时该主机就成为 DHCP 客户

    • 本地网络上所有主机都能收到此广播报文,但只有 DHCP 服务器才回答此广播报文

    • DHCP 服务器先在其数据库中查找该计算机的配置信息。

      若找到,则返回找到的信息。

      若找不到,则从服务器的 IP 地址池中取一个地址分配给该计算机。

      DHCP 服务器的回答报文叫做提供报文(DHCPOFFER)

      ⑤ DHCP服务器发送的DHCPACK为确认绑定状态,IP可以使用

    • 租用期(lease period):

      • DHCP 客户现在要根据服务器提供的租用期 T 设置两个计时器 T1 和 T2,它们的超时时间分别是 0.5T 和 0.875T(\(\frac{7}{8}T\))。当超时时间到就要请求更新租用期
      • ⑥:租用期过了一半(T1 时间到),DHCP 发送请求报文 DHCPREQUEST 要求更新租用期
      • ⑦:DHCP 服务器若同意,则发回确认报文DHCPACK。DHCP 客户得到了新的租用期,重新设置计时器
      • ⑨:DHCP 客户可随时提前终止服务器所提供的租用期,这时只需向 DHCP 服务器发送释放报文 DHCPRELEASE 即可。

    image-20240107201909305

  • DHCP中继代理

    • 与BOOTP服务器类似,并不是每个网络上都有 DHCP 服务器。通常,每一个网络都有一个 DHCP 中继代理,它配置了 DHCP 服务器的 IP 地址信息
    • 当 DHCP 中继代理收到主机发送的发现报文后,就以单播方式向 DHCP 服务器转发此报文,并等待其回答。收到 DHCP 服务器回答的提供报文后,DHCP 中继代理再将此提供报文发回给主机

    image-20240107201555992

引导程序协议BOOTP(BOOTstrap Protocol
  • 基本配置项
    • 采用方式:UDP
    • 端口号:67为服务器端,68为客户端
  • 使用情况:
    • BOOTP协议将上述步骤“合”在了一起,通过一次请求与响应,计算机就能获得大部份的网络配置参数。
    • BOOTP 使用C-S工作方式。为了获得配置信息,协议软件广播 BOOTP 请求报文。
    • 收到请求报文的 BOOTP 服务器查找发出请求的计算机的各项配置信息,把配置信息放入 BOOTP 回答报文中,并把回答报文返回给提出请求的计算机。
  • 工作过程
    • 由于计算机发送 BOOTP 请求报文时自己还没有 IP 地址,因此它使用全 1 广播地址作为目的地址,而用全 0 地址作为源地址
    • BOOTP 服务器可使用广播方式将响应报文返回给该计算机,或使用收到广播帧上的硬件地址进行单播
    • 只需发送一个 BOOTP 广播报文就可获取所需的全部配置信息
  • 客户端(port=68)不使用临时端口的原因:
    • 防止解析过程的数据被错误使用,导致进程或系统崩溃
  • 局限性:
    • BOOTP在工作前需要在服务器上配置相关主机的参数数据,它虽能满足固定小区域移动接入网络要求,但无法满足不固定IP配置的用户

第十二章 相关路由协议

image-20240107202804050

路由信息协议RIP(Routing Information Protocol)
  • 定义:一种分布式的、基于距离向量的路由选择协议(简单)

  • 操作:

    要求网络中的每个路由器都要维护从它自己到其他每一个目的网络的距离记录

  • 距离

    image-20240107203039029

    • 最大值:一条路径最多只能包含15个路由器
    • 距离向量算法:
      • 基础:Bellman-Ford算法
  • 特点:

    1. 仅和相邻路由器交换信息
    2. 交换信息为当前路由器所知道的全部信息
    3. 固定时间间隔交换路由信息

    好消息传的快,坏消息传得慢

  • V2版本

    • 一个RIP报文最多可包括25个路由,最大长度为504字节
    • 环路避免
      • 水平分割:路由器从某个接口学到的路由,不会从该接口再发回给邻居路由器
      • 毒性反转:毒性反转是指路由器从某个接口学到路由后,将该路由的跳数设置为16,并从原接收接口发回给邻居路由器
      • 触发更新:触发更新是指当路由信息发生变化时,立即向邻居设备发送触发更新报文
  • 优缺点

    • 优点:实现简单,开销小
    • 缺点:
      1. 网络规模有限,最大距离为15(16为不可达)
      2. 交换的路由信息为完整路由表,开销较大
      3. 坏消息传得慢
外部网关协议BGP
  • 主要特点:
    • 用于自治系统 AS 之间的路由选择
    • 只能是力求选择出一条能够到达目的网络且比较好的路由(不能兜圈子),而并非要计算出一条最佳路由
    • 采用了路径向量 (path vector) 路由选择协议

image-20240107205838551

image-20240107212214304

  • 选择路由
    1. 本地偏好值最高
    2. AS跳数最小路由
    3. 使用热土豆路由选择算法(分组在AS内转发次数最少)
    4. 路由器 BGP ID 数值最小的路由。具有多个接口的路由器有多个 IP 地址,BGP ID 就使用该路由器的 IP 地址中数值最大的一个
  • 报文分类:
    • OPEN(打开)
    • UPDATE(更新)
    • KEEPALIVE(保活)
    • NOTIFICATION(通知)
开放最短路径优先OSPF(Open Shortest Path First)

使用Dijkstra 提出的最短路径算法 SPF,采用分布式的链路状态协议现在使用 OSPFv2

  • 三个主要特点:

    • 采用洪泛法,向本自治系统中所有路由器发送信息
    • 发送的信息是与本路由器相邻的所有路由器的链路状态,但这只是路由器所知道的部分信息
    • 当链路状态发生变化或每隔一段时间(如30分钟),路由器才用洪泛法向所有路由器发送此信息
  • 划分:

    image-20240107204747723

    • 区域边界路由器ABR(area border router)基本包括:R2,R4,R7
    • 主干路由器 BR (backbone router)基本包括:R5,R6
    • 自治系统边界路由器 ASBR (AS border router)基本包括:R6
  • 工作过程:

    1. 确认邻站可达,相邻路由器每隔 10 秒钟要交换一次问候分组,有 40 秒钟没有收到某个相邻路由器发来的问候分组,则可认为该相邻路由器是不可达的
    2. 同步链路状态数据库,同步的不同路由器的链路状态数据库的内容是一样的
    3. 更新链路状态,采用可靠的洪泛法向全网更新链路状态

    注:OSPF 链路状态只涉及相邻路由器,与整个互联网的规模并无直接关系,因此当互联网规模很大时,OSPF 没有“坏消息传播得慢”的问题,收敛数度快。