浅析计算机网络(1) -- 主机如何上网

浅析OSI体系结构 本文文本源自哔哩哔哩网站王道论坛的视频“2019 王道考研 计算机网络 P7 OSI参考模型(2)” 一、 OSI体系结构的由来 为了解决计算机网络复杂而庞大的问题,我们把大问题分解成小问题,因此产生了按功能划分的分层结构。 世界上第一个提出一个网络体系结构的是IBM公司,它提出的是SNA网络体系结构。在此之后的很多公司提出了自己的网络体系结构,导致使用不同的产品就要使用不同的网络体系结构,这就阻碍了整个网络上的互联互通。因此,为了支持异构网络系统的互联互通、支持不同的网络体系结构、支持不同厂家商家的网络进 阅读详情

主机如何上网

首先我们要考虑的一个问题就是,我们的主机如何连入到网络之中,也就是为什么当我们将电脑连接网线之后,我们就可以上网了,这个过程发生了什么?

网络请求

首先根据上图,我们来一个总览,当我们的电脑通过网线接入的时候,是如何获取到IP的来上网的,当我们用手机连接wifi又是如何获取IP来上网的。

拨号连接

对于拨号连接,当我们电脑连接网线,然后开始进行拨号连接的时候,我们的电脑此时在拨号未成功前已经进入了一个网段,但是不能上网的原因就是我们没有IP,即使我们的请求可以出去,它也回不来,没有源IP地址,返回的数据是无法找到我们的,然后这个时候,如果要上网,获取IP是迫在眉睫的事情了。当我们在我们家中上网的时候是如何获取的呢?

先看下我们小区网络设施的架构是如何?

我们的每一个小区中有一个路由器,路由器是具有IP和Mac地址的,然后我们的小区中还有一个交换机,交换机是没有IP和MAC地址的,其作用是根据我们来的数据包进行一个针对mac地址的转发,其中存放的是MAC地址和对应的转发接口,这个时候可能会存在的一个疑问是为什么不直接用路由器进行转发而还要用交换机呢?

路由器和交换器的不同

1.路由器是可以替代交换机的,但是交换机是不可以替代路由器的,路由器相当于是网桥,而交换机则相当于一个加强的集线器。

2.路由器是根据网络IP地址进行转发,属于网络层。而交换机是根据MAC地址进转发,属于链路层。

3.路由器可以自行拨号,而交换机则不可以。通过路由器,我们将路由器的wan口连接到网络,lan口连接我们的电脑,进入我们的路由器配置界面,此时,路由器会自动的检测我们的上网方式,然后根据我们输入的相应的参数进行一个连接,这个时候,我们上网就不需要自己配置了,直接就可以上网了。

4.路由还可以提供防火墙的功能。而交换机不可以。

5.交换器具有自学习功能,而路由不具备,从交换器流过的数据报,其mac地址会被记录下来。

为什么要用交换机

交换器常用来组建一个局域网,然后通过路由器将其连接到Internet上去,说了其不同,但是为什么要用交换机呢?它能干的事情,路由器都能干,而且路由器还有其很多无法实现的功能。原因就是其处理快速,价格便宜,其根据帧中的MAC地址识别转发接口的算法简单,而如果将这些全部让路由器来承担,这样就要精确的保存,该小区中所有用户的IP地址,并且每一个IP地址,我们都需要进行一个比对,确定从哪个接口中出来,因为不在是第一个区域的ip表示,无法通过前缀辨别了,所以需要对每一个ip都预留一个唯一的端口,这样当我们的小区中新添加了用户,那么就需要单独有一根线从路由器中出来连接向它,这样一个小区就需要很多台路由器来做这个操作,但是当我们使用交换机就可有效的解决这个问题,我们将每所有的用户通过交换机进行连接,交换机的另一端和路由器进行连接,这样路由器就可以通过前缀匹配将数据报发给一个交换器,然后交换器负责分发,这样即使用户增加,其只需要连接到交换器,而不需要到路由器拉根线过来。这样可以减少了路由器数量上消耗,降低了成本,提升了速度。

开始获取IP

