总结网络中的一些基本概念

1. IP地址

  描述一个设备在网络上的位置,而且计算机是通过数字来描述IP地址的。例如(生活中的地址)

2. 端口号

  描述一个主机上的哪个应用程序,有了IP可以确定主机,但是一个主机上可能有很多程序在使用网络,主机收到网络数据需要区分出是交给哪个程序使用数据,每个程序在进行网络通信过程中,都需要有一个端口号(可能是用户手动指定的,也肯能是系统自动分配的)同一个主机上,程序之间使用的端口号还不能冲突(端口号也是一个整数)

3. 协议

  协议,就只是一种通信过程中的约定,发送方和接受方需要提前商量好,数据的格式,才能确保俩者之间能够正确进行沟通,通信双方的俩个计算机,也是自于各种不同的厂商,为了确保任意俩个计算机之间能够通信,也就要求这些计算机都需要遵守相同的网络协议,协议就是一种约定,确保不同的厂商之间生产出的设备能够相互配合。

4.协议分层

   协议分层的初心是为了让一个复杂的一个协议变成更多简单的多个协议,还带了一些好处。

  1.上层协议直接使用下层协议即可,不需要了解下层协议的细节。(相当于下层协议把细节封装好了)

2.某一层的协议进行替换之后,对于其他层没啥影响。 

 

  分层的作用:分层最大的好处,类似于面向接口编程:定义好两层间的接口规范,让双方遵循这个规范来对接。 在代码中,类似于定义好一个接口,一方为接口的实现类(提供方,提供服务),一方为接口的使用类 (使用方,使用服务):1. 对于使用方来说,并不关心提供方是如何实现的,只需要使用接口即可 2.对于提供方来说,利用封装的特性,隐藏了实现的细节,只需要开放接口即可。

5. 五元组

TCP/IP 协议中,用五元组来标识一个网络通信:
  1. IP :标识源主机
  2. 源端口号:标识源主机中该次通信发送数据的进程
  3. 目的 IP :标识目的主机
  4. 目的端口号:标识目的主机中该次通信接收数据的进程
  5. 协议号:标识发送进程和接收进程双方约定的数据格式

6. OSI 七层网络协议

  最初大佬们设计的时候给出的方案,后来在实施过程中太麻烦了,就简化成了五层

   这个是网上找的七层的图

7.TCP/IP 五层网络协议(四层) 

  把osi简化了 

1. 应用层:程序拿到数据之后用来干啥,解决什么问题

2. 传输层:负责关注网路数据包,起点和终点 端到端之间的传输

3. 网络层:负责关注,起点终点之间要走哪条路

4. 数据链路层:负责俩个相邻之间的传输

5. 物理层:通信过程中的基础设施

8.网络分层对应

  在我们进行数据传输的时候,网络的分层需要对应,物理层就对应物理层,数据链路层就对数据链路层就以TCP/IP协议来举例子。

9.封装

 

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

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

相关文章

CloudPanel RCE漏洞复现(CVE-2023-35885)

0x01 产品简介 CloudPanel 是一个基于 Web 的控制面板或管理界面,旨在简化云托管环境的管理。它提供了一个集中式平台,用于管理云基础架构的各个方面,包括虚拟机 (VM)、存储、网络和应用程序。 0x02 漏洞概述 由于2.3.1 之前的 CloudPanel 具有不安全的文件管理器 cook…

Docker技巧汇总

Docker技巧汇总 前言使用流程安装配置镜像管理创建并运行容器使用容器/常用命令导出和导入查看元数据挂载数据卷端口映射/转发VS Code连接Docker 前言 Docker 是一个开源的应用容器引擎,可以让开发者打包他们的应用以及依赖包到一个轻量级、可移植的容器中&#xf…

go语言(八)---- map

