计算机网络知识点(谢希仁)

第一章 计算机网络体系结构

1.1 计算机网络概述

1.1.2 计算机网络的组成

  1. 组成部分:硬件、软件、协议。

  2. 工作方式:

    • 边缘部分:连接到网络上的主机
      • 通信方式:
        • 客户-服务器方式
        • P2P方式
    • 核心部分:网络和连接网络的路由器(进行分组交换)
      • 电路交换:必须经过连接建立(占用通信资源)→通话(一直占用资源)→释放连接三个步骤的方式。
      • 报文交换:数据的传送单位是报文,保温携带目标地址,源地址等信息,采用存储转发的方式。
      • 分组交换:采用存储转发的方式,把大的数据块分为小的分组。
        • 面向链接的虚电路方式
        • 无连接的数据报方式
  3. 功能组成:通信子网和功能子网。

1.1.4 计算机网络的分类

  1. 按分布范围:

    • 广域网
    • 城域网
    • 局域网
    • 个人区域网

1.2 计算机网络体系结构与参考模型

1.2.2 计算机网络协议、接口、服务

  1. 协议:为网络中的数据交换而建立的规则、标准。
  2. 接口:同一节点内相邻两层间交换信息的连接点。
  3. 服务:下层为紧邻的上层提供的功能调用。
    • 面向连接服务于无连接服务
    • 可靠服务和不可靠服务
    • 有应答服务和无应答服务

1.2.3 计算机网络体系结构

image-20220309213253781
  1. TCP/IP与OSI的异同
    • 相同:
      • 二者都采取分层的体系结构。
      • 二者都是基于独立的协议栈的概念。
      • 二者都可以解决异构网络的互联。
    • 不同点:
      • OSI定义了服务、协议、接口的概念。
      • TCP/IP只适用于TCP/IP的协议栈。

第二章 物理层

2.1 通信基础

2.2 传输介质

2.2.1 介质分类

  1. 双绞线
  2. 同轴电缆
  3. 光纤
  4. 无线传输介质:
    • 无线电波
    • 微波红外线激光

2.2.2 物理层接口的特性

  1. 机械特性
  2. 电气特性
  3. 功能特性
  4. 过程特性

2.3 物理层设备

  1. 中继器:将信号放大再转发出去。
  2. 集线器:多端口的中继器。(不能分割冲突域)

2.4 信道复用技术

  1. 频分复用
  2. 时分复用
  3. 波分复用
  4. 码分复用

2.5 数字传输系统

2.6 宽带接入技术

2.6.1 ADSL技术

2.6.2 光纤同轴混合网(HFC网)

2.6.3 FTTx技术

第三章 数据链路层

局域网虽然是个网络,但我们并不把局域网放在网络层中讨论。这是因为在网络层要讨论的问题是多个网络互连的问题,是讨论分组怎样从一个网络,通过路由器,转发到另一个网络。在本章中我们研究的是在同一个局域网中,分组怎样从一台主机传送到另一台主机,但并不经过路由器转发。从整个互联网来看,局域网仍属于数据链路层的范围。

数据链路层使用的信道方式:

  1. 点对点信道
  2. 广播信道

3.1 使用点对点信道的数据链路层

3.1.1 数据链路层三个基本问题:

  1. 封装成帧:将网络层的数据报增加首部尾部
    • 组帧方法:
      • 字符计数法:在帧头部使用一个计数字段来表明帧内字符数。
      • 字符填充的首尾定界法:使用特定的字符来定界一帧的开始与结束。SOH开始,EOT结束,信息位中可加转义字符加以区分。
      • 零比特填充的首尾标志法:使用一个特定的比特模式,01111110来标志一帧的开始与结束,信息位中则遇到5个1填1个0.
      • 违规编码法
  2. 透明传输:无论什么样的比特组合的数据,都能按照原样没查错的通过数据链路层。设法使数据中可能出现的SOH、EOT不被解释为控制字符。
    • 以控制字符SOH开头,以EOT结尾,其间出现则插入转义字符。
  3. 差错检错:循环冗余检验CRC

3.1.2 数据流动:

image-20220309223643660

3.2 点对点协议PPP(广域网)

由一些结点交换机以及链接这些交换机的链路组成。

广域网数据链路层控制协议(主要在网络层):

  • PPP协议:计算机与ISP通信时使用的协议。主要用来通过拨号或专线的方式建立点对点连接发送数据。
  • HDLC协议(少用)
image-20220309224843660

3.2.1 PPP协议应满足的要求:

  1. 简单(提供不可靠传输)

  2. 封装成帧

  3. 透明性

  4. 多种网络层协议

  5. 差错检测

  6. 检测连接状态

  7. 最大传送单元

  8. 网络层地址协商

  9. 数据压缩协商

3.2.2 PPP协议的组成

  1. 一个将IP数据报封装到串行链路的方法。
  2. 一个用来建立配置数据链路连接的链路控制协议LCP。
  3. 一套为网络层建立和配置逻辑连接的网络控制协议NCP。

3.2.3 PPP协议的工作状态

主要涉及下三层

