当前位置: 首页 > news >正文

2025-03-17 Unity 网络基础1——网络基本概念

文章目录

  • 1 网络
    • 1.1 局域网
    • 1.2 以太网
    • 1.3 城域网
    • 1.4 广域网
    • 1.5 互联网(因特网)
    • 1.6 万维网
    • 1.7 小结
  • 2 IP 地址
    • 2.1 IP 地址
    • 2.2 端口号
    • 2.3 Mac 地址
    • 2.4 小结
  • 3 客户端与服务端
    • 3.1 客户端
    • 3.2 服务端
    • 3.3 网络游戏中的客户端与服务端

1 网络

​ 在没有网络之前,每个人的设备(电脑等)都是彼此孤立的。

​ 网络的出现让设备之间可以相互通信。

image-20250316215547977

​ 网络由若干设备和连接这些设备的链路构成,各种设备间接或者直接通过介质相连。设备之间进行信息传递时,将要传递的数据编码为 2 进制数值以有效传输。这些 2 进制数据以电脉冲的形式进行传输,随线缆中电压高低状态间进行变化。

  • 二进制中,1 通过产生一个正电压传输。
  • 二进制中,0 通过产生一个负电压传输。

1.1 局域网

​ 局域网(Local Area Network,简称 LAN)是按照范围划分而来的名称,指在某一个小区域内由多台设备互联成的计算机组。可以由家里的两台设备组成,也可以由学校、公司里的上千台设备组成。

特点:

  1. 分布地区范围有限。
  2. 覆盖范围一般是方圆几千米之内。
image-20250316215923835

1.2 以太网

​ 以太网是一种计算机局域网技术,是目前应用最普遍的局域网技术。

​ IEEE 组织(电气与电子工程师协会)的 IEEE 802.3 标准制定了以太网的技术标准,规定了包括物理层的连线、电子信号和介质访问层协议的内容。

​ 局域网中设备的连接规范,数据的传输规范等等规则都基于以太网的技术标准完成。因此,以太网是网络连接的一种规则(协议)。

拓扑结构

​ 用传输媒体把计算机等各种设备互相连接起来的物理布局,指设备互连过程中构成的几何形状。

(1)总线型

image-20250316220300154

(2)环形

image-20250316220316709

(3)星形

image-20250316220334281

(4)网络状

image-20250316220344206

(5)树形

image-20250316220355953

1.3 城域网

​ 城域网(Metropolitan Area Network,简称 MAN)是在一个城市范围内所建立的网络,通常覆盖一个城市,从几十公里到一百公里不等。可能会有多种介质,用户的数量也比局域网更多。

image-20250316220449768

1.4 广域网

​ 广域网(Wide Area Network,简称 WAN)又称外网、公网,是连接不同地区局域网或城域网设备通信的远程网,通常跨接很大的物理范围。所覆盖的范围从几十公里到几千公里,能连接多个地区、城市和国家,形成国际性的远程网络。

注意:

​ 广域网并不等同于互联网。

image-20250316220558770

1.5 互联网(因特网)

​ 互联网,字面意思即处于同一网络环境下,设备之间能够进行通信,一般泛指彼此能够通信的设备组成的网络。

​ 互联网又音译为因特网(Internet),也称国际网络,指网络与网络之间所串连成的庞大网络,这些网络以一组通用的协议(规则)相连,形成逻辑上的单一巨大国际网络。互联网目前已经把 200 多个国家和地区的大部分设备连接了起来,形成了一个遍布全世界的网络。所以在一定程度上也可以说,互联网等同于广域网,广域网包含了互联网。

​ 目前提到的互联网,大部分时候指代因特网。可以将互联网作为名词理解,也可以将互联网理解为因特网的代称。

​ 互联网使用的技术,在广域网上一定有,但是某些广域网的技术,互联网上不一定有。比如军用的广域网,普通老百姓是不会使用的。

