计算机网络之基础篇

前端面试题目整理——计算机网络基础篇(汇总) 通信协议(http、tcp、udp) 三者都是通信协议,也就是通信时所遵守的规则,只有双方按照这个规则“说话”,对方才能理解或为之服务。 TCP/IP是个协议组,可分为四个层次:网络接口层、网络层、传输层和应用层。 在网络层有IP协议、ICMP协议、ARP协议、RARP协议和BOOTP协议。 在传输层中有TCP协议与UDP协议。 在应用层有FTP、HTTP、TELNET、SMTP、DNS等协议。... 阅读详情

什么是计算机网络?

主机之间通过交换网络互连,交换节点一般是路由器或者交换机。

什么是网络协议?

为进行网络中的数据交换而建立的规则、标准或约定。

协议的三要素是什么?

语法、语义、时序

计算机网络的结构?

  1. 网络边缘:主机(端系统)、网络应用

    主机(端系统):运行网络应用程序
    客户/服务器(C/S)应用模型:客户发送请求,接受服务器响应
    对等(P2P)应用模型:不仅依赖专用服务器;对等实体之间直接进行通信
    
  2. 接入网络,物理介质:有线或无线通信链路,将网络边缘接入核心网络

    带宽(bps):网络中指数据传输速率,Mb/s
    共享/独占? 
    无线接入网络:
        无线局域网(LANs):wifi
        广域无线接入:通过电信运营商,3G、4G
    
  3. 网络核心:互联的路由器(或分组转发设备),将数据从源主机通过网络核心发送到目的主机

    关键功能:路由+转发
    路由:确定分组从源到目的传输路径
        路由算法
    转发:将分组从路由器的输入端口交换至正确的输出端口
        本地转发表
    

数据交换?

构建:

最简单的就是任意两台主机之间建立一条链路:O(N^2)

然后一个交换设备,让每台主机都通过链路连接:如果主机规模很大,交换设备端口不够用;如果主机与交换设备过远,无法保证连通性

把交换设备连接到一起,构造成交换网络,让每台主机与交换网络中的某台设备连到一起

什么是交换?

动态转接: 数据通过交换设备从一个端口转到另一个端口,而且可以在多组端口之间并行
动态分配传输资源:数据从源主机穿越交换网络送达正确的目的主机 

数据交换的类型?

电路交换—>典型的电话

    实现选好链路占好资源
    资源独占,不能被第三方共享        
    电路交换网络的链路共享:多路复用

报文交换

    源(应用)发送信息整体,比如一个文件,完整的发到下一个站点

分组交换

    分组:报文分拆出来的一系列相对较小的数据包  **头+数据**
    需要报文的**拆分**和**重组**
    产生**额外开销**:时间开销必不可少,通常在计算机网络中源主机和目的主机之间进行的,拆分重组开销不严重

报文交换与分组交换均采用存储–转发交换方式

路由器将数据分组完整的接收过来暂存一下,再决定怎么转发,转发的链路可用了,再发出去
丢包:队列缓存容量有限,分组到达已满队列,到达分组被丢弃--丢包(loss)

报文交换的效率高于分组交换

报文交换是串行,而分组交换很多分组之间是并行的,而且相比之下路由器需要的缓存更小

分组交换VS电路交换,可支持更多用户同时使用网络,网络资源充分共享

大家建立连接后,一般不一直传送数据,一段时间根本不用网络,平均活动时间较少
分组交换是统计多路复用

分组交换不是绝对优于电路交换

分组交换更适用于**突发**数据传输网络
资源充分共享;简单、无需呼叫建立,事先占好资源
缺点:
可能产生拥塞:分组延迟和丢失,需要协议处理可靠数据传输和拥塞控制
如何提供性能保障? 音/视频需要的带宽保障

网络性能的评价

速率:数据传输速率或比特率(单位时间传输比特量),最重要的一个性能指标

带宽:原指信号具有的频带宽度,单位是赫兹。在计算机网络中,指数字信道所能传送的“最高数据率”

延迟/时延:分组在路由器缓存中排队,分组到达速率大于输出链路容量时

