【网络基础该】:局域网、协议、MAC地址、IP地址

目录

[1. 计算机网络背景](#1. 计算机网络背景)

[1.1 网络发展](#1.1 网络发展)

[2. 协议](#2. 协议)

[2.1 协议分层](#2.1 协议分层)

[2.2 OSI 七层模型](#2.2 OSI 七层模型)

[2.3 TCP/IP 五层(或四层)模型](#2.3 TCP/IP 五层(或四层)模型)

[2.4 为什么要有 TCP/IP 协议](#2.4 为什么要有 TCP/IP 协议)

[2.5 什么是 TCP/IP 协议](#2.5 什么是 TCP/IP 协议)

[2.6 TCP/IP 协议与操作系统的关系(宏观上,怎么实现的)](#2.6 TCP/IP 协议与操作系统的关系(宏观上,怎么实现的))

[2.7 所以究竟什么是协议](#2.7 所以究竟什么是协议)

[3. 网络传输基本流程](#3. 网络传输基本流程)

[3.1 局域网网络传输流程图](#3.1 局域网网络传输流程图)

以太网

[认识 MAC 地址](#认识 MAC 地址)

数据包封装和分用

[3.2 跨网络传输流程图](#3.2 跨网络传输流程图)

[网络中的地址管理 - 认识 IP 地址](#网络中的地址管理 - 认识 IP 地址)

[IP 地址的意义](#IP 地址的意义)

[IP 地址和 Mac 地址的区别](#IP 地址和 Mac 地址的区别)


1. 计算机网络背景

1.1 网络发展

独立模式:计算机之间互相独立。

网络互联:多台计算机连接在一起,完成数据共享。

局域网LAN:计算机数量更多了,通过交换机和路由器连接在一起。

所谓 "局域网" 和 "广域网" 只是一个相对的概念,广域网也可以看作一个比较大的局域网。

计算机是人的工具,人要协同工作,注定了网络的产生是必然的。

2. 协议

  • "协议" 是一种约定。
  • 打电话约定电话响铃的次数的约定:比如给家里为了节约话费,电话铃响一次是要生活费,响两次是报平安,响三次及以上是有事情要说。

计算机之间依靠光信号、电信号传输数据,借助频率、强弱两种形式表征二进制0和1信息。想要传递各类信息,通信双方必须统一数据格式。

思考:仅两台主机自行约定协议,就能实现正常通信吗?

  • 即便敲定基础通信协议,若双方分别采用频率、强弱两种不同方式标识0和1,就如同人与人使用不同语种交流。即便遵循同一套基础通信规则,表达方式存在差异,依旧无法完成有效通信。

由此可见,完备的网络协议,需要制定详尽规范,且所有通信主体严格遵照执行。

市面上计算机生产厂商、操作系统、网络硬件设备品类繁多。想要让不同厂商的设备顺畅互联互通,就需要权威机构制定统一通用标准,全网设备共同恪守,这套统一标准便是网络协议。具备协议制定资质的机构与企业,均为行业内公认的权威主体。

2.1 协议分层

协议本质属于软件,为实现模块化与解耦效果,整体采用层级结构设计。

软件分层的好处

  • 本例中的协议仅分为语言层、通信设备层两层。
  • 实际网络通信协议架构更为复杂,层级划分更多。
  • 从简易示例可看出,分层设计能够实现解耦,有效降低软件维护成本。

2.2 OSI 七层模型

  • OSI开放系统互连七层网络模型,属于逻辑层面的定义与规范。
  • 该模型将网络逻辑划分为七层,每层均对应专属物理设备,例如路由器、交换机。
  • 它是框架式设计标准,核心作用是助力各类主机完成数据传输。
  • 模型清晰区分服务、接口、协议三类概念,理论体系完备,依托分层架构,可实现不同系统、网络间的可靠通信。
  • 因其结构繁杂、实用性偏低,日常学习讲解普遍采用TCP/IP四层模型。
  • 从网络层面来看,OSI七层协议模型理论体系十分完善。但实际应用里,会话层、表示层无法嵌入操作系统,工程实践中实际落地使用的是五层协议。

2.3 TCP/IP 五层(或四层)模型

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

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

以太网、令牌环网、无线LAN,这三种局域网技术各有特点,简单来说:

  • 以太网:目前最主流的有线网络。它使用双绞线或光纤连接,采用"先听后说"(CSMA/CD)机制来避免数据冲突。特点是速度快、成本低、兼容性好,是现在家庭和办公网络的绝对主力。
  • 令牌环网:一种较老的环形网络技术。它像传话筒一样,只有拿到"令牌"的设备才能发送数据。虽然传输稳定无冲突,但设备昂贵且维护复杂,现在基本已被淘汰。
  • 无线 LAN (WLAN):即我们常说的 Wi-Fi。它不需要网线,通过无线电波传输数据。最大的优势是灵活移动,方便手机、笔记本等设备随时接入网络,是现代移动互联网的基础。

物理层我们考虑的比较少,我们只考虑软件相关的内容。因此很多时候我们直接称为TCP/IP 四层模型。

一般而言

  • 对于一台主机,它的操作系统内核实现了从传输层到物理层的内容;
  • 对于一台路由器,它实现了从网络层到物理层;
  • 对于一台交换机,它实现了从数据链路层到物理层;
  • 对于集线器,它只实现了物理层;

但是并不绝对。很多交换机也实现了网络层的转发;很多路由器也实现了部分传输层的内容(比如端口转发);

2.4 为什么要有 TCP/IP 协议

  • 首先,即便是单机,计算机内部也存在协议。其他设备和内存通信,会有内存协议。其他设备和磁盘通信,会有磁盘相关的协议,比如SATA,IDE,SCSI等。只不过我们感知不到罢了。而且这些协议都在本地主机各自的硬件中,通信的成本、问题比较少。
  • 其次,网络通信最大的特点就是主机之间距离变远。任何通信特征的变化,一定会带来新的问题,有问题就得解决问题,所以需要新的协议。
  • 所以,为什么要有 TCP/IP 协议?本质就是通信主机距离变远了。

2.5 什么是 TCP/IP 协议

  • TCP/IP 协议的本质是一种解决方案
  • TCP/IP 协议能分层,前提是因为问题们本身能分层

2.6 TCP/IP 协议与操作系统的关系(宏观上,怎么实现的)

TCP/IP 是 OS 内核的核心功能模块

  • 传输层(TCP/UDP)和网络层(IP)直接集成在操作系统内核中,不是独立程序。
  • 不同 OS(Windows/Linux)各自在内核中实现标准协议,确保互通。

完整的协议栈依赖软硬件协同

  • 自顶向下:用户程序 → 系统调用 → 内核协议栈 → 设备驱动 → 网卡硬件。
  • 涉及应用、内核、驱动、硬件四个层面,缺一不可。

为用户程序提供统一网络接口

  • 用户通过标准 API(如 socket)访问网络,无需关心底层 OS 差异。
  • 协议标准保证跨平台通信,OS 实现保证功能落地。

2.7 所以究竟什么是协议

  • 截止到目前,我们还没接触过任何协议,但是如何朴素的理解协议,我们已经可以试试了。
  • OS 源代码一般都是用 C/C++语言写的。

问题:主机 B 能识别 data,并且准确提取 a=10,b=20,c=30 吗?

  • 答案是肯定的!因为双方都有同样的结构体类型 struct protocol。也就是说,用同样的代码实现协议,用同样的自定义数据类型,天然就具有"共识",能够识别对方发来的数据,这不就是约定吗?

关于协议的朴素理解:所谓协议,就是通信双方都认识的结构化的数据类型。

因为协议栈是分层的,所以,每层都有双方都有协议,同层之间,互相可以认识对方的协议。

以网络购物为例:快递单就是收发双方共同遵循的协议。

3. 网络传输基本流程

3.1 局域网网络传输流程图

局域网(以太网为例)通信原理

  • 首先回答,两台主机在同一个局域网,是否能够直接通信?是的
  • 原理类似上课
  • 每台主机在局域网上,要有唯一的标识来保证主机的唯一性:mac 地址

以太网

以太网是一种计算机局域网技术,也是目前全球应用最广泛、最通用的网络通信标准。

声音传播需要介质,以太一词最初用来表示光传播的介质,但最后发现光传播不用介质,计算机学科为了内涵天文学家,你没有的我有,所以搞了一种计算机局域网技术,用以太命名。

认识 MAC 地址

  • MAC地址用来识别数据链路层中相连的节点;
  • 长度为48位,即6个字节。一般用16进制数字加上冒号的形式来表示(例如:08:00:27:03:fb:19)。
  • 在网卡出厂时就确定了,不能修改。mac地址通常是唯一的,虚拟机中的mac地址不是真实的mac地址,可能会冲突,也有些网卡支持用户配置mac地址。
  • MAC地址是网卡的物理地址。
  • 以太网中,任何时刻,只允许一台机器向网络中发送数据。
  • 如果有多台同时发送,会发生数据干扰,我们称之为数据碰撞。
  • 所有发送数据的主机要进行碰撞检测和碰撞避免。
  • 没有交换机的情况下,一个以太网就是一个碰撞域。
  • 局域网通信的过程中,主机对收到的报文确认是否是发给自己的,是通过目标mac地址判定。
  • 可以从系统角度来理解局域网通信原理。

同一个网段内的两台主机进行发送消息的过程:

而其中每层都有协议,所以当我进行进行上述传输流程的时候,要进行封装和解包。

报头部分,就是对应协议层的结构体字段,我们一般叫做报头。

除了报头,剩下的叫做有效载荷。

故,报文 = 报头 + 有效载荷。

然后,我们在明确一下不同层的完整报文的叫法

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

应用层:请求与应答。

传输层:数据段。

网络层:数据报。

数据链路层:数据帧。

最后,在整体复盘一下:

在网络传输的过程中,数据不是直接发送给对方主机的,而是先要自上而下将数据交付给下层协议,最后由底层发送,然后由对方主机的底层来进行接收,再自底向上进行向上交付。

数据包封装和分用

数据封装过程:

数据分用过程:

任何协议,都要先宏观上建立这样的认识:

  1. 要学习的协议,是如何做到解包的?只有明确了解包,封包也就能理解
  2. 要学习的协议,是如何做到将自己的有效载荷,交付给上层协议的?

3.2 跨网络传输流程图

网络中的地址管理 - 认识 IP 地址

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

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

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

路由器就像一个"智能中转站",负责连接两个完全不同物理标准的网络(左侧的以太网和右侧的令牌环网)。

IP 地址的意义

  • 为什么去目标主机,要先走路由器?
  • 目标 IP 的意义。

当报文的目标发送地址不在当前局域网,会通过路由器不断转发,直到目标局域网。

然后结合封装与解包,体现路由器解包和重新封装的特点。

IP 地址和 Mac 地址的区别

  • IP地址在整个路由过程中一直不变。
  • Mac地址一直在变。
  • 目的IP是长远目标,Mac是下一阶段目标,目的IP是路径选择的重要依据,mac地址是局域网转发的重要依据。

以唐僧西天取经为例:

唐僧要从东土大唐前往西天,需要从当前位置不断前往下一个位置,直到西天,比如:东土大唐->女儿国->黑风岭->西天。

从哪来,到哪去:源 IP,目标 IP 地址。

上一站从哪来,下一站去哪里:源 M,目标 MAC 地址。

提炼IP网络的意义和网络通信的宏观流程:

IP 网络层存在的意义:提供网络虚拟层,让世界的所有网络都是 IP 网络,屏蔽最底层网络的差异。

相关推荐
xixixi777774 小时前
算力网络双轮驱动:800G 光模块价格再降、1.6T 商用提速,AI-eSIM 用户破亿重构身份生态
网络·人工智能·ai·大模型·光模块·通信·运营商
MC皮蛋侠客5 小时前
IEC 104 系列(三):通信机制——连接管理与数据交互
网络·tcp/ip·iec104·电力规约
EasyCVR5 小时前
从连锁门店到城市级项目,国标GB28181视频监控平台EasyCVR的全场景适配能力有多绝?
运维·网络·音视频
叁散6 小时前
实验报告:室内覆盖与接入点部署优化实验
网络
努力搬砖的鱼6 小时前
深信服aTrust集群从节点访问失败排查:交换机策略重定向引发的“回包丢失”之谜
运维·网络·华为
梦奇不是胖猫6 小时前
[ 计算机网络 | 第三章 ] 数据链路层03 CSMA/CD
运维·服务器·网络·计算机网络
志栋智能7 小时前
超自动化巡检:连接运维数据孤岛的桥梁
运维·网络·人工智能·自动化
灰子学技术7 小时前
Envoy OAuth2 过滤器功能实现分析
运维·服务器·前端·网络
Yang96117 小时前
守护交通大动脉的“网络医生”:GN-W10A网络综合测试仪
网络·信息与通信