计算机网络基础概论

计算机网络基础概论

目录

一、网络基本概念

1.1. 网络

1.2 互联网

1.3 ip地址

1.3.1 作用

1.3.2 分类

1.4 MAC地址

1.4.1 MAC地址与 IP 地址的关系

 1.5 网络协议

二、网络分层模型

2.1 物理层

2.2 数据链路层

2.3 网络层

2.4 传输层

2.5 会话层

2.6 表示层

2.7 应用层

三、网络应用程序通信流程


一、网络基本概念

1.1. 网络

网络是由若干结点和连接这些结点的链路组成,网络中的结点可以是计算机,交换机,路由器等设备

网络设备有:交换机,路由器,集线器

传输介质:双绞线,同轴电缆,光纤

1.2 互联网

多个网络连接起来就构成了互联网

目前最大的互联网就是我们说的英特网

1.3 ip地址

ip地址即互联网协议地址。就是给因特网上的每个主机或路由器的每个接口分配一个在全世界范围内唯一的标识符。通过ip地址我们可以在英特网上很方便的进行寻址,是网络通信的基础

1.3.1 作用

  • 标识设备:如同现实中每个家庭有唯一住址,网络中每个设备(计算机、服务器、路由器等 )都有唯一 IP 地址,确保数据能准确发送到目标设备 。比如发送电子邮件时,邮件服务器根据收件方设备 IP 地址传输邮件 。
  • 路由选择:路由器依据 IP 地址决定数据包传输路径。数据包从源设备出发,经多个路由器转发,路由器根据目的 IP 地址查找路由表,选择最佳路径转发,直至到达目标设备 。

1.3.2 分类

  • IPv4:常用的 32 位地址,一般用点分十进制表示,如 192.168.1.1 ,分成 4 个字节,每个字节对应 0 - 255 的十进制数。
  • IPv6:为解决 IPv4 地址不足问题而设计的 128 位地址,采用冒号分隔的十六进制表示,如 2001:0db8:85a3:0000:0000:8a2e:0370:7334 。地址空间极大,理论上能为地球上每平方米分配众多地址 。

 每个ip地址由网络号和主机号俩个部分组成。同一个物理网络上所有主机都使用同一个网络号,只是主机号不同。默认都使用ipv4,32位,4个段,每段8位

1.4 MAC地址

在局域网中,硬件地址称为物理地址又称MAC地址,长度48位,是固化在计算机适配器的ROM中的地址。通常用十六进制表示,如00-16-3E-00-01-02

在数据链路层,MAC 地址用于唯一标识网络中的设备。当数据在局域网中传输时,交换机等设备通过 MAC 地址来确定数据的发送和接收方,确保数据能够准确无误地到达目标设备

1.4.1 MAC地址与 IP 地址的关系

  • 区别:IP 地址是网络层的逻辑地址,用于在不同网络之间进行路由选择和寻址;MAC 地址是数据链路层的物理地址,用于在局域网内进行设备间的直接通信。IP 地址可以根据网络配置和需求进行动态分配或更改,而 MAC 地址一般是固定不变的。
  • 联系:在网络通信中,IP 地址和 MAC 地址相互配合。当数据从源设备发送到目标设备时,在网络层使用 IP 地址进行路由选择,确定数据要经过的路由器和网络路径;在数据链路层,使用 MAC 地址将数据帧从一个设备发送到另一个直接相连的设备。例如,在一个局域网中,计算机 A 要向计算机 B 发送数据,首先根据计算机 B 的 IP 地址,通过路由器等设备找到计算机 B 所在的局域网,然后在局域网内通过计算机 B 的 MAC 地址将数据帧准确发送到计算机 B。

 1.5 网络协议

网络协议就是一组网络规则的集合。

HTTP:超文本传输协议

TCP:传输控制协议,是一种面向连接的,可靠的,基于字节流的传输层通信协议

UDP:用户数据报协议

IP:互联网协议

ARP:地址解析协议,根据IP地址获取MAC地址的协议

RARP:逆地址解析协议

二、网络分层模型

2.1 物理层

功能:传输原始比特流0/1.数字信号转换为适合在物理介质上传输的模拟信号,或者将收到的模拟信号转化为数字信号。主要负责处理物理介质上的信号传输,包括电缆,光纤,无线等传输介质。他定义了物理设备的电器,机械,功能和规程特性,确保数据能在物理介质上正确的传输和接收。

设备:集线器,中继器

2.2 数据链路层

功能负责将物理层接收到的信号比特流转化为数据帧,并进行差错检测和纠正,确保数据在相邻节点之间的可靠传输。通过MAC地址来标识网络中的设备在数据帧中添加源MAC地址和目的MAC地址,以便在局域网中进行数据帧的传输和接收。

设备:交换机,网桥

2.3 网络层

功能负责在不同网络之间进行路由选择和寻址,将数据从源端传输到目的端。它会根据网络的拓扑结构(网络的布局)选择最佳路径,就像地图上的导航系统。(通过网络地址ip地址来标识网络中的设备并根据路由表确定数据包的传输路径)