当我们接入到了网络中之后,我们的操作系统生成一个DHCP(Dynamic Host Configuration)报文,发向DHCP的服务器的67端口,但是我们怎么知道DHCP服务器地址呢?我们是不知道的,因此采用方式是在我们本地的68端口,生成一个UDP包,其目的IP字段填写的IP地址是255.255.255.255,然后向全子网进行广播通过发送以太网帧,该帧的目的MAC地址是FF:FF:FF:FF:FF:FF,此时局域网中的主机收到后,是不会进行处理的,然后传到路由器,路由器接收到之后,检测其包含DHCP请求,然后交给上层处理,此时发送给DHCP服务器,这个时候,服务器接收到DHCP报文,会返回一个回应报文,其中包含分配给它的IP地址,DNS服务器地址,默认网关路由器IP地址,也就是第一跳路由器的IP地址,这个时候,开始返回报文,报文如何找到是那一台主机发出了这个报文呢?没有IP地址,但是它有默认网段路由器地址,也就是第一跳路由的地址,得到这个地址后,填充发送过来的源的MAC地址,然后返回,这个时候,到达路由器之后,发送到交换器,因为交换器具有自学习功能,也就是谁从它走过,它都是会记录下来的,而且会记录下从哪个接口进入,什么mac地址从哪一个接口进入,然后什么时间进入的,通过这个表,我们就可以将信息转发给我们的目的广播主机。此时我们就拿到IP和DNS服务器的地址,和我们默认网关的地址。

有了IP地址,我们接下来就可以访问网络了。

无线连接

WIFI

我们通过我们的wifi进行连接上网的时候,和该过程不同,我们的发送wifi信号的AP本身是具有IP地址的,在其下面的连接的便携设备的IP是采用NAT协议(Network Address Translation)来给我们本地的便携设备生成一个ip,然后通过这个ip进行标记每个接入设备。后面有NAT具体实现讲解。讲到NAT,可能会想到一个问题,为什么有mac地址,而要用IP地址呢?原因是MAC地址的分配是不规则的,无法根据一个mac地址来确定其存在的位置,所以找起来是非常费力的。但是如果在一个wifi下的话,在查询上这应该不是一个问题了,为什么还用用ip,通过mac地址,再去广播,确认接收,不也是可以的吗,但是当我们最初没有分配IP的时候,怎么通过IP找呢?只能通过MAC地址去找。

如何接入?

首先,每个AP设备会会周期性的发送一些信表帧(SSID,MAC地址),然后我们的便携设备会扫描所有的信道获取该区域内的所有信标,也就是我们手机开机wifi的时候,我们看到的名字是ssid,mac地址,我们看不到的,然后我们与之建立关联,即可发送数据。我们请求的数据报,会被路由进行伪造,然后通过路由器的IP发送出去,回来的时候进行解包,分到每一个设备上。

WLAN

我们使用的移动的WLAN虽然都是通过我们的wifi可以搜索的到,但是其实现是不同的,对于WLAN,其被我们找到的过程和我们连接wifi是一样的,但是其并不通过NAT协议,而是我们借助于它作为一跳路由,向DHCP服务器获取一个IP,这个过程和我们通过拨号接入大致相同,唯独不同之处在于我们和第一跳路由的连接方式,一个是有线,一个是无线的,无线的如何维持这个连接和避免信道冲突的,将在后面具体细说。

NAT:为了解决IP不够用的问题,出现了NAT协议,NAT的实现是我们组建一个子网,然后整个子网对外面来说是只具有一个IP,在内部又劝很多的子IP,这就涉及到一个问题,如何来区分这写子IP呢,首先想到的是通过IP数据报中的选项字段进行一个标记,但是当我们携带数据的时候,拆分起来就很麻烦了,所以想到但是在运输层的报上做手脚,在运输层的报中,对于端口号给了一个很大的长度,但是我们的区间常常只是占用很小的一部分,1024以下为周知端口,5000以下用来分配给应用进程,所以想到了通过修改一个较大的端口号,来识别每一个子网中的不同的端,但是一个端口号怎么识别呢?首先通过DNCP,分配给子网的短一个IP,或者是手动分配,然后这个端将要发送数据报的时候,数据报到达网关,网关会给这个数据报分配一个很大的端口号,然后将这个数据报的源端口号和IP地址存放在一个表中,当返回的数据报带来,检测到为一个较大的端口号,则会通过查表找到对应的端,然后将数据报交给它。

从零搭建Kali Linux渗透测试环境与内网靶场实战入门 网络安全的核心在于理解攻击与防御的对抗原理,渗透测试作为模拟攻击的合法评估方法,是掌握安全技术的关键实践路径。其技术价值在于通过主动发现系统弱点,帮助企业提前修复漏洞,提升整体安全防护能力。在应用场景上,渗透测试广泛适用于企业安全评估、合规审计及安全研究人员的技术验证。本文聚焦于Kali Linux这一渗透测试领域的标准工具集,详细演示如何基于VMware虚拟机搭建隔离的实验环境,并构建包含Metasploitable2等靶机的内网攻防靶场。通过结合内网渗透与免杀技术的基础操作,读者可在安全可控的沙箱中,直 阅读详情

