【网络原理】初始网络,了解概念

news2025/1/18 6:49:35

文章目录

1. 网络通信

计算机与计算机之间是互相独立,是独立模式。这就造成计算机之间无法形成数据的共享,协同完成工作,那么网络互连便孕育而生了。
网络互联
将多台计算机连接在一起,形成数据共享。
数据共享的本质是网络数据传输,即计算机之间通过网络进行传输数据,也称为网络通信。
根据连接的规模不同,可以分为局域网和广域网。

1.1 局域网LAN

局域网,Local Area Network,LAN。
local是表识了局域网是本地的,是私有的,是一个内网。那么局域网内的设备可以互相通信,局域网与局域网之间如果没有连接,那么将无法通信。
例如
我们使用手机开热点便形成了一个小型局域网,当其他设备连接这个热点,便加入了这个局域网中,那么它们之间便可以进行传输数据,进行多人游戏……

常见的局域网组成网络:

  1. 基于网络直连。
  2. 基于集线器(集线器(Hub)是计算机网络中用于连接多台计算机或网络设备的中心化设备。它是一个物理层设备,用于将多个设备连接在一起,以便它们可以在同一局域网上进行通信。现在几乎不在使用,被交换机取代)组建。
  3. 基于交换机(交换机(Switch)是计算机网络中的关键设备,用于连接多个计算机或网络设备,并以智能的方式在它们之间进行数据包转发。与集线器(Hub)不同,交换机工作在数据链路层(第二层),能够识别和学习设备的MAC地址,并根据需要选择性地转发数据包,以提供更高的性能和网络分段。)组建。
  4. 基于交换机和路由器(路由器(Router)是计算机网络中的网络设备,用于连接多个不同的网络,并在它们之间转发数据包,以确保数据在网络之间正确传输。路由器工作在网络层(第三层),它的主要任务是根据目标IP地址来决定如何将数据包从源网络传输到目标网络。)组建。

1.2 广域网WAN

广域网,Wide Area Network,WAN。
通过路由器,将多个局域网连接起来,在物理上组成很大范围的网络,就形成了广域网。广域网内部的局域网都属于其子网。
但其实WAN和LAN的概念是相对的,广域网也可以是一个比较大的局域网。

2. 基础概念

2.1 IP

概念
IP地址主要用于标识网络主机、其他网络设备(如路由器)的网络地址,通过IP地址我们可以定位到主机。
例如:我们寄快递,IP地址就相当于我们寄的快递地址。
格式
IP地址通常使用32位2进制数字表示,然后被分为4组(四个字节)。
例如:00000000.00000000.00000000.00000000。
每个字节也可以使用10进制表示(范围0~255整数)。
例如:
100.22.22.22,
特殊IP
127.*类的IP常用于本机环回测试,就是本机与本机之间的通信,最常用的IP:127.0.0.1

2.2 端口号

IP地址可以确定主机位置,但是还有一个问题,一个主机上面有着许多的进程,那么我们如何保证数据是我们需要的进程接受呢?
所以我们引入了一个端口号。
概念:端口号可以标识主机中发送数据,接受数据的进程。
这就相当于寄快递有了地址(IP)还是不行,我们还需要有接受人名字(端口号)。
格式
0~ 65535范围内的数字,在网络通信中,进程可以通过绑定一个端口号,来发送及接收网络数据。
注意

  1. 两个不同的进程不能绑定同一个端口号,但是可以绑定多个端口号。
  2. 端口0~1023是知名端口号,已经被绑定,例如:HTTP(端口号80),FTP(端口号21),但它们仍然可以使用其他端口号。
  3. 大于1023的端口号一般用于用户定义或私有的服务。

3. 认识协议

在网络信息传输中,传的数据有着很大的区别,那个数据可能是照片、视频、文字等,那么格式就会不同,如何让对方知道传的是什么数据呢?
我们便引入了协议,通过协议规定两方的数据格式。
概念
协议,网络协议的简称,网络协议是网络通信(即网络数据传输)经过的所有网络设备都必须共同遵从的一组约定、规则。如怎么样建立连接、怎么样互相识别等。只有遵守这个约定,计算机之间才能相互通信交流。通常由三要素组成:

  1. 语法:即数据与控制信息的结构或格式;
  2. 语义:即需要发出何种控制信息,完成何种动作以及做出何种响应;
  3. 时序:即事件实现顺序的详细说明。

4. 五元组

在TCP/IP协议中,用五元组来标识一个网络通信:

  1. 源IP:标识源主机
  2. 源端口号:标识源主机中该次通信发送数据的进程
  3. 目的IP:标识目的主机
  4. 目的端口号:标识目的主机中该次通信接收数据的进程
  5. 协议号:标识发送进程和接收进程双方约定的数据格式
    1

5. 协议分层

协议分层就是把协议按照不同的功能分为不同层,使每层都有特色。