最核心的协议是ip协议,为他选择一个合适的路由器。ip协议为上层协议提供无状态,无连接,不可靠的服务

设备:路由器

2.4 传输层

功能:为应用程序提供端到端的通信服务,确保数据在不同主机上的应用程序之间的可靠传输。它负责建立、维护和拆除传输连接,并对数据进行分段和重组。

根据应用程序的需求,为应用层提供选择合适的传输协议,如 TCP(面向连接、可靠的传输协议)或 UDP(无连接、不可靠的传输协议)。对于 TCP 协议,会在发送端将数据分成多个段,并为每个段编号,在接收端根据编号进行排序和重组;通过确认、重传机制保证数据的可靠传输。UDP 协议则相对简单,主要用于对实时性要求较高的应用,如视频流、音频流等

2.5 会话层

功能负责建立、管理和维护会话连接,在不同主机的应用程序之间进行会话同步和协调。它提供了会话的建立、拆除和同步等功能,确保会话的正常进行。

例如,在文件传输过程中,会话层可以确保文件的各个部分按照正确的顺序传输,并且在传输过程中出现问题时能够进行适当的恢复。它还可以在会话期间对数据进行加密和解密,以保证数据的安全性。

2.6 表示层

功能主要负责处理数据的表示和转换,确保不同系统之间能够正确地理解和处理数据。它包括数据的加密和解密、压缩和解压缩、格式转换等功能。

2.7 应用层

功能:这是最接近用户的层次。为用户提供直接的网络服务接口,是用户与网络之间的接口层。它包含了各种应用程序协议,如 HTTP(用于网页浏览)、SMTP(用于电子邮件发送)、DNS(用于域名解析)等,不同的应用层协议为不同的网络应用提供支持。

OSI 七层模型的每一层都为上一层提供服务,并依赖下一层的服务来实现自身功能,各层之间相互协作,共同完成网络通信的任务。

三、网络应用程序通信流程

应用程序A将数据hello传给网络上另一台主机上的程序B,数据从应用层发送给传输层,传输层在数据前加上tcp协议或者udp协议的报头,将整条报文发送给网络层,网络层添加自己的ip报头,再将整条数据发送给数据链路层,数据链路层将数据分装成能再网络中国独立传输的数据单元,即数据帧。封装好的数据帧通过网络传输到另一台主机,然后从下层依次拆包,将数据部分送往应用层,应用层B就得到了hello。

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

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

相关文章

Windows下导入文件中的环境变量

