计算机网络

计算机网络

1.概述

1.1 计算机网络在信息时代的应用

  1. Internet译名

    1. 因特网:官方

    2. 互联网、国际互联网:民间

区分

  • internet:互连网(通用名词)
  • Internet:互联网(专用名词)、因特网

1.2 互联网概述

**计算机网络:由若干结点(node)和连接这些结点的链路(link)**组成。

互联网基础结构发展的三个阶段

  • 单个网络ARPANET向互联网的发展过程
  • 建成了三级互联网(主干网、地区网、校园/企业网)
  • 逐渐形成了多层次ISP结构的互联网

互联网的标准化工作

在这里插入图片描述

在这里插入图片描述

1.3 互联网组成

  • 边缘部分:由所有连接在因特网上的主机组成。
    • 通信方式:客户-服务器方式(C/S方式)、对等方式(P2P方式)
  • 核心部分:由大量网络和连接这些网络的路由器组成。
    • 电路交换、报文交换、分组交换
    • 面向连接、无连接

1.4 计算机网络在我国的发展

1.5 计算机网络分类

按作用范围分

在这里插入图片描述

按不同使用者分

  • 公用网
  • 专用网

按网络拓扑结构

  • 星型拓扑
  • 环状拓扑
  • 总线拓扑
  • 树状拓扑
  • 混合拓扑

1.6 计算机网络性能

  • 速率、数据率、比特率:数据传输速率,b/s、kb/s、Mb/s、Gb/s

  • 带宽:单位时间内网络中某信道所能通过的最高数据率,b/s

  • 吞吐量:单位时间内通过某个网络的实际数据量

  • 时延:数据从网络的一端传送到另一端所需时间

    • 发送时延、传播时延、处理时延、排队时延

    发 送 时 延 = 数 据 帧 长 度 发 送 速 率 传 播 时 延 = 信 道 长 度 电 磁 波 在 信 道 上 的 传 播 速 率 发送时延 = \frac{数据帧长度}{发送速率}\\ 传播时延 = \frac{信道长度}{电磁波在信道上的传播速率} ==

  • 时延带宽积

在这里插入图片描述

  • 往返时间RTT:从发送方发送数据开始,到发送方收到接收方的确认,所需要的时间。

  • 利用率:信道利用率、网络利用率(信道利用率加权平均)
    D = D 0 1 − U D 0 : 网 络 空 闲 时 时 延 , D : 网 络 当 前 时 延 , U : 网 络 利 用 率 D = \frac{D_0}{1-U}\\ D_0:网络空闲时时延,D:网络当前时延,U:网络利用率 D=1UD0D0:D:U:

1.7 计算机网络体系结构

OSI七层体系结构TCP/IP四层体系结构五层协议体系结构对应网络协议
应用层应用层应用层HTTP、TFTP、NFS、WAIS、SMTP
表示层Telnet、Rlogin、SNMP、Gopher
会话层SMTP、DNS
运输层运输层运输层TCP、UDP
网络层网际层网络层IP、ICMP、ARP、RARP、AKP、UUCP
数据链路层网络接口层数据链路层FDDI、Ethernet、Arpanet、PDN、SLIP、PPP
物理层物理层IEEE 802.1A、IEEE 802.2到IEEE 802.11

在这里插入图片描述

2.物理层

2.1 基本概念

物理层主要任务:确定与传输媒体的接口有关的一些特性

  • 机械特性:指明接口所用接线器的形状和尺寸、引线数目和排列、固定和锁定装置等等。
  • 电气特性:指明在接口电缆的各条线上出现的电压的范围。
  • 功能特性: 指明某条线上出现的某一电平的电压表示何种意义。
  • 过程特性:指明对于不同功能的各种可能事件的出现顺序。

2.2 数据通信基础知识

消息、数据、信号

  • 消息:如图像、语音。
  • 数据:运送消息的实体。
  • 信号:数据的电气的或电磁的表现。

模拟信号、数字信号

  • 模拟信号:消息的参数的取值是连续的。

  • 数字信号:消息的参数的取值是离散的。

    • 码元:使用时域的波形表示数字信号时,代表不同离散数值的基本波形。

      传输速率对应波特率Baud

在这里插入图片描述

信息交互方式

  • 单向通信(单工通信):只能有一个方向的通信而没有反方向的交互(无线电广播,无线电视广播)。
  • 双向交替通信(半双工通信):通信的双方都可以发送信息,但不能双方同时发送(当然也就不能同时接收)。
  • 双向同时通信(全双工通信):通信的双方可以同时发送和接收信息。

调制

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

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

  • 基带调制(编码):紧紧对基带信号的波形进行变换,使它能够与信道特性相适应,变换后信号仍是基带信号。

    ​ 不归零制、归零制、曼彻斯特编码、差分曼彻斯特编码

  • 带通调制:使用载波进行调制,把基带信号的频率范围搬移到较高的频段,并转换为模拟信号。

    ​ 调幅(AM)、调频(FM)、调相(PM)、正交振幅调制(QAM)

信道的极限容量

码元传输的速率越高,或信号传输的距离越远,在信道的输出端的波形的失真就越严重。

  1. 信道能通过的频率范围:奈氏准则、在任何信道中,码元传输的速率是有上限的,否则就会出现码间串扰的问题,使接收端对码元的判决(即识别)成为不可能。

  2. 信噪比:香农用信息论的理论推导出了带宽受限且有高斯白噪声干扰的信道的极限、无差错的信息传输速率。
    C = W l o g 2 ( 1 + S / N ) C 为 信 息 传 输 速 率 b / s W 为 信 道 的 带 宽 ( 以 H z 为 单 位 ) S 为 信 道 内 所 传 信 号 的 平 均 功 率 N 为 信 道 内 部 的 高 斯 噪 声 功 率 C = Wlog_{2}{(1+S/N)}\\ C为信息传输速率b/s \\ W 为信道的带宽(以Hz为单位) \\ S 为信道内所传信号的平均功率 \\ N 为信道内部的高斯噪声功率 C=Wlog2(1+S/N)Cb/sWHzSN

    • 信道的带宽或信道中的信噪比越大,则信息的极限传输速率就越高。
    • 只要信息传输速率低于信道的极限信息传输速率,就一定可以找到某种办法来实现无差错的传输。

