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

想入门网络编程?——网络通信的基本概念

我们在接触网络编程的时候,如果还没有在大学缓慢的排课安排下学习那门传说中的“计算机网络”课的话,往往会由于难以理解各种专业名词而一头雾水,今天就让我们从网络通信的基本名词入手,来尝试入门网络编程吧:

目录

核心要素

节点(Node)

终端节点(End Node)

网络节点(Network Node)

混合节点

链路(Link)

物理链路

逻辑链路

拓扑结构(Topology)

总线型(Bus)

星形(Star)

环形(Ring)

网状(Mesh)

数据与信号

数据(Data)

信号(Signal)

协议(Protocol)

地址与标识

物理地址(MAC地址)

网络层的逻辑标识(IP地址)

IP地址与MAC地址的映射:ARP协议

端口号(Port Number)

数据传输的基本流程

应用层

传输层

网络层

网络接口层


网络通信的核心在于——让不同的设备之间能传递数据,且想要解决任何让数据从发送方安全、高效、准确地到达接收方

核心要素

节点(Node)

网络中参与数据传输或转发的实体(设备)

终端节点(End Node)

直接产生或消费数据的设备,核心功能是运行应用程序(如浏览器,微信等),并通过网络接口(网卡)接入网络

网络节点(Network Node)

负责数据转发的设备,如路由器(Router)、交换机(Swich)、网关(Gateway)、防火墙(Firewall)等,核心功能是解析数据中的地址信息,选择传输路径,实现不同子网或网络的互连

混合节点

部分设备兼具服务终端和网络节点的功能,如家庭无线路由器既作为终端接入网络,又作为网络节点转发手机电脑的数据

链路(Link)

连接两个节点的物理或逻辑通道,是数据传输的物理载体

物理链路

基于硬件的传输介质

如有线的双绞线(UTP),光纤(时候长距离传输)等

再如无线的无线电波(WiFi),微波(点对点远距离传输)等

逻辑链路

在物理链路上通过协议划分的虚拟通道,如VPN(基于 IPsec 协议在公网中建立的加密链路),VLAN(虚拟局域网,通过交换机划分的逻辑隔离链路)

链路有三个关键指标:带宽(Bandwidth:链路的最大数据传输速率),延迟(Latency:数据从发送方到接收方的时间),误码率(BER:传输中出错的比特数与总比特数的比值)

拓扑结构(Topology)

网络中节点与链路的几何排列方式,直接影响网络的可靠性、成本和性能

总线型(Bus)

所有节点连接到一条共享链路上(早期以太网),缺点是单链路故障会导致全网瘫痪

星形(Star)

所有节点通过链路连接到中心节点(交换机,路由器),优点是易于扩展和故障排查,是现代局域网的主流拓扑

环形(Ring)

节点首尾相连形成闭环(令牌环网),缺点是单节点故障会中断环路

网状(Mesh)

节点之间有多条冗余链路(互联网核心骨干网),优点是可靠性,但成本高

数据与信号

网络通信的核心是信息的传递,而信息必须通过“数据”和“信号”两个载体实现物理传输

数据(Data)

信息的数字化表示,是网络通信的处理对象,数据分为模拟数据(连续变化的物理量,范围无限)和数字数据(图片,文本等,范围有限)

而数字数据的核心是“二进制化”,所有数字数据会被转化为比特流,这是计算机和网络的“通用语言”,这种“二进制化”称为编码(Encoding)

信号(Signal)

信号是数据在物理介质中的物理表现形式,是数据的 “传输载体”,信号同样分为模拟信号和数字信号

协议(Protocol)

通信的规则体系,保证数据有序,正确传输

协议有三要素:语法(数据的格式和结构,规定“如何表示数据”,如TCP头部固定为20个字节,且固定了其表示的内容),语义(规定了字段的含义,规定字段和数据代表了什么),时序(数据传输的节奏和顺序)

协议可以按功能分为:物理层协议(以太网物理层规范),数据链路层协议(PPP),网络层协议(IP),传输层协议(TCP / UDP),应用层协议(HTTP)

