SolのWorld SolのWorld
首页
  • 图像
  • 计算机基础
  • Obsidian
  • 博客相关
思考
技术
关于
  • 分类
  • 标签
  • 归档
    • 友链
    • 音乐
    • 导航
    • 收藏夹
    • IDX (opens new window)
    • 圈猫猫 (opens new window)
    • vdoing主题文档 (opens new window)
    • web请求信息查看 (opens new window)
    • 百度统计 (opens new window)
    • 百度推送链接 (opens new window)
开往 (opens new window)
GitHub (opens new window)

Sol

沧海为水 一树菩提
首页
  • 图像
  • 计算机基础
  • Obsidian
  • 博客相关
思考
技术
关于
  • 分类
  • 标签
  • 归档
    • 友链
    • 音乐
    • 导航
    • 收藏夹
    • IDX (opens new window)
    • 圈猫猫 (opens new window)
    • vdoing主题文档 (opens new window)
    • web请求信息查看 (opens new window)
    • 百度统计 (opens new window)
    • 百度推送链接 (opens new window)
开往 (opens new window)
GitHub (opens new window)
  • TODO-专题
  • 计算机基础

    • 计算机网络

      • 计算机网络总览
        • 网络核心:数据交换
          • 分组交换
          • 存储转发
          • 转发表与路由协议选择
          • 时延
          • 吞吐量
          • 网络中实现
          • 虚电路
          • 数据报
          • 报文交换
          • 电路交换
          • 复用技术
        • 网络边缘:控制交换策略
          • TCP
          • UDP
        • 网络的网络
        • traceroute
        • 协议层次和服务模型
          • 服务类型
          • 各层分工
  • Obsidian

  • 博客相关

  • 专题
  • 计算机基础
  • 计算机网络
solmp
2022-09-27
目录

计算机网络总览原创

# 网络核心:数据交换

image-20220925154916357

# 分组交换

是计算机网络中数据交换方式,在传输数据时仅占用路径中某两个节点间的链路,属于统计多路复用(类似时分复用)

优势:网络的共享性(提高资源利用率)

代价:额外网络延时、可能的丢包率

发送方行为:构造、发送分组

交换节点行为:存储、查路由表转发分组

接收方行为:接收、还原报文

将要发送的数据报文,分为有限大小的数据块,加上首部形成分组,通过各个节点存储转发

# 存储转发

在接收完一个分组前,需要将已接收的比特存储,等接收完这一分组后将整个分组进行转发

# 转发表与路由协议选择

路由选择协议:用来决定每台路由器到每个目的地的最短路径,并基于此配置路由器中的转发表

# 时延

image-20220925163535586

  • 处理时延

    • 取决于路由器性能,如路由器最大吞吐量等
    • 检查分组首部
    • 决定分组去向
    • 检查比特级别的差错
  • 排队时延:最为复杂和有趣

    • 取决于当前网络流量,流量小等于链路输出速率时,时延为毫秒至微秒量级
    • 交换机对于每条相连的链路都有输出队列(输出缓存)
    • 若转发时相应链路正在传输其它分组,则需要进入输出队列,排队等待
    • 若输出队列已满,则次分组或队列中的分组之一将被丢弃,即分组丢包
    • 排队时延通常用统计量来度量(平均,方差,概率 ...),以应对其不确定性
      • 多个分组同时到达空队列,则第一个无排队时延,最后一个有较长排队时延
    • 流量强度:La/R
      • 分组中比特数L,分组到达平均速率 a pkt/s,传输速率 R
      • 流量强度>1,队列时延趋向于无限大
      • 设计系统时流量强度不能大于1
  • 传输时延:将数据推向链路所需时间

    • 与分组长度和链路传输速率有关,通常为毫秒至微秒量级

    • 源和目的地间有 N+1 个节点,分组长度为 L,链路速率为 R,其组成的路线从源到目的地,传输一个分组所需时间 $d=N\frac{L}{R}$

    • P个分组:$t=(N+P-1)\frac{L}{R}$

  • 传播时延:数据传输所需时间

    • 取决于物理媒介和链路长度 $210^8m/s - 210^8m/s$

image-20220926162518109

# 吞吐量

单位时间内源主机向目标主机发送的有效比特量

瞬时/平均

# 网络中实现

采用分组交换,有时也需要有电路交换的特性,通过其它方式实现

# 虚电路
  • 有连接,建立虚电路后,每个分组包含虚电路号,通过虚电路号转发数据

image-20220926140050559

# 数据报
  • 无连接,每份都包含完整目标地址,独立传送

image-20220926140108203

# 报文交换

相当于不限分组大小的分组交换

# 电路交换

持续占用物理链路,例:电话

建立连接所需时间长

  • 过程:建立连接 - 通信 - 释放连接

# 复用技术

将一条链路通过划分时间或频段等方式,使其能同时接受多个连接

  • 时分复用(TDM):链路为每条连接在帧中分配一个时隙
    • 每条连接在其间隙中周期性地得到所有带宽
    • 传输速率=帧速率*每个时隙比特数
    • 案例:A、B间使用24时隙的TDM链路,比特速率1.536Mbps,创建电路需要500ms,发送一个640000比特的文件所需时间
      • 传输时间:640kb / (1536/24)kbps + 0.5s = 10.5s
        • 通信:1Mbps = 1000Kbps
        • 存储:1MB = 1024KB
      • 该时间与链路数无关,是稳定的传输时间
      • 实际时延还需要加上传播时延
  • 频分复用(FDM):链路为每条连接分配一个专用频段
    • 每条连接持续得到部分带宽
  • 波分复用(WDM):光纤通信,链路为每条连接分配一个专用波段
  • 码分复用(CDM):通常是接入的方式(码分多址:CDMA)

