计算机网络

136 阅读18分钟

计算机网络

一、体系结构

概念:计算机网络就是一些互连的、自治的计算机系统的集合

组成

  • 组成部分

    • 硬件:主机、通信线路、交换设备、通信处理机等
    • 软件:各种资源共享软件、各种工具软件
    • 协议:核心
  • 工作方式

    • 边缘部分:主机组成,用来进行通信和资源共享
    • 核心部分:网络和路由器组成,提供连通性和交换服务
  • 功能组成

    • 通信子网:各种传输介质、通信设备和相应网络协议
    • 资源子网:实现资源共享功能的设备及其软件集合

功能

  • 数据通信
  • 资源共享
  • 分布式处理
  • 提高可靠性
  • 负载均衡

分类

  • 按分布范围

    • 广域网:交换技术
    • 城域网:以太网技术
    • 局域网:广播技术
    • 个人区域网
  • 按传输技术

    • 广播式网络
    • 点对点网络
  • 按拓扑结构

    • 星形网络:中央设备交换机或路由器,中心结点对故障敏感
    • 总线形网络:任意一处对故障敏感
    • 环形网络:信号单向传输
    • 网状形网络:可靠性高
  • 按使用者

    • 公用网
    • 专用网
  • 按交换技术

    • 电路交换

      • 三个阶段:建立连接、传输数据、断开连接,典型传统电话网络

      • 特点

        • 优点:数据直接传送,延迟小
        • 缺点:线路利用率低
    • 报文交换(存储转发)

      • 充分利用线路容量、实现格式转换、实现一对多、多对一访问实现不同链路之间不同数据率的转换
    • 分组交换:缓冲易于管理,平均延迟小,更易于标准化

性能指标

  • 带宽
  • 时延
  • 吞吐量
  • 速率

分层结构

协议

  • 对等实体进行通信的集合

  • 组成

    • 语法:传输数据的格式
    • 语义:所要完成的功能
    • 同步:事件实现顺序

接口:同一结点内相邻两层间交换信息的连接点

服务:下层为相邻上层提供的功能调用

参考模型

  • ISO/OSI模型

    • 应用层:用户与网络的界面

    • 表示层:处理交换信息的表示方式,数据压缩、加密、解密

    • 会话层:管理主机间的会话进程,实现数据同步

    • 传输层

      • 端到端通信
      • 传输单位:报文段(TCP)或用户报(UDP)
      • 功能:提供可靠传输服务、流量控制、差错控制、服务质量、数据传输管理
      • 协议:TCP、UDP
    • 网络层

      • 传输单位:数据报、分组
      • 功能:路由选择、流量控制、拥塞控制、差错控制、网际互连
      • 协议:IP(网际协议)、IPX、ICMP(网际报文控制协议)、IGMP(网际组管理协议)、ARP(地址解析协议)、RARP、OSPF
      • 可同时提供无连接服务和面向连接服务
    • 数据链路层

      • 点对点通信
      • 传输单位:帧
      • 功能:成帧、差错控制、流量控制、传输管理、保证数据正确的顺序和完整性
      • 协议:SDLC、HDLC、PPP(点对点协议)、STP、帧中继
    • 物理层

      • 传输单位:比特
      • 功能:传输比特流
  • TCP/IP模型

    • 应用层
    • 传输层
    • 网际层
    • 网络接口层

二、物理层