结点处理延迟:差错检测、确定输出链路可用
排队延迟:等待输出链路可用、取决于路由器拥塞程度
传输延迟(发送一个分组需要的时间):分组长度L、链路带宽R, d=L/R
传播延迟:物理链路长度、信号传播速度

丢包率: 丢包数/已发分组总数

吞吐量/率:表示在发送端与接收端之间传送数据速率(b/s),取决与端到端路径之间的瓶颈链路(速率最小的链路)。

计算机网络体系结构?

从功能上描述,分层结构,每层完成本层功能,体系结构是抽象的。

为什么分层?

结构清晰;模块化的分层易于系统更新、维护;有利于标准化

因为每一层要完成的功能是不同的,解决的问题是不一样的,比如要传递可靠数据(传输层)、先要实现能传递数据(网络层)、传递之前要保证两台机器之间能发数据包(数据链路层),所以分层的方式是将功能划分给每一层去实现部分功能,下层协议为上层协议提供帮助,相互配合。

协议是控制两个对等实体进行通信的规则的集合,协议是“水平的”。
任一层实体使用下层服务,实现本层功能,向上层提供服务,服务是“垂直的”。
下层协议的实现对上层的服务用户是透明的。

网卡是什么?

网卡:网络适配器,插在(或者集成在)主板上的硬件设备,每个网卡都有一个全球唯一的标识,从一生产出来就确定了,48位,叫做MAC地址,如11:27:F5:8A:79:54。

网卡属于OSI模型中的物理层和数据链路层,网络层以上的部分则由操作系统中的协议栈实现,所以TCP/IP协议栈其实只包含了网络层和传输层。

网卡是怎么工作的?

首先需要一个IP地址,用到DHCP(动态主机配置协议,集中管理、分配IP地址)。网络里有DHCP服务器,动态的分配地址,CPU写好报文,内容如下:首先是一个应用层的DHCP报文,然后被DUP报文封装,之后再被IP数据报封装。

这里写图片描述

网卡是数据链路层的,需要知道MAC地址才能发送到指定对方,如果不知道就发广播。然后我又把数据报封装了一下,广播到同一子网内的所有电脑,目的地址就是FF:FF:FF:FF:FF:FF。

这里写图片描述

然后网卡通过网线把报文发到交换机,交换机将报文转发到所有连接到交换机的设备。过一会,交换机转来报文,就是DHCP服务器发来的。然后网卡广播发送一个报文确定要哪个IP,之后DHCP再回一个报文,包括网卡的IP、网关路由器的IP、DNS服务器IP。

如果系统重启之后,这个获取IP的步骤需要再走一遍,除非用户手动的配置IP地址、网关、DNS,但是这样很烦还容易出错,所以一般情况下都是自动的用DHCP搞定一个IP。

这里写图片描述

怎么访问百度?

要想互联,不仅自己要有IP地址,还要知道对方的IP地址,比如访问www.baidu.com,要先经过DNS查询,知道它的IP。

DNS服务器不在局域网内,我们将报文发送到网关路由器,由网关路由器想办法转给DNS服务器。那么网关路由器的MAC地址在哪呢?这时候需要用到ARP(地址解析协议),通过广播查询一个IP地址对应的MAC地址,得到网关路由器的MAC地址,网卡只需要将DNS查询发送给网关路由器即可。之后就没网卡的事情了,网卡只能管局域网的事情,出了局域网,就是路由器的事情了。

出了局域网之后的事情呢?

现在来看网关路由器,我还在想为什么叫网关呢?在网上看到的解释是大家想上网,一定得经过这一关,所有的对局域网之外的访问必须得经过网关。

网关直接和ISP(网络服务供应商,比如联通)的网络相连,得到一个外网地址。

NAT(网络地址转换)

网关路由器不仅是个路由器,还是个DHCP服务器,掌握着整个局域网的IP生杀大权。局域网内的主机拿着内网IP是无法直接上网的,这个地址只有局域网的网关才知道,像百度这样的网站根本就不知道;即使知道了也没用,世界上无数的路由器都会分配192.168.xxx.xxx这样的地址,也不知道到底要找哪一个。

