计算机网络(学习总结)

249 阅读13分钟

第一章 计算机网络和因特网

1 因特网

  • 主机
  • 端系统
  • 通信链路
  • 分组交换机

2 协议

  • TCP,IP,HTTP

3 网络边缘

  • 主机

  • 通信模型

    • C/S
    • P2P
  • 接入网:将主机连接到边缘路由器

3.1 接入方式

3.1.1 modem

  • 点对点连接ISP的拨号池

3.1.2 DSL

  • 上行/下行速率
  • 频分复用
  • 带宽独享

3.1.4 HFC:光纤同轴电缆混合网络

  • 电缆分配网络
  • 光纤传输
  • 带宽独享

3.1.5 局域网接入

  • 以太网

    • 共享或专用的链路来连接端系统和路由器
  • 企业网络

3.1.6 无线接入

  • 基站

  • 无线局域网

  • 广域无线接入

  • 电信运营商提供

    • 3G,4G,5G

3.2 物理媒体

  • 导引型:固体媒体传播

    • 双绞线:两根互相绝缘的铜导线
    • 同轴电缆:双向传输,基带
    • 光缆:玻璃光纤传播光脉冲,高速运行,低误码率
  • 非导引型:自由传播

    • 无线电:电磁频谱传播,双向传输,易受到反射和障碍物干扰
    • 类型:地面微波,无线局域网,无线广域网,卫星

4 网络核心

4.1 电路交换网络

  • 方法

    • 建立连接
    • 交换数据
    • 释放连接
  • 时分复用

  • 频分复用

  • 问题:不够灵活

4.2 分组交换

  • 将保温划分为较短的数据段

  • 数据段加上首部构成分组

  • 存储转发

  • 特征

    • 共享节点,分组存储转发
    • 断续(动态)分配传输带宽
    • 网状拓扑结构
  • 转发

    • 数据报网络
    • 虚电路网络
  • 问题

    • 存储转发时因要排队总会造成一定的时延
    • 携带一定的控制信息,从而带来额外开销
    • 分组交换网的管理和控制比较 复杂

4.3 对比

  • 相同条件下,分组网络支持更多用户
  • 用户数较少时,分组交换能够获得比电路交换更好的性能
img

4.4 ISP和因特网主干

  • 主干ISP->区域网络->内容提供商网络

4.5 分组交换时延,丢包,吞吐量

  • 时延

    • 处理时延
    • 排队时延
    • 传输时延:

      • 将所有分组的比特推向链路所需要的时间
      • 与分组和链路传播速率有关
    • 传播时延:

      • 一个比特从一台路由器到另一台路由器传播的时间
      • 取决于链路的物理媒体
  • 丢包

    • 分组到达时队列已满,则分组被丢弃
  • 吞吐量

    • 瓶颈链路的传输速率

5 协议层和服务模型

5.1 协议栈

  • 应用层:FTP,SMTP,HTTP
  • 运输层:TCP,UDP
  • 网络层:IP,路由协议
  • 链路层:PPP,以太网
  • 物理层:在线路上传输比特流

5.2 ISO/OSI参考模型

  • 增加

    • 表示层
    • 会话层

5.3 模型

  • 实体:软件模块
  • 对等体:对应层的实体
  • 协议:语法,语义,同步
  • 服务:下层为上层提供的功能
  • 封装

6 网络攻击

  • 恶意软件,病毒,僵尸网络,自我复制
  • 拒绝服务攻击
  • 分布式拒绝服务攻击
  • 嗅探分组

第二章

1 应用层协议原理

1.1 网络应用层序

  • 发送数据
  • 接收数据
  • 处理数据

1.2 体系结构

  • C/S
  • P2P
  • 混合体系结构

1.3 网络应用服务

  • 数据的可靠传输
  • 带宽的自动控制
  • 传输和反馈的实时性
  • 安全性

1.4 运输层服务

  • TCP
  • UDP
  • SSL:提供加密的TCP

1.5 套接字

  • 主机地址
  • 端口地址

2 web和HTTP

2.1 WEB

  • 由对象组成
  • html文件是Web页面的基础,它可以包括各种各 样的对象,是一个容器对象。
  • 任何一个对象都可以用 URL来定位

