计算机网络自顶向下方法(一):计算机网络总览

网络核心:数据交换

1

分组交换

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

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

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

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

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

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

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

存储转发

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

转发表与路由协议选择

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

时延

在这里插入图片描述

  • 处理时延

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

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

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

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

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

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

    • 取决于物理媒介和链路长度 2 ∗ 1 0 8 m / s − 2 ∗ 1 0 8 m / s 2*10^8m/s - 2*10^8m/s 2108m/s2108m/s

在这里插入图片描述

吞吐量

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

瞬时/平均

网络中实现

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

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

在这里插入图片描述

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

在这里插入图片描述

报文交换

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

电路交换

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

建立连接所需时间长

  • 过程:建立连接 - 通信 - 释放连接
复用技术

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

  • 时分复用(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)
    在这里插入图片描述

网络边缘:控制交换策略

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

TCP

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

UDP

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

在这里插入图片描述

网络的网络

ISP:网络服务提供商

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

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

在这里插入图片描述

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

在这里插入图片描述

在这里插入图片描述

服务类型

在这里插入图片描述
在这里插入图片描述

各层分工

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

在这里插入图片描述

  • 报文:应用层首部+数据
  • 报文段:传输层首部(端口号等)+报文(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字段)
  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

solmp

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值