相关推荐

IP协议实战解析:从数据包结构到网络故障排查

网络层协议是计算机网络通信的基石,负责在不同网络间实现逻辑寻址和数据包路由。其核心原理是为每个设备分配唯一的IP地址,通过路由表决策实现数据包的逐跳转发,采用无连接、尽力而为的交付模式。这种设计在保障互联网扩展性和灵活性的同时,为上层应用提供了统一的网络抽象。在工程实践中,理解IP数据包格式、掌握路由转发流程、熟练使用Wireshark抓包分析,是进行网络配置、应用开发和故障诊断的关键技能。例如,通过分析IP头部中的TTL和协议字段,可以追踪数据包路径和识别上层服务;结合ARP协议完成IP到MAC地址的解析

weixin_33836874的博客 399

Linux系统安装VsCode

将VScode.png图片复制到 /usr/loacl/icons目录中。将VScode.desktop复制到桌面,右击“允许启动”即可。步骤一:下载安装包(选择tar.gz版本)移动到/usr/local目录下。步骤四:为code添加权限。

m0_59300367的博客 1万+

STM8库函数开发手册(3) //UART1、内部EEPROM、FLASH操作库、IIC(硬、软)

STM8S 微控制器家族的通用同步异步收发器(UART1,UART2 或者UART3)提供了一种灵活的方法与使用工业标准NRZ 异步串行数据格式的外部设备之间进行全双工数据交换。STM8 的UART 提供范围的波特率选择,并且支持多处理器通讯。UART 也支持LIN(局部互联网)协议版本1.3,2.0,和2.1 以及在主模式下的J2602。 UART1 和UAR...

finedayforu的博客 2520

linux安装vscode

linux 安装vscode 进入官网https://code.visualstudio.com/ 点击.deb下载安装包 选择Save File保存文件 等待下载 下载完后,文件在根目录的Downloads里面 Ctrl + Alt + T 打开终端 输入指令切换到下载目录 cd ~/Downloads 然后输入(按键盘上的tab可以自动补全) sudo dpkg -i 安装完后输入code运行 VScode 可以安装中文包,把软件设置成中文 下载完后重启就好拉~...

wasapp的博客 6万+

瑞芯微RK3576开发板实战:6TOPS NPU如何加速你的AIoT项目(附性能测试)

本文以瑞芯微RK3576开发板为核心,深入探讨其6TOPS NPU在AIoT项目中的实战应用。通过详细的性能测试对比,展示了NPU如何将AI模型推理速度提升15倍以上,并大幅降低CPU负载。文章涵盖从环境搭建、模型转换优化到多屏异显与系统级调优的全流程,为开发者提供了将硬件算力转化为实际项目加速效果的完整指南。

oauth7security的博客 820

汽车TARA分析实战:从威胁建模到安全需求落地的完整指南

在汽车电子电气系统开发中,威胁分析与风险评估(TARA)是确保功能安全与网络安全的核心方法论。其原理在于通过结构化的流程,系统性地识别资产、分析威胁场景并评估风险,旨在将安全理念前置,从设计源头规避风险。这一过程的技术价值在于将模糊的安全担忧转化为可量化、可追溯的工程需求,从而指导资源精准投放,是符合ISO 26262和ISO/SAE 21434标准要求的关键实践。其应用场景贯穿智能汽车从概念设计到系统开发的各个阶段,尤其对于涉及自动驾驶、智能座舱、车云通信等复杂功能的域控制器开发至关重要。本文聚焦于TAR

weixin_42706667的博客 303

linux——VScode安装

Snap Store 是 Ubuntu、Debian、Fedora 和其他几个 Linux 发行版中的一个应用商店,提供了数千个应用程序和工具的安装。Snap Store 使用 Snap 包格式,这是一种通用的 Linux 软件包格式,使得在不同的 Linux 发行版中安装和管理软件变得更加容易。Snap Store 中的应用程序是由开发者直接上传的,可以是开源也可以是专有软件。Snap Store 还提供了一些商业软件的试用版和付费订阅服务。

xiaoxian666的博客 9673

在ubuntu20.04上配置VINS_Fusion(亲测有效,一应俱全)

最近在做科研训练的时候配置了HKUST-Aerial-Robotics实验室的VINS_Fusion代码项目,经历了一些编译报错的问题,在网上查找的时候博客内容良莠不齐,且实质针对性意见不多,于是在此记录下自己配置期间遇到的一些共性问题,留作自己日后参考和大家的交流学习。

wyr1849089774的博客 8266

安装vscode -- linux