2.2 HTTP

  • HTTP1.0:非持久性连接

    • 取对象需要2RTTs

      • TCP连接
      • 对象请求/传送
    • 每次发送都需要建立TCP连接

    • 串行和并行

  • HTTP1.1:持久连接

    • 非流水线方式

      • 只建立一次TCP连接
      • 一个对象传输完成方能传输下一个
    • 流水线方式

      • 一次性发送所有请求
      • 3RTTs:TCP连接,html,其他对象
  • HTTP报文

    • HTTP请求报文

      • 请求行
      • 首部行
      • 空行
      • 实体主体
      • 请求方法:GET,POST,HEAD,PUT,DELETE
    • HTTP响应报文

      • 状态行
      • 首部行
      • 空行
      • 实体主体
    • 常见状态码和短语

      • 200:OK
      • 301:Moved Permanently
      • 400:Bad Request
      • 404:Not Found
      • 505:HTTP Version Not Supported

2.3 用户——服务器交互:Cookie

  • 工作流程
  • 好处

    • 认证
    • “购物车”
    • 推荐
    • 用户会话状态

3 电子邮件系统:用户代理,邮件服务器,SMTP

3.1 SMTP协议

  • SMTP:发送邮件的协议
  • 对比HTTP
  • 报文格式

    • 首部诸行
    • 信体

3.2 客户机获取邮件

  • POP3协议
  • IMAP协议
  • HTTP协议

4 DNS:因特网的目录服务(IP地址和域名的转换)

4.1 DNS简述

  • 分布式数据库
  • 运行在端到端系统上,使用UDP进行传输
  • 属于应用层协议
  • C/S模式

4.2 DNS实现

  • DNS服务器

    • 顶级域DNS服务器:顶级域名和国家的域名解析,com,org,net等
    • 权威DNS服务器:属于某个组织,服务提供商
    • 本地DNS服务器

4.3 DNS缓存

  • 服务器得知某个映射就缓存
  • 一定时间自动消除

4.4 提供的服务

  • 域名和IP的转换
  • 主机/邮件服务器别名
  • 负载均衡:一个域名对应多个IP

4.5 攻击DNS服务器

  • DDoS攻击
  • 重定向攻击
  • 反射攻击

5 P2P文件共享

5.1 C/S和P2P对比

5.2 BitTorrent

6 视频流和内容分发网

6.1 视频编码方式

  • CBR:恒定比特率
  • VBR:可变比特率

6.2 经HTTP的动态适应性流(DASH)

  • 服务器

    • 视频文件分成多个文件快
    • 每个块以不同的速率存储、编码
    • 清单文件:为不同的块提供URL
  • 客户端

    • 定期测量带宽
    • 查询清单

6.3 内容分发网

  • 在多个地理位置分散的站点(CDN)存 储/提供多个视频副本

    • 转有CDN
    • 第三方CDN
  • 集群选择策略

    • 地理上最为邻近策略
    • 周期性实施测量策略

7 套接字编程

第三章

1 概述

  • 功能: 为不同主机上运行的应用进程之间提供逻辑通信

  • 工作内容:

    • 发送方:把数据划分为报文段交给网络层
    • 接收方:把报文段重组成应用数据交付给应用层
  • 传输协议:

    • TCP
    • UDP

2 多路复用和多路分解

  • 多路分解:将运输层报文段的数据交付到正确的套接字
  • 多路复用:在源主机上从不同的套接字收集数据块,并为每个数据块封装上首部信息生成报文段,将报文段传送到网络层。

3 套接字

  • 端口:标志应用层的进程(进程)
  • 套接字:使用连接作为最基本的抽象TCP连接的端点,每个套接字都有唯一的标识符,标识符的格式取决于它是UDP还是TCP套接字。
  • 套接字

    • UDP:

      • 二元组:目的IP,目的端口号
      • 收到UDP报文段时,提取对应的目的IP,目的端口号,定位到相应的UDP套接字。
    • TCP套接字:

      • 四元组:源IP,源端口号,目的IP,目的端口号
      • 收到TCP报文段时,提取对应的源IP,源端口号,目的IP,目的端口号,定位到相应的TCP套接字。

4 无连接传输:UDP

  • 提供的功能:

    • 多路复用/多路分解
    • 差错检测
  • 优点:

    • 关于何时,发送什么数据的应用层控制更为精细
  • UDP报文段结构

    • 首部8个字节
    • 源端口,目的端口
    • 长度,检查和
    • 应用数据
  • 检查和:将两个16比特的数据相加后结果回卷,取反码

5 可靠数据传输

5.1 原理

