计算机网络(自顶向下方法)-网络层

article/2025/10/10 11:30:59

计算机网络(自顶向下方法)-网络层

  • 4. 1 导论
    • 数据平面
    • 控制平面
  • 4.2 路由器组成
  • 4.3 IP: Internet Protocol
    • 数据报格式
    • 分片
    • IPv4地址
      • 子网
      • IP 地址分类
      • 子网掩码(subnet mask)
      • 如何获得一个IP地址
        • DHCP: Dynamic Host Configuration Protocol
    • NAT:网络地址转换
    • IPv6
      • IPv6:动机
  • 4.4 通用转发和SDN
    • 匹配
      • SDN的主要思路
    • 行动
    • OpenFLow有关“匹配+行动”的运行实例

4. 1 导论

在这里插入图片描述

网络层功能:
转发: 将分组从路由器的输入接口转发到合适的输出接口
路由: 使用路由算法来决定分组从发送主机到目标接收主机的路径
路由选择算法
路由选择协议
旅行的类比:
 转发: 通过单个路口的过程
 路由: 从源到目的的路由路径规划过程

在这里插入图片描述

数据平面

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

控制平面

在这里插入图片描述

网络服务模型
Q: 从发送方主机到接收方主机传输数据报的“通道”,网络提供什么样的服务模型?
对于单个数据报的服务:
 可靠传送
 延迟保证,如:少于40ms的延迟
对于数据报流的服务:
 保序数据报传送
 保证流的最小带宽
 分组之间的延迟差

连接建立
 在某些网络架构中是第三个重要的功能
 ATM, frame relay, X.25
 在分组传输之前,在两个主机之间,在通过一些路由器所构成的路径上建立一个网络层连接
 涉及到路由器
 网络层和传输层连接服务区别:
网络层: 在2个主机之间,涉及到路径上的一些路由器
传输层: 在2个进程之间,很可能只体现在端系统上(TCP连接)

在这里插入图片描述

4.2 路由器组成

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

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

4.3 IP: Internet Protocol

互联网的网络层
在这里插入图片描述

数据报格式

在这里插入图片描述

分片

在这里插入图片描述

IPv4地址

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

子网

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

IP 地址分类

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

在这里插入图片描述

子网掩码(subnet mask)

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

如何获得一个IP地址

Q: 主机如何获得一个IP地址?
 系统管理员将地址配置在一个文件中
Wintel: control-panel->network->configuration->tcp/ip->properties
UNIX: /etc/rc.config
 DHCP: Dynamic Host Configuration Protocol: 从服务器中动态获得一个IP地址
“plug-and-play”

DHCP: Dynamic Host Configuration Protocol

目标: 允许主机在加入网络的时候,动态地从服务器那里获得IP地址:
 可以更新对主机在用IP地址的租用期-租期快到了
 重新启动时,允许重新使用以前用过的IP地址
 支持移动用户加入到该网络(短期在网)
DHCP工作概况:
 主机广播“DHCP discover” 报文[可选]
 DHCP 服务器用 “DHCP offer”提供报文响应[可选]
 主机请求IP地址:发送 “DHCP request” 报文
 DHCP服务器发送地址:“DHCP ack” 报文

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

DHCP: 不仅仅是IP addresses
DHCP 返回:
 IP 地址
 第一跳路由器的IP地址(默认网关)
 DNS服务器的域名和IP地址
 子网掩码 (指示地址部分的网络号和主机号)
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
IP 编址: 如何获得一块地址
Q: 一个ISP如何获得一个地址块?
A: ICANN: Internet Corporation for Assigned Names and Numbers
 分配地址
 管理DNS
 分配域名,解决冲突

NAT:网络地址转换

在这里插入图片描述
动机: 本地网络只有一个有效IP地址:
不需要从ISP分配一块地址,可用一个IP地址用于所有的(局域网)设备–省钱
可以在局域网改变设备的地址情况下而无须通知外界
可以改变ISP(地址变化)而不需要改变内部的设备地址
局域网内部的设备没有明确的地址,对外是不可见的–安全

实现: NAT 路由器必须:
外出数据包:替换源地址和端口号为NAT IP地址和新的端口号,目标IP和端口不变
…远端的C/S将会用NAP IP地址,新端口号作为目标地址
记住每个转换替换对(在NAT转换表中) … 源IP,端口 vs NAP IP ,新端口
进入数据包:替换目标IP地址和端口号,采用存储在NAT表中的mapping表项,用(源IP,端口)

在这里插入图片描述
16-bit端口字段:
 6万多个同时连接,一个局域网!
对NAT是有争议的:
 路由器只应该对第3层做信息处理,而这里对端口号(4层)作了处理
 违反了end-to-end 原则
 端到端原则:复杂性放到网络边缘
 无需借助中转和变换,就可以直接传送到目标主机
 NAT可能要被一些应用设计者考虑, eg, P2P applications
 外网的机器无法主动连接到内网的机器上
地址短缺问题可以被IPv6 解决
NAT穿越: 如果客户端需要连接在NAT后面的服务器,如何操作

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