用户拨号接入ISP后,就建立了一条从个人电脑到ISP的物理连接。个人电脑向ISP发送链路控制协议分组,建立LCP链接。接着进行网络层配置,网络控制协议NCP给新接入的用户个人电脑分配一个临时的IP地址,以便用户通信。通信完毕时,NCP释放网络层链接,收回IP地址,LCP释放数据链路层链接,最后释放物理层链接。

image-20220309230507368

3.3 使用广播信道的链路层(局域网)

3.3.1 局域网的数据链路层

  1. 局域网按网络拓扑分类:
    • 星形网
    • 环形网
    • 总线网(以太网)
image-20220310001110926
  1. 局域网的特点:

    • 共享传输信道,在局域网中,多个系统连接到一个共享的通信媒体上。
    • 地理范围有限,用户个数有限。

    由于采用共享广播信道,而信道又可用不同的传输媒体,所以局域网面对的问题是多源,多目的的连连管理,由此引发出多中媒体访问控制技术在局域网中各站通常共享通信媒体,采用广播通信方式是天然合适的。

  2. 共享信道的划分

    • 静态划分信道
    • 动态媒体接入控制(多点接入)
      • 随机接入(常用)
      • 受控接入(轮询)
  3. 以太网的两个标准:

    • DIX Ethernet标准
    • IEEE802.3标准
  4. 适配器

    • 计算机与外界局域网的链接。实现数据链路层和物理层这两层的协议的硬件和软件。
    • 工作在数据链路层物理层
    • 每个适配器的MAC地址唯一确定。
    • 总线网使用广播通信,网卡从网络上每收到一个MAC帧,要用适配器检查MAC地址,看是否是发往本站的。
  5. CSMA/CD

3.4 介质访问控制

3.4.1 信道划分介质访问控制

  1. 频分多路复用

  2. 时分多路复用

  3. 波分多路复用

  4. 码分多路复用

3.4.2 随机访问介质访问控制

  1. ALOHA协议

    • 纯ALOHA协议:随机发,无碰撞则成功,有碰撞则等待一段时间重新发送
    • 时隙ALOHA协议:将时间划分为一段段等长的时隙,每个时隙的开始才能发送一个帧。
  2. CSMA协议

    • 1-坚持CSMA:要发送数据时首先监听信道,空闲立即发送;忙则等待,继续监听直到空闲;发生冲突则等待一段时间重新开始监听。
    • 非坚持CSMA:要发送数据时首先监听信道,空闲立即发送;如果忙,放弃侦听随即等带一个时间再重复上述。
    • p-坚持CSMA(用于时分信道):要发送数据时首先监听信道,忙则等待,继续监听直到空闲;空闲,以概率p发送数据,以1-p推迟到下个时隙;下一个信道仍空闲则概率p发送,1-p推迟到下个时隙,直到发送成功。
  3. CSMA/CD协议(总线以太网):

    • 步骤
      1. 适配器从网络层获得一个分组,封装成以太帧,准备发送。
      2. 如果监听到信道空闲,则发送该帧;如果忙,则持续监听到空闲再发送。
      3. 发送过程中持续检测信道。检擦到碰撞则终止数据的发送,并发送一个拥塞信号,让所有用户知道。
      4. 适配器执行指数退避算法,等待一段时间重新执行2。
    • 指数退避算法
      1. 确定基本退避时间,一般为2τ。
      2. 确定参数k,k = min{重传次数,10}。
      3. 从集合[0,1,2,···,2^k-1 ]随机取一个数r, 退避时间为2τr。
  4. CSMA/CA协议(无线局域网)

    • 注意:

      • 站点每发送完一帧要等收到对方的确认帧才能继续发送。

      • 为了避免碰撞所有的站发送完后必须等待一段很短时间才能发送下一帧。(IFS)

    • 步骤:

      1. 检测到信道空闲,等待DIFS后发送数据帧。

      2. 否则执行CSMA/CA退避算法,选取一个随机回退值,一旦检测到信道忙,退避计时器保持不变,只要空闲计时器就倒计时。

      3. 计时器减到0发送帧,并等待确认帧。

      4. 回到2。

  5. CSMA/CD和CSMA/CA区别

    • CSMA/CD可以检测冲突但无法避免。
    • 传输介质不同。CD适用于总线型以太网,CA无线局域网。
    • 检测方式不同。

3.5 扩展的以太网

  1. 在物理层扩展以太网:使用集线器(不能分割冲突域)

image-20220310013655725

  1. 在数据链路层扩展以太网:

    • 网桥(扩大了一个局域网)
    • 交换机(没有碰撞问题不使用CSMA/CD):多接口的网桥,每个接口都与一个单台主机或另一个交换机相连。同时联通多对接口,使多对主机同时无碰撞的通信。
    • 从总线以太网到星形以太网。
  2. 虚拟局域网(VLAN):有一些具有某些共同需求的网段构成的与物理位置无关的逻辑组。(每个VLAN中的计算机可以处在不同的局域网内)

image-20220310010532680

3.6 高速以太网

  1. 100BASE-T以太网

  2. 吉比特以太网

  3. 10吉比特以太网和更快的以太网

第四章 网络层

4.1 网络层的功能

向上层提供两种服务:

  • 面向连接的虚电路服务
  • 无连接的数据报服务

