admin 管理员组

文章数量: 887019

计算机网络

概述

互联网边缘部分的做用,以及分组交换的概念

计算机网络的性能指标

计算机网络的分层次的体系结构,协议和服务的概念

互联网组成

  1. 边缘部分

    C/S 客户-服务器方式 P2P(对等连接)不区分哪一个是客户端和服务端、双方可以互为客户和服务端

  2. 核心部分

    路由器 router 实现分组交换的关键构件、转发收到的分组

    电路交换的特点:建立连接(占用通信资源)->通话(一直占用通信资源)->释放连接(归还通信资源)

    即在通话使用过程中用户始终占用端到端的通信资源。

    分组交换:存储转发,将报文划分为几个分组,利用相关控制信息进行分装为数据单元。然后进行转发

计算机网络的性能

     1. 速率: 数据率或比特率
     2. 带宽:单位时间内信道能够通过的最高数据率
     3. 吞吐量:单位时间内通过某网络的实际数据量

发送延时:发送端发送一个完整的数据帧所需要的时延

传播延时:电磁波在信道中传播所需要的时间

处理延时:主机或路由器处理数据分组时花费的时间

排队延时:在路由器中等待分组时间

延时带宽积

往返时间RTT

利用率:包括信道利用率和网络利用率

计算机网络体系结构

  1. 应用层

    任务:通过应用进程间的交互来完成特定网络应用 如DNS,HTTP,SMTP等

    数据单元:报文

  2. 运输层(传输层)

    任务:负责向两台主机中的进程的通信提供通用的数据传输服务。应用层利用该服务传送应用层的报文。

    主要协议有:

     传输控制协议TCP:提供面向连接的、可靠的数据传输服务   传输数据单位是 :报文段
     
     用户数据报协议 UDP:提供无连接的、尽最大努力的数据传输服务(不保证数据传输的可靠性) 数据传输的单位是: 用户数据报
    
  3. 网络层

    任务:负责为分组交换网上的不同主机提供通信服务。 在发送数据时,网络层把运输层产生的报文段或用户数据报封装成分组或包进行传送。使用IP协议 因此也叫做IP数据报,或数据报(与运输层UDP的用户数据报不同、不要弄混)

    网络层也称作网际层、IP层

  4. 数据链路层(链路层)

    任务:将网络层交下来的IP数据报组装成桢。每一帧包括数据和必要的控制信息(同步信息、地址信息、差错控制等)

  5. 物理层

    任务:考虑用多大的电压代表1或0,以及接收方如何识别发送发所发送的比特,

    传送数据单位:比特

    协议数据单元PDU:OSI参考模型为对等层次之间传送的数据单位的命名

    实体:任何可以接受或者发送信息的软件进程或者硬件

    协议:控制两个对等实体进行通信的规则的集合

    在协议控制下,下层向上层提供服务,所以协议是水平的,服务是垂直的

物理层

特性

任务:描述为确定与传输媒体的接口有关的一些特性

  1. 机械特性 指明接口所用接线器的形状和尺寸,引脚数目和排列、固定和锁定装置等
  2. 电气特性 指明接口电缆的各条线上出现的电压的范围
  3. 功能特性 指明某条线上出现的某一电平的电压意义
  4. 过程特性 指明对于不同功能的各种可能事件的出现顺序
信号

模拟信号,连续信号——代表消息的参数的取值是连续的

数值信号,离散信号——代表消息的参数的取值是离散的

信道 双方信息交互的方式
  1. 单向通信 单工通信 只能有一个方向的通信而没有反方向的交互 (如无线广播 、有线电广播)
  2. 双向交替通信 半双工通信 即通信双方都可以发送消息,但不能双方同时发送/接受消息
  3. 双向同时通信 全双工通信 即通信双方可以同时发送和接受信息。

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

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

基带调制(编码):对基带信号的波形进行变换,使它能够与信道特性相适应。 变换后的信号仍是基带信号 由于把数字信号转换成另一种形式的数字信号,也被称为编码

同代调制(载波): 把基带信号的频率范围搬移到较高的频段,并转换为模拟信号,

  • 不归零 正电平1,负电平0
  • 归零制 正脉冲1,负脉冲0
  • 曼彻斯特编码 在周期中心的向上跳变代表0,向下跳变代表1
  • 差分曼彻斯特编码,在每一位的中心处始终有跳变,位开始边界有跳变代表0,没有跳变代表1

  • 调幅AM 载波的振幅随基带数字信号而变化
  • 调频FM 载波的频率随基带数字信号而变化
  • 调相PM 载波的初始相位随基带数字信号而变化
香浓

信道的极限信息传输速率 C 可表达为
C = W log2(1+S/N) b/s

