网络初识(概念入门)

目录

1.局域网VS广域网

1.1局域网

 1.2广域网

2.五元组

2.1  IP和端口 

2.1.1  IP

2.1.2端口号

 2.2协议

3.协议分层

4. TCP/IP五层模型

5.封装和分用

5.1封装

 5.2分用


1.局域网VS广域网

1.1局域网

简单介绍:指在某一特定区域内由多台计算机组成的互联网组。

(1)局域网,即 Local Area Network ,简称 LAN 。 Local 即标识了局域网是本地,局部组建的一种私有网络。 局域网内的主机之间能方便的进行网络通信,又称为内网;局域网和局域网之间在没有连接的情况下, 是无法通信的。
(2)局域网组建网络的方式有很多种:
1. 基于网线直连
2. 基于集线器组建
   3.基于交换机组建
   4.基于交换机和路由器组建

 

 1.2广域网

简单介绍: 通过路由器,将多个局域网连接起来,在物理上组成很大范围的网络,就形成了广域网。

广域网,即 Wide Area Network,简称WAN

广域网内部的 局域网都属于其子网。

 


2.五元组

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

2.1  IP和端口 

2.1.1  IP
IP 地址主要用于标识网络主机、其他网络设备(如路由器)的网络地址。
简单说, IP 地址用于定位主机 的网络地址
格式
(1) IP地址是一个32位的二进制数 ,通常被分割为 4 “8 位二进制数 (也就是 4 个字节),如: 01100100.00000100.00000101.00000110。
(2) 点分十进制 的方式来表示,即 a.b.c.d 的形式( a,b,c,d 都是 0~255 之间的十进制整数)。如: 100.4.5.6
2.1.2端口号

 引入:

IP 地址解决了网络通信时,定位网络主机的问题,但是还存在一个问题,传输到目的主机后,由哪个进 程来接收这个数据呢?这就需要端口号来标识。
端口号可以标识主机中发送数据、接收数据的进程。
简 单说:端口号用于定位主机中的进程
格式
端口号是0~65535范围的数字 ,在网络通信中,进程可以通过绑定一个端口号,来发送及接收网络数 据。  
注意事项
两个不同的进程,不能绑定同一个端口号,但一个进程可以绑定多个端口号。

 

 IP和端口的概念加深:

 2.2协议

 引入:

(1)有了 IP 地址和端口号,可以定位到网络中唯一的一个进程,但还存在一个问题,网络通信是基于二进制 0/1数据来传输,如何告诉对方发送的数据是什么样的呢?
(2)网络通信传输的数据类型可能有多种:图片,视频,文本等。同一个类型的数据,格式可能也不同,如 发送一个文本字符串“ 你好! :如何标识发送的数据是文本类型,及文本的编码格式呢?

基于网络数据传输,需要使用协议来规定双方的数据格式 

协议,网络协议的简称
网络协议是网络通信(即网络数据传输) 经过的所有网络设备 都必须共同遵从的一组约定、规则。如:怎么样建立连接、怎么样互相识别等。

 通常由三要素组成:

1. 语法:即数据与控制信息的结构或格式;
2. 语义:即需要发出何种控制信息,完成何种动作以及做出何种响应;
3. 时序,即事件实现顺序的详细说明。
协议(protocol)最终体现为: 在网络上传输的数据包的格式。

 


3.协议分层

引入:

网络通信过程中,需要涉及到的细节方方面面,如果只有一个协议来完成通信,则这个协议无比复杂,非常不利于学习和维护。故我们需要把一个庞大,复杂的协议,拆分成一个小而美的协议。

通信协议拆分后归类形成层状结构。

细节:

(1)把功能定位相似的协议放在同一层。

(2)上层协议调用下层协议的功能,下层协议给上层协议提供服务。

(3)只有相邻的层次之间可以进行交互。 

分层的作用

(1)最大的好处 :定义好两层间的接口规范,让双方遵循这个规范来对接, 类似于面向接口编程

        在代码中,类似于定义好一个接口,一方为接口的实现类(提供方,提供服务),一方为接口的使用类 (使用方,使用服务)
(2)上层协议自接使用下层协议(已封装好),不需要理解下层协议的细节。
(3)某一层的协议进行封装之后,对于其它层没影响。

4. TCP/IP五层模型

TCP/IP 是一组协议的代名词,它还包括许多协议,组成了 TCP/IP 协议簇。
TCP/IP 通讯协议采用了 5 层的层级结构,每一层都呼叫它的下一层所提供的网络来完成自己的需求。
应用层:负责应用程序间沟通,关注的是 传输的数据在应用程序中如何使用
传输层:负责两台主机之间的数据传输。 关注的是传输的起点和终点
网络层 关注的是通信中的数据规划
数据链路层:负责设备之间的数据帧的传送和识别。 关注的是相邻结点的通信细节
物理层 :负责光 /电信号的传递方式。 是网络通信的基础设施

 

