您现在的位置是:首页 > 正文

计算机网络:网络层——数据平面

2024-02-01 03:15:02阅读 7

概述

两种重要的网络层功能:转发和路由选择。(forwarding and routing)

  • 数据层面(Data plane)
    • local, per-router function
    • determines how datagram arriving on router input port is forwarded to router output port
    • forwarding function
  • 控制层面(Control plane)
    • network-wide logic
    • determines how datagram is routed among routers along end-end path from source host to destination host
    • two control-plane approaches:
      1. traditional routing algorithms: implemented in routers
      2. software-defined networking (SDN): implemented in (remote) servers

网络服务模型:

  • 传递一个分组:
    • 确保交付。
    • 具有时延上界的确保交付。
  • 传递分组流:
    • 有序分组交付。
    • 确保最小带宽
    • 确保最大时延抖动。
    • 安全性服务。

仅在网络层提供连接服务的计算机网络称为虚电路(Virtual-Circuit, VC)网络;仅在网络层提供无连接服务的计算机网络称为数据报网络(datagram network)

路由器工作原理

路由器的四个组成部分:

  • 输入端口
  • 交换结构
  • 输出端口
  • 路由选择处理器

输入端口

线路段接->数据链路层协议处理->查找、转发、排队->交换结构

  • destination-based forwarding: forward based only on destination IP address (traditional).
    • forwarding table: Destination Address Range->Link Interface.
    • Longest prefix matching.
  • generalized forwarding: forward based on any set of header field values.

交换结构

  • 经内存交换
  • 经总线交换
  • 经互联网络交换(纵横式交换机)

输出端口

交换结构->排队、缓存管理->数据链路层协议封装->线路端接

缓存长度

缓存数量 (B) 应当等于平均往返时延(RTT)乘以链路的容量©,即 B = RTT·C

当有大量的 TCP 流 (N) 流过一条链路时,B = RTT·C√N

调度机制

  • 先进先出,FIFO
  • 优先级调度
  • Round Robin (RR) scheduling
  • Weighted Fair Queuing (WFQ)
  • 随机早期检测,RED

网络协议:IP

网络层的三个重要组件:

  • IP 协议,IP Protocol
  • 路由选择部分,Routing Protocol
  • 网络层差错和信息报告的协议,ICMP Protocol

数据报格式

可变的首部,一般为20字节(不包含选项)。

在这里插入图片描述

IPv4 编址

  • 子网(subnet)
  • 无类别域间路由选择(Classless Interdomain Routing, CIDR)
  • 地址聚合(address aggregation)或路由聚合( route aggregation)

获取 IP 地址:动态主机配置协议(Dynamic Host Configuration, DHCP),即插即用协议(plug-and- play protocol)

  • DHCP 服务器发现(255.255.255.255)
  • DHCP 服务器提供(255.255.255.255)
    • IP 地址
    • 默认路由器
    • 默认 DNS 服务器
    • 网络掩码
  • DHCP 请求
  • DHCP ACK

网络地址转换(Network Address Translation, NAT):使用 NAT 转换表( NAT translation table),将 LAN 中不同 IP 地址转换为 WAN 中同一 IP 的不同端口号。但是 NAT 协议违反了端到端的原则,阻碍了 P2P 应用,可以使用NAT 穿越

IPv6

IPv6 数据报格式,有固定的40字节的首部

在这里插入图片描述

IPv6 中移除了 IPv4 的字段:

  • 分片/重新组装:只在源与目的地上执行,简化路由器,加快了网络中的 IP 转发速度。
  • 首部检验和:依靠运输层和数据链路层的检验操作。
  • 选项:下一个首部可以为选项地址也可以为链路层协议地址。

IPv4 到 IPv6 的迁移

  • 双栈
  • 建隧道(使用 IPv4 数据报包裹 IPv6 数据报)

广义转发和 SDN

流程表(flow table)

  • Pattern: match values in packet header fields.
  • Actions: for matched packet: drop, forward, modify, matched packet or send matched packet to controller.
  • Priority: disambiguate overlapping patterns.(消除歧义)
  • Counters: #bytes or #packets.