相信很多人在刚开始使用linux时,不知道怎么安装vscode来辅助我们编程,那么我将在此记录我所用的安装vscode的方法。

qq_62893047的博客 7046

V-rep机器人仿真(Win10):UR5+RG2+Kinect+YOLOV3+DDPG+Pytorch(第四部分:YOLOV3图像识别)

这是一个V-rep机器人仿真实验,较为简单,适合初学者在入门图像识别、机器学习、机器人学的内容时进行学习与训练。 实验涉及的内容有:V-rep机器人仿真,YOLOV3图像识别,强化学习DDPG,UR5机械臂及RG2机械手,Kinect摄像头。 使用环境:Win10,Pytorch0.4,V-rep 整个实验一共由多篇文章组成,本文是第四部分。 第四部分:YOLOV3图像识别 文章目录第四部分:YO...

weixin_42158966的博客 5835

Ubuntu20.04下Docker无缝升级实战指南

本文提供了一份在Ubuntu20.04系统上安全、无缝升级Docker的实战指南。文章详细阐述了升级前的版本检查、数据备份等准备工作,逐步演示了通过APT包管理器进行升级或指定版本安装的操作步骤,并强调了升级后的验证与常见问题回滚方案,确保业务容器平稳过渡。

postgres8guard的博客 478

Visual Studio Code 在 MacOS 在 Linux 上的完整安装与高效开发指南:从部署到远程开发实战

VS Code Linux安装与使用指南:本文详细介绍了VS Code在Linux系统上的安装方法(包括APT、Snap和手动安装),基础界面操作与快捷键,进阶功能如扩展管理、Git集成和调试配置。同时提供了常见问题解决方案、性能优化建议以及高级技巧(远程开发、任务自动化等)。文档还包含卸载方法和故障排查工具,帮助用户从安装到高效使用全面掌握VS Code。

独坐一隅,凝神遐想,是种幸福! —— 独隅 1万+

基于STM32、HAL库的ADE7880ACPZ-RL电能计量芯片驱动程序设计

@retval 状态 (ADE7880_OK或ADE7880_ERROR)* @retval 状态 (ADE7880_OK或ADE7880_ERROR)* @retval 状态 (ADE7880_OK或ADE7880_ERROR)* @retval 状态 (ADE7880_OK或ADE7880_ERROR)* @retval 状态 (ADE7880_OK或ADE7880_ERROR)PA6 (MISO) <--> SDO (SPI数据输出)PB0 (CS) <--> /CS (片选,低有效)

corlin6688的博客 668

浅析计算机网络安全的的防范与措施

第四,保护好自己的IP地址。这里看似与技术层面无关,但是如果有严厉的相关法律,其震慑作用立竿见影,对于法律惩罚的恐惧会大大降低在互联网犯罪的几率,立法的保护和支持才是确保网络信息安全的根木保障。由于计算机网络的布局十分复杂,主机和终端之间的层次关系难以准确定位,加之系统对外开放,这些特点都使得计算机网络容易成为黑客攻击和恶意软件入侵的目标,其得手后使用我们计算机去攻击他人或者取得一些非法所得,都是我们不愿意看到和遇到的,所以网上信息的安全和保密是一个至关重要的举措,不过随之需要的防范意识与措施都必不可少。

wqq_992250277的博客 1613

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

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

LinePhone3.2.7(android端最新版本) sip客户端

SIP客户端For android:LinePhone3.2.7(最新版本),官网地址:http://www.linphone.org/

《浅析 URL》