物理层我们考虑的比较少。因此很多时候也可以称为 TCP/IP 四层模型。
网络设备所在分层
(1)对于一台 主机 ,它的 操作系统 内核实现了从传输层到物理层的内容,也即是 TCP/IP 五层模型的 四层
(2)对于一台 路由器 ,它实现了从网络层到物理层,也即是 TCP/IP 五层模型的 下三层
(3)对于一台 交换机 ,它实现了从数据链路层到物理层,也即是 TCP/IP 五层模型的 下两层
对于 集线器 ,它只实现了 物理层

网络分层对应
网络数据传输时,经过不同的网络节点(主机、路由器)时,网络分层需要对应。
以下为同一个网段内的两台主机进行文件传输:

 


5.封装和分用

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

我们通过QQ发消息的例子来介绍封装和分用

A通过QQ给B发送一个hello

5.1封装

每一层的数据都会组装交给下一层。

交给下一层:下层提供api,上层调用api,把组装的数据当作参数传递。

 

 

 5.2分用

封装的逆过程

 

补充:

交换机或路由器的封装分用过程也同样适用。

只是 封装分用的程度不同。

对于一台 路由器 ,它实现了从网络层到物理层,也即是 TCP/IP 五层模型的 下三层
对于一台 交换机 ,它实现了从数据链路层到物理层,也即是 TCP/IP 五层模型的 下两层

总结:

 


以上为我个人的小分享,如有问题,欢迎讨论!!! 

都看到这了,不如关注一下,给个免费的赞 

 

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

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

相关文章

vue3个人网站电子宠物

预览 具体代码 Attack.gif Attacked.gif Static.gif Walk.gif Attack.gif Static.gif Attacked.gif Walk.gif <template><div class"pet-container" ref"petContainer"><p class"pet-msg">{{ pet.msg }}</p><img re…

vscode与vue/react环境配置

一、下载并安装VScode 安装VScode 官网下载 二、配置node.js环境 安装node.js 官网下载 会自动配置环境变量和安装npm包(npm的作用就是对Node.js依赖的包进行管理)&#xff0c;此时可以执行 node -v 和 npm -v 分别查看node和npm的版本号&#xff1a; 配置系统变量 因为在执…

【C++进阶】STL容器--list底层剖析(迭代器封装)

目录 前言 list的结构与框架 list迭代器 list的插入和删除 insert erase list析构函数和拷贝构造 析构函数 拷贝构造 赋值重载 迭代器拷贝构造、析构函数实现问题 const迭代器 思考 总结 前言 前边我们了解了list的一些使用及其注意事项&#xff0c;今天我们进一步深入…

LeetCode53题:最大子数组和(python3)

代码思路&#xff1a; 动态规划&#xff0c;使用动态规划如果上一个数是大于0&#xff0c;则加上&#xff1b;如果小于0直接用0。这样做的好处就是最终直接是最大子数组和。 class Solution:def maxSubArray(self, nums: List[int]) -> int:for i in range(1,len(nums)):nu…

ubuntu+QT+ OpenGL环境搭建和绘图

一&#xff0c;安装OpenGL库 安装OpenGL依赖项&#xff1a;运行sudo apt install libgl1-mesa-glx命令安装OpenGL所需的一些依赖项。 安装OpenGL头文件&#xff1a;运行sudo apt install libgl1-mesa-dev命令来安装OpenGL的头文件。 安装GLUT库&#xff1a;GLUT&#xff08;Ope…

express+mysql+vue,从零搭建一个商城管理系统5--用户注册

提示&#xff1a;学习express&#xff0c;搭建管理系统 文章目录 前言一、新建user表二、安装bcryptjs、MD5、body-parser三、修改config/db.js四、新建config/bcrypt.js五、新建models文件夹和models/user.js五、index.js引入使用body-parser六、修改routes/user.js七、启动项…

数字化运维与AIOps

干掉传统运维的不是devops&#xff0c;不是容器化&#xff0c;而是AI。随着未来基础设施的膨胀和复杂度急剧提升&#xff0c;人类运维能力已经显得力不从心。运维最终的归宿一定是人类决策&#xff0c;AI汇报与执行。 什么是数字化运维 数字化运维是一种基于信息技术手段数字化…

【GB28181】wvp-GB28181-pro部署安装教程(Ubuntu平台)

目录 前言1 安装依赖2 安装MySQL3 安装redis4 编译ZLMediaKit代码及依赖下载编译运行&#xff08;如果要运行wvp整个项目&#xff0c;这步可以先不执行&#xff09; 5 编译wvp-pro下载源码&#xff08;建议从github上下载&#xff0c;gitee上维护有时候不是很同步&#xff09;编…