IPv6

IPv6:动机

初始动机: 32-bit地址空间将会被很快用完
另外的动机:
 头部格式改变帮助加速处理和转发
 TTL-1
 头部checksum
 分片
 头部格式改变帮助QoS
IPv6 数据报格式:
 固定的40 字节头部
 数据报传输过程中,不允许分片
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

4.4 通用转发和SDN

网络层功能为例的数据平面和控制平面
网络层功能:
转发: 对于从某个端口到来的分组转发到合适的输出端口
路由: 决定分组从源端到目标端的路径
 路由算法
类比: 旅行
 转发: 一个多岔路口的进入和转出过程
 路由: 规划从源到目标的旅行路径
在这里插入图片描述
在这里插入图片描述

数量众多、功能各异的中间盒
路由器的网络层功能:
 IP转发:对于到来的分组按照路由表决定如何转发,数据平面
 路由:决定路径,计算路由表;处在控制平面
还有其他种类繁多网络设备(中间盒):
 交换机;防火墙;NAT;IDS;负载均衡设备
 未来:不断增加的需求和相应的网络设备
 需要不同的设备去实现不同的网络功能
 每台设备集成了控制平面和数据平面的功能
 控制平面分布式地实现了各种控制平面功能
 升级和部署网络设备非常困难
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

匹配

SDN的主要思路

网络设备数据平面和控制平面分离
数据平面-分组交换机
 将路由器、交换机和目前大多数网络设备的功能进一步抽 象成:按照流表(由控制平面设置的控制逻辑)进行PDU
(帧、分组)的动作(包括转发、丢弃、拷贝、泛洪、阻塞)
 统一化设备功能:SDN交换机(分组交换机),执行控制逻辑
控制平面-控制器+网络应用
 分离、集中
 计算和下发控制逻辑:流表

SDN控制平面和数据平面分离的优势
水平集成控制平面的开放实现(而非私有实现),创造出好的产业生态,促进发展
 分组交换机、控制器和各种控制逻辑网络应用app可由不同厂商生产,专业化,引入竞争形成良好生态
集中式实现控制逻辑,网络管理容易
 集中式控制器了解网络状况,编程简单,传统方式困难
 避免路由器的误配置
基于流表的匹配+行动的工作方式允许“可编程的”分组交换机
 实现流量工程等高级特性
 在此框架下实现各种新型(未来)的网络设备

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

行动

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

在这里插入图片描述

OpenFLow有关“匹配+行动”的运行实例

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

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


http://chatgpt.dhexx.cn/article/JM8yC2SD.shtml

相关文章

计算机网络(自顶向下)笔记

本书是自顶向下进行的, 在第一章概述计算机网络的层次结构,从第二章开始从上到下一章介绍一层(大致), 最后是移动互联网/网络安全的内容 计算机网络中的每一层都具有一定的功能, 通过层间接口向上层提供服务, 通过调用下层接口实现一定的功能. 每一层的学习方式 原理 功能向…

【计算机网络:自顶向下方法】(一)计算机网络和英特网

文章目录 1.1什么是Internet?概念internet 结构网络结构 1.2网络边缘1.3网络核心: 数据交换的功能电路交换分组交换分组交换: 排队延迟和丢失网络核心的关键功能电路交换和分组交换的比较电路交换分组交换 分类 1.4 接入网和物理媒体住宅接入 : modem接…

计算机网络重点知识整理(自顶向下)

前言 忙碌的学期结束了,趁自己对知识点的掌握还没有忘记,对计算机网络的知识点做一个整理,整理的侧重点在本校老师重点讲述部分,大家参考即可。 整理的资源来自教材(计算机网络自顶向下)以及PPT。 内容有误…

计算机网络(自顶向下方法)-Internet概述

计算机网络(自顶向下方法)-Internet概述 1.概论1.1 什么是Internet?从具体构成角度终端设备 什么是协议? 1.2 网络边缘1.3 网络核心电路交换分组交换数据报(datagram) 的工作原理虚电路(virtual circuit)的工作原理网络分类 1.4 接入网和物理…

计算机网络-自顶向下(学习笔记)

1. 计算机网络与互联网 1.1 什么是互联网 终端系统通过通信连接(communication links)和包交换机(packet switches)连接在一起 包交换机的两种主要类型 路由器(routers)与链路层交换机(link-layer swtiches)路由器应用于网络核心,链路层交换机用于接入层transmiss…

计算机网络自顶向下-应用层

一、简介: 网络应用是计算机网络存在的理由,没有了应用也不存在任何的网络协议。我们学习网络应用的原理和实现方面知识,从定义应用层概念开始,其中包括网络服务、客户】服务器、进程和运输层接口。 其中包括我们熟悉的web、emai…

《计算机网络 自顶向下方法》学习整理

