计算机网络:408考研|湖科大教书匠|原理参考模型II|学习笔记

系列目录

计算机网络总纲领
计算机网络特殊考点
计算机网络原理参考模型I
计算机网络原理参考模型II


目录


更新日志

6.26 后面还会考虑继续补充重要的内容、配图和习题


前言

⚠️上篇文章在这里~原理参考模型I

⚠️不是十分重要的内容就不展开了,为了文章格式的一致性,还是选择将部分知识点列出来,有需要可以自行翻阅书籍~


应用层(Application Layer)

主要任务:通过应用进程的交互实现特定网络应用

一、应用层概述

  • 应用层是建立和设计计算机网络的最终目的
  • 网络应用程序只运行在端系统中,而运输层已经提供了端到端的进程间的逻辑通讯服务

二、客户/服务器方式和对等方式

开发一种新的网络应用首要考虑------网络应用程序在各种端系统上的组织方式和他们之间的关系

  • 客户/服务器方式(C/S, Client/Server方式)
    • (基于的应用)服务集中型
  • 对等方式(P2P, Peer-to-Peer方式)
    • 服务分散型
    • 优势
      • 可扩展性------系统性能不会因为规模的增大而降低------具有成本上的优势

三、动态主机配置协议(DHCP, Dynamic Host Configuration Protocol)

"即插即联网"(Plug-and-Play Networking)

作用

  • IP地址
  • 子网掩码
  • 默认网关(的IP地址)
  • 域名服务器(DNS)(的IP地址)

工作过程

  • DHCP报文的封装
    使用运输层的UDP所提供的服务
    • 服务器UDP端口号------67
    • 客户UDP端口号------68
  • DHCP的基本工作过程(P336-339)
    • 七种报文类型
      • DHCP发现报文(DHCP DISCOVER)
      • DHCP提供报文(DHCP OFFER)
      • DHCP请求报文(DHCP REQUEST)
      • DHCP确认报文(DHCP ACK(Acknowlegment))
      • DHCP谢绝报文(DHCP DECLINE)
      • DHCP否认报文(DHCP NACK(NegativeAcknowlegment))
      • DHCP释放报文(DHCP RELEASE)
    • 基本工作工程(P336, 图6-6)

DHCP中继代理

四、域名系统(DNS, Domain Name System)

作用

因特网的域名结构(层次树状结构)

  • 顶级域名(TLD, Top Level Domain)
    • 国家顶级域名(nTLD)
    • 通用顶级域名(gTLD)
    • 反向域(arpa)
  • 二级域名(我国)
    • 类别域名
    • 行政区域名
  • 三级域名
  • 四级域名

因特网上的域名服务器

  • 根域名服务器
  • 顶级域名服务器
  • 权限域名服务器
  • 本地域名服务器(默认域名服务器)

因特网的域名解析过程

  • 域名查询方式
    • 递归查询------从请求主机本地域名服务器的查询(采用)
    • 迭代查询------其余的查询

五、文件传送协议(FTP, File Transfer Protocol 采用C/S方式)

六、电子邮件(E-mail)

七、万维网(WWW, World Wide Web)

运输层(Transport Layer)

主要任务:为相互通信的应用进程提供逻辑通信服务

一、运输层概述

进程间基于网络的通信

TCP/IP体系结构运输层中的两个重要协议(TPDU, Transport Protocol Data Unit 运输协议数据单元)*

  • 无连接不可靠的UDP协议
    • UDP用户数据报(User Datagram)
  • 面向连接的可靠的TCP协议
    • TCP报文段(Segment)

运输层端口号、复用与分用

  • 运输层端口号
    进程端口号(PID, Process Identification)
    端口号只具有本地意义
    • 服务器端
      • 熟知端口号(全球通用端口号)
      • 登记端口号
    • 客户端
      • 短暂端口号(又称临时端口号)

发送方的复用与接收方的分用

  • 发送方的复用
    • UDP复用------运输层使用UDP协议进行封装
    • TCP复用
    • IP复用------IP协议封装成IP数据报
  • 接收方的分用
    • UDP分用
    • TCP分用
    • IP分用
  • 🌟运输层端口号应用举例(自己费曼一下, P285,后面会补充)

