计算机网络 | 期末复习
物理层:
奈氏准则:带宽(w Hz),在不考虑噪音的情况下,最大速率(2W)码元/秒
信噪比S/N:以分贝(dB)为度量单位。信噪比(dB)=10log10(S/N)
将没有单位的S/N转换为单位为dB
香农公式(必考,结合信噪比公式):C=Wlog2(1+S/N)(bit/s)
速率=带宽*log2(1+S/N) 单位bit/s
信道复用技术
频分复用技术(FDM)Frequency Division Multiplexing
时分复用技术(TDM)Time Division Multiplexing
统计时分技术(STDM)
码分复用(CDM)Code Division Multiplexing
传输媒体:分为导引型和非导引型。
(1)导引型:
双绞线(UTP和STP):分为无屏蔽双绞线UTP和屏蔽双绞线STP,双绞线最便宜;同轴电缆(电视用的就是);光缆、光纤
(2)非导引型:
无线电波:信号向所有方向传播,穿透力强,广泛用于通信领域;
微波:信号向固定方向传播。如卫星通信,优点是距离远、覆盖广,通信容量大,缺点是受气候影响,传播时延长,误码率高,成本高。
红外线、激光:信号向固定方向传播。
宽带接入技术
ADSL:非对称数字用户线(电话线上网)
HFC(光纤同轴混合网):改造有线电视网
FTTx:双向传播,电视上网
数据链路层
两种信道
(1)点对点信道:一对一通信,采用协议数据单元(PDU)——帧
采用PPP协议
(2)广播信道:一对多通信,采用CSMA/CD协议,采用以太网帧,局域网LAN就是采用广播信道
CSMA/CD
载波监听多路访问/碰撞检测
先听后发,边听边发,冲突停止,延迟重发
多点接入:总线型网络
载波监听:不管在发送数据前,还是正在发送数据都不停地监听信道。
碰撞检测:发送前监听信道,避免冲突,发送时监听信道,如果发现有其他站在发送,就立即中断本站的发送。
争用期(2τ)又叫碰撞窗口
在争用期没有碰撞就一定不会碰撞

在(0,2的k次方-1)里面选一个数字,然后乘以争用期(2τ)
k在min(重传次数,10)
重传16次不成功则丢弃
基本退避时间为征用期2t(51.2µs),对于10Mbit/s以太网也可以说争用期是512比特时间,1比特时间就是发送1比特需要的时间。
为什么要规定最小帧长
在冲突发生时,为了使两个站点都能及时正确接受到冲突发生的信号,要满足传输一帧的时间大于2倍的信道传输时延,因为如果发送消息的时间小于2倍的信道传输时延(2倍的端到端之间的数据传播时延),则在检测到冲突之前信息就已经发送完毕,所以发送数据帧的时间应长于争用期

以太网最小帧长:64B

τ=传播距离/传播速率
最短帧长=数据率*2τ
以太网规定帧间最小间隔是9.6µs,相当于96比特时间
课后习题:3.24

以太网7B:前同步码 1B:帧开始定界符, 6B:目的地址,6B:源地址,2B:类型,46~1500B:数据,4B:FCS
以太网最短帧长64B(数据46B且不算前同步码和帧开始定界符)
其实发送:64B+8B=72B(576bit)
传播时延:225bit
最大检测时间:450bit<576bit(发送时间)
检测到碰撞前数据不会发送完毕,(如果A在发送完毕之前没有检测到碰撞,能肯定A所发送的帧不会和B发送的帧发生碰撞)
3.25

使用CSMA/CD协议时,一个站不可能同时进行发送和接收(但必须边发边监听),因此使用CSMA/CD的以太网只能进行半双工通信。
局域网:网络为一个单位所有,且地理范围和站点数目均有限。局域网可以按网络拓扑结构进行分类为:星型网(使用了集线器),总线网,环形网
局域网逻辑:总线网,物理:星型网



数据链路层的三个问题
(1)封装成帧:将网络层传来的IP数据报加上首部和尾部(帧定界符),构成一个帧
(2)透明传输:实际存在但是看不到,用字节填充法来解决透明传输转义字符的问题
(3)差错检测:不纠错,只检查错误。对错误的帧直接丢弃

最大传送单元MTU:帧的数据部分最大长度,即IP数据报的总长度(不包括帧头和帧尾!p74图3-4记清楚)。
以太网交换机(交换式集线器)工作在数据链路层。以全双工方式工作,没有碰撞问题,不使用CSMA/CD协议。之所以还叫以太网,是因为它仍然采用以太网帧结构。
以太网MAC帧to物理层:加上8字节首部!p98(在MAC帧前面再加8字节)