2.3 物理层下面的传输媒体

  • 导引型传输媒体:电磁波被导引沿着固体媒体传播

    • 双绞线:屏蔽双绞线STP、无屏蔽双绞线UTP、EIA/TIA-568标准

      在这里插入图片描述

    • 同轴电缆

      在这里插入图片描述

    • 光缆:多模光纤、单模光纤

      在这里插入图片描述

  • 非导引型传输媒体:传输媒体为自由空间

    短波通信、无线电波通信、微波接力通信

    在这里插入图片描述

2.4 信道复用技术

  • 频分复用:所有用户在同样的时间占用不同的带宽(频率带宽)资源
  • 时分复用:将时间划分为一段段等长的时分复用帧(TDM 帧),每一个时分复用的用户在每一个 TDM 帧中占用固定序号的时隙
  • 统计时分复用:不再固定分配时隙,而是动态分配,每个用户所占时隙不是周期性出现
  • 波分复用:光的频分复用
  • 码分复用CDM(码分多址CDMA):各用户使用经过特殊挑选的不同码型,因此彼此不会造成干扰,要求码片序列不仅必须各不相同,并且还必须互相正交。
    • 两个不同站的码片序列正交,规格内积都是0
    • 任何一个码片向量和该码片向量自己的规格化内积都是1
    • 一个码片向量和该码片反码的向量的规格化内积值是–1

2.5 数字传输系统

脉码调制PCM体制:实质上是对模拟信号进行采样量化的过程

北美的24路PCM标准、欧洲的30路PCM标准

E1 的速率是 2.048 Mb/s,而 T1 的速率是 1.544 Mb/s

标准的电话语音编码的速率是64kb/s

同步光纤网 SONET 和同步数字系列 SDH

旧的数字传输系统存在着许多缺点。其中最主要的是以下两个方面:
速率标准不统一。
不是同步传输。

2.6 宽带接入技术

xDSL技术

xDSL技术:用数字技术对现有的模拟电话用户线进行改造,使它能够承载宽带业务。把 0~4 kHz 低端频谱留给传统电话使用,而把原来没有被利用的高端频谱留给用户上网使用。

DMT技术

DMT调制技术:采用频分复用的方法,把 40 kHz 以上一直到 1.1 MHz 的高端频谱划分为许多的子信道,其中 25 个子信道用于上行信道,而 249 个子信道用于下行信道。

光纤同轴混合网HFC

HFC网将原CATV网中的同轴电缆主干部分改换为光纤,并使用模拟光纤技术。

FTTx技术

在这里插入图片描述

因特网接入方式

在这里插入图片描述

3. 数据链路层

任务

  • 封装成帧:将在网络层交下来的IP数据报组装成帧
  • 透明传输:在两个相邻结点间的链路上传送以帧为单位的数据
  • 差错检测:每一帧包括数据和必要的控制信息(如同步信息、地址信息、差错控制以及流量控制信息等)

信道类型

  • 点对点信道:使用一对一的点对点通信方式
  • 广播信道:使用一对多的广播通信方式

3.1 点对点信道及协议

3.1.1 点对点信道

链路:一条无源的点到点的物理线路段,中间没有任何其他的交换结点。

数据链路:除了物理线路外,还必须有通信协议来控制这些数据的传输。若把实现这些协议的硬件和软件加到链路上,就构成了数据链路。

:点对点信道的数据链路层的协议数据单元

三个基本问题

  • 封装成帧

    在这里插入图片描述

  • 透明传输:字节填充法

  • 差错检测:循环冗余检验 CRC,在数据后面添加上的冗余码称为帧检验序列 FCS

3.1.2 PPP协议

用户计算机和ISP进行通信时,一般都是使用 PPP 协议。

PPP协议组成

  • 一个将 IP 数据报封装到串行链路的方法。
  • 链路控制协议 LCP (Link Control Protocol)。
    建立、配置和测试数据链路的连接
  • 一套网络控制协议 NCP (Network Control Protocol)。
    支持不同的网络层协议,如IP、OSI、DECnet、AppleTalk

帧格式

在这里插入图片描述

3.2 广播信道及协议

3.2.1 广播信道

局域网

网络为一个单位所拥有,且地理范围和站点数目均有限。

拓扑:星形网、总线网、树型网、环形网

共享信道

  • 静态划分信道:一旦分配,用户独占信道,代价高,不适合局域网

    • 频分复用、时分复用、波分复用、码分复用
  • 动态媒体接入

    • 随机接入(以太网:CSMA载波侦听多路访问)、受控接入(令牌环、多点线路探询、轮询)

以太网的两个标准

IEEE 802.3

DIX Ethernet V2

适配器

别名:网络接口板、通信适配器、网络接口卡、网卡

作用:计算机通过适配器和局域网进行通信

  • 进行串行/并行转换
  • 对数据进行缓存
  • 在计算机的操作系统安装设备驱动程序
  • 实现以太网协议

CSMA/CD协议

两种重要措施:无连接、曼彻斯特编码

  • 多点接入:许多计算机以多点接入的方式连接在一根总线上
  • 载波监听:每一个站在发送数据之前先要检测一下总线上是否有其他计算机在发送数据,如果有,则暂时不要发送数据,以免发生碰撞
  • 碰撞检测:计算机边发送数据边检测信道上的信号电压大小

争用期:最先发送数据帧的站,在发送数据帧后至多经过时间 2 τ 2τ 2τ(端到端往返时延)就可知道发送的数据帧是否遭受了碰撞

退避算法:二进制指数类型退避算法

最短有效帧长:以太网规定了最短有效帧长为 64 字节

强化碰撞:当发送数据的站一旦发现发生了碰撞时,立即停止发送数据,再继续发送32或48比特的人为干扰信号,以便让所有用户都知道现在已经发生了碰撞

在这里插入图片描述

3.2.2 以太网

传播介质

传统以太网最初是使用粗同轴电缆,后来演进到使用比较便宜的细同轴电缆,最后发展为使用更便宜和更灵活的双绞线

集线器

以太网采用星形拓扑,在星形的中心则增加了一种可靠性非常高的设备,叫做集线器。