map的声明方式有以下三种。 package mainimport "fmt"func main() {//第一种声明方式//声明map1是一个map类型,key是String,value是Stringvar myMap1 map[string] stringif myMap1 nil {fmt.Println("myMap1 是一个空map")}//在使…

AI时代—ChatGPT-4.5的正确打开方式

前言 前些天发现了一个巨牛的人工智能学习网站,通俗易懂,风趣幽默,忍不住分享一下给大家:https://www.captainbed.cn/z ChatGPT体验地址 文章目录 前言4.5key价格泄漏ChatGPT4.0使用地址ChatGPT正确打开方式最新功能语音助手存档…

Python初识——小小爬虫

一、找到网页端url 打开浏览器,打开百度官方网页点击图片,打开百度图片 鼠标齿轮向下滑,点击宠物图片 进入宠物图片网页,在网页空白处点击鼠标右键,弹出的框中最下方显示“检查”选项,点击(我是…

搭建一个JavaWeb项目流程详解

搭建一个JavaWeb项目流程 本文致力于,让编程者一步步明白书写一个JavaWeb项目应该做些什么,梳理清楚流程框架,需要的jar包,同时手写了一个分页工具类也在其中,让你在编程中更加丝滑。 1.src\main\java\com\einmeer\qia…

springboot中一些注解

springboot中一些注解 1:项目启动时会去扫描启动的注解,一般是启动时就想要被加载的方法: 2:springBoot中MSApplication启动类的一些其他注解: EnableAsync:这是一个Spring框架的注解,它用于开启方法异步调用的功能。当…

【MySQL自身的性能优化】InnoDB 的 Buffer Pool

这里写目录标题 一、引入缓存的重要性二、InnoDB 的 Buffer Pool1. Buffer Pool 内部组成2. free 链表管理空闲页3. flush 链表管理脏页4. LRU 链表提高缓存命中那咱需要咋地解决预读问题呢?那咱需要咋地解决 Buffer Pool 污染问题呢? 5. 脏页什么时候被…

pyqt5+python子域名扫描程序

import sysfrom PyQt5 import uic from PyQt5.QtWidgets import * #requests库内置了不同的方法来发送不同类型的http请求 import requests#BS主要功能是从网页抓取数据,提供一些简单的、python 式的函数用来处理导航、搜索、修改分析树等功能 from bs4 import Beau…

WebSocket协议、与HTTP对比

WebSocket 也可前往本人的个人网站进行阅读 WebSocket 和 HTTP WebSocket和HTTP协议一样,都是基于TCP协议实现的应用层协议。 HTTP协议通常是单边通信,主要用于传输静态文档、请求-响应通信,适用于Web浏览器加载网页、API调用等。然而Web…

NX二次开发获取圆弧的四个象限点

我是用来用来画水路线框的UF_MODL_ask_curve_points()可以按弧长或者弧度获取曲线的等分点,取PI/2的圆弧,即将圆弧四等分,你也可以取任意等分点。 int GetArcPoint(tag_t arc_tag,double point[4][3]) {if(arc_tag0)r…

KubeSphere 核心实战之二【在kubesphere平台上部署redis】(实操篇 2/4)

文章目录 1、登录kubesphere平台2、redis部署分析3、redis容器启动代码4、kubesphere平台部署redis4.1、创建redis配置集4.2、创建redis工作负载4.3、创建redis服务 5、测试连接redis 在kubesphere平台上部署redis应用都是基于redis镜像进行部署的,所以所有的部署操…

DRmare Music Converter - 一款高效的音乐转换工具,让您的音乐无处不在!

DRmare Music Converter是一款专业的音乐转换工具,旨在帮助用户更方便地管理和享受音乐。无论您是使用Mac还是Windows操作系统,DRmare Music Converter都能为您提供高效、便捷的音乐转换体验。 DRmare Music Converter支持多种音频格式的转换&#xff0…

伊恩·斯图尔特《改变世界的17个方程》波动方程笔记

主要是课堂的补充(yysy,我觉得课堂的教育模式真有够无聊的,PPT、写作业、考试,感受不到知识的魅力。 它告诉我们什么? 小提琴琴弦上某个小段的加速度,与相邻段相对于该段的平均位移成正比。 为什么重要&…

Studio One2024免费版下载及入门教程分享

众所周知,Studio One是一个专业的音频编辑软件,近几年随着音视频剪辑越来越火,Studio One也逐渐被人们所熟知。最近,就有许多小伙伴私信我,寻求Studio One的入门教程。 这不,今天小编就给大家带来了音频剪…

一个好用的工具,对网工来说是绝杀技!

上午好,我是老杨。 提到用人,很多单位和管理者第一反应都是应聘者的能力。能力到底怎么界定,其实每个人都有不同的判定标准。 在我看来,做事专注,且能尽可能“偷懒”的网工 ,就是我个人筛选员工的标准。 …

Python seaborn库的边框设置(Seaborn篇-02)

Python seaborn库的边框设置(Seaborn篇-02)         🍹博主 侯小啾 感谢您的支持与信赖。☀️ 🌹꧔ꦿ🌹꧔ꦿ🌹꧔ꦿ🌹꧔ꦿ🌹꧔ꦿ🌹꧔ꦿ🌹꧔ꦿ🌹꧔ꦿ🌹꧔ꦿ🌹꧔ꦿ🌹꧔ꦿ🌹꧔ꦿ🌹꧔ꦿ🌹꧔ꦿ🌹꧔ꦿ🌹꧔ꦿ🌹꧔ꦿ🌹꧔ꦿ🌹꧔ꦿ🌹꧔…

区间预测 | Matlab实现BiLSTM-Adaboost-ABKDE的集成双向长短期记忆网络自适应带宽核密度估计多变量回归区间预测

区间预测 | Matlab实现BiLSTM-Adaboost-ABKDE的集成双向长短期记忆网络自适应带宽核密度估计多变量回归区间预测 目录 区间预测 | Matlab实现BiLSTM-Adaboost-ABKDE的集成双向长短期记忆网络自适应带宽核密度估计多变量回归区间预测效果一览基本介绍程序设计参考资料 效果一览 …

RT-Thread Studio学习(十七)虚拟串口

RT-Thread Studio学习(十七)虚拟串口 一、简介二、新建RT-Thread项目并使用外部时钟三、启用USB设备功能四、测试 一、简介 本文将基于STM32F407VET芯片介绍如何在RT-Thread Studio开发环境下实现USB虚拟串口。 硬件及开发环境如下: OS WI…

AI学习(2): PyTorch2.x环境安装

1.介绍 注:下面是对PyTorch进行了简单的介绍,不喜欢可直接跳过。 1.1 什么是PyTorch PyTorch是一个由Facebook人工智能研究团队开发的开源机器学习库,用于开发人工智能和深度学习的应用程序。PyTorch支持广泛的机器学习和深度学习算法,并基于…