那怎么通过网关路由器上网呢?下面看过程:
比如某个网卡想访问百度,它通过交换机给网关路由器发来一个数据帧,如下:

这里写图片描述

发过来之后,网关路由器这样处理:它把数据链路层去掉,发现IP数据包中的目标地址是115.239.211.112,可以知道这是要向外网发出请求了,网关路由器把源IP地址换成从ISP那里拿来的外网IP,再创建一个新的端口号将TCP数据包中的源端口也替换掉,之后数据包就换成了下面这样:

这里写图片描述

总之就是网关路由器将源IP地址和源端口都替换了,目的就是让外网认为这是路由器发出的,他们根本不知道什么某一块网卡。之后再给IP数据报封上数据链路层的头,将数据包发送给服务商的网络,剩下的事情就不用管了。

这个替换源地址和源端口的小把戏就叫做网络地址转换,简称为NAT。
当然不止一台电脑通过网关路由器上网,还有很多别的电脑,所以网关路由器将这些转换关系记录下来,形成了NAT转换表,如下:

这里写图片描述

PS:路由器上的WAN口是用来连接外网的,或者说连接宽带运营商的;LAN口(1、2、3、4)是用来连接内网中的设备的。

接着说,当百度那边的回复通过别的路由器转到网关路由器这里,需要反过来处理:首先去掉数据链路层的头,发现IP和TCP数据报中包含这样的信息:目的IP:61.52.247.112,端口:2001,这时候网关去查表,找到了192.168.1.2:3345,就知道这是给哪一块网卡的数据包了。就再次把数据报中的IP地址和端口号改了,让网卡认为这个数据包是网关发的。

就这样,网关用一个外网的IP支持了局域网内多个电脑的上网需求,并且他们根本不知道怎么回事!

NAT弊端
  1. NAT使IP会话的保持时效变短。一个会话建立后会在NAT设备上建立一个关联表,因为IP和端口资源有限,通信的需求无限,所以必须在会话结束后回收资源。

  2. NAT在实现将多个内部主机发出的连接复用到一个IP上,这样适使得依赖IP进行主机追踪的机制失效了。NAT隐蔽了通信的一端,把简单的事情复杂化了。

  3. NAT工作机制依赖于修改IP头部信息,这会妨碍一些安全协议的工作。NAT篡改了IP地址、端口和校验和,这会导致认证协议彻底不能工作,因为认证的目的就是要保证这些信息在传输过程中没有发生变化。

NAT穿越

在P2P模式下,比如电驴,机器不仅仅是客户端,同时也是一个能够接受请求的服务器。但是其他人怎么能连上它呢?外网的人不知道它的IP地址呀。

解决方案是这样的,网卡可以主动的请求网关建立一个NAT映射,比如(192.168.1.2 : 4096) <-> (61.52.247.112: 3001),保存到NAT表中,当有外网连接到来时,网关负责把连接请求转发到指定主机。这其实是UPnP。

下一篇:计算机网络之层次结构

西门子S7-1200的PID应用(恒温热水器) 物料清单:1200PLC一台,模拟量输入模块SM1231(PLC自带的输入通道不支持4-20mA电流输入)一个,PT100一个,温度变送器,热得快,固态继电器。 第一步,硬件接线; 第二步,新建1200工程,添加PLC和模拟量输入模块,修改模块的模拟量输入类型为4-20mA,模拟量模块的IO地址为96-103(8个字); 第三步,新建循环组织块OB30,循环时间选择默认点1... 阅读详情

相关推荐

Ollama本地大模型部署指南:从核心原理到实战避坑

大语言模型(LLM)作为人工智能领域的核心技术,通过海量数据训练获得强大的语言理解和生成能力。其工作原理基于Transformer架构,通过自注意力机制处理序列数据,在文本生成、代码编写和对话系统等场景展现出巨大价值。随着开源模型的普及,本地部署成为关注焦点,它解决了数据隐私和定制化需求,但面临环境配置和资源管理的挑战。Ollama作为开源工具,通过封装模型格式和统一API,简化了本地部署流程,支持GPU加速和性能调优,让开发者能够快速集成到IDE和自动化脚本中,实现高效的本地AI应用部署。