W 为信道的带宽(以 Hz 为单位)
S 为信道内所传信号的平均功率
N 为信道内部的高斯噪声功率

信道的带宽或信道中的信噪比越大,信息的极限传输速率就越高

信道复用技术

频分复用FDM 用户在同样的时间内占用不同的频率带宽而复用同一个信道

时分复用TDM 将时间划分为相同的时分复用帧TDM 在不同的时间占用的频带宽度

统计时分复用STDM 改进的时分复用,按需动态分配时隙 ,而不是固定的

波分复用WDM 光的频分复用,利用在光技术通信中

码分复用CDM 每个用户在相同的时间使用相同的频带进行通信,但各用户使用经过挑选的不同码型,

从而使得用户之间可以进行独立的通信

CDMA 码分多址

数据链路层

数据链路层信道类型:

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

内容: 点对点信道和广播信道的特点,以及所使用到的协议PPP协议以及CSMA/CD协议的特点

封装成帧 透明传输 差错检测

以太网MAC层的硬件地址

适配器、转发器、集线器、网桥、以太网交换机的作用以及使用场合

使用点对点的数据链路层

除物理线路外,还需要必要的通信协议来控制数据的传输,把这些协议的硬件和软件加到链路上,就构成数据链路 (网络适配器)

进行通信时步骤:
  1. 把网络层交下来的IP数据报添加首部和尾部封装成帧
  2. 把装好的帧发送给目标节点的数据链路层
  3. 目标节点的数据链路层收到的帧无差错,则将收到的帧中提取除IP数据报交给上面的网络层,否则丢弃这个帧。
封装成帧 透明传输 差错检测

封装成帧

透明传输 :透明传输的概念是指在数据链路层传输时,所传输的数据在数据链路层没有任何的阻挡,接收方所收到的数据和发送方发送的数据没有任何差别

字节填充:在传输的过程中,为防止数据部分出现帧定界符,使得接收方误以为收到的数据提前结束,所以采用转义字符的方法,将在数据部分出现的控制字符前插入转义字符,,在接收方的数据链路层将插入的转义字符删除

差错检测 是指在传输过程中产生的比特差错并非无传输差错 ,传输差错包括帧丢失,帧重复,帧失序等

点对点协议PPP

三个组成部分:

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

PPP协议的帧格式

F 0x7E (十六进制) 用来表示一个镇的开始或结束

A 0xFF 地址字段

C 0x03 控制字段

字节填充

当信息字段中出现和标志字段相同的比特组合时,则进行字节填充的办法使得数据部分能够完整的传送到接收端

零比特填充

有5个连续的1则立即填入一个0

PPP协议的工作状态

使用广播通信的数据链路层

适配器的作用
  1. 适配器用来连接计算机与局域网,同时要实现以太网协议
  2. 适配器和局域网通信是通过双绞线或电缆以串行传输的的方式进行,而适配器与计算机之间的通信是并行的方式进行,之所以适配器要能够进行两种数据传送方式之间的串并行转化
  3. 网络上的数据率与计算机总线上的数据率不同,适配器要安装内存器以进行两个速率下的缓存功能
  4. 适配器要能够实现以太网协议
  5. 计算机的一件地址就在适配器的ROM中(计算机的软件地址IP地址,在计算机的存储器的中)

CSMA/CD

基于以太网的广播同信方式采用的具有检测功能的协议

要点:

多点接入

载波监听 不管在发送前,还是发送中,每个站都必须不停地检测信道

碰撞检测 边发送边监听 若在信道上有至少两个站点同时发送信息便发生碰撞,使得两边发送的信息都作废;

使用集线器的星型拓扑结构

集线器特点:

  1. 使用电子器件模拟实际电缆线的工作,所以使用集线器的以太网在逻辑上还是一个总线网,各站逻辑上共享总线
  2. 许多接口,一个集线器很想多接口的转发器
  3. 集线器工作在物理层,每个接口仅仅简单地转发比特——收到就转发1,不进行碰撞检测
  4. 集线器采用专门的芯片,进行自适应串音回波抵消,接口转发出去的强弱信号产生干扰

以太网的MAC层

硬件地址也成为物理地址或MAC地址

48位(6个字节)的全球地址,即固化在计算机中适配器的ROM中的地址

MAC帧格式

目的地址和源地址指的是硬件地址

类型字段用来标志上层使用的是什么协议

FCS帧检验序列,使用CRC检验

前同步码是为了使适配器的时钟与比特流达成同步;

同时我们要注意的是在MAC帧中并没有数据长度的标识,但由于传输时使用的是曼彻斯特编码的方式,所以通过对曼彻斯特编码的信号特点的观察便可确定是否传送完毕;

