408-net

Picasun ECNU_Jinggg

25’

🌟 ⭐️ ✨

缩写与物理设备统计

应用层

  • 协议、缩写
    • 虚拟终端协议 Talent
    • 文件传输协议 FTP
    • 域名解析服务 DNS
    • 电子邮件协议 SMTP
    • 超文本传输协议 HTTP
    • 动态主机配置协议 DHCP
    • 客户机服务器模型 C/S
    • P2P 模型

  • 物理设备

运输船

  • 协议、缩写
    • UDP 用户数据报协议
    • TCP 传输控制协议

网络层

  • 协议、缩写

    • 广域网 WAN
    • 城域网 MAN
    • 局域网 LAN
    • 个人区域网 PAN
    • 往返时延(RTT:Round-Trip Time)
    • 经典的链路状态算法 OSPF
    • 网络地址转换 NAT
    • 地址解析协议 ARP
    • 内部网关协议 IGP
    • 外部网关协议 EGP
    • 边界网关协议 BGP
    • 网际控制报文协议 ICMP
    • 网际组管理协议IGMP
  • 物理设备

    • 路由器
  • 网络层以上

    • 网关

数据链路层

  • 协议、缩写

  • 物理设备

    • 交换机
    • 网桥

物理层

  • 协议、缩写
    • 服务数据单元 SDU
    • 控制信息部分 PCI
    • 协议数据单元 PDU
    • 服务访问点 SAP Service Access Point
    • ASK:幅移键控
    • FSK:频移键控
    • PSK:相移键控
    • QAM:正交振幅
    • RZ:归零编码
    • NRZ:非归零编码
    • NRZI:反向非归零编码
  • 物理设备
    • 集线器
    • 中继器
    • 转发器

C1 计算机网络体系结构

计算机网络概述

  • 计算机网络讲分散的计算机系统通过通信设备和线路连接,由功能完善的软件实现资源共享and信息传递的系统,计算机网络是自制的互联的计算机系统的集合

  • 组成部分

    • 硬件
      • 主机、链路、交换设备、通信处理机(网卡)
    • 软件
      • 网络操作系统、邮件收发程序、FTP程序、qq等
    • 协议
      • 太多啦
  • 功能组成

    • 通信子网
      • 传输介质、通信设备、相应的网络协议、比如网桥,交换机,路由器
    • 资源子网
      • 实现资源共享功能的设备以及软件的集合,软硬件和设备
  • 计算机网络的功能

    • 数据通信
    • 资源共享
    • 分布式处理
    • 提高可靠性
    • 负载均衡
  • 计算机网络分类

    • 分布范围

      • 广域网(WAN):核心部分,连接交换机的链路一般是高速链路
      • 城域网(MAN):以太网技术
      • 局域网(LAN):通过高速线路相连接,广播技术
      • 个人区域网(PAN):将消费电子设备连起来的网络
    • 按传输技术分

      • 广播式网络
      • 点对点网络
    • 按拓扑结构分类:指通信子网的拓扑结构(路由器、主机、网线之间的几何关系)
      - 总线型:建网容易,重负载时通信效率低
      - 星型:便于集中管理,成本高,中央设备故障敏感
      - 环形:令牌环局域网
      - 网状:可靠性高,控制复杂,线路成本高

      • 使用者分
        • 公用网
        • 专用网
      • 交换技术分
        • 电路交换网络(整个报文比特流源点直达终点,电话)
          • 线路利用率低,不便差错控制
          • 时间延迟小,直接传送
        • 报文交换网络(报文)
          • 加上原地址目的地址校验码等辅助信息,封装成报文
          • 也叫存储-转发网络
          • 增加了资源开销
          • 需要额外的控制机制来保证报文不乱序
          • 缓冲区不好管理
      • 分组交换网络(包)
        • 数据分成固定长度的数据块
        • 加上辅助信息送到相邻节点
        • 有报文交换网络的优点
        • 但是缓冲区易于管理
        • 包平均时间延迟小
    • 传输介质分

      • 有线网络
        • 双绞线网络
        • 同轴电缆网络

      • 无线网络
        • 蓝牙
        • 微波
        • 无线电
  • 性能指标 ⭐️

    • 带宽(Bandwidth)(最高数字传输速率)
    • 时延(总=1+2+3+¥)
      • 1.发送时延:所有比特推向链路所需时间(分组长度/信道宽度)
      • 2.传播时延:一个比特一端到另一端的时间
      • 3.处理时延:为存储转发而进行的必要操作花费的时间
      • 4.排队时延:分组进入路由器后要在输入队列中排队等待处理,确定转发后还要在输出队列中排队等待转发
    • 时延带宽积(传播时延x带宽,管道可以容纳的比特数量)
    • 往返时延(RTT)
    • 吞吐量(单位时间通过某个网络的数据量)
    • 速率(最高传输速率叫带宽)
    • 信道利用率(有数据通过的时间/(有+无数据通过时间))
  • 课后习题

    • 局域网基于广播技术发展
    • 广域网基于交换技术发展
    • 网络(城 广)之间路由器相连
    • 广域网的拓扑结构:网状
    • 广播式网络也需要服务访问点
    • 分组交换网络附加信息开销仍旧大
  • 综合题

    • 开销丢失字节数目
    • 知道发送时延,知道数据量,算带宽,sb做的
    • 讨论协议优缺点
    • 分组交换:kd + ( k-1 ) p / b + np / b
    • 一般传播时延只需要计算一次

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

  • 分层结构中,有对等实体和服务提供者

  • 报文分为两部分,共同组成PDU

    • 服务数据单元 SDU
    • 控制信息部分 PCI
    • 协议数据单元 PDU
    • 上层的PDU作为下一层的SDU
    • 链路层称为帧,网络层称为分组(数据报),传输层称为报文段

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

    • 协议
      • 规则的集合
      • 语法语义同步
      • 不对等实体之间没有协议
      • 一个完整的协议应该拥有线路连接建立释放差错控制数据转换等功能
    • 接口
      • 同一个节点的相邻两层之间通过服务访问点(SAP进行交互)
      • 抽象概念 逻辑接口
    • 服务(四个原语)
      • 请求 - >
      • 指示 < -
      • 响应 - >
      • 证实 < -
      • 只有能被高一层实体看见的才能称之为服务
  • 提供的服务

    • 面相连接和无连接的服务
      • 无连接不建立连接,直接发送数据到链路,尽最大努力交付,不可靠 UDP
      • 有连接会建立连接,建立之后才能发送,发送完释放连接 TCP
    • 可靠和不可靠服务
      • 有无纠错、检错、应答机制
    • 有应答无应答服务
      • 文件传输服务有应答
      • WWW无应答
  • OSI(国际标准化组织ISO提出的网络体系结构模型)称为OSI/RM ⭐️

    • 应用层
      • 用户和网络的洁面
      • 为网络应用提供访问OSI手段
      • 最复杂、协议最多
      • FTP、SMTP、HTTP
    • 表示层
      • 数据压缩、编码、加密解密
    • 会话层
      • 建立同步(SYN)
      • 建立、管理、终止进程会话
      • 校验点机制回复通信、实现数据同步
    • 传输层
      • 报文段(TCP)or 数据报(UDP)
      • 端到端(端口)
      • 负责不同主机、两进程通信、一个进程一个端口号标识
      • 可靠传输、流量控制、差错检测、服务质量、数据传输管理
      • TCP、UDP
    • 网络层(TCP/IP不能流量控制)
      • 数据报(分组)
      • **流量控制、拥塞控制、差错检测、网际互联 **
      • IP、IPX、ICMP、ARP、RARP、OSPF
    • 数据链路层
      • 点到点(结点)
      • 成帧、差错控制、流量控制、传输管理(没有拥塞控制!)

      • 将网络层传来的IP数据报组装成帧
      • SDLC、HDLC、PPP、STP
    • 物理层
      • 比特
      • 透明的传输比特流
      • 物理媒体如双绞线、光缆、无线信道等为第0层
    • 不同层的传输媒介
  • TCP/IP (国际标准) ⭐️

    • 应用层
      • HTTP、SMTP / DNS、RTP
    • 传输层
      •  TCP	 / UDP
        
    • 网际层(尽力而为,选择合适路由,不保证有序)(无连接,不可靠,无法流量控制)
      - IP
    • 网络接口层
      • 网络接口1、2、3、4、5
  • OSI 与 TCP/IP的比较 ⭐️

    • 相同之处
      • 都采用分层的体系结构
      • 都是独立的协议栈的概念
      • 可以解决异构网络的互联问题
    • 不同之处
      • OSI精准定义了服务、协议、接口,面向对象,TCP/IP 没有明确区分 不符合软件工程思想
      • OSI是先分层的,TCP/IP是先出现协议的,模型是对协议的描述,不适用于不是TCP/IP的协议栈
      • TCP/IP设计之初考虑了异构网络互联问题,将IP作为重要层次
      • OSI网络层支持无连接和面向连接,但是传输层只能面相连接
      • TCP/IP认为可靠性是端到端的问题,网络层只有无连接的模式
      • TCP/IP传输层分成面相连接和无连接
  • 书本折中学习OSI与TCP/IP的优点,五层协议的体系结构讨论

  • 向下封装,向上拆解

  • 课后习题:

    • 数据分块传输的优点:减少延迟,提高错误控制效率,应用更加公平共享通信介质
    • 协议是在不同结点的对等实体其效果
    • OSI数据链路层不能拥塞控制!
    • 拥塞控制:来不及接受大量分组要丢弃
    • 物理层不参与封装
    • TCP/IP模型中,传输层处理关于可靠性、流量控制、错误矫正问题
    • 应用层的服务访问点也称为用户界面
    • 网络体系结构不描述实现的细节
  • 综合题

    • 协议是控制两个对等实体间相互通信的规则的集合
    • 想要实现本层的协议,需要下一层提供的服务
    • 协议的实现保证了能够向上一层提供服务,本层只能看见服务而不能看见下面的协议
    • 协议水平、服务垂直
    • 会话层允许不同主机上的进程进行会话
  • 分布式计算机系统与计算机网络的区别

    • 分布式
      • 整个系统中所有计算机对用户透明,用户输入命令就可以运行但不知道哪一台处理的
      • OS会选择一个最适合的运行
    • 计算机网络
      • 用户必须先登录想要运行程序的计算机,按照地址将程序通过计算机网络送达该计算机运行
      • 最后根据用户命令传到指定计算机中
  • 一个网络协议需要考虑到各种不利的突发情况

    • 约好见面,我来你不来不是恶心人吗
  • 因特网IP无连接的,因此传输不可靠,为什么不一开始设计成可靠的

    • 传统电信网电话通话,所以电信公司必须发挥很大代价设计电信网
    • 数据的传送显然需要非常可靠,但是需要讨论,谁来负责可靠性?
    • 先驱者认为网络设备性能差别大,所以要采用端到端的策略,就是在传输层TCP,不仅网络部分价格便宜灵活,又能保证端到端
    • 复习一下
    • OSI 网络层 可以提供无连接或者有连接 传输层必定有连接
    • TCP/IP 网络层无连接 传输层可选 (可靠性是端到端的问题)
  • 端到端、点到点

    • 点到点
      • 直接相连的结点之间通信,一台机器到另一台机器的通信
      • 不涉及程序或者进程概念
      • 并不保证数据的可靠性
    • 端到端
      • 建立在点到点通信的基础上
      • 高一级别,以完成端到端的通信
      • 端是用户程序的端口,端口号标识了应用层中不同的进程
  • 非常重要、大题 ⭐️

    • 表示存储容量或者文件大小时,K=2^10 M=2^20 G=2^30 T=2^40
    • 表示通信领域时,K=1000 M=1000000
    • 一段时间中,链路中有多少比特取决于带宽
    • 1比特跑了多远取决于传播速率