​ 互联网(因特网)的本质是人为定义的一系列协议(规则),总称为“互联网协议”。主要功能为:

  1. 定义计算机如何接入互联网。
  2. 规定接入互联网的计算机的通信标准。
  3. 为 2 进制数据定义传输规则。

​ 因特网是国际上最大的互联网。当我们提到互联网时,一般代指因特网。它采用 TCP/IP 协议簇作为通信的规则,提供了包括万维网(WWW)、文件传输(FTP)、电子邮件(E-mail)、远程登录(Telnet)等服务。

1.6 万维网

​ 万维网(World Wide Web,简称 WWW,也称 Web、3W 等)是存储在因特网的计算机中,数量巨大的文档(页面)的集合。也是无数个网络站点和网页的集合,是构成因特网的主要部分。

​ 我们平时用浏览器看到的内容就属于万维网,本质上就是一个个文档(页面)。

​ 如果将因特网看做是网络的基础,那么万维网就可以被看做是对因特网的应用,是利用因特网规则的一种信息传递和呈现的手段。可以认为万维网就是网站和页面的统称。

1.7 小结

  1. **网络:**由若干设备和连接这些设备的链路构成,设备间可以相互通信。

  2. **局域网:**指某一个小区域内由多台设备互联成的计算机组。

  3. **以太网:**网络连接的一种规则,定义了连接传输规范。

  4. **城域网:**在一个城市范围内所建立的网络,几十到一百公里。

  5. **广域网:**连接不同地区、城市、国家的远程网络,几十到几千公里。

  6. **互联网(因特网):**目前国际上最大的互联网,定义了通信规则等。

  7. **万维网:**基于因特网的网站和网页的统称。

2 IP 地址

​ 当我们传递消息时,如何准确的将信息传递到目标设备?

image-20250317012056897

2.1 IP 地址

​ IP 地址(Internet Protocol Address)指互联网协议地址,又译为网际协议地址,是 IP 协议提供的一种统一的地址格式,即设备在网络中的具体地址。

​ IP 地址就像是设备的家庭住址一样,主要用于定位。用打电话举例子,IP 地址就比如电话号码,我们需要知道对方设备的电话号码,才能联系到对方。

(1)按协议分类

  1. IPv4(目前常用):互联网协议第四版,由四个数组成,每个数取值范围是 0~255。每个数用 “.” 来分隔,数量是有限的。范围:0.0.0.0~255.255.255.255。

    A类:0.x.x.x~127.x.x.x (32 位 2 进制最高位为 0,适用于网内主机数达 1600 万台的大型网络)

    B类:128.x.x.x~191.x.x.x(32 位 2 进制最高 2 位为 10,适用于中等规模网络,每个网络能容纳6万台设备)

    C类:192.x.x.x~223.x.x.x(32 位 2 进制最高 3 位为 110,适用小规模局域网,每个网内最多只包含254台设备)

    D类:224.x.x.x~239.x.x.x(32 位 2 进制最高 4 位为 1110,属于特殊类型 IP,一般为广播地址)

    E类:240.x.x.x~255.x.x.x(32 位 2 进制最高 5 位为 11110,作为特殊使用)

  2. IPv6:互联网协议第六版,由八个数组成,每个数取值范围是 0~65535。每个数用 “:” 来分隔,目的是解决 IPv4 的数量有限性而设计的(几乎无限)。范围:0:0:0:0:0:0:0:0~65535:65535:65535:65535:65535:65535:65535:65535。

(2)按使用范围分类

  1. 公网 IP

    用于连接外网,想要和远程设备进行通信时使用的 IP 地址。

    查看方式:百度搜索 IP 地址查询 便可以查看到公网 IP。

  2. 私网 IP

    也称局域网 IP,私网 IP 不能上网,只用于局域网内通信。

    查看方式:

    • Windows 操作系统中

      打开命令提示符窗口,输入指令 ipconfig 查看本机的 IP 地址信息。

      快捷方式:运行窗口(win+R)-> 打开 cmd -> ipconfig。

    • 在 Mac 操作系统中

      打开终端窗口,输入指令 ifconfig 查看本机的 IP 地址信息,也可以在网络设置窗口上直接查看 IP 地址。