值得注意的是,协议之间存在着“依赖关系”:高层协议需要依赖低层协议提供的服务(如 HTTP 依赖 TCP 提供的可靠传输, TCP 依赖 IP 提供的路由服务)

地址与标识

网络中需通过“地址”精确定位通信对象,不同层级的地址作用范围不同

物理地址(MAC地址)

定义:由 IEEE 分配的 48 位二进制地址(通常表示为 6 组十六进制数,如00:1A:2B:3C:4D:5E),固化在网络接口卡(NIC)的固件中,全球唯一

作用范围:仅在同一广播域内有效,即“直接相连的局域网”,跨网段通信时,MAC地址会被替换成路由器接口的MAC地址(动态变化),交换机通过MAC地址表确保数据在局域网内被正确转发

获取方式:通过 ARP(地址解析协议)实现 IP 地址到 MAC 地址的映射(同一局域网内)。

值得注意的是,MAC地址在需要跨网段传输时会动态更新,目标MAC会被动态替换成“下一跳设备的MAC”,而IP地址保持不变

网络层的逻辑标识(IP地址)

定义:IP 地址是网络层的核心标识,用于在 “整个互联网” 中定位设备,解决 “跨网段通信” 的路径选择问题,分为IPv4和IPv6两类

作用范围:在整个互联网中有效,路由器通过 IP 地址选择跨网络的传输路径

IP地址与MAC地址的映射:ARP协议

IP 地址(逻辑标识)和 MAC 地址(物理标识)分属不同层级,需通过ARP(Address Resolution Protocol,地址解析协议) 建立映射

端口号(Port Number)

定义:传输层的16位整数(0-65535),用于标识节点上的应用程序

作用:同一设备上可能有多个应用程序同时进行网络通信,端口号用于区分数据应该交付给哪个程序

数据传输的基本流程

这里以浏览网页的过程为例

应用层

浏览器通过DNS协议,将网址转换为对应服务器的IP地址

传输层

使用TCP协议,与服务器建立可靠连接

网络层

通过IP协议,确定从你的设备到百度服务器的传输路线

网络接口层

将 IP 数据报转换为可在物理介质(网线、Wi-Fi)中传输的信号,并通过 MAC 地址完成局域网内的交付

http://www.xdnf.cn/news/1190035.html

相关文章:

  • Maven之依赖管理
  • ts-node 深入全面讲解
  • OCR工具集下载与保姆级安装教程!!
  • Spring Boot 实战:用 Apache Commons CSV 优雅解析 CSV 文件
  • MySQL 基本查询
  • Linux随记(二十一)
  • JVM 基础架构全解析:运行时数据区与核心组件
  • 商汤InternLM发布最先进的开源多模态推理模型——Intern-S1
  • 开源智能体框架(Agent Zero)
  • 从稀疏数据(CSV)创建非常大的 GeoTIFF(和 WMS)
  • Linux选择题
  • cacti的命令执行和回显
  • Python应用:三局两胜制石头剪刀布游戏
  • 人工智能发展历程
  • Linux应用开发基础知识——Framebuffer应用编程(六)
  • Linux用户
  • almalinux9.6-4070显卡-ollama-qwen2.5-7b
  • rt-thread 5.2.1 基于at-start-f437开发过程记录
  • Python 面向对象基础
  • 力扣刷题(第九十九天)
  • Rust嵌入式开发实战
  • 去除视频字幕 4 : 下一步,打算研究 Video Inpainting (视频修复):
  • Redis 缓存机制详解:原理、问题与最佳实践
  • Effective C++ 条款4:确定对象被使用前已先被初始化
  • 编程与数学 03-002 计算机网络 06_网络层职责
  • 设计模式十一:享元模式(Flyweight Pattern)
  • 路由选择工具——IP-Prefix
  • 如何查看电脑后门IP和流量?
  • 变频器实习DAY15
  • Kafka MQ 消费者应用场景