【网络】网络基础入门

news2024/11/23 3:13:29

文章目录

  • 局域网和广域网
  • 协议
    • 协议概念
    • 协议分层
    • 数据传输条件
  • OSI七层模型(了解)
  • TCP/IP五层(四层)模型
  • 网络传输基本流程
    • 报头
    • 局域网通信原理
    • 以太网(了解)
    • 网络传输流程图
    • 数据包封装和分用
  • 六、IP与MAC地址

局域网和广域网

独立模式: 计算机之间相互独立 ;网络互联: 多台计算机连接在一起, 完成数据共享

局域网LAN: 计算机数量更多了, 通过交换机和路由器连接在一起 ,范围相比于广域网,范围较小,这个小范围可以具体是一个家庭、学校、公司。私网和内网通常也表示同样的概念,都指的是企业、学校或家庭等组织内部形成的局域网。

广域网WAN: 将远隔千里的计算机都连在一起 所谓 “局域网” 和 “广域网” 只是一个相对的概念. 也可以看做一个比较大的局域网 。Internet可以被看作是一个广域网。公网和外网通常是指同一个概念,它们可以被看作是广域网的一部分

我们可能还听说过城域网和校园网这样的概念,城域网实际就是在一个城市范围内所建立的计算机通信网,而校园网对应的就是在一个校园范围内所建立的计算机通信网。城域网和校园网实际也是一种相对的概念,我们都可以将它们看作一个大的局域网。

如何区分广域网和局域网

在一般情况下,可以通过是否有路由器来初步区分一个网络是广域网还是局域网。理论上来说,如果一个网络中存在路由器,则该网络可以连接到其他局域网和互联网上,从而形成了广域网。而如果一个网络中没有路由器,则只能与同一局域网内的设备进行通信,因此可以被视为局域网。这种区分方法可能并不完全准确。例如,在一些大型企业或学校中,可能会使用多个路由器来分隔不同部门或楼层的网络。这种情况下,整个网络仍然可以被视为一个局域网,而不是多个广域网

协议

协议概念

“协议”本质就是一种约定,通信双方曾经做过某种约定,之后就可以使用这种约定来完成某种事情.

计算机有各种各样的组件:如CPU\显卡\网卡等等设备,内部通过线连接起来,所以一台计算机内部本质也是一个小型网络结构,在计算机的内部设备和识别之间也存在协议,协议不只是网络专属的,比如驱动程序访问硬件就要通过协议。而如果这些线可以延展地很长,硬盘放到很远处,那么还是属于同一台计算机,只不过网线拉长了,那么我们现在存储数据从写入本地编程通过网络写入远端了,在把CPU等等放到远处,相当于我们把一台计算机的各个功能用多台计算机构建起来,通过网络连接起来

所以计算机中体系结构中有网络,网络中有体系结构

我们在学习系统的时候没有谈论过协议,那么现在为什么要进行讨论,这是因为多台主机距离较远,为了减少通信成本,所以需要协议

所有的网略的问题都是由于传输距离变长了,说了这么长,其实我们都是在说为什么会有协议,那如何去简单理解什么是协议呢:

理解协议

基于打电话需要花钱的缘故,两个比较有想法的少年想了一个办法:打一个个电话铃声响了一下立即挂断,表示该出去玩了,如果遇到急事那就是响三次铃声,通过铃声的次数我们就可以知道要干什么,减少了成本

通过响起几声代表不同的含义,这个含义不需要解释,双方早就已经有共识了,这就叫做约定,而用计算机语言来说就叫做协议

如果计算中,一台主机想让另一台主机干事,先规定只会发送一个字节,字节中不同的数字代表不同的含义,这样就减少成本了

现在虽然有了协议,但有很多的计算机生产厂商、也有不同的操作系统,它们可能各自有各自的协议,所以这个时候就需要约定一个共同的标准,让大家都遵守,这就是网络协议(TCP/IP标准)

协议分层

分层:打电话时,从人的角度出发,是人与人之间在沟通联系,从通信设备的角度出发,是电话与电话之间沟通,这是分层。语言层与通信设备层是不同的,搭配使用

分层好处:把软件进行模块化,可以很好的进行解耦,解耦以后我们如果把通信设备进行更换,上层不用改变,而如果上层语言改变,底层不需要改变。所以对任何一层做任何修改并不影响其他层