网络层只向上提供简单灵活的、无连接的、尽最大努力交付的数据报服务。

  1. 异构网络互联:路由器实现。由于参加互联的计算机网络都使用相同的网际协议IP,因此可以把由路由器互联的网络看成一个虚拟互联网络。IP网。IP网的上层使用TCP协议,就是互联网。
image-20220310125107025
  1. 路由与转发:

    • 路由选择
    • 分组转发
  2. 拥塞控制

4.2 网际协议IP

IP协议实现网络互连。使参与互连的性能各异的网络从用户看起来好像是一个统一的网络。

与IP协议配套的三个协议:

  • 地址解析协议ARP
  • 网际控制报文协议ICMP
  • 网际组管理协议IGMP
image-20220310125533704

4.2.1 分类的IP地址

  1. IP地址的编址方法经历了三个阶段:

    • 分类的IP地址
    • 子网的划分
    • 构成超网
  2. IP地址具有以下一些重要特点:

    • 每个IP地址都由网络号、主机号构成。
    • 每个IP地址标志一台主机或一条链路的接口。
    • 一个网络指具有相同网络号的主机集合(由转发器或网桥连接起来的若干局域网仍是一个网络)。
    • 所有网络号平等。
  3. 分类的IP地址:

    • IP地址 ::=
    • 分类:
    image-20220310130736913
    • IP地址的指派范围:
image-20220310131006837

4.2.2 IP地址与硬件地址

  1. 区别:物理地址是数据链路层和物理层使用的地址,IP地址是网络层及以上使用的地址。
image-20220310132024339
  1. 传送过程:

    在发送数据时,数据从高层下到底层然后才在数据链路传输。使用IP地址的IP数据报一旦交给数据链路层封装成MAC帧后,就使用硬件地址传输了。

    连接在链路上的设备(主机路由器)收到MAC帧后根据MAC帧的首部的硬件地址决定留下还是丢弃,交给网络层时把MAC帧的首尾部剥去变成IP数据报,再去查找源IP和目的IP地址。

4.2.3 地址解析协议ARP

由IP地址查找对应的MAC地址(同一局域网内)。

  1. 过程:

    当主机A要向本局域网上某台主机B发送IP数据报时,现在ARP高速缓存中查看有无主机B的IP地址,有则查出对应的硬件地址;若没有则向本局域网广播ARP请求分组,当某个主机IP地址与ARP请求分组的IP地址一致,就像该主机发送ARP响应分组,该分组包含B主机MAC地址;A收到后写入ARP高速缓存。

  2. 地址解析过程的四种典型情况:

    1. 发送方是主机(如 H1),要把 IP 数据报发送到同一个网络上的另一台主机(如H2)。这时 H1 发送 ARP 请求分组(在网 1 上广播),找到目的主机 H2的硬件地址。
    2. 发送方是主机(如 H1),要把 IP 数据报发送到另一个网络上的一台主机(如 H3或H4)。这时 H1 发送 ARP 请求分组(在网 1 上广播),找到网 1 上的一个路由器 R1的硬件地址。剩下的工作由路由器 R1来完成。R1要做的事情是下面的(3)或(4)。
    3. 发送方是路由器(如R1),要把IP数据报转发到与R1连接在同一个网络(网2)上的主机(如H3)。这时 R1发送 ARP 请求分组(在网 2 上广播),找到目的主机 H3的硬件地址。
    4. 发送方是路由器(如R1),要把 IP 数据报转发到网 3 上的一台主机(如 H4)。H4与R1不是连接在同一个网络上。这时 R1发送 ARP 请求分组(在网 2 上广播),找到连接在网2 上的一个路由器 R2的硬件地址。剩下的工作由这个路由器 R2来完成。
image-20220310134450544

4.2.4 IP数据报的格式

image-20220310134647803

4.2.5 IP数据报转发分组流程(路由器)

  1. 从数据报的首部提取目的主机的IP地址D,得出目的网络地址为N。
  2. 若N就是与此路由器直接相连的某个网络地址,则进行直接交付,不需要再经过其他的路由器,直接把数据报交付目的主机(这里包括把目的主机地址D转换为具体的硬件地址,把数据报封装为MAC 帧,再发送此帧);否则就是间接交付,执行(3)。
  3. 若路由表中有目的地址为D的特定主机路由,则把数据报传送给路由表中所指明的下一跳路由器;否则,执行(4)。
  4. 若路由表中有到达网络N的路由,则把数据报传送给路由表中所指明的下一跳路由器;否则,执行(5)。
  5. 若路由表中有一个默认路由,则把数据报传送给路由表中所指明的默认路由器;否则,执行(6)。
  6. 报告转发分组出错。

4.3 划分子网和构造超网