C2 物理层

通信基础

  • 数据、信号

    • 连续变化的数据或者信号(模拟数据/信号)
    • 取值仅几个悠闲的离散数值或信号(数字数据/信号)
    • 传输方式
      • 并行
      • 串行
  • 码元

    • 用一个固定时长的信号来表示一位k进制数字,时长称为马元宽度
    • 一个码元可以携带若干比特的信息量
    • 如果二进制编码,只有两种不同的码元,一个代表1一个代表0
  • 信源

    • 产生和发送数据的源头
  • 信道 ⭐️

    • 信号传输的媒介,逻辑部件
    • 信道按传输信号形式的不同氛围传送模拟信号的模拟信道和数字信号的数字信道
    • 按传输介质不同可以分为有线无线信道
    • 信道上传输的信号有基带信号和宽带信号之分(有些不准确 见综合部分)
      • 基带信号
        • 基带信号将数字信号1/0用两种不同的电压表示,送到数字信道上传输
        • 基带传输
      • 宽带信号(频带传输)
        • 将基带信号进行调制后形成频分复用模拟信号,送到模拟信道传输
        • 宽带传输
  • 信宿

    • 接收数据的重点
  • 速率、波特、带宽

    • 就是数据传输速率,可以分成码元传输速率和信息传输速率
      • 码元传输速率(波特率 Baud)(调制速率)
        • 1波特代表数字通信系统每秒传输1个码元
        • 码元可以多进制,也可以二进制的,码元速率和进制数无关
      • 信息传输速率(比特率 Bit/s)
      • 若一个码元携带n比特信息量,M波特率的码元传输速率就对应信息速率Mn
  • 带宽

    • 原指频带宽度,单位赫兹 Hz
    • 后来表示网络通信所能传输数据的能力,此时单位不再Hz,而是b/s
  • 通信双方交互方式

    • 单向通信
    • 半双工通信
    • 全双工通信
  • 奈奎斯特定理、香农定理 ⭐️

    • 奈奎斯特定理
      • 理想低通下,码元传输速率为2W波特
      • 理想低通信道下的极限数据传输速率=2W log2V (b/s)
      • V为离散电平数目 W为理想低通信道的带宽
      • 奈式准则的结论
        • 任何信道,码元传输速率有上限,超过则码间串扰
        • 越宽,就可以用更高的速率
        • 未对马元携带比特数限制,设法让码元带更多的比特,多元调制
    • 香农定理
      • 信道的极限传输速率=W log2 ( 1 + S/N ) (b/s)
      • 信噪比 =10log10(S/N)
      • 30db=10log10(1000)这里S/N就是1000
      • 香农定理的结论
        • 带宽越大、信噪比越大,速率越高
        • 对一定的W和S/N 数据传输速率上限一定
        • 信息低于极限传输速率就能找到办法无差错
        • 信道实际速率低不少

    • 奈式准则只考虑了带宽与极限码元传输速率的关系
    • 香农还考虑到了信噪比,侧面表明:码元对应二进制位有限
  • 编码与调制 ⭐️

    • 信号变成数字信号就是编码
    • 信号变成模拟信号就是调制
    • 数字数据 编码为 数字信号 数字发送器
      • RZ:归零编码(信号最后都是0,开始的时候需要就跳变)
      • NRZ:非归零编码(没脑子的不会)
      • NRZI:反向非归零编码
      • 曼彻斯特编码
        • 以太网就用这个,码元中间跳变,所占频带宽度为基带宽度两倍
      • 差分曼彻斯特编码
        • 抗干扰
      • 4B/5B 80%效率
    • 数字数据 调制为 模拟信号 调制器
      • ASK:幅移键控
        • 容易实现、抗干扰差
      • FSK:频移键控
        • 抗干扰强,广泛使用
      • PSK:相移键控
        • 绝对相对调相
      • QAM:正交振幅
    • 模拟数据 编码为 数字信号 PCM编码器
      • 采样:需要大于原信号最大频率的两倍(采样定理/奈奎斯特定理)
        • 把连续的信号变成时间上离散的信号,超过两倍就能无失真
      • 量化:采样得到的点平值变成数字值并取整,连续的电平就成了离散的数字量
      • 编码: 把量化结果变成对应的二进制编码
    • 模拟数据 调制为 模拟信号 放大器
  • 电路交换、报文交换、分组交换 ⭐️

    • 电路交换
      • 必须建立专用物理路径,建立连接、数据传输、连接释放
      • 优点:
        • 通信时延小、有序传输、无冲突、适用范围广、实时性强、控制简单,不存在存储转发所耗费的时间
      • 缺点:
        • 建立连接时间长、线路独占、灵活性差、难以规格化(不同类型、规格、速率终端很难相互通信,难以进行差错控制)
    • 报文交换
      • 优点:
        • 无需建立连接、动态分配线路、提高线路可靠性、提高线路利用率、提供多目标服务
      • 缺点:
        • 需要经历存储转发、转发时延(接受保温、检验正确性、排队、发送)
    • 分组交换
      • 优点:
        • 无建立时延、线路利用率高、简化存储管理(分组长度固定)、加速传送(一个分组的存储操作与前一个分组的转发操作并行)、减少率出错概率和重发数据量
      • 缺点:
        • 存在传输时延、需要额外的信息量(每个小数据块都要加上源地址目的地址分组编号等信息)、当分组交换采用数据报服务时,可能失去序列,需要重新排序,如果用虚电路,虽然无失序,但需要呼叫建立,数据传输,电路释放三个过程
    • 数据量大,传输时间长,电路适合,端到端多条链路组成,分组交换合适,豹纹和分组优于电路,分组交换比报文交换时延小,适合突发通信
    • P38页比较图非常好
  • 数据报、虚电路 ⭐️

    • 分组交换可以分成面向连接的虚电路方式和无连接的数据报方式,都由网络层提供
      • 数据报
        • 不需要建立连接,随时发送,随时接受
        • 最大努力交付、不保证可靠性,可能丢失,每个分组路径可能不同
        • 分组重要包括完整地址
        • 存储转发时排队等候需要时延,拥塞or通信量较大会大大增加时延,丢弃部分分组
        • 冗余路径,更新转发表,故障适应
        • 时延小,吞吐量大
        • 不独占
      • 虚电路
        • 数据报方式和电路交换方式结合,充分发挥优点,需要建立逻辑上虚电路
        • 建立时要分配一个未用过的虚电路号,区别不同的虚电路
        • 分组要有分组号,也要有通过的虚电路号,区别其他电路的分则
        • 通信链路建立拆除需要时间,交互式和短分组浪费
        • 路由选择体现在建立阶段
        • 提供可靠通信,正确有序,可以流量控制,暂缓发送
        • 致命弱点:某节电or链路彻底失效,所有虚电路遭到破坏
        • 不包含目的地址等,只有虚电路标识符
        • P41比较表
  • 课后习题

    • 信道不等于通信电路
    • 可双向通信的电路包含两个信道,一个发送一个接受
    • 影响信道的最大传输速率,信噪比和带宽
    • 计算机内部并行传输
    • 曼彻斯特编码将时钟和取值都包含在信号中
    • 曼彻斯特编码所占频带宽度时原始基带宽度的两倍(每个比特需要两个信号周期)
    • 以太网分组交换技术
    • 电路交换时延小
    • 网络层是分组,链路层是帧
    • 虚电路不适合出错率高,因为故障就要重新建立虚电路
    • 会话结束后虚电路不一定会直接释放连接
    • 虚电路不需要需分配带宽
  • 综合题:

    • RTT的计算,2x距离/传输速度
    • 发生时间表 少就选择列出时间 多就选择找规律
    • 可以从第一个设备发送完毕所有东西后开始统计
    • 也可以从末尾设备接收到第一个开始统计
    • 整个传输总时间延迟=建立+源点发送+中间发送+中间处理+传播 ⭐️
    • 建立:会给
    • 源点发送:所有的/比特率
    • 中间发送(k-1)x每组数据量/比特率
    • 传播(k条链路的话 kd)
  • 基带传输、频带传输、宽带传输

    • 基带传输
      • 近距离可以不通过调制直接传输就是基带传输
      • 常用不归零和曼彻斯特
    • 频带传输
      • 对数字信号调制变成适合传播的信号就是频带传输
      • 可以实现多路复用,提高利用率
    • 宽带传输
      • 比如把信道频分复用,划分成2个不相关子信道
      • 分别子信道频带传输,链路容量增加,这就是宽带传输