分层依据:功能比较集中,耦合度比较高的模块放在一层,也就是高内聚,每一层解决特定的问题,功能解耦

数据传输条件

数据包交付能力:如果两台很远的主机之间要传递数据,首先要先有把数据交付给另一台主机的能力
路径选择的能力:有成千上万个主机,如果不知道给哪一台也不行。
容错纠错的能力:如果出错了就要重新传递一份。
数据解析能力:数据传递过去主机要识别这是什么,然后才能使用这个数据。

而这里的每一层都有自己的协议,每一层协议都解决当前层的问题。

OSI七层模型(了解)

分层名称功能每层功能概述
应用层针对特性应用的协议针对每个应用的协议
表示层备固有数据格式和网络标准数据格式的转换接收不同表现形式的文件,如文字流、图像、声音等
会话层通信管理。负责建立和断开通信连接。管理传输层以下的分层何时建立连接,合适断开连接以及保持多久的连接
传输层管理两个节点之间的数据传输负责可靠传输(确保数据被可靠的传送到目标地址)是否有数据丢失
网络层地址管理与路由选择经过哪个路由传递到目标地址
数据链路层互联设备之间传送和识别数据帧数据帧与比特流之间的转换
物理层用‘0’和‘1’表示高低电压比特流与电子信号的转换、连接器与网线的规格

但是,OSI七层模型既复杂又不实用,所以后来在具体实现的时候就对其进行了调整,于是就有了我们现在看到的TCP/IP四层协议(除开物理层)。

image-20230504000037357

TCP/IP五层(四层)模型

TCP/IP是一组协议的代名词,它还包括许多协议,组成了TCP/IP协议簇.
TCP/IP通讯协议采用了5层的层级结构,每一层都呼叫它的下一层所提供的网络来完成自己的需求.
物理层: 负责光/电信号的传递方式. 比如现在以太网通用的网线(双绞 线)、早期以太网采用的的同轴电缆(现在主要用于有线电视)、光纤, 现在的wifi无线网使用电磁波等都属于物理层的概念。物理层的能力决定了最大传输速率、传输距离、抗干扰性等. 集线器(Hub)工作在物理层.
数据链路层: 负责设备之间的数据帧的传送和识别. 例如网卡设备的驱动、帧同步(就是说从网线上检测到什么信号算作新帧的开始)、冲突检测(如果检测到冲突就自动重发)、数据差错校验等工作. 有以太网、令牌环网, 无线LAN等标准. 交换机(Switch)工作在数据链路层.
网络层: 负责地址管理和路由选择. 例如在IP协议中, 通过IP地址来标识一台主机, 并通过路由表的方式规划出两台主机之间的数据传输的线路(路由). 路由器(Router)工作在网路层.
传输层: 负责两台主机之间的数据传输. 如传输控制协议 (TCP), 能够确保数据可靠的从源主机发送到目标主机.
应用层: 负责应用程序间沟通,如简单电子邮件传输(SMTP)、文件传输协议(FTP)、网络远程访问协议(Telnet)等. 我们的网络编程主要就是针对应用层

注意:

物理层我们考虑的比较少. 因此很多时候也可以称为 TCP/IP四层模型

数据链路层解决的是能够传递的问题,网络层解决的是选择路径的问题,传输层解决的是纠错的问题,而应用层就是解决数据解析的问题。

这里数据链路层中的网卡层是驱动程序的一部分。网络层和传输层是操作系统内部自己实现的。所有的操作系统都一样,所以全球的主机都能互联。

这里TCP和IP各自是传输层和网络层最具代表性的两个协议,这个协议栈命名为TCP/IP模型,足以看出这两个协议的重要性,它们的重要性是操作系统赋予的。

计算机层状体系结构图:

img

网络通信中,在应用层传输层时间会有系统调用接口,主要是文件类的系统调用接口。

网络传输基本流程

报头

协议每一层都有,而每一个协议最终的表现就是协议都要有报头

比如:我们收件的时候不会单单只收到物品,还有快递盒和快递单。这个多出来的快递单就叫做报头。如果我们要发数据,发送的数据可能比我们想要的多一点,这多出来的一部分就是报头

image-20230504084444172

快递单号是给快递员看的,这个快递单就是快递公司自己定的协议,这个快递单子在它们的物流体系中都能够被识别。

由此得出结论:协议通常是通过协议报头来表达的。每一份数据最终在被发送或者在不同的协议层中,都要有自己的报头。