weixin_30915951的博客 451

网卡如何发送和接收数据包

网卡如何发送和接收数据包

韦编二绝 6481

PubMedBERT:生物医学NLP中的垂直领域预训练实践与性能突破

本文深入探讨了PubMedBERT在生物医学NLP领域的应用与性能突破。作为专为生物医学文本设计的预训练模型,PubMedBERT通过全词掩码策略和BLURB基准测试,显著提升了命名实体识别、关系抽取等任务的准确率。文章还提供了PubMedBERT的实战应用案例和代码示例,展示了其在医学文献检索和电子病历结构化中的卓越表现。

kite3的博客 283

计算机网络(全)

计算机网络, 分组交换, 网络协议, OIS参考模型, 五层协议模型, 物理层, 数据链路层, 可靠传输, 局域网, 网络层, IPV4, IPV6, 路由选择算法, 传输层, TCP, UPD, HTTP协议, DNS, 域名解析系统, 客户端服务器模式, 万维网

s6664的博客 2万+

钣金设计高薪进阶:从材料工艺到DFMA降本增效全解析

钣金设计是机械制造领域的核心技术之一,它涉及将金属板材通过切割、折弯、焊接等工艺成型为所需零件。其核心原理在于深刻理解材料特性、制造工艺约束与结构力学,以确保设计在功能、成本与可制造性之间取得最佳平衡。这项技术的价值在于,优秀的钣金设计能直接驱动产品降本增效,通过优化材料利用率、简化装配工序和避免设计缺陷,为企业节省大量模具与生产成本。其应用场景广泛,从机箱机柜、汽车部件到电子设备外壳无处不在。本文将聚焦于实现这一价值的关键路径,深入探讨面向制造与装配的设计(DFMA)原则在钣金领域的实战应用,并剖析如何通

weixin_34301132的博客 391

Kali实战:LAMPSecurity CTF5靶场渗透全流程(附详细漏洞利用步骤)

本文详细解析了Kali Linux在LAMPSecurity CTF5靶场渗透中的全流程,包括靶场环境搭建、Web应用漏洞挖掘、横向移动与权限提升等关键步骤。通过实战案例演示了如何利用NanoCMS漏洞获取系统权限,并提供了详细的防御措施与加固建议,帮助安全人员提升渗透测试技能。

weixin_29230901的博客 211

计算机网络

是整个。

士心凡 986

World Creator地形导入UE

导出预设选择高度图(heigh map)格式选择PNG 16位,或者RAW 16位,需要反转y轴(与虚幻不同),命名格式会自动带一个× , 将×改成_ 或者删掉自己命名 (虚幻名称不支持x符号)导入虚幻 , 修改Z轴 , 就是用 地形最高 - 地形最低 , 然后除以512 , 再乘以100。把这个数字填入Z轴缩放 , 点击生成即可。

UE星空 2153

大白话:计算机网络——网速

计算机单位时间内发送的bit量,(8 bit = 1Byte);电信移动联通的网络服务表示的网速就是以此为单位的;比如: 800Mb/s=800*10^6Bit/s ,换算成Byte,等于100*10^6Byte/s ,差不多每秒发送或接收100MB数据;你以为1s真的可以传递100MB有效数据? 那就大错特错了!网络的投递方式是“分组转发”,一份文件会被拆分成多份数据——报文,网络的层层协议都会在数据段前加上首部,首部中包括有目的地址,源地址,校验位等等;就像寄邮件,快递小哥会给你一个箱子还有一张快递.

qq_35215728的博客 643

TortoiseGit提示No supported authentication methods available错误

一、问题 在使用TortoiseGit与远程仓库进行同步代码的时候提示如下错误,即:没有支持认证的方法可用。而GitBash却可以正常使用,不受影响。 通过调查,发现应该是TortoiseGit远程仓库的公匙无法和本地的密匙进行匹配认证造成的(主要是TortoiseGit缺少本地密匙)。由于TortoiseGit的默认网络SSH client是TortoiseGitPlink.exe,如下图所示。因此主要有两种方式来解决该问题: 不修改TortoiseGit的默认网络SSH client,此时需要为To