传输介质

  • 第0层

  • 双绞线、同轴电缆、光纤与无限传输介质

    • 导向传播介质:铜线光纤
    • 非导向传播介质:空气真空海水
    • 双绞线(P110 更详细的介绍分类)
      • 古老、相互绝缘铜导线,抗干扰,可以再加一层屏蔽
      • 便宜,通用
      • 模拟传输需要放大器放大衰减的信号
      • 数字传输需要中继器整形失真信号
    • 同轴电缆
      • 有线电视,抗干扰,传输距离远,比双绞线贵
    • 光纤
      • 光导纤维,光脉冲有就是1,没有就是0
      • 可见光频率10^8MHz 通信带宽极大
      • 入射角大于临界角度出现全反射,光沿着光线传播
      • 直径8-100um
      • 利用全反射可以不同入射角同一根光纤,多模光纤,只适合近距离,否则失真
      • 光纤直径小于一个光波长的时候很远都不用中继器
      • 传输损耗小、抗雷电电磁、无串音干扰、体积小重量轻
    • 无线传输介质
      • 无线电波
        • 强穿透,无线手机通信,无线局域网WLAN
      • 微波、红外线、激光
        • 都需要发送方接收方
        • 红外线直线传播
        • 微波频率高,频带宽,容量大,超过距离需要中继站接力
        • 卫星通信通过地球同步微信座位中继来发送微博信号,克服地面限制
        • 微波保密性差
  • 物理层接口特性

    • 机械特性:接口形状尺寸,引脚等
    • 电气特性:电压
    • 功能特性:点平含义
    • 过程特性(规程特性):不同功能的各种事件出现顺序
  • 课后习题:

    • 以太网、广播、半双工
    • 同轴电缆比双绞线更加抗干扰,所以快
    • 光纤不受电磁干扰
    • 光纤不中空,发丝大小玻璃丝

物理层设备 ⭐️

  • 中继器

    • 功能:将信号整形并发大再传播出去,消除失真和衰减
    • 原理:信号再生(而非再发达)
    • 中继器两端为网段,几个网段仍然一个局域网
    • 不能连接两个不同速率的局域网
    • 有存储转发功能意味着可以连接两个不同协议
    • 没有 不能
    • 中继器必须相同速率,相同协议网段,因为没有存储转发功能
    • 5-4-3原则
      • 采用粗同轴电缆的10BASE5以太网规范中
      • 相互串联中继器不超过4
      • 网段不超过5
      • 3段能挂计算机
    • 区别于放大器:放大的是模拟信号,原理是放大衰减的信号
    • 中继器是再生
    • 端口仅仅作用于信号的电气部分
  • 集线器(Hub)

    • 实际上是一个多端口的中继器
    • 将信号整形放大,使之再生,恢复到发送时的状态
    • 转发到所有端口,多输入冲突,标准共享式设备
    • Hub使用双绞线组建共享网络
    • 不能分割冲突域
    • 10Mb/s 8台 1.25Mb/s 真正拥有的带宽
  • 课后习题

    • 转发器放大信号
    • 中继器仅仅电气特性
    • 物理层相连,速率相同,数据链路层协议可以不同
    • 数据链路层互联则也需要相同
    • 放大器也会放大噪声,引起失真,中继器信号再生,减小失真
    • 集线器星形拓扑
    • 中继器和集线器都可以对信号进行整形放大

C3 数据链路层

数据链路层的功能

  • 物理层基础上,向网络层提供服务

  • 可能出错的物理连接改造为逻辑上无差错的数据链路

  • 向网络层提供如下服务:

    • 无确认无连接(以太网)
    • 有确认无连接(无线通信)
    • 有确认有连接
  • 链路管理:

    • 建立、维持、释放
  • 帧定界、帧同步、透明传输

    • 帧数据部分上限:最大传送单元 (MTU)
    • 不管数据什么样的组合都能在链路上传送
    • 帧定界
    • HDLC
    • 01111110开始
    • 01111110结束
  • 流量控制

  • 差错控制(由于噪声)

    • 提高信噪比,降低误码率
    • 通过CRC(循环冗余校验)发现位错
    • 通过ARQ来重传出错的帧
      • 让发送方带着CRC冗余码一并发送
      • 接收方根据检错码对数据帧进行检测
      • 错误丢弃
      • 发送方超时重传该数据帧
      • 确保每一帧最终都能有且仅有一次交付给目标节点
  • 课后习题

    • 数据链路层:差错控制、流量控制、帧定界
    • 数据链路层协议功能
      • 组帧(定义数据格式)
      • 物理层提供不可靠的物理连接上实现结点到结点的可靠性传输
      • 控制对物理介质的访问(MAC子层)
      • 不必考虑物理层如何实现比特传输的细节
    • 流量控制是对发送方的数据流量控制
    • 实时性高:无确认无连接
    • 数据链路层避免帧丢失,采用超时重发

组帧 ⭐️

数据链路层之所以要把比特组装成帧,就是为了出错的时候只重发出错的,不用全部,为了让接收方能正确接受并检查,发送方必须按照一定的规则封装。解决帧定界、帧同步、透明传输。
帧是网络信息的最小单位,必须弄清何时开始,结束。因为接收到的是一段比特流,如果没有首部尾部不能正确区分。分组(IP数据报)仅仅是包含在帧之中的,不需要定界。

  • 字符计数法 ❌
    • 第一个数字来代表帧内的字符数
    • 计数错全g,灾难
  • 字符填充法 ❌
    • SOH开始EOT结束
    • 中间出现特殊的就加上ESC(加转义字符)
  • 零比特填充的首位标志法 ✅
    • 5个1自动添加0
    • 01111110 开始 结束
  • 违规编码法 ✅
    • 曼彻斯特把比特1编码成高低点平,0为低高
    • 高高低低没用,可以用这个编码方法来实现定界,实现透明传输