无效的MAC帧:

  1. 帧的长度不是整数个数字节
  2. 用收到的帧检验系列FCS查出有差错
  3. 收到的帧MAC客户数据字段长度不在461500字节之间(MAC首部和尾部的长度共有18字节,单帧对小位64字节,可以得出有效帧的总长度为641518字节之间)

扩展的以太网

网桥:对收到的帧根据MAC帧的目的地进行转发和过滤。

以太网交换机的特点:

实质上就是一个多接口的网桥,以太网交换机的每个接口都直接与一个单台主机或另一个以太网交换机相连,并且一般都都工作在全双工方式,以太网交换机还具有并行性,相互通信的主机都是独占传输媒体,无碰撞地传输数据。内部有帧的交换表(MAC地址表)通过自学习算法自动逐渐建立起来,对收到帧不用进行缓存后再进行处理,而是再接收到数据帧的同时就立即按数据帧的目的地MAC地址转发,因而提高了帧的转发速度。

自学习功能中 生成树STP生成了一台主机到所有其它主机的路径是 无环路的树状结构,从而消除了兜圈子的现象。

虚拟局域网

在MAC帧的格式上插入了4字节的VLAN标记 源地址字段后面两个字节是0x8100时,就知道插入了VLAN标记在后面的两个字节 前3位是用户的优先级字段,接着一位是规范格式指示符CFI,最后的12位是该虚拟局域网VLAN的标识符VID。它唯一地标记了这个以太网帧属于哪一个VLAN.

以太网帧的最大长从原来的1518变为了1522(18首部尾部+1500数据+4VLAN标记)

网络层

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

网络层并不提供服务质量的承诺 也就是传输出去的分组可能出错、丢失、重复、失序等

采用运输层负责(差错处理、流量控制,可大大的降低网络的造价,运行方式灵活)

网际协议IP (IP协议) 配套使用的有

ICMP 网际控制报文协议

IGMP 网际组管理协议

ARP 地址解析协议

中间设备

物理层:转发器

数据链路层:网桥

网络层:路由器

网络层以上:网关

分类的IP地址

网络号为127为回环地址

全为0的主机号字段表示所连接到的单个网络地址

全为1的主机地址表四网络上的所有主机

IP地址与硬件地址

物理地址是数据链路层和物理层使用的地址,IP地址是网络层和以上各层使用的地址,是一种逻辑地址

MAC帧中的源地址和目的地址都是硬件地址,整个IP数据报在物理层被封装在数据部分,IP地址对数据链路层不可见

数据报在路由其之间传送时,途径的路由器地址不出现在IP数据报中,当前路由器根据目的IP地址自主路由出下一路由器地址

分组每次经过路由器转发时都要将MAC的首部和尾部丢弃重新封装——变换MAC帧中的目的地址和源地址

地址解析ARP

ARP:根据已知的IP地址解析出该主机的硬件地址

RARP:根据硬件地址解析出主机对应的IP地址

地址解析协议ARP解决问题的方法是在主机ARP高速缓存中放一个从IP地址到硬件地址的映射表,并且这个映射表还经常动态更新。

同时,ARP高速缓存中对每个硬件地址都设置了生存时间,超过生存时间的硬件地址便进行删除操作,便于进行动态更新,防止出现发送到错误(过时的)硬件地址处;

注意:地址解析协议ARP只能用来解决同一个局域网(包括该网络和与该网络相连的路由器)内的地址映射,网络之间的路由并能不能做到;

从硬件地址到IP地址的解析每次转发分组时都要重复进行,但这种开销是不可避免的,是为方便的在各种异构网络之间进行转发工作而屏蔽网络硬件之间的异构性,从而体现出虚拟网络的含义;

IP数据报的格式

版本 4位

首部长度 4位 最大值15 单位是32位字(4个字节 ) 表明头部最大位60字节

区分服务 8位

总长度 16位 指首部和数据之和的长度 2的16次方65535 由于IP层下面的数据链路层规定最大传送单元MTU为1500字节,过长的数据报就需要进行分片处理

首部检验和的作用:用于检验数据报在传送的过程中其首部是否出错;

检验方法:在发送方将IP数据报的首部划分为许多16位的字序列;并把检验和字段置零,用反码运算术将字相加之后,将得到的和的反码写入检验和位置;在接受方接收到数据报之后,使用相同的方法将首部所有的字(包括检验和)相加一次,若没有出错则,得到的结果必然为零,最后的结果便可作为是否出错的判断标志;

划分子网和构造子网

网络号,子网号,主机号(三级IP地址)

子网掩码 :连续的一串1 目的地址使用AND 子网掩码 就可以很快的得到子网网络