4.3.1 划分子网

  1. 三级IP地址:IP地址 ::=

  2. 基本思路:

    • 一个拥有许多物理网络的单位,可将所属的物理网络划分为若干个子网(subnet)。划分子网纯属一个单位内部的事情。本单位以外的网络看不见这个网络是由多少个子网组成,因为这个单位对外仍然表现为一个网络。

    • 划分子网的方法是从网络的主机号借用若干位作为子网号(subnet-id),当然主机号也就相应减少了同样的位数。于是两级 IP 地址在本单位内部就变为三级 IP 地址:网络号、子网号和主机号。

    • 凡是从其他网络发送给本单位某台主机的 IP 数据报,仍然是根据 IP 数据报的目的网络号找到连接在本单位网络上的路由器。但此路由器在收到 IP 数据报后,再按目的网络号和子网号找到目的子网,把 IP 数据报交付目的主机。

  3. 子网掩码

    为了告诉主机或路由器对一个A类、B类、C类网络进行了子网划分,使用子网掩码来表达对原网络中主机号的借位。

    由一串1和一串0组成,1对应于IP地址的网络号、子网号,0对应于主机号。计算机只要将对应的IP地址与子网掩码逐位相与,就可得到相应子网的网络地址。

    使用子网掩码的好处就是:不管网络有没有划分子网,只要把子网掩码和 IP 地址进行逐位的“与”运算(AND),就立即得出网络地址来。这样在路由器处理到来的分组时就可采用同样的算法。

4.3.2 使用子网时分组的转发

  1. 从收到的数据报的首部提取目的IP地址D。

  2. 先判断是否为直接交付。对路由器直接相连的网络逐个进行检查:用各网络的子网掩码和 D 逐位相“与”(AND 操作),看结果是否和相应的网络地址匹配。若匹配,则把分组进行直接交付(当然还需要把 D 转换成物理地址,把数据报封装成帧发送出去),转发任务结束。否则就是间接交付,执行(3)。

  3. 若路由表中有目的地址为 D 的特定主机路由,则把数据报传送给路由表中所指明的下一跳路由器;否则,执行(4)。

  4. 对路由表中的每一行(目的网络地址,子网掩码,下一跳地址),用其中的子网掩码和D 逐位相“与”(AND 操作),其结果为N。若 N 与该行的目的网络地址匹配,则把数据报传送给该行指明的下一跳路由器;否则,执行(5)。

  5. 若路由表中有一个默认路由,则把数据报传送给路由表中所指明的默认路由器;否则,执行(6)。

  6. 报告转发分组出错。

4.3.3 无分类编址CIDR(构造超网)

CIDR特点:

  • CIDR消除了传统的A类、B类、C类以及划分子网的概念。IP地址 ::= {<网络前缀>,<主机号>}。还使用斜线记法。
  • CIDR把网络前缀都相同的连续的IP地址组成一个CIDR地址块。

4.4 网际控制报文协议ICMP

为了更有效的转发IP数据报和提高交付成功的机会,在网际层使用ICMP。用于目标主机或目标主机路径上的路由器向源主机报告差错和异常情况。

4.4.1 ICMP报文种类

分为ICMP差错报告报文和ICMP询问报文两种。

  1. 差错报告报文

    • 终点不可达
    • 时间超过
    • 参数问题
    • 改变路由
  2. 不发送差错报告报文的情况

    • 对ICMP 差错报告报文,不再发送 ICMP 差错报告报文。
    • 对第一个分片的数据报片的所有后续数据报片,都不发送 ICMP 差错报告报文。
    • 对具有多播地址的数据报,都不发送ICMP差错报告报文。
    • 对具有特殊地址(如127.0.0.0或0.0.0.0)的数据报,不发送ICMP差错报告报文。
  3. 询问报文

    • 回送请求和回答(PING)
    • 时间戳请求和回答

4.5 互联网的路由选择协议

4.5.1 分层次的路由选择协议

可以把整个互联网划分为许多较小的自治系统(autonomous system),一般都记为AS。自治系统 AS 是在单一技术管理下的一组路由器,而这些路由器使用一种自治系统内部的路由选择协议和共同的度量。一个 AS 对其他 AS 表现出的是一个单一的和一致的路由选择策略。

为此,路由选择协议可以划分为两大类:

  • 内部网关协议IGP:具有多种协议,如RIP、OSPF等。
  • 外部网关协议EGP:目前只使用BGP。

4.5.2 内部网关协议RIP

  1. 工作原理

    基于UDP协议。RIP 协议要求网络中的每一个路由器都要维护从它自己到其他每一个目的网络的距7离记录(因此,这是一组距离,即“距离向量”)。距离也称跳数,规定从一个路由器到直接项链网络的距离是1。RIP认为好的路由就是通过的路由器数目少,即优先选择跳数少的路径(最多允许15跳,多为不可达)。

  2. 特点

    • 仅和相邻路由器交换信息。
    • 交换的信息是路由器知道的全部信息,即路由表。
    • 按固定的时间交换信息。
  3. 距离向量算法

    • 对地址为Ⅹ的相邻路由器发来的 RIP 报文,先修改此报文中的所有项目:把“下一跳”字段中的地址都改为X,并把所有的“距离”字段的值加 1。每一个项目都有三个关键数据,即:到目的网络N,距离是d,下一跳路由器是X。
    • 对修改后的RIP报文中的每一个项目,进行以下步骤:若原来的路由表中没有目的网络N,则把该项目添加到路由表中(见解释2)。否则(即在路由表中有目的网络N,这时就再查看下一跳路由器地址)若下一跳路由器地址是Ⅹ,则把收到的项目替换原路由表中的项目。否则(即这个项目是:到目的网络N,但下一跳路由器不是X)若收到的项目中的距离d 小于路由表中的距离,则进行更新,否则什么也不做。
    • 若 3 分钟还没有收到相邻路由器的更新路由表,则把此相邻路由器记为不可达的路由器,即把距离置为16(距离为16表示不可达)。
    • 返回。