7B前同步码,1B帧开始定界符
6B目的 6B源地址,2B类型,46-1500B数据 4BFCS
IEEE802.3规定出现以下情况之一即为无效的MAC帧:
(1)帧的长度不是整数个字节;
(2)用收到的帧检验序列FCS查出有错;
(3)帧的数据字段不在46~1500字节之间。
虚拟局域网VLAN:将一个较大的局域网分割成一些较小的局域网,每一个小局域网是一个小的广播域。虚拟局域网只是局域网提供给用户的一种服务,而不是一种新型局域网。
虚拟局域网VLAN:将一个较大的局域网分割成一些较小的局域网,每一个小局域网是一个小的广播域。虚拟局域网只是局域网提供给用户的一种服务,而不是一种新型局域网。
以太网的适配器有过滤功能:包括三种帧——单播帧、广播帧、多播帧。
网络层
虚电路需要建立连接,数据报服务不需要建立连接

路由器之间传送的两大类信息:
转发源主机和目的主机之间的数据
传送路由信息

地址掩码(又称子网掩码):网络前缀(网络号)全为1,主机号全为0。将二进制的IP地址与地址掩码按位与AND运算(有0则0,全1为1)可以得到网络地址。

TCP报文的首部+应用层数据在IP数据报的数据部分
IP数据报的数据+首部在MAC帧的数据部分
计算机网络中MAC地址与IP地址_mac地址是数据链路层和物理层使用的地址,又称 地址;而ip地址是网络层和以上各层使-CSDN博客

地址解析协议ARP在主机ARP高速缓存中存放一个从IP地址到硬件地址的映射表,并且这个映射表还经常动态更新(新增或超时删除)。每一台主机都设有一个ARP高速缓存(ARP cache),里面有本局域网上的各主机和路由器的IP地址到硬件地址的映射表,这些都是该主机目前知道的一些地址。那么主机怎样知道这些地址呢?我们可以通过下面的例子来说明。
【网络】网络层协议ARP和IP协议转发流程_arp协议 ip转发-CSDN博客
IP数据报格式

网际控制报文协议ICMP:ICMP允许主机或路由器报告差错情况和提供有关异常情况的报告。ICMP报文有两种:ICMP差错报告报文和ICMP询问报文。其中,ICMP差错报告报文有四种:(1)终点不可达(2)时间超过(3)参数问题(4)改变路由
路由选择协议
内部网关协议IGP:1个AS内使用。如OSPF和RIP。
外部网关协议EGP:AS之间使用。如BGP。

运输层
网络层为主机间的通信提供服务,而运输层则在网络层的基础上,为应用进程之间的通信提供服务
UDP
无连接(不需要建立连接),尽最大努力交付(不保证可靠交付)
面向报文,没有拥塞控制,支持一对一,一对多,多对一,和多对多的交互通信
首部开销小(8B)

为什么说UDP是面向报文的:
UDP对于应用层交下来的报文,不合并,并拆分,加个首部就传给IP层
所以应用程序就要选择合适的大小的报文
报文太小,会使IP首部相对长度大,降低IP层的效率;报文太大,需要进行分片,降低IP层的效率
UDP的首部


4个字段均为2B
源端口 目的端口 长度 检验和
比较MAC帧(先是目的地址,再是源地址)

TCP和UDP协议的区别以及原理_tcp和udp的区别-CSDN博客
TCP和UDP详解_tcp udp-CSDN博客
三次握手连接
 四次挥手:

【通俗易懂】三次握手与四次挥手_三次握手和四次挥手-CSDN博客
TCP和UDP协议的区别以及原理_tcp和udp的区别-CSDN博客
端口号
 ![]()

慢开始阶段拥塞窗口是2倍增大,拥塞控制阶段是+1的增大,超时的情况拥塞窗口大跳水直接变成1,收到三个确认的情况拥塞窗口降为当前的1/2。

应用层:

相关文章:
计算机网络 | 期末复习
物理层: 奈氏准则:带宽(w Hz),在不考虑噪音的情况下,最大速率(2W)码元/秒 信噪比S/N:以分贝(dB)为度量单位。信噪比(dB)…...
动手实操微软开源的GraphRAG
微软在今年4月份的时候提出了GraphRAG的概念,然后在上周开源了GraphRAG,Github链接见https://github.com/microsoft/graphrag,截止当前,已有6900Star。 安装教程 官方推荐使用Python3.10-3.12版本,我使用Python3.10版本安装时,在…...
【网络安全】实验七(ISA防火墙的规则设置)
一、实验目的 二、配置环境 打开两台虚拟机,并参照下图,搭建网络拓扑环境,要求两台虚拟机的IP地址要按照图中的标识进行设置,并根据搭建完成情况,勾选对应选项。注:此处的学号本人学号的最后两位数字&…...
实验代码结构介绍
提高模型复用性,让模型对应的配置更加清晰,代码书写条理 学习自https://zhuanlan.zhihu.com/p/409662511 Project ├── checkpoints # 存放模型 ├── data # 定义各种用于训练测试的数据集 ├── eval.py # 测试代码 ├── loss.py # 定义的…...
Java多线程不会?一文解决——
方法一 新建类如MyThread继承Thread类重写run()方法再通过new MyThread类来新建线程通过start方法启动新线程 案例: class MyThread extends Thread {public MyThread(String name) {super(name);}Overridepublic void run() {for(int i0;i<10;i){System.out.…...
Mac上pyenv的安装及使用
Mac上pyenv的安装及使用 安装 brew update brew install pyenv 报错 git -C /usr/local/Homebrew/Library/Taps/homebrew/homebrew-core fetch --unshallowgit -C /usr/local/Homebrew/Library/Taps/homebrew/homebrew-cask fetch --unshallow那就执行这2句 还报错 git -C /…...
【SpringBoot】IDEA查看spring bean的依赖关系
前因:研究springcloud config组件时,我发现config-server包下的EnvironmentController不在扫描的包路径下却可以响应客户端的请求,这引起了我的注意,我的问题是:EnvironmentController是怎么被添加进bean工厂的。本章就…...
项目代码优化(1)——下单逻辑
给一个电商开发的系统排查,发现漏洞很多。很多经验不够的开发者很容易忽视的逻辑错误陷阱。在给一个项目做二次开发时候,检测到的相关经典案例。这里整理支付和产品相关的逻辑,方便后续查看。,这里进行一些简单的逻辑漏洞梳理与修…...
探索 WebKit 的缓存迷宫:深入理解其高效缓存机制
探索 WebKit 的缓存迷宫:深入理解其高效缓存机制 在当今快速变化的网络世界中,WebKit 作为领先的浏览器引擎之一,其缓存机制对于提升网页加载速度、减少服务器负载以及改善用户体验起着至关重要的作用。本文将深入探讨 WebKit 的缓存机制&am…...
JVM:介绍
文章目录 一、什么是JVM二、JVM的功能1、解释和运行2、内存管理3、即时编译 三、常见的JVM四、Java虚拟机规范五、HotSpot发展历程 一、什么是JVM JVM的全称为Java Virtual Machine,Java虚拟机。本质上是一个运行在计算机上的程序,职责是运行Java字节码…...
和鲸“101”计划领航!和鲸科技携手北中医,共话医学+AI 实验室建设及创新人才培养
为进一步加强医学院校大数据管理与应用、信息管理与信息系统,医学信息工程等专业建设,交流实验室建设、专业发展与人才培养经验,6 月 22 日,由北京中医药大学(简称“北中医”)主办,上海和今信息…...
Linux 网络抓包工具tcpdump编译
tcpdump 的编译步骤 1. 下载源代码 访问 tcpdump 的官方网站(如:http://www.tcpdump.org/)下载最新的源代码压缩包,如tcpdump-4.9.2.tar.gz(注意版本号可能会有所不同)。 2. 解压缩源代码 使用 tar 命令…...
『C++成长记』string模拟实现
🔥博客主页:小王又困了 📚系列专栏:C 🌟人之为学,不日近则日退 ❤️感谢大家点赞👍收藏⭐评论✍️  目录 一、存储结构 二、默认成员函数 📒2.1构造函数 📒2.…...
【c++】C++ IO流
本专栏内容为:C学习专栏,分为初阶和进阶两部分。 通过本专栏的深入学习,你可以了解并掌握C。 💓博主csdn个人主页:小小unicorn ⏩专栏分类:C 🚚代码仓库:小小unicorn的代码仓库&…...
解密智慧校园基础数据的学年管理功能
在智慧校园平台中,学年管理模块构成了教育活动有序运行的基石,它精心设计来适应多样化的学术日程,确保学校的各项事务都能在清晰规划的学年框架内顺利推进。这一核心功能不仅关乎时间的界定,更深层次地融入了教育管理的每一个细微…...
Python酷库之旅-第三方库Pandas(009)
目录 一、用法精讲 19、pandas.read_xml函数 19-1、语法 19-2、参数 19-3、功能 19-4、返回值 19-5、说明 19-6、用法 19-6-1、数据准备 19-6-2、代码示例 19-6-3、结果输出 20、pandas.DataFrame.to_xml函数 20-1、语法 20-2、参数 20-3、功能 20-4、返回值 …...
VPN 的入门介绍
VPN(虚拟专用网络) 简介 虚拟专用网络,简称虚拟专网(VPN),其主要功能是在公用网络上建立专用网络,进行加密通讯。在企业网络中有广泛应用。VPN网关通过对数据包的加密和数据包目标地址的转换实…...
移动UI: 什么特征会被认为是简洁风格,用案例告诉你
什么是简洁风格,恐怕一百个人有一百个是理解,本文通过理论分析案例的方式进行探讨。 移动 UI 中的简洁风格通常具有以下几个特征: 1. 平面化设计: 简洁风格的移动 UI 善于运用平面化设计,即去除过多的阴影、渐变和立…...
除了伦敦外,英国还有这些热门留学城市
在同学们选择出国留学时,首先要考虑到的便是择校的问题。除了排名、专业、录取要求之外,城市因素也占据了很大比重。 抛开学校自身的优势外,一座城市的氛围、成本、环境都是需要考虑的因素。下面就我们来盘点一下英国热门的留学城市。 爱丁…...
2390. 从字符串中移除星号
2390. 从字符串中移除星号 题目链接:2390. 从字符串中移除星号 代码如下: class Solution { public:string removeStars(string s) {vector<char> sta;for(int i0;i<s.size();i){if(s[i]*) {sta.pop_back();}else {sta.push_back(s[i])…...
【解密LSTM、GRU如何解决传统RNN梯度消失问题】
解密LSTM与GRU:如何让RNN变得更聪明? 在深度学习的世界里,循环神经网络(RNN)以其卓越的序列数据处理能力广泛应用于自然语言处理、时间序列预测等领域。然而,传统RNN存在的一个严重问题——梯度消失&#…...
学习STC51单片机31(芯片为STC89C52RCRC)OLED显示屏1
每日一言 生活的美好,总是藏在那些你咬牙坚持的日子里。 硬件:OLED 以后要用到OLED的时候找到这个文件 OLED的设备地址 SSD1306"SSD" 是品牌缩写,"1306" 是产品编号。 驱动 OLED 屏幕的 IIC 总线数据传输格式 示意图 …...
【Web 进阶篇】优雅的接口设计:统一响应、全局异常处理与参数校验
系列回顾: 在上一篇中,我们成功地为应用集成了数据库,并使用 Spring Data JPA 实现了基本的 CRUD API。我们的应用现在能“记忆”数据了!但是,如果你仔细审视那些 API,会发现它们还很“粗糙”:有…...
GC1808高性能24位立体声音频ADC芯片解析
1. 芯片概述 GC1808是一款24位立体声音频模数转换器(ADC),支持8kHz~96kHz采样率,集成Δ-Σ调制器、数字抗混叠滤波器和高通滤波器,适用于高保真音频采集场景。 2. 核心特性 高精度:24位分辨率,…...
IP如何挑?2025年海外专线IP如何购买?
你花了时间和预算买了IP,结果IP质量不佳,项目效率低下不说,还可能带来莫名的网络问题,是不是太闹心了?尤其是在面对海外专线IP时,到底怎么才能买到适合自己的呢?所以,挑IP绝对是个技…...
AirSim/Cosys-AirSim 游戏开发(四)外部固定位置监控相机
这个博客介绍了如何通过 settings.json 文件添加一个无人机外的 固定位置监控相机,因为在使用过程中发现 Airsim 对外部监控相机的描述模糊,而 Cosys-Airsim 在官方文档中没有提供外部监控相机设置,最后在源码示例中找到了,所以感…...
Rust 开发环境搭建
环境搭建 1、开发工具RustRover 或者vs code 2、Cygwin64 安装 https://cygwin.com/install.html 在工具终端执行: rustup toolchain install stable-x86_64-pc-windows-gnu rustup default stable-x86_64-pc-windows-gnu  2、Hello World fn main() { println…...
Vue 模板语句的数据来源
🧩 Vue 模板语句的数据来源:全方位解析 Vue 模板(<template> 部分)中的表达式、指令绑定(如 v-bind, v-on)和插值({{ }})都在一个特定的作用域内求值。这个作用域由当前 组件…...
macOS 终端智能代理检测
🧠 终端智能代理检测:自动判断是否需要设置代理访问 GitHub 在开发中,使用 GitHub 是非常常见的需求。但有时候我们会发现某些命令失败、插件无法更新,例如: fatal: unable to access https://github.com/ohmyzsh/oh…...
Python常用模块:time、os、shutil与flask初探
一、Flask初探 & PyCharm终端配置 目的: 快速搭建小型Web服务器以提供数据。 工具: 第三方Web框架 Flask (需 pip install flask 安装)。 安装 Flask: 建议: 使用 PyCharm 内置的 Terminal (模拟命令行) 进行安装,避免频繁切换。 PyCharm Terminal 配置建议: 打开 Py…...