无分类编址CIDR

网络前缀 主机号

使用 ”/“在表明网络前缀位数 斜线后面的数字就是地址掩码中1的个数

网际控制报文协议ICMP

类型:差错报告报文 、 ICMP询问报文

差错报告报文四种:

  1. 终点不可达 路由器或主机不能交付数据报时,就向源点发送终点不可达报文
  2. 时间超过 当路由器收到生存时间为零的数据报时, 丢弃该数据报外,还要向源点发送时间超过报文
  3. 参数问题 当路由器或目的主机收到的数据报的首部中有的字段的值不正确时,就丢弃该数据报,并向源点发送参数问题报文
  4. 改变路由(重定向) 路由器把改变路由报文发送给主机,让主机知道下次应将数据报发送给另外的路由器

ICMP差错报告报文不应该发送的情况

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

询问报文的两种类型:

回送请求和回答 收到此报文的主机必须给源主机或路由器发送ICMP回送回答报文 (询问报文用来测试目的站是否可达以及了解其有关状态)

时间戳请求和回答 是请某台主机或路由器回答当前的日期和时间,时间戳回答报文有32位的字段, 返回1900.1.1到当前时刻的一共有多少秒。(时间戳回答报文 可用于时钟同步和时间测量 ping)

互联网的路由选择协议

分层次的路由选择协议

内部网关协议IGP 自治系统内部 具体的协议有多种,如RIP,OSPF

外部网关协议EGP 自治系统之间 目前使用BGP

内部网关协议RIP

RIP是一种分布式的基于距离向量的路由选择协议

分布式:每个路由器不断地和相邻路由器交换信息;(所交换的式当前路由器知道的所有路由信息)

距离向量:从当前路由器每经过一个路由器则距离加一;记录到达每个路由器的距离,以找出最小距离; 路径只能包含15个路由器 距离位16位相当于不可达

特点:

  • 仅和相邻的路由器交换信息
  • 路由器交换的信息是当前本路由器所知道的全部信息,即自己现在的路由表
  • 按固定时间间隔减缓路由信息 30s

距离向量算法

对于地址X的相邻路由器发来的RIP报文

  1. 先修改此报文中的所有项目,把 下一跳都改为X,并把所有的距离加1,

  2. 对修改后的rip报文中的每一项:

    如果原来的路由表中没有目的网络N,就把该项目添加到路由表中

    否则(有相同目标网络)

    ​ 若下一跳路由器地址是X,则把收到的项目替换成原路由表中的项目(下一跳是X,不管距离是否增大/缩小都要进行更新)

    ​ 否则(有相同的目标网络,但是下跳不是X)

    ​ 若收到项目在的D小于路由表中的距离,则进行更新

    ​ 否则什么也不做

特点:好消息传得快,坏消息传播的慢。 收敛慢

优点:实现简单、开销小

内部网关协议OSPF

开放段路径优先OSPF 使用看DJ算法 最短路径算法SPF

**特征:**并不表示其他的路由选择协议不是最短路径优先;(实际上所有在自治系统内的路由选择协议都是要找一条最短路径)

使用分布式的链路状态协议,

不单只考虑最短路径 有一个度量 来表示费用,距离,时延,带宽等等。

2,洪范法:

路由器通过所有的端口向所有的相邻路由器发送信息,而所有的相邻路由器也是同样的做法,(但发送的对象不包括之前向他发送信息的那个路由器),从而最终使得整个局域网都得到该信息的一个副本,