在Windows批处理脚本(.bat)中,通过文件获取并设置环境变量通常涉及逐行读取文件内容并动态赋值给变量。以下是具体实现方法及示例: 一、从文件读取变量并设置到环境变量 假设有一个配置文件(如env_config.txt&#xf…

WebSocket 实现数据实时推送原理

WebSocket 实现数据实时推送的核心机制在于其全双工通信能力和持久的连接特性。以下是其工作原理的详细步骤: 1. 握手阶段(HTTP 升级协议) 客户端发起请求:通过发送一个带有特殊头部的 HTTP 请求,请求协议升级。 GET …

Linux操作系统学习之---进程状态

目录 明确进程的概念: Linux下的进程状态: 虚拟终端的概念: 见一见现象: 用途之一 : 结合指令来监控进程的状态: 和进程强相关的系统调用函数接口: getpid()和getppid(): fork(): fork函数创建子进程的分流逻辑: 进程之间具有独立性: 进程中存在的写时拷贝: 见一见进程状态…

何小鹏在得意的笑

"小鹏汽车率先迈出了造车新势力出海一大步" 作者 | 魏强 编辑 | 卢旭成 4月15日,小鹏汽车在香港举行小鹏全球热爱之夜和2025首款全球旗舰小鹏X9上市发布会。 当小鹏汽车创始人何小鹏把香车X9交付给香港首批车主的时候,脸上露出经典的笑脸。…

@Autowird 注解与存在多个相同类型对象的解方案

现有一个 Student 类,里面有两个属性,分别为 name 和 id;有一个 StuService 类,里面有两个方法,返回值均为类型为 Student 的对象;还有一个 StuController 类,里面有一个 Student 类型的属性&am…

黑马商城项目(三)微服务

一、单体架构 测试高并发软件 二、微服务 三、SpringCloud 四、微服务拆分 黑马商城模块: 服务拆分原则: 拆分服务: 独立project: maven聚合: 拆分案例: 远程调用: package com.hmall.cart.…

PyTorch:学习 CIFAR-10 分类

🔍 开始你的图像分类之旅:一步一步学习 CIFAR-10 分类 图像分类是计算机视觉中最基础的任务之一,如果你是初学者,那么以 CIFAR-10 为训练场是一个不错的选择。本文一步一步带你从零开始,学习如何用深度学习模型实现图…

3.学习笔记--Spring-AOP总结(p39)-Spring事务简介(P40)-Spring事务角色(P41)-Spring事务属性(P42)

1.AOP总结:面向切面编程,在不惊动原始基础上为方法进行功能增强。 2.AOP核心概念: (1)代理:SpringAOP的核心是采用代理模式 (2)连接点:在SpringAOP中,理解为任…

数据库-day06

一、实验名称和性质 分类查询 验证 综合 设计 二、实验目的 1.掌握数据查询的Group by ; 2. 掌握聚集函数的使用方法。 三、实验的软硬件环境要求 硬件环境要求: PC机(单机) 使用的软件名称、版本号以及模块: …

看门狗定时器(WDT)超时

一、问题 Arduino 程序使用<Ticker.h>包时&#xff0c;使用不当情况下&#xff0c;会导致“看门狗WDT超时” 1.1问题控制台报错 在串口监视器显示 --------------- CUT HERE FOR EXCEPTION DECODER ---------------Soft WDT resetException (4): epc10x402077cb epc2…

AI在多Agent协同领域的核心概念、技术方法、应用场景及挑战 的详细解析

以下是 AI在多Agent协同领域的核心概念、技术方法、应用场景及挑战 的详细解析&#xff1a; 1. 多Agent协同的定义与核心目标 多Agent系统&#xff08;MAS, Multi-Agent System&#xff09;&#xff1a; 由多个独立或协作的智能体&#xff08;Agent&#xff09;组成&#xff…

Wireshark TS | 异常 ACK 数据包处理

问题背景 来自于学习群里群友讨论的一个数据包跟踪文件&#xff0c;在其中涉及到两处数据包异常现象&#xff0c;而产生这些现象的实际原因是数据包乱序。由于这两处数据包异常&#xff0c;都有点特别&#xff0c;本篇也就其中一个异常现象单独展开说明。 问题信息 数据包跟…

【React】项目的搭建

create-react-app 搭建vite 搭建相关下载 在Vue中搭建项目的步骤&#xff1a;1.首先安装脚手架的环境&#xff0c;2.通过脚手架的指令创建项目 在React中有两种方式去搭建项目&#xff1a;1.和Vue一样&#xff0c;先安装脚手架然后通过脚手架指令搭建&#xff1b;2.npx create-…

深入浅出 NVIDIA CUDA 架构与并行计算技术

&#x1f407;明明跟你说过&#xff1a;个人主页 &#x1f3c5;个人专栏&#xff1a;《深度探秘&#xff1a;AI界的007》 &#x1f3c5; &#x1f516;行路有良友&#xff0c;便是天堂&#x1f516; 目录 一、引言 1、CUDA为何重要&#xff1a;并行计算的时代 2、NVIDIA在…

pytorch学习02

自动微分 自动微分模块torch.autograd负责自动计算张量操作的梯度&#xff0c;具有自动求导功能。自动微分模块是构成神经网络训练的必要模块&#xff0c;可以实现网络权重参数的更新&#xff0c;使得反向传播算法的实现变得简单而高效。 1. 基础概念 张量 Torch中一切皆为张…

Java虚拟机(JVM)平台无关?相关?

计算机的概念模型 计算机实际上就是实现了一个图灵机模型。即&#xff0c;输入参数&#xff0c;根据程序计算&#xff0c;输出结果。图灵机模型如图。 Tape是输入数据&#xff0c;Program是针对这些数据进行计算的程序&#xff0c;中间横着的方块表示的是机器的状态。 目前使…

satoken的奇奇怪怪的错误

发了 /user/getBrowseDetail和/user/getResponDetail&#xff0c;但为什么进入handle里面有三次&#xff1f;且第一次的handle类型是AbstractHandleMapping$PreFlightHttpRequestHandlerxxx,这一次进来的时候flag为false&#xff0c;StpUtils.checkLogin抛出了异常 第二次进来的…

【KWDB 创作者计划】_上位机知识篇---SDK

文章目录 前言一、SDK的核心组成API(应用程序接口)库文件(Libraries)开发工具文档与示例依赖项与环境配置二、SDK的作用简化开发流程确保兼容性与稳定性加速产品迭代功能扩展与定制三、SDK的典型应用场景硬件设备开发操作系统与平台云服务与API集成游戏与图形开发四、SDK与…

golang处理时间的包time一次性全面了解

本文旨在对官方time包有个全面学习了解。不钻抠细节&#xff0c;但又有全面了解&#xff0c;重点介绍常用的内容&#xff0c;一些低频的可能这辈子可能都用不上。主打一个花最少时间办最大事。 Duration对象: 两个time实例经过的时间,以长度为int64的纳秒来计数。 常见的durati…

PyCharm Flask 使用 Tailwind CSS 配置

使用 Tailwind CSS 步骤 1&#xff1a;初始化项目 在 PyCharm 终端运行&#xff1a;npm init -y安装 Tailwind CSS&#xff1a;npm install -D tailwindcss postcss autoprefixer初始化 Tailwind 配置文件&#xff1a;npx tailwindcss init这会生成 tailwind.config.js。 步…