局域网通信原理

两台局域网的主机是能够直接通信的

每一台主机都有网卡,每一张网卡都有自己的地址,叫做MAC地址,就像我们的身份证一样,标识网卡的唯一性

而MAC地址虽然全球唯一,但是不应用于全球,只是在局域网中标识自己的唯一性。

指令:ifconfig

image-20230504121742701

注意:云服务器这里的MAC地址是个虚拟地址。

局域网通信原理:

局域网中有很多的机器:

image-20230504122346190

如果MAC1想要跟MAC7发送消息时,其他所有主机也都能收到,但是其他主机在内部做协议判断发现并不是发给自己的,会自动丢弃。最终只有MAC7收到。

以太网(了解)

以太网和令牌环网是不同的通信标准

以太网(Ethernet)是一种计算机局域网技术。其通信方式:发出的消息所有人都能收到,但当MAC1想把消息发给MAC7,MAC3想把消息发给MAC5,但是它们不能同时发消息(数据覆盖)。以太网发送消息的原则是只允许一个主机在任何一个时刻在局域网中发消息。否则就会发生碰撞,如果发生了碰撞就把消息作废然后重发。如何去看待局域网中的网络资源:站在系统的角度看待网络资源就是临界资源。

令牌环网的解决方式就是谁持有令牌环谁发送数据。没有令牌的主机就不能发送消息。类似于系统中的锁

网络传输流程图

  • 同一个网段内的两台主机进行文件传输

image-20230504230407623

  • 跨网段的主机的文件传输. 数据从一台计算机到另一台计算机传输过程中要经过一个或多个路由器

image-20230505000230583

数据包封装和分用

不同的协议层对数据包有不同的称谓,在传输层叫做段(segment),在网络层叫做数据报 (datagram),在链路层叫做帧(frame).
应用层数据通过协议栈发到网络上时,每层协议都要加上一个数据首部(header),称为封装

如果用qq聊天的话,他们认为他们在用户层直接进行聊天,而事实上是数据向下交付(封装)在向上解包(分用)才实现的聊天。

**数据包封装:**向下交付的时候每一层都会添加自己的报头,报文=报头+有效载荷,再把报文向下交付

数据包分用:向上解包的时候,因为同一层有相同的协议,所以能识别报头,它会解开报头,把有效载荷在向上解包。这样就形成了对称的结构

过程表现类似图(痕迹保留):

image-20230504233637287

可以看到同层报头和有效载荷完全一样,左边怎么发的右边就是怎么收到的,所以可以认为在同层协议中直接通信;也可以理解为向下交付。

不同网段的两台计算机通讯过程不同在路由器部分:

image-20230504234616176

一个设备至少要横跨两个网络,才能实现数据报跨网络转发,路由器必须至少横跨两个网络,路由器必须有两个网络接口。在路由器部分传递给令牌环驱动程序的时候,加上的报头是令牌环协议(重新封装报头),这样跟左边不一样了,但是并不影响对称性。

简单理解路由器部分传输数据:像我们脱了外套换了新的外套,但人没有变。由此可得出IP层的作用就是屏蔽底层网络的差异
不同的协议层对数据包有不同的称谓,在传输层叫做数据段,在网络层叫做数据报,在链路层叫做数据帧。应用层数据通过协议栈发到网络上时,每层协议都要加上一个数据首部(报头),称为封装

六、IP与MAC地址

IP协议有两个版本, IPv4和IPv6.,提到IP协议, 如果没有特殊说明的, 默认都是指IPv4

image-20230505073132613

  • IP地址

上面的用4个节表示形式称为IPv4。而IPv6就是用16个字节表示

IP地址是在IP协议中, 用来标识网络中不同主机的地址;
对于IPv4来说, IP地址是一个4字节, 32位的整数;
我们通常也使用 “点分十进制” 的字符串表示IP地址, 例如 192.168.0.1 ; 用点分割的每一个数字表示一个字节, 范围是 0 - 255

MAC地址通常在局域网使用,IP地址通常在广域网使用

  • MAC地址

MAC地址用来识别数据链路层中相连的节点;
长度为48位, 及6个字节. 一般用16进制数字加上冒号的形式来表示(例如: 08:00:27:03:fb:19)
在网卡出厂时就确定了, 不能修改. mac地址通常是唯一的(虚拟机中的mac地址不是真实的mac地址, 可能会冲突; 也有些网卡支持用户配置mac地址)