USB Micro引脚及相应原理图绘制

前言&#xff1a;博主为实现绘制USB Micro输入口原理图&#xff0c;首先在 GD32F103XX的数据手册中找到引脚的功能描述&#xff0c;找到USBDM与USBDP功能&#xff0c;分别为引脚PA11与引脚PA12。然后进行相应的原理图绘制。 * USBDM。USBDM 引脚是与通用串行总线 (Universal Se…

Python 光速入门课程

首先说一下&#xff0c;为啥小编在即PHP和Golang之后&#xff0c;为啥又要整Python&#xff0c;那是因为小编最近又拿起了 " 阿里天池 " 的东西&#xff0c;所以小编又不得不捡起来大概五年前学习的Python&#xff0c;本篇文章主要讲的是最基础版本&#xff0c;所以比…

年龄性别预测4:C/C++实现年龄性别预测和识别(含源码,可实时预测)

年龄性别预测4&#xff1a;C/C实现年龄性别预测和识别(含源码&#xff0c;可实时预测) 目录 年龄性别预测4&#xff1a;C/C实现年龄性别预测和识别(含源码&#xff0c;可实时预测) 1.年龄性别预测和识别方法 2.人脸检测方法 3.年龄性别预测和识别模型(Python) &#xff0…

prometheus+grafana监控nginx的简单实现

1.编译安装NGINX 加入编译安装nginx-module-vts模块,目的是为了获取更多的监控数据(虚拟主机&#xff0c;upstream等) nginx下载 http://nginx.org/download/nginx-1.20.2.tar.gz nginx-module-vts下载 https://github.com/vozlt/nginx-module-vts/archive/refs/tags/v0.2…

【Docker】安装及相关的命令

目录 一 Docker简介 1.1 是什么 1.2 优缺点 1.3 应用场景 1.4 安装 二 命令 2.1 Docker基本命令 2.2 Docker镜像命令 2.3 Docker容器命令 一 Docker简介 1.1 是什么 Docker是一个开源的应用容器引擎&#xff0c;它基于Go语言实现&#xff0c;并利用操作系统本身已有的…

【亚马逊云】跨AWS账号创建复制规则同步S3存储桶中的数据

文章目录 注意事项一、创建存储桶【创建方&接收方完成操作】二、上传数据至bucket-transmit待同步测试三、创建复制规则【创建方完成操作】四、接收复制的对象【接收方完成操作】五、创建复制任务【创建方操作】六、运行批处理操作【创建方完成操作】七、检查是否完成跨账号…

leetcode:134.加油站

解题思路&#xff1a;需要注意开始时的编号&#xff0c;有的可以走一圈&#xff0c;有的走不了 模拟过程&#xff1a;for循环主要是用来模拟线性的过程&#xff0c;而在这里它是环状的&#xff1b; 可以用暴力解法&#xff0c;但是在这里我用贪心来解决。 常见疑惑&#xff1…

Django配置静态文件

Django配置静态文件 目录 Django配置静态文件静态文件配置调用方法 一般我们将html文件都放在默认templates目录下 静态文件放在static目录下 static目录大致分为 js文件夹css文件夹img文件夹plugins文件夹 在浏览器输入url能够看到对应的静态资源&#xff0c;如果看不到说明…

网络安全之内容安全

内容安全 攻击可能只是一个点&#xff0c;防御需要全方面进行 IAE引擎 DFI和DPI技术--- 深度检测技术 DPI --- 深度包检测技术--- 主要针对完整的数据包&#xff08;数据包分片&#xff0c;分段需要重组&#xff09;&#xff0c;之后对 数据包的内容进行识别。&#xff08;应用…

力扣5. 最长回文子串(双指针、动态规划)

Problem: 5. 最长回文子串 文章目录 题目描述思路复杂度Code 题目描述 思路 思路1&#xff1a;双指针 1.我们利用双指针从中间向两边扩散来判断是否为回文串&#xff0c;则关键是找到以s[i]为中心的回文串&#xff1b; 2.我们编写一个函数string palindrome(string &s, in…

大数据可视化的设计规范,全面剖析,很实用。

大数据可视化的设计规范需要考虑到数据量大、复杂度高、数据类型多样等特点。以下是一份常见的大数据可视化设计规范&#xff0c;供您参考&#xff1a; 设计原则 简单易用&#xff1a;保证用户操作简单、直观&#xff0c;降低用户认知负担。数据准确&#xff1a;保证数据准确…

数据结构-关键路径

介绍 在AOV网的基础上&#xff0c;如果用对应边来表示活动持续时间&#xff0c;这种有向图被称为AOE网在AOE网中&#xff0c;入度为0的为源点&#xff0c;出度为0的为汇点&#xff0c;整张网看做是一件事情完成的过程&#xff0c;那么这两个点就是事情的开始和结束。每个活动持…