而发送的信息就是与本路由器相邻的所有路由器的链路状态(链路状态是指相邻路由器及到达该路由器的代价

只有链路状态发生变化时,才使用洪范法发送信息,(不是定期交换)

OSPF特点:收敛过程块 全网拓扑结构 每个路由器都知道内部所有路由器信息

外部网关协议BGP

BGP目标: 力求寻找一条能够到达目标网络且比较好的路由,而并非要寻找一条最佳路由

BGP采用路径向量路由选择协议

BGP发言人:在BGP协议中,一个自治系统中用来与其他自治系统(通过TCP连接)交换路由信息的路由器;

交换信息的两个BGP发言人彼此成为临站或对等站

所交换的信息是可达性信息、

每个发言人除了要运行BGP协议外,还要运行本自治系统内部的协议;

路由器的构成

路由选择部分: 控制部分 。核心是路由选择处理机,路由选择处理机的作用是构造路由表,定期维护更新路由表

分组转发部分: 输入输出端口,交换结构 三部分构成

交换结构的工作是将收到的分组根据路由表从输入端口转发到输出端口

三种转发方法:

  1. 通过存储器进行交换
  2. 通过总线经行交换
  3. 通过纵横(总线网)交换结构进行交换

IPV6

IPV6的主要变化

  1. 更大的地址空间 32位增大到4倍到128位
  2. 扩展的地址层次结构
  3. 灵活的首部格式
  4. 改进的选项 IPV6的首部长度是固定的
  5. 允许协议继续扩充
  6. 支持即插即用
  7. 支持资源的预分配
  8. IPV6首部改为8字节对齐
4——6G过渡

双协议栈 :主机或路由器装有双协议栈 IPV4和OPV6

隧道协议: 将IPV6数据报要进入IPV4网络是,将整个IPV6数据报封装成IPV4数据报的数据部分

IP多播

多播地址只能用于目的地址,不能用于源地址

多播组的IP地址标识符就是IP地址中的D类地址 前四位位1110 224.0.0.0-239.255.255.255

局域网上的硬件多播

多播组的MAC地址: 由MAC地址和D类IP地址的后23位凭借起来

多播数据报可以有没有加入多播组的主机发出,也可以通过没有组员接入的网络

虚拟局域网VPN和网络地址转换NAT

虚拟局域网VPN

专用地址:只能用于一个机构组织的内部通信不能用于互联网上的主机通信

物联网上的路由 器 对这些目的地址是专用地址的数据报一律不进行转发

  1. 10.0.0.0 到 10.255.255.255
  2. 172.16.0.0 到 172.31.255.255
  3. 192.168.0.0到192.168.255.255

内部网络所构成的虚拟专用网VPN 又称为 内联网VPN

一个机构有时需要某些外部机构参加进来 称为外联网VPN

远程接入VPN

网络地址转换NAT

网络地址转换

NAT路由器至少由一个有效的全球IP地址。本地地址的主机在与外界通信时,都要在NAT路由器上将其本地地址转换成路由器上的全球IP地址。才能和互联网连接

NAPT 网络地址与端口号转换 注意,旧地址的端口号不管想不想同 在NAT路由器上都要转为不同的端口 不能重复

多协议标记交换MPLS

在MPLS域的入口处,给每一个IP数据报打上固定长度的标记,然后对打上标记的IP数据报用硬件进行转发,大大加快了IP数据报的转发 转法时,不再上升到第三层网路层,而是根据标记再第二层链路层用硬件进行转发。

LSR标记交换路由器 LDP标记分配协议 LSP标记交换路径

运输层

内容:

  1. 运输层为相互通信的应用进程提供逻辑通信
  2. 端口和套接字的意义
  3. 无连接的UDP特点
  4. 面向连接的TCP特点
  5. 再不可靠的网络上实现可靠的传输工作原理,停止等待协议和ARQ协议
  6. TCP的滑动窗口、流量控制、拥塞控制和连接管理

从运输层的角度 通信的真正端点并不是主机而是主机中的进程,也就是端到端的通信

网络层为主机之间提供逻辑通信

运输层为应用进程之间提供端到端的逻辑通信

运输层需要对收到的报文进行 差错检测 而在网络层IP数据报首部中的检验和字段,只检验首部是否出现差错而不检查数据部分

用户数据报协议UDP 用户数据报 传送数据之前不需要建立连接】 收到UDP报文之后也不需要确认

传输控制协议TCP 报文段 可靠 面向连接 全双工的信道 需要先建立连接、数据传送结束后要释放连接、不提供广播或多播服务 不可避免的增加了 确认、流量控制、计时器、以及连接管理

运输层端口

软件端口:应用层的各种协议进程与运输实体进行层间交互的一种地址

在TCP UDP的首部格式中 都有源端口 目的端口

端口号只具有本地意义,它是为了标记本计算机应用层的各个进程在和运输层交互式的层间接口

16位组成的端口 65535个

用户数据报UDP

特点:

  1. 无连接的
  2. 尽最大努力交付,但不保证可靠性
  3. 面向报文 直接对应用交下来的报文加上首部 保留那些报文的边界 不拆分 不合并 后向下交付给IP层 即一次发送一个报文 对于IP层 报文太长 需要进行分片 太短也会是IP数据报的首部相对较长 降低了IP层的效率
  4. UDP没有拥塞控制 网络出现的拥塞不会使源主机的发送速率降低 对实时应用很重要 允许在网络发送拥塞丢失一些数据 但不允许数据有太大的时延
  5. UDP 支持 一对一 、一对多、多对一、多对多的交互通信
  6. UDP的首部开销小 只有8字节 比TCP20字节小

  1. 源端口 2字节
  2. 目的端口 2字节
  3. 长度 2字节
  4. 校验和 2字节 在计算校验和是需要在数据报之前将增加12字节的伪首部

传输控制协议TCP概述

特点:

  1. 面向连接的运输层协议

  2. 每条TCP连接只能有两个端点 点对点

  3. TCP提供可靠交付的服务 无差错、不丢失、不重复、且按序到达

  4. TCP提供全双工通信

  5. 面向字节流

    TCP不关心应用进程一次把多长的报文发送到TCP的缓存中,而是根据对面给出的窗口值和当前网络拥塞的程序决定一个报文段应包含多少个字节 UDP发送的报文长度是应用进程给出的

TCP的端点 叫 套接字 socket={IP地址:端口号}

TCP连接::{socket1,socket2}

停止等待协议

发送完一个分组就停滞发送,等待对方的确认,在收到确认后再发送下一个分组

1.无差错情况 发送的都得到确认

2.出现差错 分组发送之后会暂时保留该分组的副本 对每个分组进行编号 启动超时计时器 超时重传 得到确认之后就取消该分组的超时计时器

3.确认丢失 确认迟到

丢失确认A没有收到 就会重复发送分组 B收到重复的分组应采取的行动:

丢弃重复的分组

向A源发送确认

此确认和重传机制 可以用在不可靠的传输网络上实现可靠的通信

可靠的传输协议 常称为 自动重传请求ARQ 重传的请求是自动进行的

信道利用率

停止等待协议 优点是简单 但缺点是其信道的利用率低

连续ARQ协议和窗口抖动协议

ARQ自动请求重传

发送方维持一个发送窗口

接收方采用累计确认的方式进行 对按需到达的最后一个分组发送确认

累计确认 优点:容易实现 即使确认丢失也不必重传 缺点:不能向发送方反映出接收方已经正确收到的所有分组信息 例如 发送方发送了前5个分组 而中间的只有第三个分组丢失了, 接收方只能对前两个分组发出确认 发送方就无法自动后面三个分组的下落 只好重新发送后面三个分组 这就叫做Go-back-N回退N帧 (可见 如果通信质量不好使,连续的ARQ协议会来带负面影响)

TCP首部

  1. 源端口 目的端口

  2. 序号 对字节流中的每一个字节都按顺序编号

  3. 确认号 是期望收到对方下一个报文段的第一个数据字节的 序号

    确认号N 表明到序号N-1为止的所有数据都已正确收到

  4. 数据偏移 4位 4字节位单位 最大值60字节

  5. 保留 6位

  6. 紧急URG

  7. 确认ACK

  8. 推送PSH 尽快地向上交付给接收的应用程序

  9. 复位RST 说明TCP出现严重差错 必须释放连接 重新建立连接

  10. 同步SYN

  11. 终止FIN

  12. 窗口 2字节 窗口值 作为接收方让发送方设置其发送窗口的一句

  13. 校验和

  14. 紧急指针

  15. 选项

TCP可靠传输的实现

以字节位单位的滑动窗口

发送缓存方:

发送应用程序传送给发送方TCP准备发送的数据

TCP已经发送出去但尚未收到确认的数据

接收缓存方:

  1. 按序到达,但尚未被接收应用程序读取的数据
  2. 未按序到达的数据
超时重传时间的选择

TCP采用一种自适应算法

选择确认SACK

可用于只传送缺少的数据而不传送已经正确到达接收方的数据

在建立TCP连接时 就需要加上允许SACK选项双方都事先商量好

TCP的拥塞控制

流量控制

让发送方的发送速率不要太快,让接收方来得及接收

因此 发送方的发送窗口不能超过接收方的接收窗口

A接收到窗口0通知 就会启动一个持续计时器,以防止B的窗口更新丢失 当持续计时器到期就会发送一个0窗口的探测报文 ,让对方B在确认这个探测报文时给出新的窗口值

TCP拥塞控制

受 链路容量(带宽) 交换结点中的缓存和处理机制都是网络的资源 对网络资源的需要超过该资源所能提供的可用部分就会造成网络性能变差 这种情况就叫做 拥塞

拥塞控制 L防止过多的数据注入到网络中,这样可以使网络中的路由器和链路不致过载

拥塞控制算法向发送端发送控制报文。告诉发送端,网络已经出现麻烦必须放慢发送速率

TCP拥塞控制方法

  1. 慢开始 先设置cwnd=1 收到上一次的所有确认翻倍cwnd 指数增长 慢是只从1开始慢并不是指增长速率

  2. 拥塞避免 cwnd采用加1 线性规律缓慢增长 使网络比较不容易出现拥塞

  3. 快重传 让发送方尽早知道 发生了个别报文的丢失 首先要求接收方不要等待自己发送数据时才进行捎带确认 而是要立即发送确认 接收方必须立即发送M2的重复确认 当发送发一连收到3个重复确认就知道要进行立即重传了

  4. 快恢复 发送方知道现在只是丢失了个别报文段 于是不启动满开始而是执行快恢复算法 发送方调制门限值ssthresh=cwnd/2=8;同时设置拥塞窗口cwnd=ssthresh=8;并执行快开始。

TCP的运输连接管理

连接建立、数据传送、连接释放

连接建立过程中要解决以下三个问题:

  1. 要使每一方能够确知对方的存在
  2. 要婿双方协商一些参数(最大窗口值、是否使用窗口扩大选项、时间戳选项以及服务质量等)
  3. 能够对运输实体资源(如缓存大小、连接表中的项目)进行分配

主动发起的应用进程 客户

被动等待连接建立的应用进程 服务器

TCP 的连接建立

A 发送请求报文段 SYN报文需要消耗一个序列号seq=x 客户进入YSN-SENT 同步已发送状态

B收到请求 回复确认报文 ACK=1 SYN=1 确认号x+1 seq=y ack=x+1服务器进入SYN-RCVD 同步收到状态

A收到B的 确认报文后 还要向B给出确认 确认报文ACK=1 seq=x+1 ack=y+1

A最后还要发送一次确认 目的是未来 防止已丢失效的连接请求报文段突然又传到了B,因而产生错误。

TCP的连接释放

A客户 应用进向服务器B发送连接释放报文段 FIN=1 seq=1 A进入到终止等待1状态

B收到释放报文后 发出确认ack=u+1 seq=v B进入 CLOSE-WAIT 关闭等待状态

这时候的TCP连接处于 半关闭状态

A已经没有数据发送 关闭了A到B的数据发送 但是B若要发送给A数据 A仍要接收

A收到B的确认之后就进入到 终止等待2状态

B发送 释放报文 B进入LAST-ACK最后确认状态

A收到B的连接释放报文段后 需要回发 确认报文 进入TIME-WAI时间等待状态、

必须经过 时间等待计时器 TIME-WAIT timer 设置的2MSL后 A才会进入到 CLOSED状态

MSL为最长报文段寿命

此外 TCP还设置有一个 保活计时器

服务器每收到一次客户的数据,服务器就重新设置保活计时器 时间的设置通常是2小时

另外,保活器到时 会发送一个 探测报文段 每隔75S发送一次,若一连发送10个探测报文段后仍无客户相应 服务器就会任务客户故障了 关闭该连接

应用层

  1. 域名系统DNS 从域名解析出IP地址
  2. 万维网和HTTP协议,以及万维网的两种不同的信息收索引擎
  3. 电子邮件的传送过程 SMTP协议和POP3协议 IMAP协议使用的场合
  4. 动态主机配置协议DHCP的特点
  5. 网络管理的三个组成部分SNMP本身、管理信息结构SMI 和管理信息库MIB 的作用
  6. 系统调用和应用编程接口
  7. P2P文件系统

DNS域名解析

DNS 根域名服务器 顶级域名服务器 权限域名服务器 本地域名服务器

主机本地域名查询 一般采用 递归查询 主机询问的本地域名服务器不知道被查询域名的IP地址 那么本地域名服务器就会以DNS客户身份 向其它根域名服务器继续发出查询请求报文

本地域名服务器向根域名服务器查询的 通常采用 迭代查询

迭代特点: 根域名服务器收到 本地域名服务器的迭代查询请求报文时 要么给出所查询的IP地址, 要么告诉本地域名服务器 你下一步应该向哪个域名服务器进行查询 然后让本地服务器 自己进行后面的查询

文件传输协议

基于TCP的FTP

基于UDP的简单文件传输协议TFTP

它们都是 文件共享的一大类 即复制整个文件 副本修改后 在传回到原结点

NFS允许应用进程打开一个远地文件,并能在该文件的某一个特定的 位置上开始读写数据

基本原理:

使用客户服务启方式;服务器中分为两大进程:主进程用来接收请求消息;接收到文件传送消息之后启动若干从属进程处理消息;主进程仍然处于等待状态;

主进程和从属进程并发进行的;

在数据传送过程中,启动两个从属进程:**控制进程和数据传送进程;**其中控制进程用来传送数据传送过程中产生的控制信息;数据传送进程传送数据;同时建立两条连接:控制连接(21号端口)和数据传送连接(20号端口);

基于UDP的TFTP协议

**简单文件传送协议;**使用UDP数据报进行传送;只支持传输不支持交互;

主要特点:

1)每次传送的报文大小为512字节,(最后一个报文可不足512字节),并在最后一个字节中设置结束服标志;