image-20220925160140824

# 网络边缘:控制交换策略

  • 面向连接:主机双方及其底层协议栈知道通信状态,中间经过的网络不知道
  • 有连接:主机及各个节点都需要维护其通信状态

# TCP

  • 面向连接
  • RDT:可靠(不重复、不丢失、不失序)
  • 流量控制:控制发送速度
  • 拥塞控制:解决路径堵塞问题
  • 应用场景:http(web),ftp(文件传输),telnet(远程登录)、smtp(邮件)
  • 缺点:需要额外消耗资源,并且会增长时延;可能会产生粘包;

# UDP

  • 无连接,不可靠,无流量控制,无拥塞控制
  • 应用场景:实时应用,流媒体、远程会议、DNS、网络电话...

img

# 网络的网络

ISP:网络服务提供商

IXP:对等,通常不涉及费用结算,属于不同服务商之间的合作

ICP: 网络内容提供商(如:谷歌在各地有自己的数据机房,部署在顶级ISP附近,访问其服务通过自己搭建的线路)

image-20220926155413472

# traceroute

TTL: 生存时间,经过一个节点就减一,为零时就会被丢弃,将其丢弃的节点返回一个ICMP报文

发送三次特殊分组,其通过TTL控制其在第几个路由器被丢弃,以此计算延时并得到每个路由地址

如果有分组丢失,根据相关各层的可靠性有三种情况:由上一跳重传、源主机重传、不重传

如果到达目的地,则会因为找不到服务(对应端口)被丢弃,被丢弃后返回一个ICMP报文

# 协议层次和服务模型

  • 分层实现:本层协议通过下层服务实现,本层实体通过协议向上层提供更高级的服务

  • 协议是水平的,服务是垂直的

  • PDU(协议数据单元):通过服务访问点(SAP)使用下层提供的服务,与对等层通信

    • 应用层:报文
    • 传输层:报文段、段
    • 网络层:分组、数据报
    • 数据链路层:帧
    • 物理层:位...
  • 服务访问点(SAP):用来区分服务的不同用户(应用)

    • 数据链路层的服务访问点是TYPE中的类型说明(例如0800代表上层是IP),
    • 网络层的服务访问点是IP头部中的protocol字段(17表示上层是UDP,6是TCP,89是OSPF,88是EIGRP,1是ICMP等)
    • 传输层的服务访问点是端口号
  • header中包含对应层的控制信息等

  • SDU过大时,会先将SDU分为多份,每份都加上header

  • SDU过小时,会先将多个SDU合并后,加上header

image-20220926220150157

image-20220926202121147

# 服务类型

image-20220926203920303

image-20220926203904824

# 各层分工

  • 物理层:将包含数据链路层中帧的数据转为比特 - 在物理介质中传输比特 - 将比特转换回数据
  • 数据链路层:在物理层服务的基础上,负责相邻两节点间,点到点的,以帧为单位的数据传输
    • PPP、802.11(wifi)、ethernet(以太网)
  • 网络层:在数据链路层服务的基础上,负责源主机到目标主机,端到端的,以分组为单位的数据传输
    • IP、路由选择协议(RIP、OSPF、BGP...)、ICMP...
  • 传输层:在网络层的基础上,负责进程到进程的,以报文段为单位的数据传输
    • 还可提供可靠的传输服务
    • TCP、UDP
  • 应用层:在传输层的基础上,提供各种不同的网络应用,以报文为单位的数据传输
    • FTP、HTTP、DNS...
    • 在七层模型中,应用层只关心语义
      • 表示层:负责具体数据的表达(如加密、压缩、表示转换)
      • 会话层:负责会话管理(建立会话,关闭会话,维持session,数据交换的同步、检查点、恢复)

image-20220926231626924

  • 报文:应用层首部+数据
  • 报文段:传输层首部(端口号等)+报文(TCP会划分成段,UDP不划分)
    • MSS(Maximum Segment Size):TCP数据包每次传输的最大数据分段大小
    • 一般由发送端向对端TCP通知对端在每个分段中能发送的最大TCP数据
    • 例:以太网中,MSS值为MTU值减去IPv4 Header(20 Byte)和TCP header(20 Byte),即 1500-20-20=1460 Byte
  • 数据报:网络层首部(IP等)+报文段(如果是UDP,报文段长度可能超限(MTU),会在此分片)
    • 分片:若一IP数据报大小超过相应链路的MTU的时候,执行分片
  • 帧:数据链路层首部(MAC等)+数据报+数据链路层尾部
    • 最大传输单元 (Maximum Transmission Unit,MTU):数据链路层对数据帧长度的限制
    • 例:以太网(1500);802.3(1492,以太网基础上多了 3字节的802.2LLC和5字节的SNAP字段)
上次更新: 2023/03/30, 11:44:35

← TODO-专题 插件→

最近更新
01
TODO-技术 原创
08-05
02
TODO-思考 原创
08-05
03
TODO-专题 原创
08-05
更多文章>
Theme by Vdoing | Copyright © 2022-2023 | 浙ICP备2022024221号
  • 跟随系统
  • 浅色模式
  • 深色模式
  • 阅读模式