这两个都能表示地址,为什么要有两个地址:

西游记中,我们经常听到一句话,唐僧每次经过一个国家的时候,会跟首领说:贫僧从东土大唐而来,去往西天拜佛取经。而首领就会问他上一站从哪里来的,再告诉他接下下一站去哪里:比方说:上一站是女儿国,下一站该去黑风岭

这里的东土大唐和西天就是IP地址,从始至终不会发生变化。
而女儿国和黑风岭就是MAC地址,一直在变化。IP地址与MAC地址相当于终极目标与阶段性目标的关系

IP地址提供的是方向;MAC地址提供的是可行路径,这里的MAC两个地址一定是挨着的,所以是同一个局域网

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/490536.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

springboot+vue垃圾分类网站(源码+文档)

风定落花生,歌声逐流水,大家好我是风歌,混迹在java圈的辛苦码农。今天要和大家聊的是一款基于springboot的垃圾分类网站。项目源码以及部署相关请联系风歌,文末附上联系信息 。 💕💕作者:风歌&a…

苹果备忘录误删了怎么恢复?恢复备忘录的3个方法!

案例:苹果删除的备忘录怎么恢复? 【友友们,苹果备忘录删除的备忘录在哪里可以恢复?有什么方法吗?】 苹果备忘录是日常生活中经常使用的一种记录方式,它可以帮助我们记录生活琐事、工作事项以及其他需要记录…

自动驾驶行业观察之2023上海车展-----车企发展趋势(3)

合资\外资发展 宝马:i7、iX1新车亮相,未来将持续发力电动化、数字化(座舱) 宝马在本次车展重点展示了电动化产品,新发车型为i7 M70L、iX1、及i vision Dee概念车等车型。 • 展示重点:电动化数字化&…

C/C++每日一练(20230505) 扩展兔子数列、删除重复项、寻找最小值

目录 1. 求尾数与常数之和 🌟 2. 删除有序数组中的重复项 🌟 3. 寻找旋转排序数组中的最小值 🌟🌟 🌟 每日一练刷题专栏 🌟 Golang每日一练 专栏 Python每日一练 专栏 C/C每日一练 专栏 Java每日…

Selenium原理以及Python从零实现

Selenium简介 Selenium是一个用于Web应用程序自动化测试工具。Selenium测试直接运行在浏览器中,就像真正的用户在操作一样。支持的浏览器包括IE(7, 8, 9, 10, 11),Mozilla Firefox,Safari,Google Chrome&a…

使用zabbix监控Windows指定服务| zabbix Windows service filter

环境:Centos Zabbix6 问题:使用自带的windows服务监控带出了所有的服务,只想监控特定的服务 解决办法:使用正则表达式过滤 背景:在Zabbix6中,使用自带的windows服务监控带出了所有的服务,只想监…

数据分析如何入门?这4类 Excel 函数助你从小白到大神