差错控制

  • 检错编码

    • 奇偶校验码:只能检查出奇数个出错
    • 循环冗余码:多项式运算
      • 事先商定的多项式G(x)阶为r, 在帧低位加r个0
      • 传送的是G(x)外加 原来的数据/G(x)所得的余数
      • 硬件实现判定
  • 纠错编码 ⭐️

    • n为有效信息位数
    • k为校验位数
    • n+k <= 2^k - 1
    • 对应数据位异或求校验位
    • D4 D3 D2 D1
    • 1 0 1 0
    • 校验位就是要让1的个数保持偶数
    • 校验方程
    • S1 = P1。D1。D2。D4 异或运算
    • 检n 码n+1
    • 纠n 码2n+1
  • 课后习题

    • 提高信噪比可以减少随机差错
    • CRC 可以检测所有单比特错误
    • 数据链路层也可以提供纠正
    • 海明码纠1位
    • 奇校验,什么校验就让1的个数变成啥样 ⭐️
      • 如果字符数据位中”1”的数目是偶数,校验位为”1”
      • 如果”1”的数目是奇数,校验位应为”0”
  • 大题会除法就完事

流量控制和可靠传输机制

  • 流量控制、可靠传输和滑动窗口机制

    • 对链路上的帧发送速率的控制,以使接收方有足够的缓冲空间来接受每个帧
    • 停止-等待流量控制基本原理
      • 每发送一帧,就要等待对方应答,然后才能发送下一帧
      • 传输效率很低
    • 滑动窗口流量控制基本原理
      • 发送方维持一组连续的允许发送的帧的序号:发送窗口
      • 接收方维持一组连续的允许接受的帧的序号:接受窗口
      • 发送端收到一个确认,就往前滑动一个,发送窗口没有可以发送的就停止(都发送了但都没确认)
      • 只有接受窗口向前滑动,发送窗口才有可能向前华东
      • 停等协议:发送窗口=1 接受窗口=1
      • 后退N帧协议:发送窗口>1 接受窗口=1
      • 选择重传:都>1
      • 接受窗口大小是1才能保证有序
      • 窗口大小在传输过程中固定(区别传输层的滑动窗口协议)⭐️
    • 可靠传输机制
      • 数据链路层使用确认和超时重传两种机制完成
        • 确认:无数据控制,捎带确认
        • 传统自动重传请求
          • 停止等待ARQ
          • 后退N帧ARQ
          • 选择重传ARQ
          • 后两种是滑动窗口和请求重发技术的结合
        • 窗口足够大,帧就可以在线路上连续流动,又称为连续ARQ
  • 单帧滑动窗口与停止-等待协议 ⭐️

    • 发送接受窗口都是1
    • 超过计时器再次发送相同帧
    • 信道利用率很低
  • 多帧滑动窗口与后退N帧协议(GBN)⭐️

    • 可以连续发送帧
    • 若发现该N个帧的前一个帧在计时器超时还未返回信息就判定出错/丢失
    • 发送方重新传送出错帧以及随后的N个帧
    • 接收方只允许顺序接受帧
    • 接收方对连续的正确的最后一个数据帧发送确认帧
    • 累计确认
    • ACK n 代表对第n帧的确认
    • n比特币编号,发送窗口 1 <= Wt <= 2^n -1
    • 误码率打的时候,后退N帧协议不一定优于停止-等待
    • 没收到确认帧的已发送也需要放入缓存
  • 多帧滑动窗口与选择重传协议(SR)⭐️

    • 为了提高利用率,只重传出错的帧或者超时的帧
    • 为此必须加大接受窗口
    • 这就是选择重传ARQ协议
    • 设置接受缓存
    • 没收到确认帧的已发送也需要放入缓存
    • 接受一个确认一个
  • 课后习题

    • 控制信道利用率(发送时延/发送+传播)、停止-等待要来回
    • 选择重传 接受与发送窗口大小 2^(n-1)
    • 后退N帧 最大发送窗口 2^n - 1
    • 选择重传 接受+发送<2^n
  • 综合题

    • 效率=(发送窗口数)x每个数据帧长度/速度 / RTT+一个数据帧长度/速度
    • 一定要确定好发送和接受窗口大小
    • 有累积确认机制
    • 捎带确认 Td=Ta (数据帧长和确认帧长一样)

介质访问控制

采取一定的措施让两对结点间通信不会互相干扰

  • 信道划分介质访问控制

    • 把多个输入通道的信息整合到一个复用通道
    • 频分多路复用 FDM
      • 系统效率高 容易实现
    • 时分多路复用 TDM
      • 若干时间片,时分复用帧
      • 统计时分多路复用STDM 利用率更高,动态分配时隙
    • 波分多路复用 WDM
      • 光的频分多路复用
    • 码分多路复用 CDM
      • CDMA 两个不同站码片序列:向量规格化内积为0(1/m)
      • 规定每个站点的码片序列 1不变 0 变
  • 不采用集中控制方式解决发送信息的次序问题,用户跟随意愿发送,占用信道全部速率。两个同时发送就会碰撞,每个用户需要按照一定的规则反复重传,直到帧无碰撞通过。

  • 随机访问介质访问控制(争用型协议)⭐️

    • ALOHA
      • 纯ALOHA
        • 直接发送,一段时间未收到确认就等待一段时间重发
      • 时隙ALOHA
        • 时间划分成一段段等长时隙,时隙开始才能真正发送
    • CSMA
      • 1-坚持CSMA
        • 发送前,先侦听
        • 空闲就发
        • 忙就继续听,空闲就立刻发送
        • 不可避免的等待冲突
      • 非坚持CSMA
        • 空闲就发
        • 忙就放弃侦听,等一个随机时间重复
        • 增加数据平均延迟
      • p-坚持CSMA
        • 空闲p概率发
        • 1-p概率推迟时隙
        • 继续侦听直到空闲
    • CSMA/CD ⭐️
      • 适用于有线连接的局域网
      • 载波监听多路访问/碰撞检测
      • 适用于总线型or半双工网络环境
      • 发送之前先侦听
      • 便发送边侦听
      • 先听后发、边听边发、冲突停发、随机重发
      • 最小帧长=传播时延 x 2 x 数据传输速率
      • 以太网规定51.2us为争用期长度,最小帧长64B
      • 小于64B的帧都是因为冲突而异常中止的无效帧
      • 基本退避时间为2t (2t为争用期)
      • t为单程传播时延
      • 重传次数k每次冲突+1
      • 从整数集合0 - 2^k-1 选出一个r 然后退避2tr
      • 超过16就别发了 向上层打个报告辞职吧
    • CSMA/CA ⭐️
      • 适用于无线局域网
      • 对CD进行了修改,碰撞检测变成了碰撞避免
      • 载波监听多路访问/碰撞避免
      • 使用ARQ方案,无线网发完一帧才能继续发送下一帧
      • 所有站发完后必须等待一段很短的时间才能发送下一帧
      • 归纳
        • 有数据要发送,检测空闲,等待DIFS后发送整个
        • 否则退避算法,选取随机会退值,检测忙就保持不变
        • 只要信道空闲,退避计时器倒计时
        • 退避到0 发送整个帧
        • 发送站收到确认,就知道目的站接受
        • 要发下一帧 就再来一次
      • 源站要发送之前先广播一个RTS控制帧
      • 然后AP广播一个允许发送的CTS给所有站点,抑制其他,允许源站
  • CSMA/CD与CSMA/CA ⭐️

    • CD可以检测冲突但无法避免
    • CA发送的同时不能检测,只能尽量避免
    • CD用于总线型以太网
    • CA用于无线局域网
    • CD用电压变化检测
    • CA用能量检测、载波检测、能量载波混合检测
    • CSMA/CA基本思想就是发送时广播其他站点,让他们别发,以免碰撞;
    • CSMA/CD基本思想就是发送前,发送时都侦听,碰撞就别发
  • 轮询访问:令牌传递协议(并不是随机介质访问控制哦)

    • 用户不能随机发送信息,要通过集中控制的监控站
    • 监控站循环询问每个节点,再分配
    • 主要适用于令牌环局域网
    • 一个Token沿着环形总线在各节点计算机间依次传递
    • 令牌是一个特殊MAC控制帧,不包含信息,仅仅控制信道的使用
    • 发送完一帧释放令牌给其他站使用,访问权利公平
    • 物理拓扑不需要一个环
    • 数据链路层研究的是点到点之间的通信
    • 非常适合负载很高的广播信道(同时发送数据概率很大信道)
  • 课后习题

    • TDM比FDM抗干扰能力强,FDM适合模拟信号,TDM适合数字信号
    • TDM无碰撞,ALOHA,CSMA/CD,CSMA都有碰撞
    • 争用期:往返
    • 二进制回退:考虑了网络负载对冲突的影响
    • 令牌环网适合负载重的
    • 中继器少了,冲突信号可以更快的到发送站点
    • 令牌环不存在冲突
    • 需要对数据帧进行确认的MAC协议:CSMA/CA 其他不用
    • DIFS长
    • CSMA/CD 随机访问介质访问控制 灵活 碰撞 下降利用率
    • TDM 时隙 在自己的时隙没有发送的情况多 不利于充分利用
    • 突发数据不利于TDM
    • 最小帧长=2x传播时延x数据率
  • 综合题:

    • 通信负载=每个时隙的请求次数
    • 纯ALOHA 最高0.184的负载
    • 有效数据率一定要看有效的数据(不算头尾)
    • 以太网帧的数据部分为1500B