4.5.3 内部网关协议OSPF

开放式最短路径优先算法。

  1. 工作原理

    基于IP协议。由于各路由器之间频繁地交换链路状态信息,因此所有的路由器最终都能建立一个链路状态数据库(link-state database),这个数据库实际上就是全网的拓扑结构图。这个拓扑结构图在全网范围内是一致的(这称为链路状态数据库的同步)。因此,每一个路由器都知道全网共有多少个路由器,以及哪些路由器是相连的,其代价是多少,等等。每一个路由器使用链路状态数据库中的数据,构造出自己的路由表(例如,使用 Dijkstra 的最短路径路由算法)

  2. 特点

    • 向本自治系统中所有路由器发送信息。这里使用的方法是洪泛法(flooding),这就是路由器通过所有输出端口向所有相邻的路由器发送信息。而每一个相邻路由器又再将此信息发往其所有的相邻路由器(但不再发送给刚刚发来信息的那个路由器)。
    • 发送的信息就是与本路由器相邻的所有路由器的链路状态,但这只是路由器所知道的部分信息。
    • 只有当链路状态发生变化时,路由器才向所有路由器用洪泛法发送此信息。

4.5.4 外部网关协议BGP

  1. 工作原理

    基于TCP协议。在配置 BGP 时,每一个自治系统的管理员要选择至少一个路由器作为该自治系统的“BGP 发言人”。一般说来,两个 BGP 发言人都是通过一个共享网络连接在一起的,而BGP 发言人往往就是BGP 边界路由器,但也可以不是BGP 边界路由器。一个 BGP 发言人与其他 AS 的 BGP 发言人要交换路由信息,就要先建立 TCP 连接(端口号为 179),然后在此连接上交换BGP报文以建立BGP会话(session),利用BGP会话交换路由信息,如增加了新的路由,或撤销过时的路由,以及报告出差错的情况等等。

4.5.5 路由器的构成

  1. 路由器的结构和功能

    路由器是一种具有多个输入输出端口的专用计算机。由路由选择分组转发两部分组成。实现了网络模型的下三层。

    • 路由选择部分:核心是路由选择处理机。任务是根据所选协议构造路由表并定期和相邻路由器交换数据。
    • 分组转发部分:由三部分组成:交换结构、一组输入端口、一组输出端口。
image-20220310151440909

4.6 IPv6

4.6.1 IPv6的基本首部

4.6.2 IPv6的地址

4.6.3 从IPv4到IPv6的过度

  1. 双协议栈

    双协议栈(dual stack)是指在完全过渡到 IPv6 之前,使一部分主机(或路由器)装有双协议栈::一个 IPv4 和一个 IPv6。因此双协议栈主机(或路由器)既能够和 IPv6 的系统通信,又能够和 IPv4 的系统通信。双协议栈的主机(或路由器)记为 IPv6/IPv4,表明它同时具有两种 IP 地址::一个IPv6地址和一个IPv4地址。

  2. 隧道技术

    这种方法的要点就是在 IPv6 数据报要进入 IPv4网络时,把 IPv6 数据报封装成为IPv4数据报。现在整个的 IPv6 数据报变成了 IPv4 数据报的数据部分。这样的 IPv4 数据报从路由器B经过路由器C和D,传送到E,而原来的IPv6数据报就好像在IPv4网络的隧道中传输,什么都没有变化。当 IPv4 数据报离开 IPv4 网络中的隧道时,再把数据部分(即原来的IPv6 数据报)交给主机的 IPv6 协议栈。

4.7 IP多播

4.7.1 基本概念

当多播组的主机数很大时(如成千上万个),采用多播方式就可明显地减轻网络中各种资源的消耗。在互联网范围的多播要靠路由器来实现,这些路由器必须增加一些能够识别多播数据报的软件。能够运行多播协议的路由器称为多播路由器(multicast router)。多播路由器当然也可以转发普通的单播IP数据报。

4.7.2 在局域网上进行硬件多播

4.7.3 网际组管理协议IGMP和多播路由选择协议

要加入组播组的主机需要使用IGMP协议。

连接在局域网上的多播路由器和互联网上的其他多播路由器协同工作,以便把多播数据报用最小代价传送给所有的组成员。这就需要使用多播路由选择协议。

4.8 虚拟专用网VPN和网络地址转换NAT

4.8.1 VPN

专用地址指只能用于一个机构的内部通信,而不能用于和互联网上的主机通信的地址。

有时一个很大的机构的许多部门分布的范围很广(例如,在世界各地),这些部门经常要互相交换信息。这可以有两种方法。(1) 租用电信公司的通信线路为本机构专用。这种方法虽然简单方便,但线路的租金太高,一般难于承受。(2) 利用公用的互联网作为本机构各专用网之间的通信载体,这样的专用网又称为虚拟专用网VPN(Virtual Private Network)。

使用IP隧道技术实现虚拟专用网。

image-20220310154722642

4.8.2 网络地址转换NAT

NAT实现从本地IP地址到和互联网上的主机通信的全球IP地址的转换。

NAT路由器中的NAT转换表存放着从{本地IP地址:端口}到{全球IP地址:端口}的映射。

4.9 多协议标记交换MPLS