5.2 逐步开发rdt

  • rdt 1.0

    • 信道完全可靠

    • 发送方:

      • 数据打包
      • 发送数据包到底层
    • 接收方

      • 从底层接收分组
      • 交付到上层
  • rdt 2.0

    • 分组可能受损

    • 发送方

      • 差错检测,数据打包
      • 发送数据包到底层
      • 等待接收反馈(出错重传)
    • 接收方

      • 从底层接收分组
      • 发送反馈(NCK和ACK)
      • 是否交付到上层
  • rdt 2.1

    • 考虑ACK和NAK可能受损
    • 在rdt 2.0的基础上对分组编号
  • rdt 2.2

    • 针对rdt 2.1的改进

      • 只使用ACK: 接受方必须明确指出被确认的分组序号
      • 发送方收到重复的ACK后进行重传
  • rdt 3.0

    • 考虑丢包
    • 加入计时器,耐心等待
  • 流水线技术

    • 允许发送方发送多个分组而无需等待确认
    • 增大序号范围
    • 缓存分组

5.3 GBN和SR

  • GBN:其后分组全部重传
  • GBN滑动窗口大小

    • 发送方:<2^k - 1
    • 接收端:1
  • SR:仅重传该分组

    • 发送方:

      • 如果分组n等于sendbase,窗口基 序号向前推到下一个未确认序号
    • 接受方:

      • 失序缓存
      • 交付连续的分组,窗口推到下一个未收到的分组

6 TCP

6.1 特点

  • 面向连接
  • 全双工
  • 点对点
  • 可靠有序
  • 流量控制
  • 拥塞控制
  • 流水线

6.2 TCP报文段

  • 首部20个字节
  • 序列号:报文段中第一个字节在字节流中的编号
  • 确认号:期待对方发送的下一个字节的seq
  • 可靠传输

    • 按字节编号
    • 采用唯一的定时器

6.3 TCP连接管理

  • 建立连接:三次握手
  • 释放连接

7 拥塞控制

7.1 reno算法

  • 加性增,乘性减

  • 慢启动

    • 初始CongWin = 1MSS
    • 指数增长
  • 拥塞避免

    • 线性增长

7.2 窗口和门限控制

7.3 TCP吞吐量

第四章 网络层

1 网络层概述

  • 目标:实现主机到主机的通信

  • 三大部分

    • 网络层功能和服务
    • 转发
    • 路由选择
  • 虚电路和数据包网络

    • 虚电路:面向连接

      • 通过每段链路的VC号进行转发
      • 路由器维持连接状态信息
    • 数据报:面向无连接

  • 分组交换机

    • 链路层节点交换机
    • 路由器
  • 服务

    • ATM
    • 因特网

2 路由器结构

  • 路由器工作原理

    • 输入端口

      • 线路端接
      • 数据链路处理
      • 查找,转发,排队,线头阻塞
      • 最长前缀匹配
    • 交换结构

      • 经内存交换
      • 经总线交换
      • 经互联网络家交换:交换结构控制器
    • 路由选择处理器

    • 输出端口

      • 排队,缓存管理

      • 数据链路处理

      • 线路端接

      • 处理丢包:

        • 缓存数量B=RTT x C
        • 分组调度程序:随机早期检测算法
      • 交换结构不够快:导致输入排队交换机的线路前部阻塞


3 网际协议

  • 数据报格式

    • 20字节

    • IP分片

      • 标识
      • 标志
      • 片偏移
    • IP v4编址

  • 网络地址

    • 子网掩码:

      • 网络号和子网号置1,主机号置0。
      • 对外隐藏子网,对内指示网络号和子网号。
    • 将目的IP地址与子网掩码相“与”,判断是否等于对应的子网的网络地址

  • 无类别域间路由选择(CIDR)

    • 最长前缀匹配
    • 内部主机号

    • 获取主机地址

      • 手动配置
      • DNCP:动态主机配置协议,即插即用协议,客户-服务器协议,没有服务器则使用DHCP中继代理

- - **DHCP服务器发现:客户生成DHCP发现报文的IP数据报,源地址为0.0.0.0,广播目的地址为255.255.255.255**
  - **DHCP服务器提供:向客户做出响应,使用255.255.255.255的广播地址**
  - **DHCP请求**
  - **DHCP  ACK**
  • 网络地址转换(NAT):对外隐藏内部网络信息

    • NAT转换表
    • UPnP:穿透NAT
  • 英特网控制报文协议(ICMP):差错报告

    • 承载在IP数据报中
    • IP v6(128位)

      • 容量扩大
      • 40字节首部
      • 流标签和优先级取消分片和组装
  • 路由选择

    • 全局式路由选择:链路状态算法

      • LS算法:让每个节点向网络中所有其他节点广播链路状态分组

      • 迪克斯特拉算法:

        • 通过链路状态广播获得信息
        • 所有节点具有该网络的同一个完整的视图
      • 复杂度:O(n^2)
      • 缺点:链路震荡
      • 方法:让每台路由器发送链路通告的时间随机化
    • 分散式路由选择:距离向量算法

    • 对比:

4.5 层次路由选择

  • 自治系统:AS

    • 自治系统内部选路协议
    • 自治系统间选路协议
  • RIP协议(使用距离向量算法,运行在UDP上)

  • OSPF协议(使用Dijkatra算法,运行在IP上)
  • 自治系统间选路协议----BGP4(运行在TCP上)

    • BGP交换路由信息
  • BGP路由通告

    • 聚合前缀

    • 发布前缀可达性消息

      • 使用iBGP会话向AS中的其他路由器发布前缀
      • 使用eBGP向其他AS的网关路由器发布前缀
    • 路由

4.6 选路算法小结

第五章 链路层

1 概述

1.1 服务:

    • 成帧
    • 链路访问
    • 可靠传递
    • 流量控制
    • 差错检测,查错纠正

1.2 配器通信

    • 发送方:封装数据包成帧,差错检测位
    • 接收方:查找错误,可靠交付,取出数据报交付到网络层

1.3 差错检测

  • 单比特奇偶校验
  • 二维奇偶校验
  • 检验和
  • 循环冗余校验(CRC)

1.4 多路访问链路和协议

  • 点到点链路

    • PPP/以太网交换机和主机
  • 广播链路

    • 传统以太网/HFC/802.11无线LAN
  • 多路访问协议

    • 信道划分协议:分割信道(时隙,频率,编码)
    • 随机访问协议:信道不分割,允许碰撞,碰撞恢复
    • 轮流协议:轮流传送
  • 信道划分协议

    • TDMA

      • 获得固定长度的时隙
      • 没有数据发送的时隙空闲
    • FDMA

      • 每个节点分配固定的频段
  • 随机访问协议

    • 有数据发送时以全速率R发送

    • 多个节点发送时产生碰撞

      • 检测碰撞
      • 碰撞恢复
    • 举例:ALOHA,时隙ALOHA,CSMA,CSMA/CD,CSMA/CA

    • 纯ALOHA的工作效率:1/(2e)=0.18

    • 时隙ALOHA:1/e=0.37

    • CSMA:载波监听

      • 传输前监听
      • 信道空闲,传送整个帧
      • 信道忙,推迟传送
      • 争用期:3t
    • 轮流协议:主节点邀请从节点轮流传输

    • 令牌传递协议:控制令牌依次通过各个节点

    • DOCSIS:用于FC的链路层协议

1.5 交换局域网

  • MAC地址

    • 标识网络适配器,使得能在广播信道上寻址目标节点
    • 平面地址,不会随位置改变
  • ARP:地址解析协议

    • 根据目标IP地址获取MAC地址

    • ARP高速缓存

    • TTL:超过TTL的地址映射会从ARP表中删除

    • 同一局域网内

      • 建立ARP请求包
      • 检查ARP表是否有对应IP和MAC的地址映射,有就发送
      • 没有就广播发送该请求包(目的MAC地址为全1)
      • 该子网内的所有适配器收到ARP分组后,ARP模块检查IP地址是否匹配,匹配的话就发送一个ARP响应分组。
  • 以太网

    • 类型

      • 总线式以太网
      • 交换式以太网
    • 以太网帧结构

      • 数据字段
      • 前同步码
      • MAC地址
      • 类型
      • CRC
    • 服务

      • 无连接
      • 不可靠
    • 使用CSMA/CD:载波侦听,碰撞检测,随机回退

    • 指数回退算法
    • 争用期:51.2us,可发送512bit,即64字节

      • 前64字节没有发生碰撞,后续数据不会发生碰撞
      • 最小有效帧长
    • 信号编码

      • 曼彻斯特编码
  • 集线器互联

  • 交换机互联

    • 优点:过滤通信量,扩大范围,提高可靠性,互联不同物理层
    • 缺点:增加时延,帧丢失,广播风暴
  • 交换机VS路由器

    • 路由器维护转发表,实现路由算法
    • 交换机维护交换表,实现MAC地址过滤,学习算法
  • 虚拟局域网:通过软件实现网路节点划分

    • 基于交换机接口号,MAC地址,IP地址构建
    • 流量隔离
    • 动态的成员管理
    • VLAN之间的转发

第七章

1 无线网络

  • 无线主机

  • 无线链路

  • 基站

  • 基础设施模式

  • 特征:

    • 递减的信号强度
    • 来自其他源的干扰
    • 多径传播
  • 传输会引入噪声

    • SNR——信噪比
    • BER——比特差错率
    • SNR越高,BER越小
  • 隐藏终端问题

  • 码分多址访问(CDMA)