信道利用率

以太网发送一帧所需的平均时间:一个帧从开始发送,经可能发生的碰撞后,将再重传数次,到发送成功且信道转为空闲(即再经过时间 τ τ τ 使得信道上无信号在传播)时为止。

要提高以太网的信道利用率,就必须减小 τ τ τ 与 T0 之比。
a = τ T 0 a = \frac{τ}{T_0} a=T0τ

极 限 信 道 利 用 率 S m a x = T 0 T 0 + τ = 1 1 + a 极限信道利用率 S_{max}=\frac{T_0}{T_0+τ}=\frac{1}{1+a} Smax=T0+τT0=1+a1

MAC层

MAC地址

  • 主机的硬件地址、物理地址
  • IEEE 的注册管理机构 RA 负责向厂家分配地址字段的前三个字节(即高位 24 位,组织唯一标识符OUI);后三个字节(即低位 24 位)由厂家自行指派,称为扩展标识符,必须保证生产出的适配器没有重复地址
  • 第一个字节的最低位I/G(Individual/Group)
    • 0:单个地址
    • 1:组播地址
  • 第一个字节的最低第二位为G/L(Globe/Local)
    • 0:G全球管理,厂商购买的MAC地址
    • 1:L本地管理,不用购买

帧类型

  • 单播(unicast)帧(一对一),I/G=0
  • 广播(broadcast)帧(一对全体,全1),ff-ff-ff-ff-ff-ff
  • 多播(multicast)帧(一对多),I/G=1

帧格式

在这里插入图片描述

  • MAC帧最短长度为512bit(64字节)

  • 帧间最小间隔为 9.6 μs,相当于 96 bit 的发送时间(10M以太网)。

3.2.3 扩展的局域网

在物理层扩展局域网

用集线器组成的局域网都在一个碰撞域中
在这里插入图片描述

  • 优点
    • 使原来属于不同碰撞域的局域网上的计算机能够进行跨碰撞域的通信。
    • 扩大了局域网覆盖的地理范围。
  • 缺点
    • 碰撞域增大了,但总的吞吐量并未提高。
    • 如果不同的碰撞域使用不同的数据率,那么就不能用集线器将它们互连起来。

在数据链路层扩展局域网

  1. 网桥工作在数据链路层,它根据 MAC 帧的目的地址对收到的帧进行转发。

目前使用得最多的网桥是透明网桥,透明”是指局域网上的站点并不知道所发送的帧将经过哪几个网桥,因为网桥对各站来说是看不见的。

  1. 网桥的自学习:网桥收到一帧后先进行自学习。查找转发表中与收到帧的源地址有无相匹配的项目。如没有,就在转发表中增加一个项目(源地址、进入的接口和时间)。如有,则把原有的项目进行更新。
    转发帧。查找转发表中与收到帧的目的地址有无相匹配的项目。
    • 如有,则按转发表中给出的接口进行转发。
    • 如没有,则通过所有其他接口(但进入网桥的接口除外)进行转发。
    • 若转发表中给出的接口就是该帧进入网桥的接口,则应丢弃这个帧(因为这时不需要经过网桥进行转发)。

在这里插入图片描述

  1. 源路由网桥:在发送帧时将详细的路由信息放在帧的首部中。

  2. 多接口网桥——以太网交换机

    利用以太网交换机可以很方便地实现虚拟局域网。

3.2.4 高速以太网

速率达到或超过 100 Mb/s 的以太网称为高速以太网。

4. 网络层

网络层提供的两种服务

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

4.1 网际协议IP

配套使用的四个协议

  • 地址解析协议ARP(Address Resolution Protocol)
  • 逆地址解析协议RARP(Reverse Address Resolution Protocol)
  • 网际控制报文协议ICMP(Internet Control Message Protocol)
  • 网际组管理协议IGMP(Internet Group Management Protocol)

网络互连所需中间设备

  • 物理层中继系统:转发器(repeater)。
  • 数据链路层中继系统:网桥或桥接器(bridge)。
  • 网络层中继系统:路由器(router)。
  • 网桥和路由器的混合物:桥路器(brouter)。
  • 网络层以上的中继系统:网关(gateway)。

IP地址

IP 地址就是给每个连接在因特网上的主机(或路由器)分配一个在全世界范围是唯一的 32 位的标识符。

编码方式的发展:分类的IP地址->子网划分->构成超网

  1. 分类IP地址

在这里插入图片描述

​ 网络号

​ 全零代表本网络

​ 127代表环回测试(A类)

​ 主机号

​ 全0代表该主机所在的网络

​ 全1表示该网络上的所有主机

  1. 划分子网

    在IP地址中增加了一个“子网号字段”,是两级IP地址变成为三级

    使用子网掩码可以找出 IP 地址中的子网部分。

  2. 构成超网(无分类编址CIDR)

    两级地址:网络前缀+主机号

    在这里插入图片描述

IP地址与硬件地址

在这里插入图片描述

IP数据报格式

在这里插入图片描述

分组转发算法

(1)从数据报的首部提取目的主机的 IP 地址 D, 得出目的网络地址为 N。
(2)若网络 N 与此路由器直接相连,则把数据报直接交付目的主机 D;否则是间接交付,执行(3)。
(3)若路由表中有目的地址为D的特定主机路由,则把数据报传送给路由表中所指明的下一跳路由器;否则,执行(4)。
(4)若路由表中有到达网络 N 的路由,则把数据报传送给路由表指明的下一跳路由器;否则,执行(5)。
(5) 若路由表中有一个默认路由,则把数据报传送给路由表中所指明的默认路由器;否则,执行(6)。
(6)报告转发分组出错。

4.2 地址解析协议 ARP 和逆地址解析协议 RARP

在这里插入图片描述

ARP高速缓存:里面有所连接在的局域网上的各主机和路由器的 IP 地址到硬件地址的映射表

ARP是解决同一个局域网上的主机或路由器的IP地址和硬件地址的映射问题。

当主机A欲向本局域网上的某个主机B发送IP数据报时,就先在其ARP高速缓存中查看有无主机B的IP地址。如有,就可查出其对应的硬件地址,再将此硬件地址写入 MAC 帧,然后通过局域网将该 MAC 帧发往此硬件地址。 如果没有则发送ARP数据报,获取主机B的硬件地址。