2.2 端口号

image-20250317013207524

​ 通过 IP 地址我们可以在网络上找到一台设备,但想要和设备通信,本质上是和运行在设备上的某一个应用程序进行通信。一台设备上可能运行 n 个应用程序,而端口号的作用就是区分这些应用程序,明确到底是和哪一个应用程序进行通信。

​ IP 地址决定设备在网络中的具体地址。

​ 端口则对应不同应用程序在该设备上的门牌号码,一台设备上不同的应用程序想要进行通信,就必须对应一个唯一的端口号。

  1. 端口号的取值范围是 0~65535。
  2. 在进行网络开发时,需要自己为应用程序设置端口号。
  3. 端口号不能和其它应用程序相同,避免产生冲突。
  4. 一般选择 1024 以上的端口进行使用,1024 以下的一般由 IANA 互联网数字分配机构管理。
image-20250317013441500

2.3 Mac 地址

​ Mac 地址(Media Access Control Address)直译为媒体存取控制地址,也称局域网地址、以太网地址、物理地址。它是用来确认网络设备位置的地址,在 OSI 模型中,第三层网络层负责 IP 地址,第二层数据链路层则负责 Mac 地址。Mac 地址用于在网络中唯一标识一个网卡,一台设备可以有多个网卡,每个网卡都会有唯一的 Mac 地址。

​ 在早期的网络中,只用 Mac 地址便可以实现两台设备间的通信。但随着设备的增加,Mac 地址虽然具备唯一性,但并不携带位置信息,如果通过广播方式查找设备,会给网络造成巨大负担。所以才有了 IP 地址来定位网络中的设备。

​ Mac 地址的长度为 48 位(6 个字),通常表示为 12 个 16 进制数,如:00-16-EA-AE-3C-40。

  • 前 3 个字节(00-16-EA)代表网络硬件制造商的编号,由 IEEE(电气与电子工程师协会)分配。
  • 后 3 个字节(AE-3C-40)代表该制造商所制造的某个网络产品(如网卡)的系列号。

​ 查看 Mac 地址的方式和查看 IP 地址相同。

image-20250317014130684

​ Mac 地址就像身份证号,IP 地址就如同你的住址。

​ Mac 地址是物理层面上通信的基础,IP 地址则是逻辑层面上通信的基础。

2.4 小结

​ 在互联中与一台指定设备通讯,就如同在现实世界中给朋友寄快递,你必须要知道朋友的地址在哪里。

  • IP 地址 = 朋友的住址(某街某小区某栋楼)。
  • 端口 = 朋友住所具体的门牌号 (哪个门牌号)。
  • Mac 地址 = 朋友的身份证号(谁接受快递)。

​ 在网络通信中:

  • IP 地址:设备在外网中位置。
  • 端口:运行在该设备上的应用程序。
  • Mac 地址:设备进行网络通信的唯一标识,设备真正进行物理信息传输用来定位的标识。

3 客户端与服务端

3.1 客户端

​ 客户端(Client,或称为用户端、前端)指与服务端相对应,为客户提供本地服务的应用程序。我们在设备上(计算机、手机等)使用的所有软件和应用几乎都是客户端应用程序。

​ 客户端应用程序指用户使用的设备上安装的应用程序,用户会直接使用操作的内容。比如:各种浏览器、游戏、外卖应用程序(美团,饿了么)、通讯软件(QQ、微信、陌陌)等等。

​ 客户端本意指用户使用的设备(计算机、手机、平板等等)。

​ 但通常,提及客户端往往指客户端应用程序。

3.2 服务端