URL组成 统一资源定位符 URL uniform resource locator 协议+域名或IP+端口号+路径+查询字符串+锚点 例如: 协议 用来传输客户端和服务器端交互的信息的(类似于快递小哥) HTTP(顺丰):超文本传输协议(除了传递普通的文本,还可以传递文件流或者进制编码等信息),是目前最常用的WEB传输协议 HTTPS(邮政):基于SSL(Secure Sockets Layer 安全套接层)加密的HTTP传输协议,比HTTP更加的安全(涉及支付的网站一般都是基于..

薛剑文大大的博客 282

ET2012新版免狗免安装绿色软件

ET2012新版免狗免安祖昂绿色软件。,新界面,新视觉,

计算机网络安全

浅析计算机网络安全摘 要:随着计算机信息技术的迅猛发展,计算机网络已经越发成为农业、工业、第三产业和国防工业的重要信息交换媒介,并且渗透到社会生活的各个角落。因此,认清网络的脆弱性和潜在威胁的严重性,采取强有力安全策略势在必行。计算机网络安全工作是一项长期而艰巨的任务,它应该贯彻于整个信息网络的筹划、组成、测试的全过程。本文结合实际情况,分析网络安全问题并提出相应对策。

wodeyayan的专栏 1275

计算机网络安全及防火墙技术浅析

在互联网上防火墙是网络安全的非常有效的手段,它安装在信任和不可靠的网络之间,可以隔离安全区域和风险区域的连接,在同一时间并不妨碍人们进入风险区域。它的劣势在于不能保证大部分网络服务和协议的安全性,不能有效的区分使用相同IP地址的不同用户,它是很难被设定、监控和管理的。在防御系统所采用的网络安全的现状,防火墙占据了非常重要的地位。这种新的防火墙技术不仅可以提供传统的包过滤技术提供的全部功能,而且对于防止各种网络袭击有明显优势,加强代理服务、包过滤技术与智能过滤技术相结合,可以使安全防火墙的上升到另一个高度。

qq_61141142的博客 259

浅析计算机网络中的DHCP协议:IP地址分配与网络配置的关键

计算机网络中的DHCP(Dynamic Host Configuration Protocol)是一种用于自动分配IP地址及其他网络配置参数的协议。它在网络管理员和用户之间提供了一种便捷的方式来管理网络中的设备,并提高了网络的灵活性和扩展性。本文将深入探讨DHCP协议,包括其工作原理、常见的使用场景以及与其他相关协议的比较等方面内容。

m0_72410588的博客 538

VMware的两块虚拟网卡浅析

打开“打开网上邻居”“属性”可以看到由VMware安装而产生的两块虚拟网卡:VMnet1和Vnet8V1表示一个仅主机的网络V8 是NAT网络 (网络地址转换)创建新的虚拟机时可以选择的链接方式,自上而下分别是桥接 (虚拟出一个和物理机地位平等的的虚拟主机,注意网卡要选择自己正在使用的那块网卡,就是VMnet0要使用自己正在使用中的那块网卡)NAT (网络地址转换,可...

weixin_34097242的博客 408

计算机安全专业毕业论文,个人计算机安全相关论文选题 个人计算机安全毕业论文题目如何定...

【100道】关于个人计算机安全相关论文选题汇总,作为大学生的毕业生应该明白了个人计算机安全毕业论文题目如何定,选一个好的题目后续的个人计算机安全论文写作起来会更轻松!一、比较好写的个人计算机安全论文题目:1、个人计算机网络安全防护策略2、个人计算机的系统维护及安全防范探讨3、个人计算机网络安全防范4、网络环境下个人计算机系统安全防范5、探析个人电脑网络安全的应对措施6、个人电脑之安全准则7、个人计...

weixin_39951181的博客 552

移动网络与普适计算

可穿戴计算技术浅析 摘要可穿戴计算技术就是把计算机“穿”在身上进行应用的技术,该技术解放了人的双手,在对计算机操作时不影响双手做其他工作,其在工业,军事,医疗等方面有着广泛的应用,符合“以人为本”的发展思路。本文首先简单的介绍了可穿戴计算起源,基本特点及基本的应用模型;然后详细描述了可穿戴计算系统需要用到的关键技术;最后对全文进行了总结,对可穿戴计算技术的应用前景进行了分析。 关键字可穿...

weixin_30555753的博客 853

Unraid配置静态IP避坑指南:从169.254地址到稳定网络

在计算机网络中,静态IP配置是确保服务器稳定运行的基础。其原理是为设备分配固定的网络地址,避免因DHCP动态分配导致的IP变更。这项技术的核心价值在于为NAS、媒体服务器等需要24x7在线的服务提供可靠的网络寻址,是构建稳定家庭服务器和开发环境的基石。典型的应用场景包括家庭实验室、企业内网服务部署以及需要固定IP的Docker容器和虚拟机管理。当配置不当,例如在Unraid系统中,设备可能自动获取到169.254.x.x的链路本地地址,这通常意味着网络服务未能正确启动或存在IP冲突。理解network.cf

weixin_33937778的博客 360

linux环境VSCode安装与配置

看了很多,小鱼的安装最方便快捷终端输入后,一键安装VsCode开发工具。

qq_55437104的博客 3130

【VSCode】VScode 配置 Linux 驱动环境(简单版)

【VSCode】VScode 配置 Linux 驱动环境(简单版)

challenglistic的博客 9840

Linux中安装VSCode及一些简单操作

ubuntu上离线安装vscode

whiteserve的博客 8016
上一篇: 浅析计算机网络(2) -- DNS工作原理
下一篇: 浅析计算机网络(3) -- UDP与TCP
coderbean
博客等级 码龄11年 12粉丝 84原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值