网络基础概念

目录

协议分层

OSI七层模型

TCP/IP五层模型

MAC地址

IP地址

IP地址和MAC地址的区别

端口号

端口号范围划分

理解套接字socket 

UDP协议概念

TCP协议概念 

网络字节序


协议分层

协议本质上也是一种软件。在设计时,为了更好地实现模块化和解耦合,协议也被设计成层状结构。

OSI七层模型

OSI七层模型是国际标准化组织(ISO)制定的一个网络通信模型,用于规范网络通信的层次结构。

它将网络通信过程划分为七个层次,每一层负责不同的功能,从底层的物理传输到上层的应用服务。

物理层:负责在物理介质上传输原始的比特流。

数据链路层:将物理层的原始比特流组织成帧,提供节点到节点的可靠传输,并进行差错检测和纠正。

网络层:负责将数据从源主机传输到目标主机。(IP)

传输层:负责端到端的数据传输,确保数据的可靠性和完整性。(UDP、TCP)

会话层:负责建立、管理和终止会话。

表示层:负责数据的表示和转换。

应用层:为用户提供网络应用服务。(HTTP、FTP)

 

TCP/IP五层模型

TCP/IP五层模型是现代网络通信中广泛使用的协议模型,它将网络通信过程划分为五个层次,每一层负责不同的功能。

它是基于实际的网络应用而设计的,与 OSI 七层模型相比,它更加简洁且更贴近实际的网络实现。

物理层:负责在物理介质上传输原始的比特流。

数据链路层:负责在物理介质上传输数据帧。

网络层:负责将数据从源主机传输到目标主机。

传输层:负责端到端的数据传输,确保数据的可靠性和完整性。

应用层: 为用户提供网络应用服务。

MAC地址

MAC地址是网络设备在链路层上用于唯一标识设备的地址

它是一个48位的地址,通常以12位十六进制数表示,例如:08:00:22:01:fb:19

MAC地址是被烧录在网卡中的,在网卡出厂时就已经确定了,不能修改,并且是唯一的(虚拟机中的MAC地址不是真实的MAC地址,可能会冲突)

在局域网通信过程中,主机通过检查报文中的目标MAC地址来判断该报文是否是发给自己的。

 

每一层都有协议,我们要将数据进行上述流程传输的时候,要进行封装和解包

这些数据我们把它们叫做报文

报文 = 报头 + 有效载荷

每一层都要封装或解包,这个过程都是同层直接的交流,最终解包完我们就可以接受到我们想要的数据 

IP地址

IP地址是用于在网络层中唯一标识设备的地址,用来标识主机的唯一性

IP协议有两个版本,IPv4和IPv6,一般默认都是值得IPv4

IPv4的长度为32位(4字节),通常以点分十进制表示,例如:192.168.1.1

IP地址和MAC地址的区别

IP地址在整个路由中一直不变,MAC地址一直在变

目的IP是一种长远目标,MAC是下一阶段目标

目的IP是路径选择的重要依据,MAC地址是局域网转发的重要依据

端口号

端口号是计算机网络中用于标识特定进程或服务的数字标识符。 

端口号是一个2字节16位的整数

端口号用来标识一个进程,当前数据要交给哪一个进程来处理

一个端口号只能被一个进程占用

IP + 端口号能够标识网络上某一台主机的某一个进程

端口号范围划分

0 - 1023 是知名端口号,像HTTP、FTP、SSH这些被广泛应用的协议,它们的端口号是固定的

1024 - 65535是操作系统动态分配的端口号,客户端程序的端口号就是从这个范围里分配的 

理解套接字socket 

前面说了IP + 端口号就能表示互联网中唯一的一个进程了

所以网络通信的时候,本质是两个互联网进程代表来进行通信。所以网络通信的本质也是进程间通信。

我们把IP + 端口号(port)叫做套接字socket 

UDP协议概念

  • 传输层协议
  • 无连接
  • 不可靠传输
  • 面向数据报

TCP协议概念 

  • 传输层协议
  • 有连接
  • 可靠传输
  • 面向字节流

网络字节序

内存中的多字节数据相对于内存地址有大端小端之分,磁盘文件中、网络数据流中同样有大端小端之分

发送主机将发送缓冲区中的数据按照内存地址从低到高的顺序发送出去,接收主机则把从网络上接收到的字节依次按照内存地址从低到高的顺序保存到接收缓冲区中。

因此,网络数据流的地址规定为:先发送的数据对应低地址,后发送的数据对应高地址。

