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

article/2025/10/10 11:30:58

前言

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

Introduction

自顶向下这本书是逐步深入的思想来介绍计算机网路。
(本书的资源,中文英文P PT也在我的主页可以找到。)
在这里插入图片描述
学习应用层时不用去考虑端到端之间是如何连接,采用什么技术或者协议,各层之间的关系是什么。
其实简单来说,就是学习哪一章知识就专注于上一层为自己提供了什么服务、本层的应用、本层实现了哪些服务即可。
而关于像差错检验、流量控制可能在不同层之间都会需要完成的功能可以在学习该层时专注于本层的具体实现,在全部学习完毕后总结他们之间的相似和通性。

(直接连接消耗大,成本高,采用交换技术)
电路交换,分组交换,报文交换的对比?
参考:https://article.itxueyuan.com/xn448e

应用层

传输层

网络层

IP分类、特殊IP
DJ算法与BF算法
RIP环路避免算法
路由表与数据转发
DHCP(应用层的协议,基于UDP)

基本原理:

  1. DHCP discover : PC机,开机就会发出广播(以0.0.0.0的源地址和255.255.255.255的广播地址),请求上网分配一系列上网参数(四个:包括IP地址、子网掩码、gateway、name and DNS server)
  2. DHCP offer : 单播回复(可能不止一个服务器回复)
  3. DHCP request :点对点(可能会有多个服务器回复,选择其中一个)
  4. DHCP ACK : 服务器确认返回
NAT:网络地址转换

(这里只对书上的一种基于端口的NAT进行总结)
通俗的来说,就是在IP地址短缺的情况下,在一个子网中,各个主机的IP地址对外是无效的,想要有效就需要进行NAT(网络地址转换)。

链路层与局域网

解释:实际上也包括部分物理层的知识,本章的知识还有广域网与局域网共同的知识以及部分局域网的具体实现。(由于广域网的链路层知识简单,所以本章讲述局域网)
原理部分:该层的功能与为下一层提供的服务
实例部分:eg:广域网:PPP (点对点) 局域网:IEEE的以太网的标准
链路层如何做检错纠错
链路层如何实现多点接入
链路层如何寻址 ARP
还有关于局域网链路层的(VALN)的介质访问控制技术
可靠传输与流量控制

引入:
网络层按照子网来路由,一个子网与另一个子网通信
而链路层实现的是子网中 主机之间点对点的通信,主机与路由器之间,路由器与路由器之间点对点的通信。(是点对点的如何转,是多点连接的如何转)

说人话,就是说在链路层有两者不同类型的链路层信道,
一种是点对点的通信链路,一种是广播信道,也就是多点连接。MAC

点到点的链路一般来说比较远,多点连接一般在局域网中。(如何协调共享介质)

举个例子:
实际存在的链路类型有5种,所有的问题都是基于这些不同链路的情况下考虑的。

链路层提供的服务:不同协议之间实现的服务可能不同

  1. 封装帧
  2. framing link access
  3. 可靠传输

在这里插入图片描述
该部分中主要关注与ARP与VLAN的相关知识,其他的部分只做一个简述。

ARP的工作原理

作用:IP地址与MAC地址之间的转换
交换机只能处理帧,不能处理IP报文。
在同一个子网中,
在这里插入图片描述
注意:APR只能在同一个子网中的主机和路由器接口解析IP地址。(范围小)
如何做到?
每台主机和路由器在内存中都有IP与MAC的映射表。 该表存在TTL值,并且并不是每一个映射都存在。
如果存在映射表,很方便。
如何没有,就用ARP来解析,
发送方会发送一个ARP分组(分组包括发送和接收IP,MAC地址)询问(广播的方式)。其他子网中的主机和路由器就会响应,
发送方就会得到想要的目主机的地址。将ARP分组封装在帧中,用广播地址作为目的地址广播。

  1. 查询用广播帧,回复用标准帧
  2. ARP自动构建
VLAN 虚拟局域网

缺乏流量隔离,在一个交换机连接的网络中,广播流量会跨越整个网络可能导致信息泄露。
管理用户。不同组之间 主机想要移动就必须改变物理布线,问题复杂。
VLAN 技术可以解决这两个问题,在单个LAN的基础上定义多个虚拟LAN,将连接在一个组中的主机相互隔离开来,使得广播只在该组之间进行。不同的VLAN之间依然通过路由转发。(将某一个端口与路由器连接,并将该端口同时设置属于两个VLAN)
原理:
port-based:switch port grouped
交换机会维护一张端口到VLAN的映射表。

基于MAC
基于网络
实验,书上练习的是基于端口的VLAN

干线端口:trunk port 属于所有VLAN
但是由于交换机如何知道干线 端口的帧来自哪个VLAN?
于是,定义了802.1Q标准来实现跨越干线的帧。该标准就是通过在标准以太网帧中加入VLAN 标签tag(4个字节),该帧中有VALN 所属的标识符。

链路聚合(Trunk)是一种封装技术,它是一条点到点的链路,链路的两端可以都是交换机,也可以是交换机和路由器,还可以是主机和交换机或路由器。Trunk的主要功能就是仅通过一条链路就可以连接多个VLAN。
在这里插入图片描述
优势: 隔离广播

  1. 控制网络的广播风暴
  2. 确保网络安全
  3. 简化网络管理