在这里插入图片描述

4.3 网际控制报文协议ICMP

提高IP数据报交付成功的机会

  • ICMP 差错报告报文
  • ICMP 询问报文

在这里插入图片描述

应用:PING

4.4 因特网的路由选择协议

理想路由算法

  • 算法必须是正确的和完整的

  • 算法在计算上应简单

  • 算法应能适应通信量和网络拓扑的变化,自适应性也叫“稳健性”

  • 算法应具有稳定性

  • 算法应是公平的

  • 算法应是“最佳”的,时延低

分类

  • 静态路由选择策略——即非自适应路由选择,其特点是简单和开销较小,但不能及时适应网络状态的变化。

  • 动态路由选择策略——即自适应路由选择,其特点是能较好地适应网络状态的变化,但实现起来较为复杂,开销也比较大。

分层次的路由选择协议

  • 内部网关协议IGP :域内路由协议,在一个自治系统内部使用的路由选择协议。如 RIP 和 OSPF 协议。
  • 外部网关协议EGP :域间路由协议,源站和目的站处在不同的自治系统中,当数据报传到一个自治系统的边界时,就需要使用一种协议将路由选择信息传递到另一个自治系统中。这样的协议就是外部网关协议 EGP。目前使用最多的是 BGP-4(边界网关协议)。

内部网关协议RIP

工作原理:分布式、基于距离向量的路由选择协议,网络中的每一个路由器都要维护从它自己到其他每一个目的网络的距离记录。

要点

  • 仅和相邻路由器交换信息
  • 交换的信息是当前本路由器所知道的全部信息,即自己的路由表
  • 按固定的时间间隔交换路由信息,例如,每隔 30 秒

距离向量算法

收到相邻路由器(其地址为 X)的一个 RIP 报文:
(1) 先修改此 RIP 报文中的所有项目:把“下一跳”字段中的地址都改为 X,并把所有的“距离”字段的值加 1。
(2) 对修改后的 RIP 报文中的每一个项目,重复以下步骤:
若项目中的目的网络不在路由表中,则把该项目加到路由表中,
否则若下一跳字段给出的路由器地址是同样的,则把收到的项目替换原路由表中的项目。
否则若收到项目中的距离小于路由表中的距离,则进行更新,
否则,什么也不做。
(3) 若 3 分钟还没有收到相邻路由器的更新路由表,则把此相邻路由器记为不可达路由器,即将距离置为16(距离为16表示不可达)。
(4) 返回。

内部网关协议OSPF

开放式最短路由优先

三个要点

  • 向本自治系统中所有路由器发送信息
  • 发送的信息就是与本路由器相邻的所有路由器的链路状态
  • 只有当链路状态发生变化时,才用洪泛法向所有路由器发送此信息

所有的路由器最终都能建立一个链路状态数据库

外部网关协议BGP

不同自治系统的路由器之间交换路由信息的协议。

边界网关协议 BGP 只能是力求寻找一条比较好的路由(不能兜圈子),而并非要寻找一条最佳路由。

  • BGP 发言人

    每一个自治系统的管理员要选择至少一个路由器作为该自治系统的“ BGP 发言人” 。
    BGP 发言人往往就是 BGP 边界路由器

  • BGP 交换路由信息

    一个 BGP 发言人与其他自治系统中的 BGP 发言人要交换路由信息,就要先建立 TCP 连接(端口号179),然后在此连接上交换 BGP 报文以建立 BGP 会话(session),利用 BGP 会话交换路由信息。

  • BGP发言人路由表

    目的网络前缀、下一跳路由器、到达目的网络的AS序列

  • BGP-4 共使用四种报文

    • 打开(OPEN)报文,用来与相邻的另一个BGP发言人建立关系,通信初始化
    • 更新(UPDATE)报文,用来发送某一路由的信息,以及列出要撤消的多条路由
    • 保活(KEEPALIVE)报文,用来确认打开报文和周期性地证实邻站关系
    • 通知(NOTIFICATION)报文,用来发送检测到的差错

路由器结构

在这里插入图片描述

  • 转发:路由器根据转发表将用户的 IP 数据报从合适的端口转发出去
  • 路由选择:按照分布式算法,根据从各相邻路由器得到的关于网络拓扑的变化情况,动态地改变所选择的路由。

分组丢弃:若路由器处理分组的速率赶不上分组进入队列的速率,则队列的存储空间最终必定减少到零,这就使后面再进入队列的分组由于没有存储空间而只能被丢弃。

交换结构

在这里插入图片描述

4.5 IP多播

在一对多的通行中,多播可明显地减少网络中资源的消耗
在这里插入图片描述

网际组管理协议 IGMP

使路由器知道多播组成员的信息

多播路由选择协议

连接在局域网上的多播路由器必须和因特网上的其他多播路由器协同工作,以便把多播数据报用最小代价传送给所有的组成员

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

  • 本地地址——仅在机构内部使用的 IP 地址,可以由本机构自行分配,而不需要向因特网的管理机构申请。
  • 全球地址——全球唯一的IP地址,必须向因特网的管理机构申请。

RFC 1918 指明的专用地址

  • 10.0.0.0 到 10.255.255.255(10/8)
  • 172.16.0.0 到 172.31.255.255(172.16/12)
  • 192.168.0.0 到 192.168.255.255(192.168/16)

这些地址只能用于一个机构的内部通信,而不能用于和因特网上的主机通信。
在因特网中的所有路由器对目的地址是专用地址的数据报一律不进行转发。

虚拟专用网VPN

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-vrw1auVA-1626231276098)(%E8%AE%A1%E7%AE%97%E6%9C%BA%E7%BD%91%E7%BB%9C.assets/image-20210619163210111.png)]