通信基础

  • 信道

    • 单工:只有一个方向的通信,而没有反方向的交互
    • 半双工:通信双方都可以发送、接收信息,但不能同时发送、接收
    • 全双工:通信双方可以同时发送、接收信息
  • 定理

    • 奈氏准则:理想低通信道下的极限数据传输率2Wlog2V
    • 香农定理:信道的极限数据传输速率WIog2V(1+S/N)、信噪比=10log10(S/N)
  • 调制与编码

    • 调制:把数据变换为模拟信号的过程

    • 编码:把数据变换为数字信号的过程

    • 数字数据→数字信号

      • 非归零码

        • 实现容易、没有检错功能、难以保持同步
      • 曼彻斯特编码

        • 中间出现电平跳变,可用于同步,用于以太网
      • 差分曼彻斯特编码

        • 实现自同步、抗干扰性好,常用于局域网
    • 数字数据→模拟信号:幅移键控、频移键控、相移键控、正交振幅调制

    • 模拟数据→数字信号:1.抽样 2.量化 3.编码

    • 模拟数据→模拟信号:频分复用技术等

  • 传输方式

    • 电路交换:两结点之间建立一条专用的物理通信路径,传输期间一直独占

    • 报文交换:无需建立专门连接,报文携带有目标地址等信息,采用存储转发方式

    • 分组交换

      • 把报文分割成小的数据块,加上必要的控制信息进行传输
      • 数据报:分组之间可能存在不同路径,各个分组分别转发
      • 虚电路:在发送方和接收方建立一条逻辑上相连的虚电路,分组沿着虚电路传输

传输介质

  • 无线:无线电波、微波、红外线和激光
  • 有线:双绞线、同轴电缆、光纤

设备

  • 中继器

    • 原理:将衰减的信号再生
    • 将信号整形并放大再转发出去,消除信号的失真和衰减问题,具有5段通信介质-4个中继器-3个段接PC-2个段扩展规则
    • 两个网段的数据传输率要相同
  • 集线器

    • 实质上是一个大多端口中继器,对信号进行放大后发到其他所有端口
    • 拓扑结构上属于星形、共享式网络
  • 转发器:只能放大信号

三、数据链路层

功能:为网络层提供服务、链路管理、定界、帧同步与透明传输、流量控制和差错控制

组帧

  • 字符计数法:在帧头部使用一个计数字段来标明帧内字符数

  • 首尾定界法

    • 概念:使用特定字符或比特模式定结帧的开始和结束
    • 字符填充:在数中的特殊字符前面用转义字符填充
    • 比特填充:数据区每遇到连续5个1就填充一个0
  • 违规编码法:信号传输过程中采用违规的编码来表示帧的起始和终止

差错控制

  • 检错编码:奇偶校验码、循环冗余码

  • 纠错编码

    • 海明码

      • 能发现双比特错,但只能纠正单比特错
      • n个信息位插入k个校验位,满足:2k>=n+k+1
      • 纠错d位,码距为2d+1,检错d位,码距为d+1

可靠传输:数据链路层通常使用确认和超时重传两种机制来保证可靠传输

流量控制

  • 停止等待协议

    • 发送方每发送一帧都要等待接收方的应答信号才能发送下一帧
    • 发送窗口大小=1,接收窗口大小=1
  • 后退N帧协议

    • 发送方一次可发送N帧,按序接收,重传从最后一个确认开始
    • 发送窗口大小>1,接收窗口大小=1
  • 选择重传协议

    • 发送方一次可发送N帧,可以不按序接收,重传没有确认的帧
    • 发送窗口大小>1,接收窗口大小>1

介质访问

  • 信道划分

    • 频分复用FDM

      • 将多路信号调制到不同频率载波上疊加形成一个复合信号
      • 适用于传输模拟信号
    • 时分复用TDM

      • 将物理信道按时间分为若干时间片,轮流给不同信号使用

      • 传输介质的性质:介质的位速率大于单个信号的位速率

      • 适用于传输数字信号

      • 分类

        • 同步时分多路复用:预先分配时间片
        • 异步时分多路复用(统计时分复用):动态分配时间片
    • 波分复用:在一根光纤中传输多种不同波长(频率)的光信号

    • 码分复用:靠不同的编码来区分各路原始信号,例如CDMA技术

  • 随机访问

    • ALOHA协议

      • 纯ALOHA:不检测直接发送,若无确认则等待重发
      • 时隙ALOHA:将时何划分为若干等长时隙,按时发送
    • CSMA协议

      • 1-坚持:闲则发送,忙则继续监听
      • 非坚持:闲则发送,忙则等待一个随机时间再听
      • p-坚持:闲则以概率p发送,1-p等待下一个时隙,忙则等待一个随机时间再听
    • CSMA/CD协议

      • 流程:先听后发,边听边发,冲突停发,随机重发

      • 碰撞解决:采用二进制指数退避算法来解决碰撞问题

        • 考虑了网络负载对冲突的影响
        • k=min[重传次数,10]
        • 重传16次仍不成功,丢弃帧,向高层报告出错
      • 适用于总线型网络或半双工网络

      • 争用期:信号在最远两个端点之间往返传输的时间

    • CSMA/CA协议

      • 避免碰撞:预约信道、ACK帧(数据帧的确认)、RTS/CTS帧
      • 碰撞解决:采用二进制指数退避算法来解决碰撞问题
      • 适用于无线局域网
  • 轮询访问:令牌传递协议

    • 只有得到令牌的机器才能发送数据,其他必须等待
    • 适用于负载重的广播信道