​ 服务端(Server,或称为服务器、后端)是为客户端服务的,服务的内容诸如向客户端提供资源,保存客户端数据等等。它是一种有针对性的服务程序,往往一个服务端都是针对性的为某类客户端提供服务。服务端往往是一台运行在远端的计算机,客户端和服务端通过网络进行通信。

​ 比如:

  • 某游戏服务端只为该游戏的客户端提供服务(消息转发、信息保存、逻辑处理等等)。
  • 某外卖服务端只为该外卖的客户端提供服务(分派订单、查看订单、查看配送进度等等)。

​ 客户端本意指为客户端提供服务的设备,一般是一台性能较好的计算机。

​ 但在软件开发中,往往提到的服务端或服务器都泛指服务端应用程序。

3.3 网络游戏中的客户端与服务端

单机游戏:

  • 只有客户端,没有服务端。
  • 不存在玩家之间的交互,数据存储在本地。

网络游戏:

  • 有客户端和服务端。
  • 玩家之间可以进行交互(信息同步,信息交换)。
  • 静态(不变的)数据存储在客户端,动态(要变的)数据存储在服务端。

网络游戏开发中的客户端:

​ Unity、UE、Cocos、Egret、Laya、Flash 等等游戏引擎开发的游戏,都属于客户端应用程序,被用户直接操作。

​ 主要功能是游戏玩法、UI 交互、美术表现、本地数据保存等等。

网络游戏开发中的服务端:

​ C++、Java、C#、Go 等等语言开发的运行在远端计算机上为游戏客户端提供服务的软件,都属于服务端应用程序。主要功能是消息转发、数据保存、逻辑处理等等。

​ Unity 程序员也被称为前端程序员,比如 Unity 客户端开发工程师、Unity 前端开发工程师等等。负责服务端开发的程序员被称为后端程序员。

​ 在早期游戏行业中不分前后端,从业者需要同时具备前端和后端的开发技能。而随着游戏引擎的出现并且从开发效率上来考虑,渐渐就分出前后端程序员。两个工种相互配合进行开发,事半功倍。

相关文章:

  • 学习单片机需要多长时间才能进行简单的项目开发?
  • 鸿蒙应用开发--数据埋点的名称由来,发展脉络,典型场景,现代演进的无埋点和智能化埋点//学习时长数据埋点的实现--待更新
  • 如何在 GoLand 中设置默认项目文件夹
  • 树莓派学习:环境配置
  • 《基于深度学习的高分卫星图像配准模型研发与应用》开题报告
  • 基于Spring Boot的红色革命文物征集管理系统的设计与实现(LW+源码+讲解)
  • Java高频面试之集合-13
  • 【ACM 独立出版 | EI 快检索】2025年数据挖掘与项目管理国际研讨会 (DMPM 2025)
  • 如何使用MySQL快速定位慢SQL问题?企业级开发中常见业务场景中实际发生的例子,涉及分页查询问题。(二)
  • LLMs之CoTM:《Detecting misbehavior in frontier reasoning models》翻译与解读
  • Linux驱动学习笔记(零)
  • [设计模式与源码]1_Spring三级缓存中的单例模式
  • 设计模式(行为型)-状态模式
  • Leetcode 刷题笔记1 单调栈part01
  • UART转AHB模块ModelSim仿真
  • C语言每日一练——day_10
  • 冒泡排序:古老算法中的智慧启示
  • c++学习系列----003.写文件
  • MySQL——数据类型
  • Postman 新手入门指南:从零开始掌握 API 测试
  • 如何反击右翼思潮、弥合社会分裂:加拿大大选镜鉴
  • 中国人保一季度业绩“分化”:财险净利增超92%,寿险增收不增利
  • IMF前副总裁朱民捐赠1000万元,在复旦设立青云学子基金
  • 深入贯彻中央八项规定精神学习教育中央指导组派驻地方和单位名单公布
  • 暴涨96%!一季度“中国游中国购”持续升温,还有更多利好
  • 视觉周刊|2025上海车展的科技范