​ 在每一个场所A或B内部的通信量都不经过因特网。但如果场所A的主机X要和另一个场所B的主机Y通信,那么就必须经过路由器 R 1 R_1 R1 R 2 R_2 R2。主机X同主机Y发送的IP 数据报的源地址是10.1.0.1 而目的地址是10.2.0.3。这个数据报先作为本机构的内部数据报从X发送到与因特网连接的路由器 R 1 R_1 R1。路由器 R 2 R_2 R2,收到内部数据报后,发现其目的网络必须通过因特网才能到达。 就把整个的内部数据报进行加密(这样就保证了内部数据报的安全),然后重新加上数据报的肖部,封装成为车因特网上发送的外部数据报,其源地址是路由器 R 1 R_1 R1的全球地址125.1.23.而目的地址是路由器 R 2 R_2 R2的全球地址194.4.5.6。路由器 R 2 R_2 R2收到数据报后将其数据部分取出进行解密,恢复出原来的内部数据报(目的地址是 10.2.0.3),交付给主机Y。可见虽然X向Y发送的数据报是通过了公用的因特网,但在效果上就好像是在本部门的专用网上传送一样。如果主机Y要向X发送数据报,那么所经过的步骤也是类创的。

网络地址转换 NAT

需要在专用网连接到因特网的路由器上安装NAT软件。装有NAT软件的路由器叫做NAT路由器,它至少有一个有效的外部全球地址 I P G IP_G IPG。所有使用本地地址的主机在和外界通信时都要在NAT路由器上将其本地地址转换成 I P G IP_G IPG才能和因特网连接。

在这里插入图片描述

4.7 IPv6

5.运输层

5.1 运输层协议概述

运输层向它上面的应用层提供通信服务,它属于面向通信部分的最高层,同时也是用户功能中的最低层。

只有位于网络边缘部分的主机的协议栈才有运输层,运输层为相互通信的应用进程提供了逻辑通信。

主要功能

  • 运输层为应用进程之间提供端到端的逻辑通信(但网络层是为主机之间提供逻辑通信)。
  • 运输层还要对收到的报文进行差错检测(网络层只对IP数据报的首部进行检测)。
  • 运输层有两种不同的运输协议,即面向连接的 TCP 和无连接的 UDP。

两个主要协议

  • UDP

    • 传送数据之前不需要先建立连接。
    • 收到 UDP 报文后,不需要给出任何确认。
    • 虽然 UDP 不提供可靠交付,但某些情况下 UDP 最有效。
  • TCP

    • 提供面向连接的服务。

    • TCP 不提供广播或多播服务。

    • 增加了许多的开销。这不仅使协议数据单元的首部增大很多,还要占用许多的处理机资源。

端口

为了使运行不同操作系统的计算机的应用进程能够互相通信,就必须用统一的方法对 TCP/IP 体系的应用进程进行标志。

协议端口号(端口):通信的终点,因为只要把报文交到目的主机的某一个合适的目的端口,剩下的工作(即最后交付目的进程)就由 TCP 来完成。

16位端口号

  • 服务器端使用的端口号

    • 熟知端口号:0~1023

      FTPTELNETSMTPDNSTFTPHTTPSNMP
      212325536980161
    • 登记端口号:1024~49151,为没有熟知端口号的应用程序使用的。使用这个范围的端口号必须在 IANA 登记,以防止重复。

  • 客户端使用的端口号短暂端口号,49152~65535,留给客户进程选择暂时使用。通信结束后,这个端口号可供其他客户进程以后使用。

5.2 用户数据报协议UDP

特点

  • 无连接
  • 尽最大努力交付
  • 面向报文
  • 没有拥塞控制
  • 支持一对一、一对多、多对一、多对多的交互通信
  • 首部开销小

过程

  • 发送方:应用层交给 UDP 多长的报文,UDP 就照样发送,即一次发送一个报文。
  • 接收方: UDP 对 IP 层交上来的 UDP 用户数据报,在去除首部后就原封不动地交付上层的应用进程,一次交付一个完整的报文。
  • 应用程序必须选择合适大小的报文。
    • 太大在IP层需要分片
    • 太小影响传输效率

报文格式

在这里插入图片描述

5.3 传输控制协议TCP

特点

  • TCP 是面向连接的运输层协议。
  • 每一条 TCP 连接只能是点对点的(一对一)。
  • TCP 提供可靠交付的服务。
    无差错、不丢失、不重复、按序到达
  • TCP 提供全双工通信。
  • 面向字节流。

套接字

套接字 socket = (IP地址: 端口号)

每一条 TCP 连接唯一地被通信两端的两个端点(即两个套接字)所确定

停止等待协议

在这里插入图片描述

确认丢失、确认迟到

连续ARQ协议

接收方一般采用累积确认的方式。即不必对收到的分组逐个发送确认,而是对按序到达的最后一个分组发送确认,这样就表示:到这个分组为止的所有分组都已正确收到了。

Go-back-N(回退 N),表示需要再退回来重传已发送过的 N 个分组。

TCP报文段格式

在这里插入图片描述

可靠传输

  • TCP 连接的每一端都必须设有两个窗口——一个发送窗口和一个接收窗口。
  • TCP 的可靠传输机制用字节的序号进行控制。TCP 所有的确认都是基于序号而不是基于报文段。
  • TCP 两端的四个窗口经常处于动态变化之中。
  • TCP连接的往返时间 RTT 也不是固定不变的。需要使用特定的算法估算较为合理的重传时间。

流量控制

让发送方的发送速率不要太快,既要让接收方来得及接收,也不要使网络发生拥塞。

滑动窗口机制

拥塞控制

  • 拥塞控制是一个全局性的过程,涉及到所有的主机、所有的路由器,以及与降低网络传输性能有关的所有因素。
  • 流量控制往往指在给定的发送端和接收端之间的点对点通信量的控制。
  • 流量控制所要做的就是抑制发送端发送数据的速率,以便使接收端来得及接收。

四种方法:慢开始、拥塞避免、快重传、快恢复

TCP运输连接管理

三个阶段:连接建立数据传送连接释放

三次握手建立TCP连接

在这里插入图片描述

  • 第一次握手:客户端发送syn包(syn=j)到服务器,并进入SYN_SEND状态,等待服务器确认;

  • 第二次握手:服务器收到syn包,必须确认客户的syn(ack=j+1),同时自己也发送一个SYN包(syn=k),即SYN+ACK包,此时服务器进入SYN_RECV状态;

  • 第三次握手:客户端收到服务器的SYN+ACK包,向服务器发送确认包ACK(ack=k+1),此包发送完毕,客户端和服务器进入ESTABLISHED状态,完成三次握手。