局域网

  • 基本概念和体系结构

    • 地理范围,站点数目有限
    • 共享较高带宽
    • 时延和误码率低
    • 各站平等而非主从
    • 能广播和组播
    • 特性的决定因素
      • 拓扑结构、传输介质、介质访问控制
      • 拓扑结构:星形、环形、总线型、星总结合复合结构
      • 以太网:逻辑总线拓扑,物理星形or拓展星形
      • 令牌环:逻辑环形拓扑,物理星形
    • 数据链路层的两个子层
      • 逻辑链路控制子层
        • 识别网络层协议,为网络层服务,服务类型(连接 确认 与否)
      • 介质访问控制子层
        • 数据帧装解、帧寻址、识别、信道分配、差错检测、透明传输
  • 以太网与IEEE 802.3

    • 使用CSMA/CD
    • 802.3局域网简称为以太网
    • 无连接、不对数据帧编号、不要求确认、最大努力交付、不可靠服务
    • 差错的纠正高层完成
    • 曼彻斯特编码
    • 网卡出厂为一代码,MAC地址
    • MAC地址6字节,xx-xx-xx-xx-xx-xx
    • 高24厂商 低24自行分配
    • P111以太网MAC帧格式 注意数据部分1500字节最多 MAC帧收尾一共18字节 ⭐️
  • 高速以太网

    • 100BASE-T(速度 基带 双绞线)
      • 可以全双工也可以半双工
      • 全双工不用CSMA/CD
    • 吉比特以太网
      • 半双工使用CSMA/CD
      • 全双工不用
    • 10吉比特以太网
      • 只在全双工方式,无争用问题,不用CSMA/CD
    • 灵活、易于安装、稳定
  • IEEE 802.11 WiFi

    • 区别AP 源地址 目的地址
  • VLAN的基本概念和基本原理

    • 通过虚拟局域网技术把一个较大的局域网分割成为与地理位置无关的逻辑上的VLAN,每个VLAN都是一个很小的广播域
  • 课后习题

    • 以太网 无连接 不可靠 不对数据帧编号 也不要求回复确认
    • 以太网 最大努力交付 纠错高层
    • 接受地址 发送地址 另一个地址
    • 虚拟局域网有效共享网络资源、简化网络管理、提高网络安全性
    • VLAN不能链路聚合

广域网

  • 长距离网络,远超一个城市

  • 是因特网的核心

  • PPP协议(Point to Point) ⭐️

    • 提供一种成帧方法
    • 使用串行线路通信
    • 面向字节的协议
    • 链路控制协议(LCP)
    • 网络控制协议(NCP)
    • 信息部分长度收到MTU限制
    • 为网络层协议建立和配置逻辑连接
    • 无需使用CSMA/CD 因为不是总线型 是点对点
    • 要点
      • 差错检测但不纠错、无差错接受,CRC硬件
      • 不支持多点线路
      • 只支持全双工
      • 可以运行不同的网络层协议
      • 用硬件来完成比特填充
      • 字符填充
  • 课后习题:

    • 以太网是局域网的一种实现形式
    • 广域网存储转发式
    • 广域网通信子网分组交换
    • 以太网也是分组交换
    • LCP协商数据联络层协议选项
    • PPP面相字节 HDLC面向比特

数据链路层设备

  • 网桥

    • 连接网段
    • 隔离冲突域
    • 路径选择
    • 工作在MAC子层
  • 局域网交换机

    • 原理和特点
      • 多端口网桥,划分冲突域,每个工作站更高的带宽
      • 检测从以太网端口来的源和目的地址的MAC地址,然后和内部的查找表比较,不在就插入,然后发向目的端口
      • 交换机对工作站透明,开销小
      • 可以方便实现VLAN
      • VLAN不及你进可以隔离冲突域、也可以隔离广播域
      • 特点:
        • 以太网交换机每个端口直接与单台主机相连,全双工
        • 多端口,无碰撞传输
        • 即插即用
        • 独占媒体带宽
        • 交换速率高
        • 采用直通式or存储转发式

    • 自学习功能
      • 交换表的表项:一个MAC地址、连通MAC地址的交换机端口
      • 不必人工配置,非常方便
  • 课后习题

    • 网桥可以互联不同的物理层,不同的MAC子层以及不同速率的以太网
    • VLAN可以隔离冲突也可以隔离广播
    • 路由器传输时延最大(越上层设备越大)
    • 物理层笨蛋
    • 链路层划冲突
    • 网络层都划
    • 交换机支持多用户同时通信(独占通信)
    • 交换机多端口可并行传输
    • 交换机要放在冲突多的局域网内
    • 直通式不支持不同速率交换
    • 存储转发式还会查正误 可靠

C4 网络层

4.1 网络层的功能

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

  • 分组可能出错、丢失、重复、失序、超时

  • 使得路由器比较简单,可靠由传输层负责

  • 异构网络互联

    • 虚拟互联网就是逻辑互联网络
    • 异构性是客观存在的
    • 通过IP协议就可以使这些性能各异的网络在网络层统一
    • 使用IP协议的虚拟互联网络称为IP网络
    • 异构网络是物理层和数据链路层协议不同
  • 路由和转发

    • 路由器完成的功能
      • 路由选择
      • 分组转发
  • SDN (软件定义网络)

    • 网络层抽象划分为:数据层面和控制层面
      • 数据平面(转发层面)
      • 控制层面
    • 北向接口:SDN提供的编程API
    • 南向接口:SDN控制器和转发设备建立双向会话的接口
      • (Openflow是其中协议)
    • 集中控制、分布式高速转发、可编程
    • 安全风险,集中易受攻击,随着网络规模扩大
    • 路由器之间不再交换信息,由远程控制器给出
    • 控制和转发功能相分离
    • 控制层面集中化
    • 源主机和目的路由器都不知道IP分组需要经过的完整路径
  • 拥塞控制

    • 过量分组而引起网络性能下降

4.2 路由算法

  • 静态路由与动态路由

    • 静态路由算法(非自适应路由算法)
      • 网络管理员手动配置路由信息
      • 需要手工修改
      • 适合小型网络
    • 动态路由算法(自适应路由算法)
      • 路由器上的路由表项通过互联的路由器之间彼此交换信息
      • 一定的间隙不断更新,以适应不断变化的网络
      • 适合大型网络
  • 距离-向量路由算法

    • 路由选择表包含
      • 每条路径的目的地
      • 路径的代价
    • 跳数作为距离的度量
    • 相比、替换
    • 好消息传得快、坏消息传得慢
  • 链路状态路由算法

    • OSPF为经典的链路状态算法
    • 洪泛法:路由器通过所有端口向相邻路由器发送信息,然后相邻路由器再发出
    • 链路状态的“度量”主要用来表示费用、距离、时延、带宽
    • 链路状态变化才向所有路由器发送此信息
    • 比距离向量算法有更好的规模可扩展性
  • 层次路由

    • 自治系统内部:内部网关协议、域内路由选择
      • RIP OSPF
    • 自治系统之间:外部网关协议、域间路由选择
      • BGP
  • 课后习题:

    • ++– 相邻传递 没啥好说的
    • OSPF洪泛,不仅仅各自的路由表,洪泛
    • 快速收敛
    • 全网路由器的拓扑数据库一致
    • 路由信息变化,不能快速被全部路由器知道,慢收敛现象,路由回路
    • 路由选择分直接交付和间接交付
    • 一个网段内,即相同的子网就会进行直接交付
    • 直接交付不涉及路由器