5.1 分层的作用

  1. 模块化设计:将协议分为不同层次, 每一层都有特定的功能和作用,方便维护与管理。
  2. 提高互操作性:协议分层使不同设备和系统之间更容易实现互操作性,因为它们可以使用相同的协议栈来进行通信。这有助于设备来自不同供应商或开发者之间的无缝集成。
  3. 促进标准化:协议分层促进了标准化,不同厂商和组织可以基于通用的协议标准来开发设备和应用程序,从而确保一致性和可互操作性。
  4. 简化故障排除:由于每个协议层都有特定的功能,故障排除变得更加简单。如果出现问题,可以更容易地确定故障所在的层次,从而加快修复过程。
  5. 促进技术创新:协议分层鼓励技术创新,因为可以独立地开发和更新每个协议层次,而不影响其他层次的功能。
  6. 支持多种网络拓扑:不同类型的网络拓扑(如星型、总线型、网状型)可以使用相同的协议栈,因为每个层次都关注特定的任务,而不受拓扑结构的影响。
  7. 安全性和隔离:协议分层有助于安全性和隔离。例如,安全协议可以在应用层上添加加密功能,而不必修改传输层或网络层。

最经典的网络协议分层模型OSI(开发系统互联)模型和TCP/IP模型。

5.2 OSI七层模型

2

上图就是OSI模型,即复杂也不实用,所以并没有流行起来,我们最常用的协议分层还是TCP/IP五层(有时忽略物理层,也可称四层)模型。

5.3 TCP/IP五层(四层)模型

3

TCP/IP是一组协议的代名词,它还包括许多协议,组成了TCP/IP协议簇。
TCP/IP通讯协议采用了5层的层级结构,每一层都呼叫它的下一层所提供的网络来完成自己的需求。

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

6. 封装和分用

不同的协议层对数据包有不同的称谓,在传输层叫做段(segment),在网络层叫做数据报(datagram),在链路层叫做帧(frame)。
应用层数据通过协议栈发到网络上时,每层协议都要加上一个数据首部(header),称为封装(Encapsulation)。
首部信息中包含了一些类似于首部有多长,载荷(payload)有多长,上层协议是什么等信息。
数据封装成帧后发到传输介质上,到达目的主机后每层协议再剥掉相应的首部,根据首部中的 “上层协议字段” 将数据交给对应的上层协议处理。

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

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

相关文章

天选之子Linux是如何发展起来的?为何对全球IT行业的影响如此之大?

天选之子Linux是如何发展起来的?为何对全球IT行业的影响如此之大? 前言一、UNIX发展史二、Linux发展历史三、开源四、官网五、 企业应用现状六、发行版本 前言 上面这副图是博主历时半小时完成的,给出了Linxu的一些发展背景。球球给位看官老…

Linux—进程间通信之System V共享内存