二、UDP和TCP的对比

无连接的UDP和面向连接的TCP

  • 无连接的UDP
  • 🌟面向连接的TCP(TCP的连接管理)
    • "三报文握手"建立连接
    • "四报文挥手"释放连接

UDP和TCP对单播、多播和广播的支持情况

  • UDP支持单播、多播和广播
  • TCP仅支持单播

UDP和TCP对应用层报文的处理

  • UDP是面向应用层报文的
  • TCP是面向字节流的(全双工通信)------实现可靠传输流量控制拥塞控制的基础

UDP和TCP对数据传输可靠性的支持

  • UDP提供无连接不可靠的数据传输服务
  • TCP提供面向连接可靠的数据传输服务

三、🌟🌟🌟传输控制协议(TCP, Transport Control Protocol)

  1. TCP报文段的首部格式

补充: UDP用户数据报的首部格式

  • 源端口字段和目的端口字段
    • 源端口字段
    • 目的端口字段
  • 序号字段、确认号字段以及确认标志位(ACK)
    • 序号字段
    • 确认号字段和确认标志位(ACK)
  • 数据偏移字段
  • 保留字段
  • 窗口字段
  • 检验和字段
  • 同步标志位------TCP双方通过"三报文握手"建立连接
  • 终止标志位------TCP双方通过"四报文挥手"释放连接
  • 复位标志位:复位TCP连接
  • 推送标志位
  • 紧急标志位(URG)和紧急指针字段
  • 选项字段
    • 最大报文段长度
    • 窗口扩大选项
    • 时间戳选项(功能)
      • 计算往返时间(RTT)
      • 防止序号绕回(PAWS, Protect Against Wrapped Sequence Numbers)------处理序号超范围的情况
    • 选择确认选项
  • 填充字段------与IPv4数据报首部中的作用相同
  1. 🌟TCP的运输连接管理
  • TCP运输连接的三个阶段
    • 建立TCP连接
    • 数据传送
    • 释放连接
  • 🌟"三报文握手"建立TCP连接
  • 🌟"四报文挥手"释放TCP连接
  • TCP保活计时器
  1. TCP的流量控制(Flow Control)
  • 基本概念
  • 方法
  1. 🌟TCP的拥塞控制(Congestion Control)
  • 基本概念
  • 基本方法
    • 流量控制与拥塞控制的(任务)区别
      • (流控)确保发送方不会持续地以超过接收方接受能力的速率发送数据
      • (拥控)防止过多地数据注入到网络中,是网络能够承受现有的网络负荷
    • 拥塞控制的基本方法(控制论)
      • 开环控制方法
      • 闭环控制方法
        • 显示反馈算法
        • 隐式反馈算法
  • 🌟四种拥塞控制方法
 - 慢开始(Slow-Start)
 - 拥塞避免(Congestion Avoidance)
 - 快重传(Fast Retransmit)
 - 快恢复(Fast Recovery)
  1. TCP拥塞控制与网际层拥塞控制的关系(P318)
  1. TCP可靠运输的实现

TCP超时重传时间(RTO)的选择
TCP的选择确认(SACK)
TCP窗口和缓存的关系

网络层(Network Layer)

主要任务:将分组从源主机经过多个网络和多段链路传输到的目的主机

一、网络层概述

分组转发和路由选择

  • 分组转发
    ⚠️转发表是从路由表得出,其结构应使查找过程最优化
    • 路由选择处理机->路由选择协议->路由表->转发表
  • 路由选择(Routing)
    ⚠️路由选择生成的其实是路由表(Routing Table),路由表一般仅包含从目的主机到下一跳的映射,需对网络拓扑变化计算的最优化
    • 集中式路由选择
    • 分布式路由选择
    • 人工路由选择

网络层向上层提供两种服务

  • 面向连接的虚电路服务
    • 两台计算机通信,首先建立网络层的连接(也就是建立一条虚电路VC, Virtual Circuit)
    • (核心思想)可靠通信可由网络自身来保证
    • 虚电路只是一条逻辑上的连接
  • 无连接的数据报服务
    • 两台计算机通信时,不需要建立网络层连接