局域网

  • 在一个较小地理范围内,将各种计算机等设备通过双绞线等介质连接

  • IEEE 802标准

    • 对应于OSI参考模型的数据链路层和物理层
    • 逻辑链路控制LLC子层:建立和释放逻辑连接、提供与高层的接口、差错控制、给帧加序号
    • 媒体连接控制MAC子层:组帧、拆帧、比特差错检测、寻址、透明传输、竞争处理
  • 传输介质适用情况

    参数10BASE510BASE210BASE-T10BASE-FL
    传输媒体基带同轴电缆(粗缆)基带同轴电缆(细缆)分屏蔽双绞线光纤对
    编码曼彻斯特编码
    拓扑结构总线型星型点对点
    最大段长500m185m100m2000m
    最多结点数目1003022
  • MAC帧

    • MAC地址长6字节,48位
    • 局域网中两设备的静态MAC地址相同时,都不能正常通信
  • 高速以太网

    • 100BASE-T

      • 在双绞线上传送100mbs基带信号的星形拓扑结构以太网,使用CSMA/CD协议
      • 支持半双工方式、全双工方式(不使用CSMA/CD协议)
      • 保持最短帧长不变,将一个网段的最大长度减少到100m,从而提高以太网数据传输速率
    • 10G比特以太网 只支持全双工方式

  • 令牌环网

    • 令牌实质是MAC控制帧,有时间限制

广域网

  • PPP协议

    • 提供差错检测功能,不可靠传输

    • 面向字节,采用字节填充方式

    • 只支持全双工链路、仅支持点对点通信

    • 两端可以运行不同的网络层协议

    • 组成

      • 链路控制协议LCP
      • 网络控制协议NCP
      • 一个将IP数据报封装到串行链路的方法
  • HDIL协议

    • 面向比特,采用0比特插入法
    • 分类:信息帧:使用编号和确认机制,提供可靠传输、监督帧和无编号帧

设备

  • 网桥

    • 特点:把两个或多个以太网通过网桥连接起来变成一个网段

    • 类型

      • 透明网桥:按照自学习算法填写转发表,按转发表转发
      • 源路由网桥:先发送发现帧,按返回结果转发
  • 交换机

    • 特点:实际就是一个多端口网桥

    • 交换方式

      • 直通式:帧在接收后只检查目的地址,几乎能马上就被传出去
      • 存储转发:先将接收到的帧缓存到高速缓存器,检查数据正确性
  • 相同点:按MAC地址转发,都能隔离冲突域,不能隔离广播域

四、网络层

功能:异构网络互联:数据链路层和物理层均不同、路由与转发、拥塞控制

路由算法

  • 静态:由网络管理员手工配置路由信息

  • 动态

    • 通过路由器间彼此交换的信息来构造路由表

    • 距离-向量算法

      • 慢收敛是导致发生回路的根本原因
    • 链路状态算法

层次路由

  • 概念:将互联网分成许多较小的自治系统,系统有权决定自己内部采什么路由协议

  • 协议

    • 内部网关协议:自治系统内部使用的网关协议,如RIP、OSPF
    • 外部网关协议:自治系统之间使用的网关协议,如BGP4