Jeffxu_lib的博客 2万+

Midscene.js(1):Chrome 插件实战之基于 AI 驱动 WEB UI 自动化测试「喂饭教程」

Midscene.js 是一款开源的AI驱动UI自动化工具,支持自然语言交互、数据提取、断言验证等多种功能。自然语言交互。本文将以 Midscene.js Chrome 插件为例,带你从零上手,体验如何用最简单的方式实现高效、智能的UI自动化测试。

blues_C的博客 4404

新手0基础-大白话叙述:什么是网络?

什么是网络大白话讲就是:通过“网络线缆”将“网络设备”和“计算机”连接起来实现设备之间的通讯。操作系统、应用软件、应用程序,通过通信线路互联计算机网络的功能用于数据通信、资源共享、增加可靠性、提高系统处理能力计算机网络发展60年代 计算机发展的第一阶段 标志性的事件: ARPANET (传送门:互联网发展简史(1)互联网雏形ARPANET的诞生 - 知乎) 关键技术: 分组交换(把数据进行分组,保证数据传输的完整性)

G_lihaile的博客 784

【已解决】WorkBuddy 国内版与国际版共存 + 关闭自动更新 教程

本文介绍在Windows系统中同时安装并共存WorkBuddy国内版与国际版的完整方案,通过修改product.json文件关闭启动自动更新,修复缓存配置污染问题,确保两版本互不干扰、数据独立。重点解决因共享身份标识导致的更新源错乱、进程锁冲突及自动覆盖风险,提供命令行备份与修改步骤,并强调手动升级时需避免使用应用内更新功能,以规避平台参数错位缺陷。

人生是一场修行 1470

王道计算机网络第六章应用层思维导图基础篇

王道计算机网络第六章应用层思维导图基础篇

qq_47756996的博客 937

Outlook Express 6 (OE6) for Win7/Win8/Win10

英文版 Outlook Express6.0, 兼容Win7/Win10/WinXP,解压就可用。

win10 跳过U8环境检测的IE WebControls.rar

win10 安装u8的时候 提示IE WebControls 不通过,这个工具可以欺骗u8的检查。 跳过U8环境检测的IE WebControls。提示导入失败后,重新检测通过。

计算机网络基础篇

文章目录计算机网络体系分类:1、物理层2、数据链路层3、网络层(重点)4、运输层(重点)5、应用层6、附加面试题 计算机网络体系分类: 计算机网络整个体系有两个大的分类:一个是国际组织制定的OSI七层模型,一种是实际使用中的TCP/IP四层模型。 1、物理层 物理层主要是实现主机和网络之间的物理连接,规定一些与传输媒体接口有关的一些特性。 【如果你网络知识原本掌握的就可以,你现在的时间比较紧...

yelvens的博客 1556

Statistics and Machine Learning Toolbox

Statistics and Machine Learning Toolbox(带书签),MATLAB统计学习工具

路由交换技术基础_第1篇_计算机网络基础

以太网技术介绍概念冲突域:连接在同一共享介质上的节点集合,节点竞争带宽,一个节点发报文其他节点能收到。CSMA/CD(载波监听多路访问 / 冲突检测):终端设备不断检测共享线路的状态线路空闲--发送数据有另外一个设备同时发送数据数据冲突--信号不稳定-马上停止发送;终端发送一连串干扰脉冲等待一段事件再发送;干扰脉冲--通知其他设备线路产生冲突线路不空闲--一直等待共享式以太网所有终端主机在同一冲突域,共享总线带宽,采用 CSMA/CD 技术解决冲突域问题。交换式以太网。

Lin_Jumping的博客 1370

2025最新!计算机网络基础知识,从零基础到精通,收藏这篇就够了!

对于从来没有接触过网络安全的同学,我们帮你准备了详细的学习成长路线图&学习规划。可以说是最科学最系统的学习路线,大家跟着这个大的方向学习准没问题。对于从来没有接触过网络安全的同学,我们帮你准备了详细的学习成长路线图。可以说是最科学最系统的学习路线,大家跟着这个大的方向学习准没问题。,让计算机网络的知识在你脑海里“串联”起来。因篇幅有限,仅展示部分资料,朋友们如果有需要。,保证你轻松理清思路,快速get关键内容。,我也为大家准备了视频教程,其中一共有。的事情了,而工作绕不开的就是。大家最喜欢也是最关心的。