2)数据报文进行编号;(从1开始)

3)支持ASCII 码或二进制传送

4)可对文件进行读或写;

5)使用简单的首部

6)每次发送完一个UDP之后要进行确认;

远程终端协议TELNET

作用:提供远程终端控制与访问操作;即通过互联网对远程终端进行访问控制;能够适应许多计算机和操作系统的差异;

将不同计算机操作系统上产生的控制信息转化成统一的格式网络上进行传送,然后转化成本地计算机需的格式;

万维网WWW

万维网是一个大规模的,联机式的信息储藏所;

使用的统一资源定位符URL来唯一的标识万维网中的各种文档位置;

万维网是一个分布式的超媒体系统;(是超文本系统的扩展)

万维网使用连接的方法进行站点之间的访问;

万维网以客户服务器的方式工作:客户向服务器发出访问请求,然后服务器将万维网文档发送给客户端;客户端即运行在主机中的浏览器;

在一个客户程序主窗口中显示的万维网文档称为页面;

万维网使用超文本传送协议HTTP进行文档传输工作;

万维网使用超文本标记语言HTML描述万维网页面;

URL的格式:
<协议>://<主机(主机的域名)>:<端口>/<路径>

常用的协议:http协议,ftp协议

路径:是指文档文件在主机中的位置