四次握手关闭连接

在这里插入图片描述

TCP的有限状态机

在这里插入图片描述

6.应用层

​ 应用层协议是为了解决某一类应用问题,而问题的解决又是通过位于不同主机中的多个应用进程之间的通信和协同工作完成的。应用层规定了应用进程在通信时所遵循的协议。

常用网络应用模型:客户/服务器模型、对等模型P2P模型

6.1 域名系统DNS

因特⽹采⽤层次树状结构的命名⽅法,任何⼀个连接到因特⽹的主机或路由器,都有⼀个唯⼀的层次结构名称,即域名

域名结构

域可以划分为⼦域,⽽⼦域还可以继续划分为⼦域的⼦域,这样就形成了顶级域,⼆级域,三级域等。

域名注意点

  • 标号中的英⽂不区分大小写

  • 标号中除连字符(-)外不能使⽤其他的标点符号

  • 每个标号不超过63个字符,多标号做成的完整域名最⻓不超过255个字符

  • 级别最低的域名写在最左边,级别最⾼的顶级域名写在最右边。

顶级域名分类

  • 国家顶级域名:如cn,us,uk

  • 通⽤顶级域名:.com(公司),.net(网络服务机构),.org(非营利性组织),.gov(美国政府部⻔)

  • 基础机构域名:这种顶级域名只有⼀个,即arpa,⽤于反向域名解析,因此⼜称反向域名。

在这里插入图片描述

域名服务器

  • 根域名服务器:最⾼层次的域名服务器,⽤来管辖顶级域,所有的根域名服务器都知道所有的顶级域名服务器的IP地址。不管是哪个本地域名服务器,若要对因特网上任何⼀个域名进行解析,只要自己无法解析,就首先要求助于根域名服务器只要自己无法解析,就首先要求助于根域名服务器。

  • 顶级域名服务器负责管理在该顶级域名服务器注册的所有⼆级域名。 收到DNS查询请求时,就给出相应的回答(可能是最后的结果,也可能是下⼀步应当查找的域名服务器的IP地址)。

  • 授权域名服务器权限域名服务器):每台主机都必须在授权域名服务器处登记,为了更加可靠的⼯作,⼀台主机最好⾄少有两个授权域名服务器,授权域名服务器总能将其管辖的主机名转换为该主机的IP地址。实际上,许多域名服务器都同时充当本地域名服务器和授权域名服务器。

  • 本地域名服务器:每个因特⽹服务提供者(ISP),或⼀所⼤学,甚⾄⼀所⼤学中

    的各个系,都可以拥有⼀个本地域名服务器。当⼀台主机发出DNS查询请求时 这个查询请求报⽂就发送给该主机的本地域名服务器

域名查询

  • 正向解析:把域名映射成IP地址的过程
  • 反向解析:把IP地址映射成域名的过程

方式:递归查询递归与迭代相结合的查询

在这里插入图片描述

6.2 文件传输协议FTP、TFTP

6.2.1 FTP

使用TCP可靠传输

FTP在⼯作时使用两个并⾏的TCP连接

  • 控制连接:服务器监听21号端⼝,等待客服连接,建⽴在这个端⼝上的连接控制连接,控制连接⽤来传输控制信息(如连接请求,传送请求等),并且控制信息都以7位ASCII格式传送。FTP客户端发出的传送请求,通过控制连接发送给服务器端的控制进程,但控制连接并不⽤来传送⽂件。

  • 数据连接:主动方式使⽤TCP20端口,被动⽅式由服务器和客户端⾃⾏协商决定。(端口>1024)。 服务器端的控制进程在接受到FTP客户发来的⽂件传输请求后,就创建“数据传送进程”和“数据连接”。 数据连接⽤来连接客服端和服务器端的数据传送进程,数据传送进程实际完成⽂件的传送,在传送完毕后关闭“数据传送据”并结束运行。

6.2.2 TFTP
  • 使用UDP数据报
  • TFTP占用内存小,对较小计算机和某些特殊用途的设备很重要。

6.3 远程终端协议TELNET

6.4 万维网WWW

万维网的内核部分是由三个标准构成的

  • 统⼀资源定位符(URL):负责标识万维⽹上的各种⽂档,并使每个⽂档在整个万维⽹的范围内具有唯⼀的标识符URL。

在这里插入图片描述

  • 超文本传输协议(HTTP):⼀个应⽤层协议,它使⽤TCP链接进行可靠的传输,HTTP是万维网客户程序和服务器之间交互所必需严格遵守的协议。

    用户浏览页面方法

    输入URL、点击超链接

    1. 浏览器分析URL

    2. 浏览器向DNS请求解析IP地址

    3. DNS解析出IP地址

    4. 浏览器与服务器建立TCP连接

    5. 浏览器发出取文件命令

    6. 服务器响应

    7. 释放TCP连接

    8. 浏览器显示

    • HTTP特点

      • HTTP协议是无状态的。即同⼀个客户第⼆次访问同⼀个服务器同⼀个客户第⼆次访问同⼀个服务器上的页面时,服务器的响应与第⼀次被访问时的相同。通常使用Cookie加数据库的⽅式来跟踪⽤户的活动。Cookie是存储在用户主机中的文本文件是存储在⽤户主机中的⽂本⽂件,纪录⼀段时间内某用户的访问记录(使⽤识别码识别,如“123456”)。⽬的是提供个性化服务。
      • HTTP采⽤TCP作为运输层协议,但HTTP协议本身是⽆连接的(通信双⽅在交换在交换HTTPHTTP报⽂之前不需要先建⽴报⽂之前不需要先建立HTTP连接)。
    • HTTP连接方式

      • 持久连接(Keep-alive)

        • 非流水方式:客户在收到前⼀个响应后才能发出下⼀个请求

        • 流水方式:客户每遇到⼀个对象引⽤就⽴即发出⼀个请求,因⽽

          客户可以逐个地连续发出对各个引⽤对象的请求

      • 非持久连接(Close):每个⽹⻚元素对象的传输都需要单独建⽴⼀个

        需要单独建⽴⼀个TCP连接

    • 报文格式

      • 请求报文:从客户向服务器发送的请求报文

        在这里插入图片描述

      • 响应报文:从服务器到客户的回答

        在这里插入图片描述

  • 超⽂本标记语言(HTML):⼀种⽂档结构的标记语⾔,它使用⼀些约定标记对页⾯上的各种信息、格式进⾏描述。