4.9.1 工作过程

  1. 定义

    在传统的 IP 网络中,分组每到达一个路由器,都必须查找路由表,并按照“最长前缀匹配”的原则找到下一跳的 IP 地址(请注意,前缀的长度是不确定的)。当网络很大时,查找含有大量项目的路由表要花费很多的时间。在出现突发性的通信量时,往往还会使缓存溢出,这就会引起分组丢失、传输时延增大和服务质量下降。

    MPLS的一个重要特点就是在MPLS域的入口处,给每一个IP数据报打上固定长度“标记”,然后对打上标记的IP数据报用硬件进行转发,这就使得IP数据报转发的过程大大地加快了。采用硬件技术对打上标记的 IP数据报进行转发就称为标记交换。“交换”也表示在转发时不再上升到第三层查找转发表,而是根据标记在第二层(链路层)用硬件进行转发。MPLS 可使用多种链路层协议,如 PPP、以太网、ATM 以及帧中继等。

    image-20220310155413241
  2. 基本步骤

第五章 运输层

5.1 运输层提供的服务

5.1.1 运输层的功能

  1. 面向通信的最高层,用户功能中的最底层。运输层提供应用进程之间逻辑通信(端到端)。
  2. 复用和分用(把应用进程的通信加载到网络层)
    • 复用:发送方不同的应用进程使用同一个运输层协议传送数据。
    • 分用:接收方的运输层在剥去报文的首部后能够把数据交付到正确的应用进程。
  3. 对收到的报文差错检测
  4. 提供两种不同的传输层协议(TCP/UDP)

5.1.2 运输层的端口

  1. 端口的作用:端口是运输层服务访问点,标识的是主机的应用进程。
  2. 端口号
  3. 套接字:Socket = (IP地址:端口号),唯一的标识网络中的一台主机和一个应用进程。实际是一个通信端点。

5.2 UDP协议

5.2.1 概述

UDP只在IP数据报服务之上加了复用分用以及差错检测的功能。

主要特点:

  • UDP是无连接的。

  • UDP尽最大努力交付

  • UDP是面向报文的。

    发送方 UDP 对应用程序交下来的报文,在添加首部后就向下交付IP层。UDP对应用层交下来的报文,既不合并,也不拆分,而是保留这些报文的边界。接收方UDP对IP层交上来的UDP用户数据报,在去除首部后就原封不动地交付上层的应用进程,一次交付一个完整的报文。

  • UDP没有拥塞控制。

  • UDP支持一对一、一对多、多对一和多对多通信。

  • UDP开销小。

5.2.2 UDP的首部格式

image-20220310172554434

5.3 TCP协议

5.3.1 概述

  1. TCP主要特点:
    • TCP是面向连接的运输层协议。

    • 每一条TCP连接只能有两个端点,即只能是点对点的。

    • TCP提供可靠交付的服务。

    • TCP提供全双工通信。

    • 面向字节流。

      发送方TCP对应用程序交下来的报文数据块,视为无结构的字节流。

5.3.2 TCP的连接