《计算机网络 自顶向下方法》学习整理 计算机网络1、计算机网络(1)英特网(2)网络边缘(3)网络核心(4)时延、丢包、吞吐量(5)协议层次 2、应用层(1&…

计算机网络复习(自顶向下)知识点总结(一天一夜超8000字,详细知识点总结,带重点标注目录)

计算机网络复习(自顶向下)1~2章 复习目录一、计算机网络基本概念1.1 认识英特网1.2 网络边缘1.3 网络核心1.4 ⭐时延、丢包和吞吐量1.5 协议层次和服务模型1.6 安全和历史(略) 二、应用层2.1 应用层协议原理2.2 ⭐Web和HTTP协议2.…

游戏引擎之物理碰撞检测原理(AABB算法)

在游戏或者仿真虚拟环境中需要模拟现实中的物理碰撞,由于模型边缘复杂,在精确度不高的游戏中经常把它处理为正方体盒子,然后再检测物理碰撞,常用的算法为AABB碰撞盒算法 先遍历模型所有顶点遍历所有顶点,然后再不同方…

不使用物理系统判断两个矩形是否碰撞

如图所示,不使用物理系统去检测两个物体是否碰撞的效果。 注意:两个物体如果一直相交,在Update中处理的时候会一直输出,在实际使用时需要注意相交时的处理。 直接上代码: 检测碰撞使用的是两个节点,节点有…

游戏物理中的碰撞测试(一) - 如何检测碰撞

日期:2008年10月 介绍 在文章中我会介绍3D撞击测试的原理和一些基本的实现步骤,当然也会写一些我在实现上的心得。所有的例子我都是在Visual C Express 2008里编译,还需要下载最新版本的OpenGL类库。我想提一下,这并不是一个新的课…

UE4 物理碰撞(C++)

设置碰撞 // 组件 ->SetCollisionEnabled(ECollisionEnabled::NoCollision); 注释:没有碰撞 // 组件 ->SetCollisionEnabled(ECollisionEnabled::PhysicsOnly); 注释:只有物理 // 组件 ->SetCollisionEnabled(ECollisionEnabled::Quer…

cocos creator 3.x 2d物理碰撞检测(不使用物理刚体)

cocos creator 3.x 2d物理碰撞检测(不使用物理刚体) 前言 我含着热泪而来,因为获取不到2d物体的碰撞检测弄了半天。之前一直学2.x,后面学了3.x版本,发现对于新手来说,蛮多需要去适应的,最主要…

BEPU物理引擎碰撞系统的架构与设计

前面我们讲解了如何监听物理引擎的碰撞事件, 在物理引擎内核中如何架构与设计碰撞规则,使得物理Entity与周围的物理环境产生碰撞时,如何灵活的控制物理碰撞,本节給大家详细的讲解BEPUphysicsint 物理引擎内部是如何管理与控制碰撞规则的。本文主要讲解3个…

11. unity 物理系统和碰撞检测+射击游戏案例

1. 物理系统 也就是在游戏场景中添加日常的重力,碰撞等到物理属性 1.1 刚体组件(Rigidbody) 给模型添加刚体组件后,模型会具备一些物理属性,比如重力,速度,加速度等,在属性窗口中点击Add Component,选择Physics->Rigidbody,如下图所示:添加刚体组件后,运行游…

Cocos Creator 如何处理物理和碰撞检测?

Cocos Creator 如何处理物理和碰撞检测? cocos creator 版本:v3.6.1 Cocos Creator 3.x 实现碰撞检测 Cocos Creator 通过使用物理引擎来处理物理和碰撞检测。Cocos Creator 默认使用 Box2D 物理引擎,也支持使用 Chipmunk 物理引擎。以下是处理物理和碰撞…

【唐老狮】Unity——物理系统(碰撞检测)

【学习目标】 碰撞检测 能够让两个游戏物体之间产生碰撞 能够让两个物体碰撞时表现出不同效果 能够通过代码检测到碰撞产生的不同阶段 能够使用触发器让两个物体相互穿透 能够通过代码检测到触发产生的不同阶段 【碰撞检测】 【碰撞的必要条件】 两个游戏物体&#xff…

unity物理碰撞操作方案

经unity官方网站资料改写整理书写本博客,原网址方案链接如下: Lesson 2.4 - Collision Decisions - Unity Learn 首先 1.先创建两个物体 然后 2.给这两个物体加上Box Collider 组件,并勾选“是触发器”(英文:is 啥…

2D物理系统——碰撞器

1、碰撞器 碰撞器是用于在物理系统中表示物体体积的形状或范围,刚体通过得到碰撞器的范围信息进行计算,判断两个物体的范围是否接触,如果接触刚体就会模拟力的效果产生速度和旋转 2、2D碰撞器 补充: 边界碰撞器可以用作不规则地…

JavaScript 游戏开发:手把手实现碰撞物理引擎

目录 基础结构绘制小球移动小球重构代码碰撞检测边界碰撞向量的基本操作碰撞处理动量守恒定律动能守恒定律 非弹性碰撞重力总结 年前我看到合成大西瓜小游戏火了,想到之前从来没有研究过游戏方面的开发,这次就想趁着这个机会看看 JavaScript 游戏开发&am…