Excel是我们从事数据分析的朋友们,会经常用到的最基本的工具。而Excel函数又是Excel中最为重要的、最为常用的知识点,我们必须要掌握。 基于此,今天就分类为大家讲述最为常用的Excel函数。 逻辑函数 1、and 2、or 3、if 当使用了if(…

Leetcode326. 3 的幂

Every day a leetcode 题目来源&#xff1a;326. 3 的幂 相似题目&#xff1a;342. 4的幂 解法1&#xff1a;递归 代码&#xff1a; /** lc appleetcode.cn id326 langcpp** [326] 3 的幂*/// lc codestart class Solution { public:bool isPowerOfThree(int n){if (n <…

【软考高项笔记】第1章 信息化发展1.4 数字中国

1.4 数字中国 我国信息化发展的主旋律 迎接数据时代&#xff0c;激活数据要素的潜能&#xff0c;推进网络强国建设&#xff0c;加快建设数据经济、数据社会、数据政府、以数字化转型整体驱动生产方式&#xff0c;生活方式和治理方式变革1.4.1 数字经济 新技术经济范式&#xf…

港联证券|人工智能走高,掌阅科技三连板,海天瑞声等大幅拉升

人工智能概念5日盘中发力走高&#xff0c;截至发稿&#xff0c;光云科技“20cm”涨停&#xff0c;彩讯股份、云从科技涨超13%&#xff0c;汉王科技、焦点科技、掌阅科技、竞业达等涨停&#xff0c;世纪天鸿、海天瑞声涨超8%。 值得注意的是&#xff0c;掌阅科技已接连三个交易日…

BM5 合并k个已排序链表

合并k个已排序的链表_牛客题霸_牛客网 (nowcoder.com) class Solution {public://两个有序链表合并函数ListNode* Merge2(ListNode* pHead1, ListNode* pHead2) {if(!pHead1) return pHead2;if(!pHead2) return pHead1;if(pHead1->val < pHead2->val){pHead1->next…

Linux搭建我的世界服务器 + 公网远程联机教程「不需要公网IP」

文章目录 前言1. 安装JAVA2. MCSManager安装3.局域网访问MCSM4.创建我的世界服务器5.局域网联机测试6.安装cpolar内网穿透7. 配置公网访问地址8.远程联机测试9. 配置固定远程联机端口地址9.1 保留一个固定tcp地址9.2 配置固定公网TCP地址9.3 使用固定公网地址远程联机 转载自内…

Linux服务器安装部署MongoDB数据库 - 无公网IP远程连接

目录 前言 1. 配置Mongodb源 2. 安装MongoDB 3. 局域网连接测试 4. 安装cpolar内网穿透 5. 配置公网访问地址 6. 公网远程连接 7. 固定连接公网地址 8. 使用固定地址连接 转载自Cpolar Lisa文章&#xff1a;Linux服务器安装部署MongoDB数据库 - 无公网IP远程连接「内网…

IP库新增10多个功能IP

本文涵盖了从初学者到专家级别的FPGA 项目及IP。所有 FPGA 项目都带有开源的源代码。 IP库简介 一直想做一个可以供大家学习、使用的开源IP库&#xff0c;类似OpenCores&#xff0c;OC上IP在领域内的IP很少&#xff0c;通用性强一点&#xff0c;所以作为OC的“补充”&#xff0…

[架构之路-182]-《软考-系统分析师》-19- 系统可靠性分析与设计 - 概览

前言&#xff1a; 可靠性工程是研究产品生命周期中故障的发生、发展规律&#xff0c;达到预防故障&#xff0c;消灭故 障&#xff0c;提高产品可用性的工程技术。 信息系统的可靠性是指系统在满足一定条件的应用环境中能够正常工作的能力&#xff0c;可以按一般工程系统的可靠性…

【KVM虚拟化】· virsh管理命令

目录 &#x1f341;libvirt架构概述 &#x1f341;使用virsh管理虚拟机 &#x1f342;常用命令总结 &#x1f341;kvm基本功能管理 &#x1f342;帮助命令 &#x1f342;KVM的配置文件存放目录 &#x1f342;查看虚拟机状态 &#x1f342;虚拟机关机与开机 &#x1f342;强制虚…

GUI编程(一)

1、简介 GUI的核心技术&#xff1a;Swing、 AWT 1、外观不太美观&#xff0c;组件数量偏少 2、运行需要JRE环境 为什么我们要学习&#xff1f; 组件(JTable,JList等)很多都是MVC的经典示范&#xff0c;学习也可以了解mvc架构。工作时,也有可能遇见需要维护N年前awt/swing写的…

360SEO 如何使用360分析工具来了解你的受众

随着数字化时代的到来&#xff0c;越来越多的企业和个人开始关注自己的受众&#xff0c;以便更好地满足他们的需求。在这个过程中&#xff0c;数据分析工具发挥了越来越重要的作用。其中&#xff0c;360分析工具是一种非常受欢迎的工具&#xff0c;它可以帮助你了解你的受众。 …

Linux Shell编程面试题

&#x1f353; 简介&#xff1a;java系列技术分享(&#x1f449;持续更新中…&#x1f525;) &#x1f353; 初衷:一起学习、一起进步、坚持不懈 &#x1f353; 如果文章内容有误与您的想法不一致,欢迎大家在评论区指正&#x1f64f; &#x1f353; 希望这篇文章对你有所帮助,欢…

HTTP的method方法 GET POST PUT DELETE HEAD OPTIONS CONNECT PATCH TRACE

HTTP的method方法 GET POST PUT DELETE HEAD OPTIONS CONNECT PATCH TRACE GET 向指定的资源发出“显示”请求。使用GET方法应该只用在读取数据&#xff0c;而不应当被用于产生“副作用”的操作中&#xff0c;例如在Web Application中。其中一个原因是GET可能会被网络蜘蛛等随意…