6.5 电子邮件

在这里插入图片描述

电子邮件组成结构

  • 用户代理
  • 邮件服务器::发送和接收邮件,向发送⼈报告邮件传送结果。采⽤客服/服务器模式,邮件服务器既可以做服务器端也可以做客户端。
  • 协议:SMTP(用以发送),POP3(用以接收)

SMTP通信三个阶段

  • 连接建立

    (1)发送⽅写邮件,并发送给发送⽅邮件服务器,放入邮件服务器的发送缓存中。

    (2)发送方邮件服务器每隔⼀定时间,对缓存中的邮件进行扫描,若有邮件,准备发送。

    (3)使用SMTP协议,使⽤熟知端⼝号25号,与接收⽅邮件服务器建立TCP连接。

    (4)连接建立之后,接收方邮件服务器回复⼀个“220 Service ready”的应答信息。

    (5)SMTP客户会向SMTP服务器发送⼀个“Hello”命令,附上发送方主机名。

    (6)若SMTP服务器有能力接收邮件有能⼒接收邮件,回答“250 OK”; 若SMTP服务器没有能立接收邮件没有能⼒接收邮件,则回答“421 Service not available”。

    在这里插入图片描述

  • 邮件传送

    ​ 首先。⽤A表示发送法邮件服务器,B表示接收⽅邮件服务器。

    (1)A发送⼀个“MAIL FROM:发送⼈地址”:表示发送⽅电子邮件的地址;

    (2)B若准备好 ,返回“250 OK”;否则返回:数字+文件信息说明;⽬的是说明SMTP服务器是否已经准备好接收邮件。

    (3)若A收到了“250 OK”,则A发送 RCTP TO:<收件⼈地址>(可以发送多个RCPT命令)。

    (4)每发送⼀个RCTP命令,若收件⼈地址正确,则B返回“250 OK”;若收件⼈地址错误,则B返回“550 No such user here”。⽬的是SMTP服务器确定是否有这个用户。

    (5)A发送⼀个DATA命令,准备要开始传输邮件的内容了。

    (6)B:SMTP服务器同意传输

    (7)A:正式传输内容。发送完毕后,发送.

    (8)B:返回⼀个“250 OK”

  • 连接释放

    (1)邮件发完,SMTP客户发送客户发送QUIT命令,SMTP服务器发“211”,表示同意释放TCP连接。

SMTP缺点

  • SMTP不能传送可执⾏⽂件或者其他⼆进制形象。
  • SMTP仅限于传送7位ASCII码,不能传送其他非英语国家的文字。
  • SMTP服务器会拒绝超过⼀定⻓度的邮件。

6.6 动态主机配置协议DHCP(Dynamic Host Configuration Protocol)

参考:https://blog.csdn.net/zzd_zzd/article/details/88372014

​ 局域网的网络协议,使用UDP协议工作,统一使用两个IANA分配的端口:67(服务器端)68(客户端).DHCP通常被用于局域网环境,主要作用是集中的管理、分配IP地址使client动态的获得IP地址、Gateway地址、DNS服务器地址等信息,并能够提升地址的使用率。简单来说,DHCP就是一个不需要账号密码登录的、自动给内网机器分配IP地址等信息的协议。

报文种类

  • Discover(0x01):DHCP客户端在请求IP地址时并不知道DHCP服务器的位置,因此DHCP客户端会在本地网络内以广播方式发送Discover请求报文,以发现网络中的DHCP服务器。所有收到Discover报文的DHCP服务器都会发送应答报文,DHCP客户端据此可以知道网络中存在的DHCP服务器的位置。
  • Offer(0x02):DHCP服务器收到Discover报文后,就会在所配置的地址池中查找一个合适的IP地址,加上相应的租约期限和其他配置信息(如网关、DNS服务器等),构造一个Offer报文,发送给DHCP客户端,告知用户本服务器可以为其提供IP地址。但这个报文只是告诉DHCP客户端可以提供IP地址,最终还需要客户端通过ARP来检测该IP地址是否重复
  • Request(0x03) DHCP客户端可能会收到很多Offer请求报文,所以必须在这些应答中选择一个。通常是选择第一个Offer应答报文的服务器作为自己的目标服务器,并向该服务器发送一个广播的Request请求报文,通告选择的服务器,希望获得所分配的IP地址。另外,DHCP客户端在成功获取IP地址后,在地址使用租期达到50%时,会向DHCP服务器发送单播Request请求报文请求续延租约,如果没有收到ACK报文,在租期达到87.5%时,会再次发送广播的Request请求报文以请求续延租约。
  • ACK(0x05):DHCP服务器收到Request请求报文后,根据Request报文中携带的用户MAC来查找有没有相应的租约记录,如果有则发送ACK应答报文,通知用户可以使用分配的IP地址
  • NAK(0x06):如果DHCP服务器收到Request请求报文后,没有发现有相应的租约记录或者由于某些原因无法正常分配IP地址,则向DHCP客户端发送NAK应答报文,通知用户无法分配合适的IP地址
  • Release(0x07):当DHCP客户端不再需要使用分配IP地址时(一般出现在客户端关机、下线等状况)就会主动向DHCP服务器发送RELEASE请求报文,告知服务器用户不再需要分配IP地址,请求DHCP服务器释放对应的IP地址
  • Decline(0x04):DHCP客户端收到DHCP服务器ACK应答报文后,通过地址冲突检测发现服务器分配的地址冲突或者由于其他原因导致不能使用,则会向DHCP服务器发送Decline请求报文,通知服务器所分配的IP地址不可用,以期获得新的IP地址
  • Inform(0x08):DHCP客户端如果需要从DHCP服务器端获取更为详细的配置信息,则向DHCP服务器发送Inform请求报文;DHCP服务器在收到该报文后,将根据租约进行查找到相应的配置信息后,向DHCP客户端发送ACK应答报文。目前基本上不用了。