IPv4

  • IPv4分组
    • 格式
      • 版本 0100 0110
      • 首部长度 最短 0101 单位4B
      • 区分服务 8位
      • 总长度 16位
        • 数据报最大长度为 2^16 -1 65535B字节
        • 以太网帧的最大传送单元为MTU 1500B 首部最短20B
      • 标识:16位 代表分成了几片(每个分片内这个不变)
      • 标志:3位
        • 中间位DF 0才允许分
        • 最低位MF 1表示后面还有分片
      • 片偏移:13位
        • 表示在原来分组中的相对位置
        • 单位8B 1480 偏移就是185(1480/8)
      • 生存时间:8位 转发前TTL-1 0就丢弃
        • 不会一直循环,寿命
      • 协议:8位
        • 应该交给哪个上层协议:6:TCP 17:UDP
      • 首部校验和
      • 源地址:32位 IP
      • 目的地址:32位 IP
  • IPv4地址 ⭐️
    • 32比特、全球唯一标识符
    • 分类的IP地址(P153 看看最大可用的网络数)
分类IP地址 网络号 主机号 特征
A 8 24 网络号0开头
B 16 16 网络号10开头
C 24 8 网络号110开头
D 多播地址 网络号1110开头
E 保留为今后使用 网络号1111开头
  • IPv4

    • 主机号全0:网络本身
    • 主机号全1:本网络的广播地址、直接广播地址
    • 127.x.x.x表示环回自检地址
    • 32全0:0.0.0.0表示本网络的本主机
    • 32全1:整个TCP/IP网络的广播地址,受限广播地址
    • IP地址特点
      • IP地址机构在分配IP地址时只分配网络号,主机号自行分配
      • 路由器仅仅根据目标主机连接的网络号来转发分组,不关心目标主机号
      • 一台主机同时连接到两个网络,必须有两个相应IP地址,每个IP地址网络号必须和所在网络的网络号相同,且这两个IP地址的网络号不同
      • 因此一个IP网络上路由器至少具有两个IP地址,每个端口至少一个
      • 转发器、桥接器连接的必定是一个网络(同一个广播域)
  • 网络地址转换(NAT)

    • 通过将专用网络地址转换为公用网络地址(NAT完成)
    • 隐藏内部管理的IP地址
    • 私有IP地址,专用互联网、本地互联网 ⭐️
      • 10.0.0.0-10.255.255.255
      • 172.16.0.0-172.31.255.255
      • 192.168.0.0-192.168.255.255
    • 普通路由器转发时不改变源IP与目的IP地址
    • NAT路由器转发的时候要更换
  • 子网划分、与子网掩码、CIDR

    • 子网划分
      • 主机号部分再进行划分
      • 不改变原来的网络号
      • 子网号不能全1/0
    • 子网掩码
      • 没有划分子网就用默认子网掩码
      • 用了子网划分就再加
      • 一个子网内,子网掩码相同
      • 路由表中包含目的网络地址、子网掩码、下一条地址
    • CIDR 无分类域间路由选择
      • 网络前缀+主机号
      • 消除ABC类网络的划分
      • 实现构成超网构造的一种IP划分方法
      • 不使用子网,但分配到一个CIDR地址块的组织可以自己划分
      • 网络前缀都相同的连续IP地址组成CIDR地址块
      • 一个地址块可以表示很多地址,地址的聚合叫路由聚合或者构成超网
        • 网络1 206 1 0 0/17
        • 网络2 206 1 128 0/17
        • 路由聚合可以把这两个变成更大的地址块206 1 0 0 /16
        • 可指派的要-2 网络号和广播地址
      • 要匹配结果中具有最长网络前缀的路由,越长地址块越具体
    • 转发分组的过程
      • 转发表中需要目的网络、下一跳地址
      • 到达最后一个路由器才试图交付
      • CIDR时如果分组在转发表可以找到多个匹配的前缀,应该选择最长的
      • 特殊路由
        • 主机路由
        • 默认路由
      • 得到下一跳路由器IP地址,并不是直接将该地址填入待发送的数据报,而是将IP地址转成MAC地址(ARP),然后MAC地址放到MAC帧首部,根据MAC地址找到下一跳路由器
      • 网桥转发帧不改变帧的源地址
  • ARP、DHCP、ICMP

    • IP地址与硬件地址
      • IP地址网络层及其以上用、MAC地址链路层用
      • IP数据报封装成MAC帧链路层看不见IP地址
      • IP分组通过多次路由转发到目标网络改为在目标LAN中通过数据链路以MAC地址广播寻址
      • 路由器还有多个硬件地址
    • 地址解析协议 ARP
      • 无论网络层用什么协议实际链路都要用硬件地址
      • 需要IP地址到MAC地址映射
      • 每个主机有ARP高速缓存存放本局域网上各主机和路由器的IP地址到MAC地址映射表
      • 这个表叫ARP表
      • 流程
        • 先查高速缓存
        • 没有的话就通过源和目的IP加本机器MAC地址广播一个ARP请求分组
        • 然后需要的人收到了单播发回一个ARP响应分组
        • 响应分组包含要请求的IP和MAC映射关系
        • 写入源的ARP高速缓存然后根据查到的MAC地址转发
        • 需要经过路由器的就交给路由器吧
        • 外面的就走默认网关IP(需要先通过广播ARP请求分组知道默认网关的MAC)
      • ARP协议自动进行
    • 动态主机配置协议 DHCP ⭐️ 需要补充
      • DHCP是应用层协议,基于UDP
      • 给主机动态的分配IP地址
      • IP地址是临时的,DHCP客户只能在一段有限时间内使用,时间DHCP服务器定
    • 网际控制报文协议 ICMP 基于IP
      • ICMP差错报告报文
        • 终点不科达
        • 源点抑制(拥塞)
        • 时间超过(TTL=0)
        • 参数问题(首部值)
        • 改变路由(重定向)
        • 差错报文不发差错报文
        • 第一个数据报片发了后续的分片都不发
        • 组播地址不发
        • 特殊地址不发
      • ICMP询问报文
        • 回送请求和回答报文(常用
        • 时间戳请求和回答报文(常用
        • 地址掩码请求和回答报文
        • 路由器询问和通告报文
  • 课后习题:

    • PING在应用层,直接用网络层的ICMP,不用TCPorUDP
    • 协议字段是上层,版本字段是v4v6
    • 检验和只检查分组首部
    • 分组目的主机重组
    • 超过MTU DF=1 丢弃 然后ICMP报告
    • 子网减少广播域大小
    • CIDR 构成超网
    • 一个主机两个IP地址要有不同的网络号
    • 私有地址不允许出现在因特网上
    • ICMP报文丰庄在IP数据报中
    • IP缺乏差错控制,因此有了ICMP
    • IP为ICMP服务
    • 能不能访问NAT路由器(看默认网关)决定能不能上网
    • 连接不到路由器,也会影响网段内通信
    • 0.0.0.0 默认路由
    • 广播地址只能作为目的不能作为源
    • 0.0.0.0本主机在本网络源地址
    • CIDR一个表项代表多个表象 网络前缀+主机号
    • 子网划分 定长(均匀)不定长
    • 子网看看前缀
    • 片偏移8的整数倍

IPv6

  • 采用分类别编地址CIDR
  • 使用NAT
  • 采用具有更大的地址空间的IPv6
  • 8B的整数倍(v4 4)
  • v4可以再路由器和主机分片
  • v6只能在主机分
  • 双冒号 代替连串0 只能一次
  • 没有校验和字段
  • 单播可以作为源头和目的
  • 多播只能作为目的
  • 任播(独有)只能作为目的
  • 首部长度固定,不需要首部和字段

路由协议

  • 自治系统AS

  • 域内路由和域间路由

    • 内部网关协议 IGP
      • RIP :基于距离-向量的路由选择协议
        • 适合小网络 简单
        • 路由表
          • 目的网络、距离、下一跳路由器
          • 最多15 16不可达
          • 距离1就是直接交付
          • 仅和相邻路由器交换自己的路由表信息
          • UDP
          • 找跳数最少
          • 30s交换一次 180s不交换就死了
          • 经过若干次更新 收敛
          • 出故障 慢收敛 好消息快 坏消息慢
          • 应用层协议 借用UDP
      • OSPF:开放最短路径优先协议
        • 使用了最短路径算法 SPF
        • Dijkstra提出的
        • 洪泛而不是相邻 网络上的所有路由器
        • 交换相邻所有路由器的链路状态
        • 基于 链路状态路由算法 代价(费用 距离 时延 带宽)
        • 链路变化才发送
        • IP
        • 适合大规模网络
        • 收敛速度很快
        • 30min刷新数据库中的链路状态
        • 重要的路由器
          • 主干路由器
          • 区域边界路由器
          • 自治系统边界路由器
          • 区域内部路由器
    • 外部网关协议 EGP
      • BGP-4
        • 与其他AS的邻站BGP发言人交换信息(自治系统边界)
        • 交换网络可达性信息(到达某个网络要经过一系列的AS)完整路径
        • 变化才通知
        • 找到较好的 不一定最佳的
        • 基于TCP BGP应用层协议 借助TCP传送
        • 基于路径-向量算法
        • 首次交换整个路由表
        • 非首次交换变化部分
    • RU IO BT
  • 路由信息协议

    • RIP
    • OSPF
  • 边界网关协议BGP

IP组播

  • 单播:点对点

  • 广播:点对多点

  • 组播(多播):点对多点,组播组

    • UDP(尽最大努力交付)
    • 到最近的结点才复制分发
    • IP组播地址,同组同一个组播IP地址
    • 224.0.0.0-239.255.255.255 只能作为目标地址
    • D类地址
    • 组播不产生ICMP
    • 不是所有D类都可以作为组播地址
    • 01-00-5E,剩下根据IP组播地址映射最后23位置(最低第24位是0)
      • IP层软件过滤,不是本主机的就丢弃
  • 网际组管理协议IGMP 利用IP传递(ICMP也是)

    • 让路由器知道本局域网是否有主机加入或者退出某个组播组
  • 课后习题

    • 组播转发树避免路由环路
    • 映射没啥好说的
    • 组播地址: 224.0.0.0-239.255.255.255
    • 单播:一个接口转发收到的分组
    • 多播:多个接口转发

移动IP

  • 移动IP
    • 固定IP地址
  • 移动结点:永久IP移动设备
  • 归属代理:本地代理(移动结点一开始的地方,可以是路由器)
  • 永久地址(归属地址):移动站点在归属网络的原始地址
  • 外部代理:在外部网络中帮助移动结点完成移动管理功能的实体
  • 转交地址:外部代理的地址or动态配置的

网络层设备

  • 路由器

    • 有多个输入多个输出的专用计算机,用来转发分组
    • 路线选择
      • 构造路由表,更新和维护
    • 分组转发
      • 根据转发表对分组进行转发
      • 从一个输入端口到一个输出端口就是转发,内部
      • 路由选择是选一个合适的路径,外部
      • 输入输出队列溢出 排队导致丢失
  • 三层设备

    • 路由器:可以互联两个不同网络层协议的网段
    • 网桥:可以互联两个物理层和链路层不同的网段
    • 集线器: 不能互联两个物理层不通网段
  • 路由表来源于路由选择算法

  • 转发表来源于路由表

    • 可以硬件也可以软件
  • 路由表

    • 目的网络IP地址、子网掩码、下一跳IP地址、接口
  • 转发表(分组实际转发依靠直接查找转发表)

  • 交换机的交换表(也是自学习)

    • MAC地址 接口

C5 传输层

传输层提供的服务

  • 运输层寻址与端口

  • 无连接服务和面相连接的服务

  • 向应用层提供通信服务

  • 运输层是面向通信的最高层,用户功能中的最底层

  • 为不同主机的进程提供了逻辑通信(端到端),网络层提供了主机之间的逻辑通信

  • 运输层可以提供可靠的服务

  • 网络层通信双方是主机

  • 主机通信的本质是进程通信,又叫端到端的逻辑通信

  • 逻辑通信:运输层之间的通信好像水平传输

  • 复用:发送方不同的应用进程都可以使用同一个传输层协议传输数据

  • 分用:接收方的传输层剥去首部可以把数据交付给目的应用进程

  • 网络层也有复用分用,不同协议的数据都可以封装到IP数据报,分用之后在对方网络层剥去首部交给相应的协议

  • 传输层还要对报文差错检测,网络层只检查IP数据报首部

  • 分组交换:虚电路 or 数据报

    • 面相连接TCP 虚电路
    • 无连接UDP 数据报
  • 传输层向高层屏蔽了低层网络核心的细节,让应用进程看见的是在两个传输层实体之间好像有一个端到端的逻辑通信信道

  • TCP时,尽管下面不可靠(最大努力交付),但依旧相当于全双工可靠信道

  • UDP时,依旧不可靠

  • 传输层的寻址和端口

    • 端口的作用
      • 让应用层的各种应用进程将其数据通过端口交付给运输层,以及让传输层知道应该吧报文交给那个进程,端口事运输层的服务访问点
      • 类似于IP地址在网络层的作用
      • 类似于MAC地址在数据链路层的作用
      • 不过IP表示网络、MAC标志的是主机、端口表示的是应用进程
    • 端口号
      • 长度为16bit 能表示65536个不同的端口号
      • 端口号只具有本地意义,表示本计算机应用层中的各个进程
      • 服务器端用的端口号
        • 熟知端口号:0-1023
          • FTP:21
          • TELNET:23
          • SMTP:25
          • DNS:53
          • TFTP:69
          • HTTP:80
          • SNMP :161
        • 登记端口号:1024-49151
      • 客户端使用的端口号 49152-65535
        • 临时端口号:客户进程运行时动态选择,又叫短暂端口号
        • 可重复使用,通信结束不复存在
    • 套接字
      • 网络中IP地址标识和区别不同的主机
      • 通过端口号来表示不同进程
      • 端口号频道IP地址就成为了套接字
      • 唯一标识网络中一台主机和上面的一个应用
      • A给B的源端口号,就是B给A的目的端口号
  • 无连接和面相连接服务

    • TCP:FTP、HTTP、TELNET
    • UDP:TFTP、DNS、SNMP、RTP
  • 课后习题

    • 传输层不属于通信子网
    • 端到端就是传输层
    • 传输层为进程逻辑通信,保证可靠和顺序交付
    • IP、和TCP固定首部都是20B
    • UDP的话,应用层必须承担可靠性方面的工作

UDP

  • UDP数据报
    • 概述:增加了两个基本的服务,复用分用和差错检测
    • 选了UDP,进程几乎直接和IP打交道
    • 优点
      • 无需建立连接:从建立角度
      • 无连接状态 :不需要维护连接、从维护角度
      • 首部仅8B TCP20B
      • 应用层能控制数据发送和时间,UDP没有拥塞控制
      • 网络中的拥塞不会影响主机发送效率
      • 支持一对一、一对多、多对一、多对多
      • 容忍一些数据的丢失,不容忍时间延迟

    • 适合一次传输少数据的网络饮用,DNS、SMTP
    • 不保证可靠交付,但不意味应用对数据的要求不可靠,可靠应用层完成
    • 开发者设计可靠机制
    • UDP面向报文。报文是UDP数据报处理的最小单位
    • 应用程序必须选择大小合适的,否则会分片,或者首部太长,IP层效率不高
  • UDP首部格式(2Bx4)
    • 源端口
    • 目的端口
    • 长度:UDP数据报的长度,最小值是8,1B为单位
    • 校验和 :可选的,不想算就直接0
  • UDP校验
    • 计算校验和的时候要在UDP数据报之前加入12B的伪首部,但并不是真正的
      • 源IP 目的IP UDP长度
    • 计算时临时添加,不向下不向上,只为了计算校验和
    • IP只校验首部
    • UDP校验首部和数据部分
    • UDP数据部分变成偶数个字节,全部加起来
    • 然后二进制反码计算和
    • 接收方求16位字的和应该全1否则丢弃
    • 校验能力不强,但简单,快速

TCP

  • TCP协议的特点
    • 在不可靠的IP层上实现
    • 可靠、有序、无丢失、不重复
    • 特点
      • 面相连接的传输层协议,逻辑链接
      • 只能有两个端点,只能端到端(进程对进程)
      • 全双工,有发送缓存和接受缓存
      • 面向字节流,虽然应用程序和TCP交互是一次一个数据块
      • TCP把应用程序给的数据就当成一连串无结构数据流
    • UDP长度由应用程序缺点,TCP长度根据接收方给出的窗口值和网络拥塞程度决定
  • TCP报文段
    • TCP传送的数据单元成为报文段
    • 不仅可以运载数据,又可以建立连接、释放链接、应答
    • TCP报文可以分为首部和数据两部分
    • TCP报文段作为IP数据包的数据部分装在IP数据报中
    • 20B固定,最短20B
    • 4N字节根据长度增加
    • 字段意义
      • 源端口 目的端口 各2B
      • **序号4B:
        • 面向字节流,每个字节按顺序编号
        • 序号字段的值是指本报文段发送的第一个字节的序号 seq**
      • 确认号:期望收到对方下一个报文断的第一个数据字节序号 ack
      • 数据偏移:并不是分片的数据便宜,而是表示首部长度,表示数据开始距离起始多远
      • 保留:未来用
      • 紧急位 URG=1则紧急指针有效
      • 确认位 ACK=1 确认号字段才有效
      • 推送位 PSH=1 要尽快给进程,而不是填满
      • 复位位 RST=1 连接严重差错,需要释放链接重新建立
      • 同步位 SYN=1 代表连接请求或连接接受请求
        • SYN=1 ACK=0 连接请求报文
        • SYN=1 ACK=1 表示同意建立连接
      • 终止位 FIN=1 代表发送完毕,请求释放
      • 窗口:允许对方发送的数据量
      • 校验和:校验数据和首部2部分,12B伪首部(相比UDP只有协议字段不通)
        • 紧急指针(URG=1才有意义)紧急数据共有多少字节
      • 选项报文数据字段最大长度
      • 填充:4B整数倍
  • TCP连接管理
    • TCP连接的端点是套接字
    • 三次握手
      • SYN=1 seq=x
      • SYN=1 ACK=1 seq=y ack=x+1
      • ACK=1 seq=x+1 ack=y+1
      • 只有你先说了你的seq 我才能计算我对你的ack
      • 客户机资源在完成第三次握手时分配
    • 四次挥手
      • FIN=1 seq=u
      • ACK=1 seq=v ack=u+1
      • FIN=1 ACK=1 seq=w ack=u+1(半关闭状态服务器又发送了一些数据可能)
      • ACK=1 seq=u+1 ack=w+1
  • TCP可靠传输
    • 使用了校验、序号、确认和重传等机制来达到目的
    • 序号
    • 确认(积累确认)
    • 重传
      • 超时:重传时间到期但未收到确认就重传
      • 冗余ACK:收到失序就重传,快速重传
  • TCP流量控制
    • 滑动窗口
  • TCP拥塞控制
    • 接受窗口rwnd:接收方根据目前接受缓存大小许诺的最新窗口值,反应接收方的容量
    • 拥塞窗口cwnd:根据自己估算的网络拥塞程度而设置的窗口只,反应网络当前容量
    • 发送窗口上限取小的那个
    • 慢开始和拥塞避免
      • 慢开始算法:一开始cwnd=1 指数翻倍增长 每次x2
      • 拥塞避免算法:当cwnd>ssthresh 就开始拥塞避免算法,每次+1
        • ssthresh是慢开始门限
      • 网络拥塞的处理:门限/2 从1慢开始
      • 如果x2以后>ssthresh 那就变成ssh
      • cwnd=ssh用什么算法都行,拥塞避免多一些
    • 快重传和快回复
      • 快重传
        • 收到三个重复的ACK,直接重传对面未收到的,不必等待超市计时器
      • 快回复
        • cwnd=ssthresh 且 都是拥塞时ssthresh的一半 避免慢开始过程

  • 课后习题
    • TCP积累确认
    • 题目都很好,要学会变通,也要学会发现题目中的细小细节

C6 应用层

网络应用模型

  • C/S服务器模型
    • 整个网络的管理工作由少数服务器担当,因此网络管理集中又方便
    • 客户机器之间不会直接通信
    • 可扩展性不佳
  • P2P模型
    • 减轻服务器计算压力,消除了对某个服务器完全依赖,任务分配各个结点
    • 多个客户机之间可以共享文档
    • 可扩展性好
    • 网络健壮性强
    • 因为自己获取服务也要对其他人提供服务,会占用很多内存,P2P下载还损伤硬盘
    • 反对态度

域名系统(DNS)

  • 层次域名空间
    • 顶级域名
      • 国家.cn、通用.com、基础结构域名,用于反向域名解析
      • 二级域名
      • 三级域名
      • 四级域名
  • 域名服务器
    • 根域名服务器
    • 授权域名服务器
    • 本地域名服务器
  • 域名解析过程
    • 递归查询(比较少用)
    • 递归与迭代相结合的方式
    • 具体过程:
      • 懒得整理 P262
  • 习题
    • 注意细节 RTT
    • 迭代 递归

文件传输协议

  • FTP的工作原理
    • (TFTP UDP)
    • 可以屏蔽不同类型的计算机系统
    • 为不同的主机系统提供文件传输
    • 需要登录,工作原理
      • FTP地址、用户名、密码、TCP
      • 同意匿名登陆、访问公开文件
      • 端口21(控制端口)
    • FTP服务器
      • 一个主进程、n个从属进程、每个处理单个用户请求
      • 控制进程
      • 数据传输进程
      • 都是从属的
    • FTP客户机
      • 用户界面
      • 控制进程
      • 数据传输进程
  • 控制链接和数据连接(这些端口都是服务器端口)
    • 控制链接 21端口
      • 始终保持
    • 数据连接 20端口(具体和传输模式)
      • 主动 20
      • 被动 > 1024 协商决定
      • 传送完毕就关闭
  • 传输模式
    • 文本模式ASCII模式 文本序列传输数据
    • 二进制模式 Binary模式 二进制序列传输数据
  • 控制信息带外传送
  • 习题:

电子邮件

  • 电子邮件系统的组成结构
    • 用户代理:电子邮件的客户端软件 Foxmail Outlook、也可以发送接收邮件,注意方向对象
    • 发送方邮件服务器:发送接收邮件、报告传送结果
    • SMTP:发送
    • POP3、IMAP收
    • 发送邮件缓存
    • 接受邮件缓存
    • TCP
  • 电子邮件格式与MIME
    • 信封 xxx@xxx.com
    • 内容
      • 首部:To subject等
      • 主体
    • MIME
      • 通用因特网邮件扩充MIME
      • 把非ASCII码变成7位ASCII码
      • 传输内容更加丰富多彩、多种数据类型
      • 逐步用于浏览器

  • SMTP与POP3
    • SMTP:25端口
      • 规定了两个相互通信的SMTP进程之间如何交换信息
      • 发送的就是SMTP客户
      • 接受的就是SMTP服务器
      • 规定了14条命令和21种应答信息
      • 通信阶段
        • 连接建立
        • 邮件发送
        • 连接释放

      • 缺点:
        • 不能传送二进制文件or其他二进制对象
        • 仅限于7位ASCII码,不能传输非英语国家文字
        • 拒绝超过一定长度的邮件
    • POP3
      • 只存在于最后一个环节
      • 下载并保留
      • 下载并删除
    • IMAP协议
      • 用户想打开才传送到主机
      • 否则只能看首部
      • 允许只读区某一个部分
      • 先看正文,有Wifi下载附件
  • 基于万维网的电子邮件
    • 方便 各种不同邮件服务器护送
    • HTTP SMTP HTTP(代替第一个和第三个环节)

万维网

  • WWW的概念与组成结构
    • 信息储藏所、资料空间
    • 所有网站统一在一起
    • 通过URL统一资源定位符来唯一标识资源(文字、视频、音频等)
    • URL一般形式:<协议>://<主机>:<端口>/<路径>
    • HTTP用域名 or IP
    • ftp 用 IP
    • 用HTML超文本标记语言让网页设计者可以从一个界面的链接到另一个
  • HTTP超文本传输协议
    • 如何上网、如何请求资源
    • HTTP请求报文、相应报文(P279具体过程、看过图解HTTP的我轻松拿下啊)
    • 无状态,无法识别用户,两次单机一样
    • 实际应用需要识别用户Cookie
    • Cookie是存储于用户主机的文本文件、记录一段时间访问记录
    • 无连接,交换HTTP报文之前不需要先建立HTTP链接
    • 连接方式
      • 持久链接 Keep-Alive
      • 非持久链接 Close
        • 想请求 再建立
    • HTTP报文结构
      • 面向文本,每个字段都是一些ASCII码串
      • 请求报文
      • 应答报文

  • Post title:408-net
  • Post author:Picasun
  • Create time:2023-02-15 16:05:42
  • Post link:https://redefine.ohevan.com/2023/02/15/408-net/
  • Copyright Notice:All articles in this blog are licensed under BY-NC-SA unless stating additionally.