IPv4

  • 首部:固定部分共20B,其中首部长度、总长度和片偏移的基本单位分别为4B、1B、8B

  • NAT

    • 实现专用网络地址和公用网络地址之间的相互转换

    • 私有IP地址

      • A类:1个A类网段 10.0.0.0-10.255.255.255
      • B类:16个B类网段 172.16.0.0-172.31.255.255
      • C类:256个C类网段 192.168.0.0-192.168.255.255
  • 子网划分

    • 采用子网掩码对物理子网再一次进行子网划分
    • 增加子网的数量,减少广播域的大小
  • CIDR:在变长子网掩码的基础上提出的一种消除传统A、B、C类网络划分

  • 路由聚合

    • 概念:将网络前缀都相同的连续的地址组成“CIDR地址块”
    • 目的:使得一个地址块可以表示很多地址,减少路由表表项和路由器间的信息交换
    • 方法:把一串IP地址都写为二进制表示,取最长的公共前缀作为网络号
  • 协议

    • ARP 地址解析协议

      • 对于特定的IP地址,查询其对应的物理地址
      • 工作在网络层
    • DHCP

      • 给网络中的主机动态的分配IP地址
      • 应用层协议,基于UDP
    • ICMP

      • 用来给主机或路由器报告差错和异常情况

      • IP层协议

      • 种类

        • ICMP差错报告报文

          • 用于目标主机或路径上的路由器向源主机报告差错和异常情况

          • 分类

            • 终点不可达:路由器或主机不能交付数据报
            • 源点抑制:路由器或主机由于拥塞而丢弃数据报
            • 时间超过
            • 参数问题
            • 改变路由
        • ICMP询问报文

          • 回送请求和回答报文
          • 时间戳请求和回答报文
          • 掩码地址请求和回答报文
          • 路由器询问和通告报文
      • 应用

        • PING命令

          • 工作在应用层,直接使用网络层ICMP协议
          • 使用ICMP回送请求和回答报文
        • traceroute、tracert

          • 工作在网络层
          • 使用ICMP时间超过报文

IPv6:首部40B,地址长度16B

  • 主要用于解决IPv4的地址耗尽问题
  • 不允许分片
  • 不提供校验和字段

路由协议

  • 内部网关协议IGP

    • 路由信息协议RIP

      • 基于距离向量路由选择协议,使用UDP
      • 固定时间间隔,与相邻路由器交换整个路由表
      • 应用层协议
    • 开放最短路径优先协议OSPF

      • 基于链路状态路由算法,使用IP
      • 链路状态变化时,与全部路由器交换相邻结点链路状态
      • Dijkstra算法计算最优路径
  • 外部网关协议EGP

    • 边界网关协议BGP

      • 基于路径向量路由选择协议,使用TCP
      • 寻找的并非最佳路由
  • 路由协议总结

    协议RIPOSPFBGP
    类型内部内部外部
    路由算法距离-向量链路状态路径-向量
    传递协议UDPIPTCP
    路径选择跳数最少代价最低较好,非最佳
    交换结点和本结点相邻的路由器网络中所有的路由器和本结点相邻的路由器
    交换内容当前本路由器知道的全部信息与本路由器相邻的所有路由器的链路状态首次整个路由表
    非首次有变化的部分

IP组播

  • 在发送者和每一接收者之间实现点对多点网络连接,应用UDP协议
  • 使用D类地址224.0.0.0-239.255.255.255,后23位构成硬件地址
  • 为了避免环路,构造组播转发树

移动IP

  • 概念:移动节点以固定的网络IP地址,实现跨越不同网段的漫游功能
  • 组成:移动结点、本地代理、外部代理

路由器

  • 特点:可以用来连接异构网络,完成路由转发,能隔离冲突域和广播域, 依照IP地址转发

  • 组成

    • 控制部分:路由选择处理机,根据路由协议构造与维护路由表
    • 分组转发部分:交换结构、一组输入端口和一组输出端口
  • 路由表:目的网络IP地址、子网掩码、下一跳IP地址、接口