yy1715713348的博客 1073

计算机网络(基础篇)复习笔记——体系结构/协议基础(持续更新中......)

一、循环冗余校验CRC的计算?1. 前提条件: 二进制 与 K(x)多项式的转换 / 约定好的除数 K(x) ,r为g(x)中最高次幂 2.转换数据:原始数据: 101001 转换为   K(x)= x^5+ x^3 +1(x^0) 约定好的除数: 1101 转换为   g(x)=x^3+ x^2 +1...., r=3 (最低位为0 , 则 不写 ) 被除数: **k(x) * x^3** =x^8 +x^6 + x^3= 101001000 或者r=3, 模二/

悟道子HD 1530

计算机网络入门基础篇——概述

计算机网络基础概述。

我在人间找bug 3341

计算机网络知识——基础篇

计算机初级了解知识

qq_66985187的博客 671

计算机网络基础(理论知识全)零基础入门到精通,收藏这篇就够了

1、计算机网络定义计算机网络是互连的、自治的计算机的集合2、协议的定义定义:协议是网络通信实体之间在数据交换过程中需要遵循的规则或约定,是计算机网络有序运行的重要保证。(数据交换中的规则)协议的3个基本要素:​语法:定义实体之间交换信息的格式与结构。(如:报文:数据单元)​语义:定义实体之间交换的信息中需要发送哪些控制信息, 这些信息的具体含义,以及针 对不同含义的控制信息,接收信息端应如何响应。​时序:也称为同步,定义实体之间交换信息的顺序以及如何匹配或适应彼此的速度。​。

leah126的博客 1020

【java总结】计算机网络-基础篇

【java总结】计算机网络-基础篇 本内容参考了多位大佬,几十篇博客整理出来的,方便自己的复习,同时有不全面,不正确的内容欢迎补充 计算机网络-HTTP 篇 点这里 计算机网络网络概述那我们作为一个程序员,难免会去编写一些通信类应用,甚至开发桌面端应用(好像C++更多吧),就算你是一个前端,那么总是要和后台取数据吧,天天post,get,我们也总要学一些计算机网络知...

积木 542

计算机网络基础篇——开篇一,如何学习计算机网络?

按此路线循序渐进,可从“网络小白”成长为具备扎实基础的网络工程师或开发者。

weixin_56202583的博客 2793

计算机网络基础知识大全,零基础入门到精通,收藏这篇就够了

什么是计算机网络计算机网络是一种将多个计算机系统和设备连接在一起的技术,目的是为了共享资源和信息。网络使得设备之间可以进行数据传输和通信,常见的网络包括局域网(LAN)、广域网(WAN)和城域网(MAN)。网络的重要性计算机网络在现代社会中发挥着重要作用。它们不仅在企业中用于资源共享和通信,还支持互联网,使得全球信息交流和商业活动变得更加便捷高效。网络促进了远程办公、电子商务、社交媒体和云计算的发展,对各行各业都有深远影响。网络的基本功能资源共享。

2401_84215240的博客 1471

【理论篇】计算机网络基础

目录 一、基本概念 二、因特网的发展和组成 发展 组成 三、计算机网络体系结构 OSI七层 TCP/IP四层 学习网络的五层 一、基本概念 网络:设备通过链路互联组成网络 互联网:多个这样的网络通过路由器互联组成互联网 因特网:因特网是世界上最大的互联网。因特网和互联网的关系就好像实例和类的关系,因特网是互联网的一个“实例”。 “网络把很多计算机连接在一起,而互联网则把很多网络连接在一起。” 二、因特网的发展和组成 1.发展 第一阶段:单个网络向互联网发展

厚积薄发者,轻舟万重山 1495
上一篇: Redis网络库源码浅解
下一篇: 计算机网络之TCP连接的建立和终止
Tanswer_
博客等级 码龄11年 231粉丝 91原创
评论 2
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值