目录 简介System V共享内存特点及用法 共享内存的创建共享内存的关联与去关联共享内存的删除共享内存通信代码实现总结 简介 System V共享内存是一种在Unix-like系统中广泛使用的共享内存机制。它是基于System V IPC(Inter-Process Communication,进程间…

2023.09.30使用golang1.18编译Hel10-Web/Databasetools的windows版

#Go 1.21新增的 log/slog 完美解决了以上问题,并且带来了很多其他很实用的特性。 本次编译不使用log/slog 包 su - echo $GOPATH ;echo $GOROOT; cd /tmp; busybox wget --no-check-certificate https://go.dev/dl/go1.18.linux-amd64.tar.gz;\ which tar&&am…

【腾讯云 TDSQL-C Serverless 产品体验】国产数据库遥遥领先

一、为什么选TDSQL-C 1、性能达到每分钟8.14亿笔交易 国产数据库傲立世界之巅!腾讯云数据库TDSQL-C性能刷新世界记录。 由TPC发起的TPC-C是针对在线事务处理(OLTP)的基准测试模型,是全球数据库厂商公认的性能评价标准,被誉为数据库领域的“…

解决WIFI网络登录困难的方法

当你遇到手机WIFI网络在连接成功后,总是提示网络受限或者当前网络无法连接互联网,但过一段时间后它又自动恢复正常的的问题,可以尝试用以下方法来解决。 第一步:打开WLAN连接设置界面,选择“更多设置” 第二步&#x…

关于TUM数据集

2、验证回环检测算法,需要有人工标记回环的数据集。然而人工标记回环是很不方便的,我们会考虑根据标准轨迹计算回环。即,如果轨迹中有两个帧的位姿非常相近,就认为它们是回环。请根据TUM数据集给出的标准轨迹,计算出一…

Flink中的状态一致性

1.概念 一致性其实就是结果的正确性。对于分布式系统而言,从不同节点读取时总能得到相同的值;而对于事务而言,是要求提交更新操作后,能够读取到新的数据。 有状态的流处理,内部每个算子任务都可以有自己的状态。对于流…

域环境介绍

一、概述 内网也指局域网,指的是某个区域由多台计算机互连而成的计算机组,范围通常在数千米以内,在局域网中,可以实现文件管理,应用软件共享,打印机共享、工作组内的日程安排、电子邮件和传真通信服务等&a…

【微服务保护】

文章目录 Sentinel 微服务雪崩问题: 微服务中,服务间调用关系错综复杂,一个微服务往往依赖于多个其它微服务。服务D有 故障进而导致服务A有故障,进而导致服务雪崩。 解决雪崩问题的常见方式有四种: 超时处理&#xff1…

iPhone苹果手机复制粘贴内容提示弹窗如何取消关闭提醒?

经常使用草柴APP查询淘宝、天猫、京东商品优惠券拿购物返利的iPhone苹果手机用户,复制商品链接后打开草柴APP粘贴商品链接查券时总是弹窗提示粘贴内容,为此很多苹果iPhone手机用户联系客服询问如何关闭iPhone苹果手机复制粘贴内容弹窗提醒功能的方法如下…

毛玻璃态按钮悬停效果

效果展示 页面结构组成 通过上述的效果展示可以看出如下几个效果 毛玻璃的按钮按钮上斜边背景及动画按钮上下边缘的小按钮和小按钮动画 CSS3 知识点 backdrop-filter 属性transition 属性transform 属性 实现基础按钮结构 <div class"btn"><a href&qu…

第三章 C运算符和控制语句

几乎每一个程序都需要进行运算&#xff0c;对数据进行加工处理&#xff0c;否则程序就没有意义了。要进行运算&#xff0c;就需规定可以使用的运算符。 C语言的运算符范围很宽&#xff0c;把除了控制语句和输人输出以外的几乎所有的基本操作都作为运算符处理。 运算符分类1 除…

【Linux】—— 详解动态库和静态库

前言&#xff1a; 本期我将要给大家讲解的是有关 动态库和静态库 的相关知识&#xff01;&#xff01;&#xff01; 目录 序言 见一见库 为什么要有库 &#xff08;一&#xff09;动态库&#xff08;.so&#xff09; 1.基本概念 2.命名规则 3.制作动态库 &#xff0…

No155.精选前端面试题,享受每天的挑战和学习

🤍 前端开发工程师(主业)、技术博主(副业)、已过CET6 🍨 阿珊和她的猫_CSDN个人主页 🕠 牛客高级专题作者、在牛客打造高质量专栏《前端面试必备》 🍚 蓝桥云课签约作者、已在蓝桥云课上架的前后端实战课程《Vue.js 和 Egg.js 开发企业级健康管理项目》、《带你从入…

【KingbaseES】银河麒麟V10 ARM64架构_安装人大金仓数据库KingbaseES_V8R6(CentOS8)

&#x1f341; 博主 "开着拖拉机回家"带您 Go to New World.✨&#x1f341; &#x1f984; 个人主页——&#x1f390;开着拖拉机回家_Linux,Java基础学习,大数据运维-CSDN博客 &#x1f390;✨&#x1f341; &#x1fa81;&#x1f341; 希望本文能够给您带来一定的…

C# 类型、变量与对象

变量一共7种&#xff1a; 静态变量&#xff08;静态字段&#xff09;、实例变量&#xff08;成员变量、字段&#xff09;、数组元素、值参数、引用参数、输出形参、局部变量 狭义的变量就是局部变量 内存的最小单位是比特&#xff08;byte&#xff09;&#xff0c;8个比特为…

【数据结构】【C++】封装哈希表模拟实现unordered_map和unordered_set容器

【数据结构】&&【C】封装哈希表模拟实现unordered_map和unordered_set容器 一.哈希表的完成二.改造哈希表(泛型适配)三.封装unordered_map和unordered_set的接口四.实现哈希表迭代器(泛型适配)五.封装unordered_map和unordered_set的迭代器六.解决key不能修改问题七.实…

Stm32_标准库_5_呼吸灯_按键控制

Stm32按键和输出差不多 PA1为LED供给正电&#xff0c;PB5放置按键&#xff0c;按键一端接PB5,另一端接负极 void Key_Init(void){RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOB, ENABLE); //APB2总线连接着GPIOBGPIO_InitStructur.GPIO_Mode GPIO_Mode_IPU;GPIO_InitStructur.…

Java下对象的序列化和反序列化(写出和读入)

代码如下&#xff1a; public class MyWork {public static void main(String[] args) throws IOException, ClassNotFoundException {//序列化File f new File("testFile/testObject.txt");ObjectOutputStream oos new ObjectOutputStream(new FileOutputStream(…

数据结构:堆的实现和堆排序及TopK问题

文章目录 1. 堆的概念和性质1.1 堆的概念1.2 堆的性质1.3 堆的作用 2. 堆的声明3. 堆的实现3.1 堆的插入3.2 删除堆顶元素3.3 利用数组建堆3.4 完整代码 4. 堆的应用4.1 堆排序4.2 TopK问题代码实现 物理结构有顺序结构存储和链式结构存储两种,二叉树理所应当也是可以顺序结构存…