无线局域网

关于无线这部分整理无线局域网的特点,
无线与有限连接的的区别
以及BSS ESS两个概念

首先是无线局域网的特性
三个different from wired link
以及采用SNR来恒量传输的质量。
使用各种协议来实现共享媒体通信时,保证发送者发送的信号不在接收方相互干扰。
并且WLAN 主要采用IEEE802.11的技术与标准。

关于有线与无线的重要区别:
一、
首先,是传输介质上的区别:
WLAN,它利用射频(Radio Frequency; RF)的技术,使用电磁波,取代旧式双绞铜线(Coaxial)所构成的局域网络,在空中进行通信连接。
二、
其次,协议上来说,
WLAN的媒体接入控制(MAC)协议与以太网不同,以太网的传输协议是(CSMA/CD),无线网络标准采用CSMA/CA的MAC方式,其共同特点是多个接入设备共享一个通信通道的机制。
三、
还有信号传输的不同:(主要是在链路层的区别)
有线传播是定向,无线是多播。(多路径传输)

  1. Decreased signal strength:radio signal attenuates as ir propagates through matter. 无线链路会有 path loss

  2. interference from other sources 在同一个频段发送信号的电源波将会相互影响。环境中的电磁干扰都会干扰。

  3. mutipath propagation 电磁波的一部分受到物体和地面反射,在发送方和接收方之间走了不同长度的路径,这就是mutipath propagation。发送方和接收方之间的移动物体也会影响信号传播。
    因此在无线链路中,比特差错更为常见,因此无线采用CRC来检测错误码等方法来保证传输效果。

  4. 安全性。本质上无线电波不要求建立物理的连接通道,无线信号是发散的。从理论上讲,很容易监听到无线电波广播范围内的任何信号,造成通信信息泄漏。
    而有线在使用上更灵活,同时安全性也更强。

BSS是指802.11体系中WLAN 的基本构件模块。
一个BSS包括:
1.一个或者多个wireless hosts
2.一个AP:base station

extended service set (ESS):Extended Service Set 延伸式服务组合,基站允许个别的 BSS 彼此串连为逻辑上相连的群组,此种结构称为延伸式服务组合。处于同一个ESS中的BSS共享相同的SSID等。
在这里插入图片描述
图片来自:http://t.csdn.cn/atULg

安全

关于安全的部分这里整理两点
基于对称加密的实体鉴别
基于非对称的实体鉴别

这两点在认证部分:(挑战响应协议, R就是挑战码)
基于对称加密的认证方法:
前提:AB双方已经拥有了双方已知的shared secret key.
(1. 如何得到这个key?KDC:相信key distribution center来分享两者之间的的对称的密钥。AB都和KDC之间建立信任的连接,AB就可以得到这个密钥,每个需要保密通信安全的个人都与 KDC 共享一个密钥)
在该情况下,AB之间想相互确认身份。
在A给B发送消息,B要确认A的情况下,B给A发送一个数字 with once in life time. 如果A给B返回了一个通过key加密的数字,B可以成功解开。那么就可以证明A的身份。(R就是挑战码)
该方法的目标是为了避免playback attack

基于非对称加密的方法(公开密钥加密技术)
同样也是A给B发送消息,B需要确认A的身份的情况下。
B先给A发送一个数字with once in lifetime,A通过自己的私钥加密该数字并发送给B,在B也知道A的公钥的情况下,B通过公钥去解密A传递过来的加密的数字并成功解开,B就可以确认A的身份。
原因:只有A知道私钥
但是在传递公钥时有可能遇见中间人攻击(middle attack)
2. 解决方法就是:可靠得到公钥?
CA认证(证书中有公钥)
B想要获得A的公钥就可以去得到A的CA证书
因为A有CA证书并且A的CA证书中包含了A的公钥。
B通过CA证书得到公钥后,也可以通过CA的私钥去验证A的公钥是否正确

各个层次的安全性:通过前面的方法运用在实际中
应用层:SSL BGP
传输层:SSL
网络层:sk
链路层:WEB 8032.11

运行中的安全设备:firewall 和 IDS


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

相关文章

计算机网络(自顶向下方法)-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…

unity 物理碰撞

一 .意义 在游戏里经常会发生角色碰撞的场景,但是unity模型碰撞没有啥效果,就需要物理引擎。 物理引擎就是在游戏中模拟真实的物理效果。 二.刚体 Rigidbody( 刚体) 刚体组件可使游戏对象在物理系统的控制下运动,任何游戏对象只有添加刚…

【Unity探究】物理碰撞实验

这几天为了准备面试,所以决定对平时学习中的盲点扫盲一下,首先想到的就是物理碰撞。以前没有好好研究过,一直模糊不清,到底什么条件下才可以产生物理碰撞呢?只要其中一个有Rigidbody就可以了吗?所以进行了下…

物理系统碰撞相关原理及算法

1.物理模拟相关过程 1) 积分Integrate(物体运动位置和朝向的迭代) 2)碰撞检测 Collision Detect(检测碰撞体间是否接触以及相关碰撞信息) 1.粗略碰撞检测BroadPhase(粗略判断碰撞体间是否接触&…