4.1 网络层简介

1.网络层服务简介

2.网络层: 数据平面, 控制平面

3.流表

4.网络服务模型


1.网络层服务简介

csharp 复制代码
a.在发送方主机和接收方主机对之间传送数据报

b.在发送端将TCP段或UDP数据报封装到数据报中

c.在接收端, 将TCP段或UDP数据上传给传输层实体

d.网络层协议存在于每一个主机和路由器

e.路由器检查每一个经过它的IP数据报的头部

csharp 复制代码
网络层的功能:

a.转发: 将分组从路由器的输入接口转发到合适的输出接口

b.路由: 使用路由算法来决定分组从发送方主机到目标接收方主机的路径

  - 路由选择算法
 
  - 路由选择协议

c.旅行的类比:

  - 转发: 通过单个路口的过程

  - 路由: 从源到目标的路由规划过程

2.网络层: 数据平面, 控制平面

csharp 复制代码
1).数据平面

a.本地, 每个路由器功能

b.决定从路由器输入端口到达的分组如何转发到输出端口

c.转发功能

  - 传统方式: 基于目标地址 + 路由表

  - SDN方式: 基于多个字段匹配 + 流表

2).控制平面

a.网络范围内的逻辑

b.决定数据报从源到目标主机之间的端到端路径

c.2个控制平面方法

  - 传统的路由算法: 在路由器中被实现

  - SDN(software-defined networking, 软件定义网络): 远程的服务器中实现

csharp 复制代码
传统方式的控制平面在路由器的算法元件实现
csharp 复制代码
传统方式: 路由和转发的相互作用
csharp 复制代码
SDN方式: 逻辑集中的控制平面, 一个远程的控制器与本地控制代理进行交互

3.流表

csharp 复制代码
1).流表简介

a.流是一系列具有共同特征的数据包的集合; 比如, 从你的电脑(IP A)到视频网站服务器(IP B)的同一个TCP连接的所有数据

包, 就可以被看作一个"流"

b.流表是SDN交换机(一种新型的网络交换设备)中存储的一张表, 它由SDN控制器集中计算和下发, 告诉交换机如何匹配和处

理不同的"流"

2).流表的构成

a.匹配域: 定义一组规则, 用来识别一个"流"; 不仅可以基于目标IP地址,还可以基于网络包头的几乎任何字段进行匹配

- 二层: 入端口、源MAC地址、目的MAC地址、以太网类型

- 三层: 源IP地址、目的IP地址、IP协议类型

- 四层: 源TCP/UDP端口、目的TCP/UDP端口

b.动作: 当数据匹配上这条规则后, 应该执行什么操作

- 转发: 将数据包从某个指定的物理端口发送出去

- 丢弃: 直接扔掉数据包(用于实现防火墙功能)

- 转发到控制器: 将这个包送给SDN控制器做进一步决策

- 修改字段: 修改数据包的二层, 三层或四层头部信息

csharp 复制代码
流表实例

a.数据包到达, 一个数据包从交换机的某个网络端口进入

b.提取关键特征, 交换机解析这个数据包的包头, 提取出关键的识别信息, 也就是匹配域, 例如:

- 源/目的MAC地址

- 源/目的IP地址

- 协议类型(TCP/UDP)

- 源/目的端口号

- 入端口

c.查询流表, 交换机拿着这些提取出来的"特征", 去本地的一个或多个流表中进行查询; 流表就像一个由控制器预先下发的

规则手册

d.匹配判断, 在流表中找到了一个完全匹配的流表项(即获得了动作, 交换机执行该流表项中指定的动作 )

- 源IP = 10.0.0.1, 目的IP = 任何, 动作 = 丢弃 -> 封锁来自10.0.0.1的所有流量

- 源IP = 192.168.1.100, 目的TCP端口 = 22, 动作 = 转发至控制器) -> 将来自某台主机的流量上报给控制器进行安全分

析

4.网络服务模型

csharp 复制代码
互联网所采用的网络服务模型是尽力而为服务模型, 网络层会尽自己最大的努力来交付数据报, 但不提供任何保证; 尽力而为

就像寄平信, 邮局会尽力把你的信送到, 但不保证一定送到, 也不保证多久能送到, 信件还可能不按顺序到达; 成本低, 简

单通用

a.不保证交付: 数据包可能在网络中丢失(如路由器缓冲区溢出时被丢弃)

b.不保证按时交付: 数据包可能会有很长的、不确定的延迟

c.不保证有序交付: 后发送的数据包可能比先发送的包先到达目的地(因为网络路径可能不同)

d.不保证带宽: 不保证一个数据流能获得稳定的传输速率
相关推荐
IT北辰17 小时前
企业档案管理系统 PRD 合规章节(完整版)
网络
F1FJJ17 小时前
Shield CLI v0.3.3 新增 PostgreSQL 插件:浏览器里管理 PG 数据库
网络·网络协议·docker·postgresql·容器·go
万象.17 小时前
docker网络种类,架构及命令
网络·docker·架构
小陈工17 小时前
Python测试实战:单元测试、集成测试与性能测试全解析
大数据·网络·数据库·人工智能·python·单元测试·集成测试
wefg117 小时前
【计算机网络】套接字编程(套接字API/UDP和TCP服务器)
服务器·网络·计算机网络
有毒的教程17 小时前
Ubuntu 安装完成后网络配置教程
linux·网络·ubuntu
二等饼干~za89866817 小时前
豆包geo优化系统,源码开发搭建解析
大数据·网络·数据库·人工智能·django
小杨啥都学18 小时前
通过ipsec服务端给客户端分配ip
服务器·网络·tcp/ip·ipsec
不一样的故事12618 小时前
线号管并非必须和端子端面绝对齐平
网络·安全
you-_ling18 小时前
网络:4.TCP并发服务器
服务器·网络·tcp/ip