工作流程----客户端登录网络

  • 客户机初始化 & 寻找DHCP服务器(DHCP Discover):DHCP客户端启动时,计算机发现本机上没有任何IP地址设定,将以广播方式通过UDP 67端口发送DHCP Discover发现信息来寻找DHCP服务器,因为客户机还不知道自己属于哪一个网络,所以封包的源地址为0.0.0.0目的地址为255.255.255.255,向网络发送特定的广播信息。网络上每一台安装了TCP/IP协议的主机都会接收这个广播信息,但只有DHCP服务器才会做出响应。
    • DHCP discover的等待时间预设为1秒,也就是当客户机将第一个DHCP discover封包送出去之后,在1秒之内没有得到回应的话,就会进行第二次DHCP discover广播。若一直没有得到回应,客户机会将这一广播包重新发送四次(以2,4,8,16秒为间隔,加上1-1000毫秒之间随机长度的时间)。如果都没有得到DHCP Server的回应,客户机会从169.254.0.0/16这个自动保留的私有IP地址中选用一个IP地址。并且每隔5分钟重新广播一次,如果收到某个服务器的响应,则继续IP租用过程。
  • 分配IP地址 & 提供IP地址租用(DHCP Offer):DHCP服务器收到客户端发出的DHCP discover广播后,通过解析报文,查询dhcpd.conf配置文件。它会从那些还没有租出去的地址中,选择最前面的空置IP,连同其它TCP/IP设定,通过UDP 68端口响应给客户端一个DHCP offer数据包(包中包含IP地址、子网掩码、地址租期等信息)。告诉DHCP客户端,该DHCP服务器拥有资源,可以提供DHCP服务。
    • 此时还是使用广播进行通讯,源IP地址为DHCP服务器的IP地址,目标地址为255.255.255.255。同时,DHCP服务器为此客户端保留它提供的IP地址,从而不会为其他DHCP客户分配此IP地址。
    • 由于客户端在开始的时候还没有IP地址,所以在其DHCP discover封包内会带有其MAC地址信息,并且有一个XID编号来辨别该封包,DHCP服务器响应的DHCP offer封包则会根据这些资料传递给要求租约的客户。
  • 接受IP地址 & 接受IP租约(DHCP Request):DHCP客户端接受到DHCP offer提供信息之后,如果客户机收到网络上多台DHCP服务器的响应,一般是最先到达的那个,然后以广播的方式回答一个DHCP request数据包(包中包含客户端的MAC地址、接受的租约中的IP地址、提供此租约的DHCP服务器地址等)。告诉所有DHCP服务器它将接受哪一台服务器提供的IP地址,所有其他的DHCP服务器撤销它们的提供以便将IP地址提供给下一次IP租用请求。
    • 此时,由于还没有得到DHCP服务器的最后确认,客户端仍然使用0.0.0.0为源IP地址,255.255.255.255为目标地址进行广播。
    • 事实上,并不是所有DHCP客户端都会无条件接受DHCP服务器的offer,特别是如果这些主机上安装有其它TCP/IP相关的客户机软件。客户端也可以用DHCP request向服务器提出DHCP选择,这些选择会以不同的号码填写在DHCP Option Field里面。客户机可以保留自己的一些TCP/IP设定。
  • IP地址分配确认 & 租约确认(DHCP Ack):当DHCP服务器接收到客户机的DHCP request之后,会广播返回给客户机一个DHCP ack消息包,表明已经接受客户机的选择,告诉DHCP客户端可以使用它提供的IP地址。并将这一IP地址的合法租用以及其他的配置信息都放入该广播包发给客户机。
    • 客户端在接收到DHCP ack广播后,会向网络发送三个针对此IP地址的ARP解析请求以执行冲突检测,查询网络上有没有其它机器使用该IP地址;如果发现该IP地址已经被使用,客户机会发出一个DHCP decline数据包给DHCP服务器,拒绝此IP地址租约,并重新发送DHCP discover信息。此时,在DHCP服务器管理控制台中,会显示此IP地址为BAD_ADDRESS。
    • 如果网络上没有其它主机使用此IP地址,则客户机的TCP/IP使用租约中提供的IP地址完成初始化,从而可以和其他网络中的主机进行通讯。

工作流程----客户端重新登录

  • 重新登录:以后DHCP客户端每次重新登录网络时,就不需要再发送DHCP discover发现信息了,而是直接发送包含前一次所分配的IP地址的DHCP request请求信息。当DHCP服务器收到这一信息后,它会尝试让DHCP客户机继续使用原来的IP地址,并回答一个DHCP ack确认信息。如果此IP地址已无法再分配给原来的DHCP客户端使用时,则DHCP服务器给DHCP客户端回答一个DHCP nack否认信息。当原来的DHCP客户机收到此DHCP nack否认信息后,它就必须重新发送DHCP discover发现信息来请求新的IP地址。

工作流程----客户端离线

  • 更新租约:DHCP服务器向DHCP客户机出租的IP地址一般都有一个租借期限,期满后DHCP服务器便会收回出租的IP地址。如果DHCP客户机要延长其IP租约,则必须更新其IP租约。
    • 客户端会在租期过去50%的时候,直接向为其提供IP地址的DHCP服务器发送DHCP request消息包。如果客户端接收到该服务器回应的DHCP ack消息包,客户端就根据包中所提供的新的租期以及其它已经更新的TCP/IP参数,更新自己的配置,IP租用更新完成。如果没有收到该服务器的回复,则客户端继续使用现有的IP地址,因为当前租期还有50%。
    • 如果在租期过去50%的时候没有更新,则客户端将在租期过去87.5%的时候再次向为其提供IP地址的DHCP联系。如果还不成功,到租约的100%时候,客户端必须放弃这个IP地址,重新申请。如果此时无DHCP可用,客户端会使用169.254.0.0/16中随机的一个地址,并且每隔5分钟再进行尝试。

6.7 简单网络管理协议SNMP

6.8 应用进程跨越网络的通信

6.9 P2P应用

腾讯QQ:信息接收方在线时P2P,离线时C/S

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值