五、传输层

提供服务:进程之间的逻辑通信、复用和分用、差错检测、面向连接的TCP和无连接的UDP

UDP协议

  • 特点:无连接、首部开销小、最大努力交付,应用层要保证可靠性

  • 首部:8B

    • 源端口号
    • 目的端口号
    • 长度:首部和数据
    • 校验和:数据报有错丢弃
  • 校验:采用首部、伪首部(源、目的IP)、数据进行二进制反码算求和再取反

TCP协议

  • 特点:有连接、一对一、提供可靠交付、全双工通信、面向字节流

  • 首部:20B,源端口、目的端口、序号、确认号等控制信息

  • 连接管理:

    • 三次握手建立

      • 第二次握手SYN和ACK标志位置1
    • 四次握手释放

  • 可靠传输机制

    • 序号:用来保证数据能有序提交给应用层

    • 确认:确认号为期待收到的下一个报文段第一个字节的序号

    • 重传

      • 超时:计时器到期还没收到确认则重传对应报文
      • 冗余确认:当收到失序报文时向发送端发送冗余ACK
  • 流量控制:在确认报文中设置接收窗口rwnd的值来限制发送速率

  • 拥塞控制

    • 原理:根据自己估算的网络拥塞程度设置cwnd的值来限制发送速率

    • 方法

      • 慢开始:当cwnd<ssthresh时,每收到一个报文段的确认cwnd加1
      • 拥塞避免:当cwnd>ssthresh时,每经过一个往返延时cwnd加1
      • 快重传:当收到连续的三个重复的ACK,直接重传对方期待的报文
      • 快恢复:当收到连续的三个冗余ACK,令ssthresh=cwnd=cwnd/2
    • 拥塞处理:ssthresh置为原cwnd的一半,cwnd置1

六、应用层

网络应用模型

  • C/S模型

    • 服务器

      • 处理请求
      • 面向任务
    • 客户机

      • 发出请求
      • 面向用户
  • P2P模型

    • 每台机器既是服务器又是客户机
    • 动态的逻辑网络

域名系统

  • 作用:把主机名转换为IP地址

  • 协议与端口:运行在UDP之上,使用53号端口

  • 服务器分类

    • 根域名服务器:知道所有顶级域名服务器的地址
    • 顶域名服务器:负责管理在其服务器注册的所有二级域名
    • 授权域名服务器:能将其管辖的主机名转换为该主机的地址
    • 本地域名服务器:本地网络提供商负责的域名服务器
  • 查询方式

    • 递归查询:由查询的服务器发起下一次的查询
    • 递归与送代结合:除第一次查询外,其余均由本地域名服务器向外查询

文件传输协议FTP

  • 作用:允许用户在因特网上存取文件

  • 协议与端口:运行在TCP之上

    • 控制链接为21号端口(控制信息带外传送)
    • 数据链接为20号端口
  • 允许用户指明文件的类型与格式

电子邮件

  • Simple Mail Transfer Protocol

    • 作用:向邮件服务器主动发送电子邮件
    • 协议与端口:运行在TCP之上,使用25号端口
  • POP3

    • 作用:向邮件服务器要求接收电子邮件
    • 协议与端口:运行在TCP之上,使用110号端口
    • 基于ASCII码的,在传输层使用明文来传输密码

万维网

  • 统一资源定位符:负责标识万维网上各种文档

  • 超文本传输协议

    • 作用:在万维网上能够可靠地交换文件
    • 协议与端口:运行在TCP之上,使用80号端口
  • 超文本标记语言:文档结构标记语言,使用约定的标记对页面上的各种信息进行描述

应用层协议总结

应用程序FTP****数据连接FTP****控制连接TELNETSMTPDNSTFTPHTTPPOP3SNMP
使用协议TCPTCPTCPTCPUDPUDPTCPTCPTCP
熟知端口号20212325536980110161