超文本传送协议HTTP

HTTP是面向事务的应用层协议,规定了浏览器怎样向万维网服务器请求万维网文档;以及服务器怎样将文档传送给浏览器;

HTTP协议使用面向连接的TCP协议作为运输层协议保证了传输的可靠性;

代理服务器:又称为万维网高速缓存;将最近的一些请求及其响应存储在代理服务器的本地磁盘中,避免了近期有相同请求时再次访问网络;

将很大一部分同信活动局限在局域网内部;

HTTP的保报文结构:

两类报文:请求报文和响应报文

动态主机配置协议DHCP

即插即用联网机制

DHCP作用:提供一种机制,称为即插即用连网,允许一台计算机加入网络和获取IP而不用手工参与

​ 协议配置:在协议软件中给参数赋值的动作叫做协议配置

​ 需要配置的项目:

​ IP地址

​ 子网掩码

​ 默认路由器的IP地址

​ 域名服务器的IP地址

***** DHCP工作方式:

​ (1)DHCP使用客户服务器方式

​ (2)需要IP地址的主机在启动时向DHCP服务器广播发送发现报文,这时该主机就成为DHCP客户

​ (3)本地网络上所有主机都能收到该报文,但只有DHCP服务器才回复此报文

​ (4)DHCP服务器先在其数据库中查找该计算机的配置信息,若找到,则返回找到的信息,若找不到,则从服务器IP地址池中取一个地址分配给该计算机