TCP把连接作为最基本的抽象,TCP连接的端点是套接字。每一条TCP连接唯一的被通信两端的两个套接字确定。

  1. TCP连接的建立(三次握手

    • 客户端主动打开,发送连接请求报文段,将同步位SYN标识位置为1,序号seq置为x(TCP规定SYN=1时不能携带数据,x为随机产生的一个值),然后进入SYN_SEND状态。
    • 服务器收到SYN报文段进行确认,将SYN标识位置为1,ACK置为1,seq置为y,ack置为x+1,然后进入SYN_RECV状态,这个状态被称为半连接状态。
    • 客户端再进行一次确认,将ACK置为1(此时不用SYN),seq置为x+1,ack置为y+1发向服务器,最后客户端与服务器都进入ESTABLISHED状态。
image-20220310173442825
  1. TCP连接的释放(四次握手

    • 客户端发送一个报文给服务端(没有数据),其中终止位FIN设置为1,序号seq置为u,客户端进入FIN_WAIT_1状态

    • 服务端收到来自客户端的请求,发送一个确认号ACK给客户端,ack置为u+1,同时发送序号seq为v,服务端进入CLOSE_WAIT状态。

    • 服务端发送一个FIN给客户端,ACK置为1,seq置为w,ack置为u+1,用来关闭服务端到客户端的数据传送,服务端进入LAST_ACK状态。

    • 客户端收到FIN后,进入TIME_WAIT状态,接着发送一个ACK给服务端,ack置为w+1,seq置为u+1,最后客户端和服务端都进入CLOSED状态。

image-20220310174607357

5.3.3 TCP报文段的首部格式

image-20220310182222670

5.3.4 可靠传输的工作原理

  1. 可靠传输机制:

    • 确认
    • 超时重传:发送方发送数据后开启计时器,若规定时间没收到接收方的确认,则重传。
      • 超时重传时间的选择
    • 自动重传请求:接收方请求发送方重传出错的数据帧来恢复出错的帧。
      • 停止-等待ARQ
      • 选择性重传ARQ
      • 后退N帧ARQ
  2. 实现可靠传输的协议:

    • 停止等待协议:发送方每发送一帧都要等待接收方的应答信号,才能发送下一帧。
      • 无差错情况:发送方接到确认后发送下一帧。
      • 出现差错:超时重传。
      • 确认丢失和确认迟到
    image-20220311225639119
    • 连续ARQ协议:滑动窗口协议。

5.3.5 TCP可靠传输的实现

  1. 以字节为单位的滑动窗口

    • 单帧滑动窗口与停止等待协议:

      • 滑动窗口且发送窗口与接受窗口大小都为1。
      • 出现差错则超时重传。
    • 多帧滑动窗口与后退N帧协议(GBN):

      • 发送窗口>1,接受窗口=1(保证按顺序接受)。
      • 接收方只允许按顺序接受帧,当收到失序帧时,要求重发最后一个正确接受帧之后的所有帧。
      • 接收端可以在连续收到好几个正确的帧之后,发送确认消息(累计确认)。
    • 多帧滑动窗口与选择重传协议

      • 发送窗口和接收窗口都大于1。
      • 只重传出现差错的数据帧和超时的数据帧。
      • 发送缓冲区对应一个计时器,超时则重传帧;接收方怀疑帧出错则发送否定帧NAK给发送方,发送方对指定帧进行重传。
  2. 超时重传时间的选择

  3. 选择确认SACK

具体参考博客TCP可靠传输的实现 - 简单爱_wxg - 博客园 (cnblogs.com)

5.3.6 TCP的流量控制

利用滑动窗口实现流量控制:

通信过程中,接收方根据自己接收缓存的大小动态的调整发送方发送窗口大小,称为接收窗口rwnd。同时接收方根据当前对网络拥塞程度的估计而确定的窗口值称为拥塞窗口cwnd。发送方A根据最新收到的rwnd值来自限制自己发送窗口的大小。

image-20220310185446197

5.3.7 TCP的拥塞控制

TCP拥塞控制算法有四种:慢开始拥塞避免快重传快恢复

冗余ACK:TCP规定每当比期望序号大的失序报文段先到达时就发送一个冗余ACK,指明期待的序号。

发送窗口的上限值 = min [rwnd,cwnd]

  1. 慢开始

    TCP在刚刚连接好并开始发送报文段时,先令拥塞窗口cwnd = 1(1个最大报文段长度MSS),每收到一个对新报文段的确认后,将cwnd翻倍,直到增大到慢开始门限ssthresh改用拥塞避免算法。

  2. 拥塞避免

    每经过一个一个往返时延RTT后就把拥塞窗口cwnd加1,直到网络拥塞。

    网络拥塞后,把慢开始门限ssthresh设置为出现拥塞时发送方cwnd值的一半,然后将cwnd重新置1,执行慢开始算法。

  3. 快重传

    当发送方连续收到三个重复的冗余ACK报文时,直接重传对方尚未收到的报文段。

  4. 快恢复

    当发送方收到三个冗余ACK时,把慢开始门限ssthreash设置为此时发送方cwnd的一半,但由于收到连续三个冗余ACK,发送方则认为没有发生拥塞,直接把cwnd设为ssthreash的值并执行拥塞避免算法。

image-20220310191445127

第六章 应用层

网络应用模型:

  • 客户-服务器模型
  • P2P模型

6.1 域名系统DNS

概念上可将DNS分为三部分:层次域名空间域名服务器域名解析器

  1. 层次域名空间
image-20220310204212505 image-20220310204249169
  1. 域名服务器

    域名服务器被设计为联机分布式的数据库系统,采用客户-服务器模式

    • 根域名服务器
    • 顶级域名服务器
    • 授权域名服务器
    • 本地域名服务器
image-20220310204643367
  1. 域名解析过程

    • 域名解析是把域名映射为IP地址,或把IP地址映射为域名的过程。

    • 两种方式:递归查询、递归与迭代相结合

    • 主机向本地域名服务器查询采用递归;本地域名服务器向根域名服务器查询采用迭代。

    • 假定域名为 m.xyz.com的主机想知道另一台主机(域名为 y.abc.com)的 IP 地址。例如主机 m.xyz.com 打算发送邮件给主机 y.abc.com。这时就必须知道主机 y.abc.com 的 IP地址。下面是查询步骤:

      1. 主机 m.xyz.com 先向其本地域名服务器 dns.xyz.com 进行递归查询。

      2. 本地域名服务器采用迭代查询。它先向一个根域名服务器查询。

      3. 根域名服务器告诉本地域名服务器,下一次应查询的顶级域名服务器 dns.com 的 IP地址。

      4. 本地域名服务器向顶级域名服务器dns.com 进行查询。

      5. 顶级域名服务器 dns.com 告诉本地域名服务器,下一次应查询的权限域名服务器dns.abc.com 的 IP 地址。

      6. 本地域名服务器向权限域名服务器 dns.abc.com 进行查询。

      7. 权限域名服务器 dns.abc.com 告诉本地域名服务器,所查询的主机的 IP 地址。

      8. 本地域名服务器最后把查询结果告诉主机m.xyz.com。

    image-20220310205546307

6.2 文件传输协议

6.2.1 文件传输协议FTP

  1. FTP采用客户/服务器方式,使用TCP可靠的传输服务。一个FTP服务器进程可为多个客户进程提供服务。FTP服务器进程有两大部分组成:一个主进程负责接收新的申请;另外若干从属进程负责处理单个请求。

  2. FTP在工作时使用两个并行的TCP连接,一个控制连接(传输控制信息,如连接请求等),一个数据连接(传送数据)。

image-20220310210851173

6.2.2 简单文件传送协议TFTP

可用于UDP环境,占内存小。

6.3 远程终端协议TELNET

采用客户/服务器方式,TCP连接。

6.4 万维网WWW

6.4.1 万维网概述

  1. 万维网是一个分布式、联机式的信息存储空间,有用的事务称为资源,并由同一资源定位符URL标识。这些资源通过超文本传输协议HTTP传送给使用者。

  2. 万维网的内核部分由三个标准组成:

    • 同一资源定位符URL
    image-20220310212446963
    • 超文本传输协议HTTP
    • 超文本标记语言HTML
  3. 万维网以客户服务器方式工作,流程:

    1. Web使用浏览器指定URL与Web服务器(服务器进程不断监听端口)建立连接,发送浏览请求。
    2. Web服务器把URL转为文件路径,返回信息给Web浏览器。
    3. 通信完成关闭连接。

6.4.2 HTTP

  1. HTTP协议定义了浏览器怎样向万维网服务器请求万维网文档,以及服务器怎样把文档传送给浏览器。使用TCP提供可靠传输

  2. 操作过程(以访问清华大学网站为例):

    1. 浏览器分析链接指向页面的 URL(http://www.tsinghua.edu.cn/chn/index.htm)。
    2. 浏览器向 DNS 请求解析 www.tsinghua.edu.cn 的IP地址。
    3. 域名系统 DNS 解析出清华大学服务器的IP地址。
    4. 浏览器与该服务器建立TCP 连接(默认端口号为 80)。
    5. 浏览器发出 HTTP 请求:GET /chn/index.htm。
    6. 服务器通过 HTTP 响应把文件 index.htm 发送给浏览器。
    7. 释放TCP 连接。
    8. 浏览器解释文件 index.htm,并将 Web 页显示给用户
  3. 请求一个万维网文档的时间:2RTT

image-20220310213821206
  1. 代理服务器

  2. HTTP的报文结构

image-20220310214007711

6.4.3 万维网的文档

  1. 静态万维网文档
  2. 动态万维网文档
  3. 活动万维网文档

6.5 电子邮件

6.5.1 电子邮件的组成结构

由用户代理、邮件服务器和电子邮件使用的协议组成。

image-20220310214624134
  1. 用户代理:用户与电子邮件系统的接口。运行在PC上的程序,如Outlook。
  2. 邮件服务器:功能是发送和接收邮件。
  3. 邮件发送协议和读取协议:如SMTP。

电子邮件的收发过程:

  1. 发件人调用计算机中的用户代理撰写和编辑要发送的邮件。
  2. 发件人点击屏幕上的“发送邮件”按钮,把发送邮件的工作全都交给用户代理来完成。用户代理把邮件用 SMTP 协议发给发送方邮件服务器
  3. SMTP 服务器收到用户代理发来的邮件后,就把邮件临时存放在邮件缓存队列中,等待发送到接收方的邮件服务器。
  4. 发送方邮件服务器的 SMTP 客户与接收方邮件服务器的 SMTP 服务器建立 TCP 连接,然后就把邮件缓存队列中的邮件依次发送出去。
  5. 运行在接收方邮件服务器中的 SMTP 服务器进程收到邮件后,把邮件放入收件人的用户邮箱中,等待收件人进行读取。
  6. 收件人在打算收信时,就运行计算机中的用户代理,使用 POP3(或 IMAP)协议读取发送给自己的邮件。

6.5.2 简单邮件传送协议SMTP

使用TCP连接。

通信分三个阶段:

  1. 连接建立:发件人的邮件送到发送方邮件服务器的邮件缓存后,SMTP客户就每隔一定时间对邮件缓存扫描一次。如发现有邮件,就使用SMTP的熟知端口号码25与接收方邮件服务器的 SMTP 服务器建立 TCP 连接。在连接建立后,接收方 SMTP 服务器要发出“220Serviceready”(服务就绪)。然后SMTP客户向SMTP服务器发送HELO命令,附上发送方的主机名。SMTP 服务器若有能力接收邮件,则回答:“250 OK”,表示已准备好接收。若 SMTP 服务器不可用,则回答“421 Service not available”(服务不可用)。

  2. 邮件发送

  3. 连接释放:邮件发送完毕后,SMTP 客户应发送 QUIT 命令。SMTP 服务器返回的信息是“221(服务关闭)”,表示SMTP同意释放TCP 连接。邮件传送的全部过程即结束。

6.5.3 邮件读取协议POP3和IMAP

邮局协议POP3:简单

网际报文存取协议IMAP:复杂

image-20220310220632794

6.5.4 通用互联网邮件扩充MIME

6.6 动态主机配置协议

互联网现在广泛使用的是动态主机配置协议 DHCP (Dynamic Host ConfigurationProtocol),它提供了一种机制,称为即插即用连网(plug-and-play networking)。这种机制允许一台计算机加入新的网络和获取 IP 地址而不用手工参与。采用客户/服务器方式

6.7 简单网络管理协议SNMP

posted @ 2022-03-11 23:40  SJJX  阅读(973)  评论(0)    收藏  举报