二、网际协议(IP)

  1. 配套协议

IP协议要使用

  • 地址解析协议(ARP, Address Resolution Protocol)
  • 逆地址解析协议(RARP, Reverse Address Resolution Protocol)------淘汰不使用了

要使用IP协议

  • 网际控制报文协议(ICMP, Internet Control Message Protocol)
  • 网际组管理协议(IGMP, Internet Group Management Protocol)
  1. 异构网络互联
  • 原理:多个异构网络由路由器互联,网络层都使用网际协议IP,像是统一的网络,即IP网
  • 好处:IP网的主机进行通信,看不见互连的各网络的具体异构细节
  1. IPv4地址及其编制方法

编制方法

  • 分类编制
    • 两部分
      • 网络号
      • 主机号
    • 五类
      • A类地址
      • B类地址
      • C类地址
      • D类地址(多播地址)
      • E类地址(保留地址)
  • 划分子网(分类编制的改进)
    • 子网掩码
    • 默认子网掩码------未划分子网的情况下使用的子网掩码
  • 无分类编制
    • 无分类域间选择(CIDR, Classless Inter-Domain Routing)
    • 路由聚合(构造超网)

应用规划

  • 定长的子网掩码(FLSM, Fixed Length Subnet Mask)
  • 变长的子网掩码(VLSM, Variable Length Subnet Mask)
  • IPv4地址与MAC地址
  • 地址解析协议(ARP):通过已知IP地址找到其相应的MAC地址
  • IP数据报的发送和转发过程
    • 主机发送IP数据报
      • 直接交付
      • 间接交付
    • 路由器转发IP数据报
  • IPv4数据报的首部格式(首部各字段含义)
    • 第一层
      • 版本字段
      • 首部长度、可选字段和填充(第六-N层)
        • 首部长度字段
        • 可选字段
        • 填充字段
      • 区分服务字段
      • 总长度字段
    • 第二层
      • 标识、标志和片偏移
        共同用于IPv4数据报分片
        • 标识字段
        • 标志字段
          • 最低位(MF, More Fragment)
          • 中间位(DF, Don't Fragment)
          • 最高位(保留位)
        • 片偏移字段(取值以8字节为单位)
    • 第三层
      • 生存时间(TTL, Time To Live)
      • 协议
      • 首部检验和(因特网检验和 Internet Checksum)
    • 第四、五层
      • 源IP地址和目的IP地址

三、静态路由配置

  • 直连路由和非直连路由
    • 直连路由------路由器自行得出
    • 非直连路由------网络运维人员配置
  • 默认路由和特定主机路由
    • 默认路由------条目的匹配优先级最低
    • 特定主机路由------条目的匹配优先级最高

四、因特网的路由选择协议

  1. 路由选择分类
  • 静态路由选择------人工配置
  • 动态路由选择------路由器通过路由选择协议自动获取路由信息
  1. 因特网采用分层次的路由选择协议(三个特点)

自适应
分布式
分层次

  • 自治系统(AS, Autonomous System)
    • AS之间的路由选择
      • 域间路由选择------外部网关协议这个类别(EGP, External Gateway Protocol)
    • AS内部的路由选择
      • 域内路由选择------内部网关协议这个类别(IGP, Interior Gateway Protocol)
  1. 路由信息协议(RIP, Routing Information Protocol)

内部网关协议中最先得到使用的协议之一;基于距离向量

相关基本概念(只适用于小型互联网)

RIP使用跳数作为度量来衡量到达目的网络的距离

  • (基于)距离向量(D-V)
  • 跳数(Hop Count)
  • 度量(Metric)
  • "好的路由":所通过路由器数量最少的路由

三个重要特点

  • 和谁交换信息------仅和相邻路由器交换信息
  • 交换什么信息------交换的信息是路由器自己的路由表
  • 何时交换信息------周期性交换------触发更新(网络拓扑发生变化)

距离向量算法

存在的问题("坏消息传播的慢")

  • 又称路由环路或RIP距离无穷计数问题

版本和相关报文

优缺点

  • 优点
    • 实现简单、路由器开销小
    • "好消息传播得快"
  • 缺点
    • "坏消息传播得慢"
    • 限制AS规模
  1. 开放最短路径优先协议(OSPF, Open Shortest Path First)

相关基本概念

  • (基于)链路状态(LS)
  • OSPF路由器邻居关系的建立和维护
    • 交互问候(Hello)分组
    • 建立和维护邻居关系
  • 链路状态通告(LSA, Link State Advertisement)
    • 直连网络的链路状态信息
    • 邻居路由器的链路状态信息
  • 链路状态更新分组(LSU, Line State Update)
    • 洪泛法
  • 链路状态数据库(LSDB, Link State Database)
  • 基于LSDB进行最短路径优先(SPF) 计算

五种分组类型

  • 问候(Hello)
  • 数据库描述(Database Description)
  • 链路状态请求(Link State Request)
  • 链路状态更新(Link State Update)
  • 链路状态确认(Link State Acknowledgement)
  • 🌟OSPF的基本工作过程(P215)
  • 多点接入网络中的OSPF路由器
    • 选举指定路由器(DR)备用路由器(BDR) 的方法(P217 图4-80)
      • 所有非DR/BDR(普通路由器)只与DR/BDR建立邻居关系
      • 非DR/BDR(普通路由器)之间必须通过DR/BDR进行交换
  • OSPF划分区域
  1. 边界网关协议(BGP, Border Gateway Protocol)

基本概念

BGP边界路由器

适用于多级结构的因特网

BGP-4的四种报文

版本4是目前使用最多的版本

  • OPEN(打开)报文
  • UPDATE(更新)报文
  • KEEPALIVE(保活)报文
  • NOTIFICATION(通知)报文

五、网际控制报文协议(ICMP)

  1. ICMP报文的种类

ICMP差错报告报文(P224, 五种差错情况)

用来向主机或路由报告差错情况

  • 终点不可达
  • 源点抑制
  • 时间超过(超时)
  • 参数问题
  • 改变路由(重定向)
  • ICMP询问报文(常用)
    用来想主机或路由器询问情况
    • 回送请求和回答(报文)
    • 时间戳请求和回答(报文)
  1. ICMP的典型应用

分组网间探测(PING)

  • 跟踪路由
    • 🌟traceroute和tracet
      • UNIX版本(具体命令)------traceroute
        • 应用层使用UDP协议
        • 网际层使用ICMP报文类型只有差错报告报文
      • Windows版本------tracet
        • 应用层直接使用网际层的ICMP协议(回送请求和回答报文以及差错报告报文)
    • tracet的基本实现原理

六、虚拟专用网和网络地址转换

虚拟专用网(VPN, Virual Private Network)

  • 内联网(内联网VPN, Intanet VPN)
  • 外联网(外联网VPN, Extranet VPN)
  • 远程接入VPN(Remote Access VPN)

网络地址转换(NAT, Network Address Translation)

  • 最基本的NAT方法
  • 网络地址与端口号转换(NAPT, Network Address and Port Translation)------使用端口号NAT------将NAT和运输端口号结合使用

七、IP多播

  1. 基本概念
  2. 局域网上进行的硬件多播
  3. 在因特网上进行IP多播需要的两种协议(多播转发树)

网际组管理协议(IGMP)

  • 基本概念(报文类型)
    • 成员报告报文
    • 成员查询报文
    • 离开组报文

基本工作原理

  • 加入多播组------主机
  • 监视多播组的成员变化------多播路由器
  • 退出多播组------成员

多播路由选择协议

  • 基于源树(Source-Base Tree)多播路由选择
  • 反向路径(RPM, Revese Path Multicasting)算法
  • 反向路径广播(RPB, Reverse Path Broadcasting)------建立广播转发树------不会产生环路
    • 剪枝(Pruning)算法
  • 组共享树(Group-Shared Tree)多播路由选择
  1. 因特网的多播路由选择协议(其他的)

八、移动IP技术

  1. 基本概念
  • 归属网络
  • 归属地址(永久地址)
  • 归属代理
  • 外地网络(被访网络)
  • 外地代理
  • 转交地址
  1. 🌟基本工作原理
  • 代理发现与注册
  • 固定主机向移动主机发送IP数据报
  • 移动主机向固定主机发送IP数据报
  • 同址转交地址(Co-Located Care-of Address)
  • 三角形路由问题(Triangle Routing Problem)9.下一代网际协议IPv6
  1. 引进的主要变化
  2. IPv6数据报的基本首部
  • 组成
    • 基本首部
    • 有效载荷(净载荷)
  • 各字段的含义
    • 版本
    • 通信量类
    • 流标号
    • 有效载荷长度
    • 下一个首部
    • 跳数限制
    • 源地址
    • 目的地址
  1. IPv6数据报的扩展首部(非重点)
  2. IPv6地址
  • 空间大小
  • 表示方法
    • 冒号十六进制记法
    • 再使用"左侧零 "省略和"连续零"压缩(限一次)
    • 冒号法还可以结合点分十进制的后缀
    • CIDR(无分类域间路由选择)的斜线表示法依然适用
  • 分类
    • IPv6数据报的目的地址分类
      • 单播
      • 多播
      • 任播
    • IPv6地址分类
      • 未指明地址
      • 环回地址
      • 多播地址
      • 本地链路单播地址
      • 全球单播地址(三级结构)
        • 全球路由选择前缀(Global Routing Prefix)
        • 子网标识符(Subnet ID)
        • 接口标识符(Interface ID)
  1. 从IPv4向IPv6过渡

使用双协议栈(Dual Stack)

使用隧道技术(Tunneling)

  1. 网际控制报文协议ICMPv6

合并了ARP(地址解析协议)和IGMP(网际组管理协议)的功能

九、软件定义网络(SDN)

  1. 网络层的数据层面和控制层面

路由器的功能

  • 分组转发------为主机间的通信提供转发服务
  • 路由选择

路由器之间传送的信息

  • 源主机和目的主机之间所传送的信息
  • 路由信息

路由的网络层(抽象划分)

  • 数据层面(转发层面)
  • 控制层面
  1. OpenFlow协议

传统意义上的数据层面的任务

SDN中的广义转发

  • "匹配"
  • "动作"
  • 转发分组
  • 负载均衡
  • 重写IP首部
  • 防火墙(阻挡或丢弃分组)

OpenFlow交换机和流表

  • OpenFlow交换机、流表、SDN远程控制器三者之间的关系
  • 流表中的各字段
  • OpenFlow"匹配+动作"网络举例
    • 简单转发
    • 负载均衡
    • 防火墙
  1. SDN体系结构

四个关键特征

  • 基于流的转发
  • 数据层面与控制层面分离
  • 位于数据层面分组交换机之外的网络控制功能
  • 可编程的网络

SDN控制器(三个层次)

  • 通信层
  • 网络范围的状态管理层
  • 到网络控制应用程序层的接口
相关推荐
Mephisto.java30 分钟前
【大数据学习 | kafka高级部分】kafka中的选举机制
大数据·学习·kafka
Yawesh_best1 小时前
思源笔记轻松连接本地Ollama大语言模型,开启AI写作新体验!
笔记·语言模型·ai写作
南宫生1 小时前
贪心算法习题其三【力扣】【算法学习day.20】
java·数据结构·学习·算法·leetcode·贪心算法
武子康2 小时前
大数据-212 数据挖掘 机器学习理论 - 无监督学习算法 KMeans 基本原理 簇内误差平方和
大数据·人工智能·学习·算法·机器学习·数据挖掘
CXDNW2 小时前
【网络面试篇】HTTP(2)(笔记)——http、https、http1.1、http2.0
网络·笔记·http·面试·https·http2.0
使者大牙2 小时前
【大语言模型学习笔记】第一篇:LLM大规模语言模型介绍
笔记·学习·语言模型
ssf-yasuo2 小时前
SPIRE: Semantic Prompt-Driven Image Restoration 论文阅读笔记
论文阅读·笔记·prompt
As977_3 小时前
前端学习Day12 CSS盒子的定位(相对定位篇“附练习”)
前端·css·学习
ajsbxi3 小时前
苍穹外卖学习记录
java·笔记·后端·学习·nginx·spring·servlet
Rattenking3 小时前
React 源码学习01 ---- React.Children.map 的实现与应用
javascript·学习·react.js