可以被用在:

  • 路由器
    • match: longest destination IP prefix.
    • action: forward out a link.
  • 交换机
    • match: destination MAC address.
    • action: forward or flood.
  • 防火墙
    • match: IP addresses and TCP/UDP port numbers.
    • action: permit or deny.
  • NAT
    • match: IP address and port.
    • action: rewrite address and port.

网站文章

  • 兴趣篇——用C语言写打字母游戏

    昨天说的,以后会写和小游戏相关的博客,事不宜迟,今天就先开始用最简单的C语言编写一个简单的打字母小游戏吧。 应今天我的软件工程老师的一句话:当做一件事时,如果能很快的从中得到正反馈,我们将会有成就感,我们将会提高对它的兴趣。 我们编程的入门语言是C语言,是一门相对简单的编程语言,但是大多数大学生或者其他刚刚接触编程学完C语言的人,往往会产生一个疑问:我们学习了C语言到底能干什么?更有甚者,像计

    2024-02-01 03:14:32
  • 带宽和时延究竟有没有关系

    一、严格意义上来说是不一样的,简单点说,网络为什么会出现延时,一定程度上就是带宽时延和数据量造成的;举个例子来说就很清楚了:带宽,bandwidth,是指每秒钟传输的最大字节数。带宽本来是指某个信号具...

    2024-02-01 03:14:26
  • python django框架orm_利用Python的Django框架中的ORM建立查询API

    摘要在这篇文章里,我将以反模式的角度来直接讨论Django的低级ORM查询方法的使用。作为一种替代方式,我们需要在包含业务逻辑的模型层建立与特定领域相关的查询API,这些在Django中做起来不是非常...

    2024-02-01 03:14:20
  • Php Jquery Load FadeIn FadeOut 无刷新分页

    Php Jquery Load FadeIn FadeOut 无刷新分页index.php<?phpdefine('IN_LOVE',true);require_once('includes/load.php');$smarty->display('index.html');?>index.html<html>&lt...

    2024-02-01 03:13:49
  • java中如何将url地址文件流上传到sftp的某个目录下面?(亲测)

    java中如何将url地址文件流上传到sftp的某个目录下面?(亲测)

    java中如何将url地址文件流上传到sftp的某个目录下面?

    2024-02-01 03:13:43
  • 什么是分布式数据库?我不信,看完这篇你还不懂!

    什么是分布式数据库?我不信,看完这篇你还不懂!

    原文来源: https://tidb.net/blog/eb3cb609 ...

    2024-02-01 03:13:37
  • VMware Workstation 15.0.4 官方版 安装及部分小问题方案答疑

    VMware Workstation 15.0.4 官方版 安装及部分小问题方案答疑

    VMware Workstation软件特色   VMware支持在一台客户机上运行多个操作系统   无需安装或者复杂的设置,即可体验预设置的产品的功能和特色   VMware虚拟机支持在主机和虚拟机...

    2024-02-01 03:13:06
  • C语言内存对齐和结构补齐

    C语言内存对齐和结构补齐

    首先我们先看看下面的C语言的结构体:[cpp] view plaincopytypedef struct MemAlign  {      int a;      char b[3];      in...

    2024-02-01 03:12:58
  • 贪心法求解多机调度问题

    问题描述设有n个独立的作业{1,2,…,n},由m台相同的机器{1,2, …,m}进行加工处理,作业i所需的处理时间为ti(1≤i≤n),每个作业均可在任何一台机器上加工处理,但未完工前不允许中断,任何作业也不能拆分成更小的子作业。多机调度问题要求给出一种作业调度方案,使所给的n个作业在尽可能短的时间内由m台机器加工处理完成。问题求解贪心法求解多机调度问题的贪心策略是最长处理时间作业优先,...

    2024-02-01 03:12:51
  • DNDC 模型建模方法及在土壤碳储量、温室气体排放、农田减排、土地变化、气候变化中的实践

    碳循环的精确模拟是实现“双碳”行动的关键。DNDC(Denitrification-Decomposition,反硝化-分解模型)是目前国际上最为成功的模拟生物地球化学循环的模型之一,自开发以来,经过...

    2024-02-01 03:12:43