TCP/IP协议规定,网络数据流应采用大端字节序,也就是低地址处放置高字节。

无论这台主机是大端机还是小端机,都要按照大端来发送/接收数据。如果是小端,那么就需要先将数据转为大端 


完 

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

CSS Grid布局:从入门到实战

CSS Grid布局:从入门到实战 一、初识Grid布局 还在为网页布局发愁吗?Flexbox虽然好用,但当遇到复杂布局时,CSS Grid才是真正的王者。Grid布局是CSS中最强大的二维布局系统,它就像一张无形的网格纸,让我们…

[Linux] vim及gcc工具

目录 一、vim 1.vim的模式 2.vim的命令集 (1):命令模式 (2):底行模式 3.vim配置 二、gcc 1.gcc格式及选项 2.工作布置 三、自动化构建工具makefile 1.基本使用方法 2.配置文件解析 3.拓展 在linux操作系统的常用工具中,常用vim来进行程序的编写&#xff1b…

LLaMA-Factory 微调 Qwen2-7B-Instruct

一、系统环境 使用的 autoDL 算力平台 1、下载基座模型 pip install -U huggingface_hub export HF_ENDPOINThttps://hf-mirror.com # (可选)配置 hf 国内镜像站huggingface-cli download --resume-download shenzhi-wang/Llama3-8B-Chinese-Chat -…

Hapi.js知识框架

一、Hapi.js 基础 1. 核心概念 企业级Node.js框架:由Walmart团队创建,现由社区维护 配置驱动:强调声明式配置而非中间件 插件架构:高度模块化设计 安全优先:内置安全最佳实践 丰富的生态系统:官方维护…

串口模块详细讲解

目录 1.串口介绍 2。STC-ISP串口功能介绍 3.接口及引脚定义 4.串口知识点 4.1 硬件电路 4.2 电平标准 4.3 相关术语 4.4 常见通信接口比较 4.5 51单片机的UART 4.6 串口参数及时序图 4.7 串口模式图 4.8 串口和中断系统 4.9 串口相关寄存器 5.串口向电脑发送信息…

计算机视觉----时域频域在图像中的意义、傅里叶变换在图像中的应用、卷积核的频域解释

1、时域(时间域)——自变量是时间,即横轴是时间,纵轴是信号的变化。其动态信号x(t)是描述信号在不同时刻取值的函数。 2、频域(频率域)——自变量是频率,即横轴是频率,纵轴是该频率信号的幅度,也就是通常说…

鸿蒙 核心与非核心装饰器

HarmonyOS NEXT 版本中完整的 ArkTS 装饰器分类整理(含核心与非核心装饰器,已剔除废弃特性) 一、核心装饰器(Essential Decorators) 1. 组件基础 装饰器功能Entry应用入口组件,每个模块必须且仅有一个&am…

Spring Boot之Web服务器的启动流程分析

如何判断创建哪种web容器:servlet?reactive? 我们在启动Spring Boot程序的时候,会使用SpringApplication.run方法来启动,在启动流程中首先要判断的就是需要启动什么类型的服务器,是servlet?或者…

影刀RPA开发-采集爬取京东读书书籍

1.采集京东读书 我们先梳理下操作流程 首先,在首页输入要爬取的书籍名称,输入后,搜索 出现搜索结果后,会有很多版本的书籍 我们点击热门筛选,让书记排序,这样可以将最符合我们需求的书籍显示在第一位 点击…

VScode 的插件本地更改后怎么生效

首先 vscode 的插件安装地址为 C:\Users\%USERNAME%\.vscode\extensions 找到你的插件包进行更改 想要打印日志,用下面方法 vscode.window.showErrorMessage(console.log "${name}" exists.); 打印结果 找到插件,点击卸载 然后点击重新启动 …

前端项目2-01:个人简介页面

目录 一.代码显示 二.效果图 三.代码分析 1. 文档声明和 HTML 基本结构 2. CSS 样式部分 全局样式 body 样式 页面主要容器 box 样式 左侧区域 l 样式 右侧区域 r 样式 左侧区域中头像容器 to 样式 头像图片样式及悬停效果 左侧区域中个人信息容器 tit 样式 个人…

针对面试-mysql篇

1.如何定位慢查询? 1.1.介绍一下当时产生问题的场景(我们当时的接口测试的时候非常的慢,压测的结果大概5秒钟)),可以监测出哪个接口,最终因为是sql的问题 1.2.我们系统中当时采用了运维工具(Skywalkin就是2秒,一旦sql执行超过2秒…