​ (5)DHCP服务器的回答报文叫提供报文,表示提供了IP地址等配置信息

​ DHCP中继代理:并不是每个网络上都有DHCP服务器,因为这样会使DHCP服务器数量过多,因此现在是使每个网络至少有一个DHCP中继代理,它配置了DHCP服务器的IP地址信息

​ DHCP中继代理工作流程:

​ 当DHCP中继代理收到主机A以广播形式发送的发现报文后,就以单播方式向DHCP服务器转发此报文,并等待其回答

​ 收到DHCP服务器回应的提供报文后,DHCP中继代理再把此提供报文发回给主机A

​ DHCP工作流程:

​ 1:DHCP服务器被动打开UDP端口67,等待客户端发来的报文

​ 2:DHCP客户从UDP端口68发送DHCP发现报文

​ 3:所有收到DHCP发现报文的服务器都会发出DHCP提供报文,因此客户可能收到多个DHCP提供报文

​ 4:客户从几个DHCP服务器中选择一个,并向其发送DHCP请求报文

​ 5:被选中的服务器发送确认报文DHCPACK,此时客户就可以使用这个IP地址了,这种状态叫已绑定状态;DHCP客户现在要根据服务器提供的租用期T设置两个计时器T1和T2,它们的超时时间分别为0.5T和0.875T,当超时时间到了就要请求更新租用期

​ 6:租用期过半,DHCP发送请求报文,要求更新租用期

​ 7:服务器若同意,则发回确认报文。客户得到了新的租用期,重置计时器

​ 8:服务器若不同意,则发回否认报文。这是客户停止使用原来的IP地址,而重新申请新IP地址(回到步骤2)

​ 9:客户可以随时提前终止服务器所提供的租用期,这时只需向DHCP服务器发送释放报文即可

应用进程跨网络的通信

系统调用

应用程序编程接口

P2P应用

没有服务器,主机之间通过对等方式进行交互通信

网络安全

本文标签: 计算机网络 要点 知识