网络基础(1)

目录:

1.了解局域网(LAN)和广域网(WAN)

2.认识“协议”

3.浅谈OSI七层模型

4.网络传输的基本流程

5.路由器这个设备

-------------------------------------------------------------------------------------------------------------------------

 1.局域网(LAN)和广域网(WAN)

局域网(LAN):通过交换机和路由器,将更多的计算机连接在一起;

广域网(WAN):将远隔千里之外的计算机连在一起

所谓“广域网”和“局域网”只是一个相对的概念,比如,我们有“天朝特色”的广域网,也可以看作是一个比较大的局域网

2.认识“协议”

“协议”是一种约定

计算机之间的传输媒介是光信号和电信号,通过“频率”和“强弱”来表示  0和1这样的信息,要想传递各种不同的信息,就需要约定好双方的数据格式

1.计算机的生厂商有很多

2.计算机操作系统,也有很多

3.计算机网络硬件设备,还是有很多

如何让这些不同厂商生产的计算机相互顺畅的通信??就需要有人站出来,约定一个共同的标准,大家来遵守,这就是网络协议

网络协议初识  ----->协议分层

通信的复杂,本质是和距离成正相关的!!

-----------------------------------------------------------------------------------------------------------------------

3.浅谈OSI七层模型

OSI七层网络模型称为开放式系统互联参考模型,是一个逻辑上的定义和规范

把网络从逻辑上分为7层,每一层都有相关、相对应的物理设备,比如路由器、交换机

它最大的优点是将服务、接口、和协议这三个概念明确地区分开来

但是,它即复杂又不实用,所以我们按照TCP/IP四层模型来讲解

TCP/IP五层模型

TCP/IP是一组协议的代名词,它还包括许多协议,组成了TCP/IP协议族

TCP/IP通讯协议采用了层的层级结构,每一层都呼叫它的下一层所提供的网络来完成自己的需求

物理层  : 负责光/电信号的传递方式,比如现在的以太网通用的网线(双绞线)

物理层的能力决定了最大传输速率,传输距离、抗干扰性等

数据链路层: 负责设备之间的数据帧的传送和识别  , 例如网卡设备的驱动、帧同步(就是说从网上检测到什么信号算新帧的开始)、冲突检测(如果检测到冲突就重发), 我们的局域网就是工作在数据链路层的(以太网  、 令牌环网 、无线LAN等标准),交换机工作在数据链路层

网络层: 负责地址管理和路由选择, 例如在IP协议中,通过IP地址来标识一台主机,并通过路由表的方式规划出两台主机之间的数据传输的线路(路由),路由器工作在网络层

传输层: 负责两台主机之间的数据传输,如传输控制协议(TCP) 能够确保数据可靠的从源主机发送到目标主机

应用层 : 负责应用层序间沟通,如简单的电子邮件传输(SMTP)、文件传输协议(FTP),我们的网络编程主要是针对应用层

对于一台主机,它的操作系统内核实现从传输层到物理层的内容

对于一台路由器,它实现了从网络层到物理层

对于一台交换机,它实现了从数据链路层到物理层

对于集线器  , 它只实现了物理层

4.网络传输的基本流程

我们先解决两台主机在同一个局域网是如何直接通信的

我们的网络在通信的过程中,也必须自顶向下把数据报文交付到最底层,在底层的以太网中跑完之后,在自底向上,再把数据交到你主机的应用层

------------------------------------------------------------------------------------------------------------------------------

报头相当于快递上的快递单号(对你来说单号有没有不重要,只要东西最后到你手上了即可,但是在传递的过程中一定是需要快递单号的,不然怎么知道目的地在哪里等相关信息)

协议报头,当上层数据交给下层之后,下层也是有自己的协议,下层需要做的就是把上层交过来的数据,结合自己这一层的报头,给数据多添加一部分报头数据,以供对方的同层协议,来进行解报和来对数据进行提取

报头是发送方和接收方互相传递属性字段的一个非常重要的概念

当对方的链路层,收到这样的一个数据帧时,同样也经过一样的过程向上进行交付(解包的过程)

最后在对方的应用层拿到了“你好”的数据

封装的本质   :   是添加报头

解包的本质   :   去掉报头,对报头进行分析

我们现在知道了,两台主机在同一局域网中的通信过程的了

我们还不知道我们的数据封装好之后,是如何通过局域网传给对方的主机的

如果当B和D在进行通信时,A也向这个局域网发送光电信号,A是个捣蛋分子,B刚给D发送了一个信号,局域网是共享的,A不断的向这个局域网当中发送信号,那么这时候就会将A发出的信号和B发出的信号揉在一起,那D都无法识别B的信息了--------------碰撞问题

如果碰撞了怎么办呢??  ------>      局域网会有碰撞避免的,等一等 ,在重发

局域网中我们标识主机的唯一性  : MAX地址(写入到网卡当中的地址)这个地址在全球范围内都是唯一的

路由器这个设备

当两台主机不在同一个局域网当中,要进行通信,就需要有路由器这个东西的存在

A主机不能直接通过网络把数据交付给B主机,A主机的局域网通信的标准是以太网,B主机的通信标准是令牌环网,他们两个用的标准不一样    ---  必须经过一个路由器这样的设备

路由器也是一台主机  ,  A主机和路由器是在同一个局域网的,所以A主机和路由器是在同一个局域网的,路由器和B主机也在同一个局域网,也是可以和B主机直接通信的,A和B不能直接通信,但是可以通过间接的方式进行通信

IP地址和MAX地址

A主机想把数据发给B主机,拿到B主机的MAX地址没有任何用,毕竟A没有办法直接向B主机直接通信,所以A主机要向B主机发起通信,只能拿到B主机的IP地址(A主机有的是方法拿到B主机的IP地址)  , 那么A主机只能用B主机的IP地址给B主机发信息了

MAX地址会随着我的位置,不断发生变化

在使用TCP/IP协议的网络中,IP协议及其向上的协议,看到的报文都是一样的。

不同的协议层对数据包有不同的称谓,在传输层叫做段,在网络层叫做数据报,在链路层叫做帧

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

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

相关文章

手写一个Webpack,带你了解构建流程

如果对前端八股文感兴趣,可以留意公重号:码农补给站,总有你要的干货。 前言 Webpack是一个强大的打包工具,拥有灵活、丰富的插件机制,网上关于如何使用Webpack及Webpack原理分析的技术文档层出不穷。最近自己也是发现…

回归预测 | Matlab实现PCA-PLS主成分降维结合偏最小二乘回归预测

回归预测 | Matlab实现PCA-PLS主成分降维结合偏最小二乘回归预测 目录 回归预测 | Matlab实现PCA-PLS主成分降维结合偏最小二乘回归预测效果一览基本介绍程序设计参考资料 效果一览 基本介绍 Matlab实现PCA-PLS主成分降维结合偏小二乘回归预测(完整源码和数据) 1.输…

【19】c++11新特性 —>线程异步

什么是异步? async的两种方式 //方式1 async( Function&& f, Args&&... args ); //方式2 async( std::launch policy, Function&& f, Args&&... args );函数参数: f:任务函数 Args:传递给f的参数 policy:可调用对象f的…

微信的通讯录联系人,有没有什么办法导出来做备份

6-10 这是可以做到的,并且很简单,对于需要把微信通讯录备份出来,或者离职交接的人来说,本文非常适合阅读,只是一个简单的方法,即可快速地把微信的通讯录搞出来,本质其实就是使用正确的工具就行…

C++指针访问数组 函数中用指针传参

用指针访问数组 在函数中用指针传参

2023 年最新腾讯官方 QQ 机器人(QQ 群机器人 / QQ 频道机器人)超详细开发教程

注册 QQ 开放平台账号 QQ 开放平台是腾讯应用综合开放类平台,包含 QQ 机器人、QQ 小程序、QQ 小游戏 等集成化管理,也就是说你注册了QQ 开放平台,你开发 QQ 机器人还是 QQ 小程序都是在这个平台进行部署上线和管理。 如何注册 QQ 开放平台账…

小程序day05

使用npm包 Vant Weapp 类似于前端boostrap和element ui那些的样式框架。 安装过程 注意:这里建议直接去看官网的安装过程。 vant-weapp版本最好也不要指定 在项目目录里面先输入npm init -y 初始化一个包管理配置文件: package.json 使用css变量定制vant主题样式&#xff0…

记误删Linux的python与yum

根据各路大神的方法整理一下自己解决的步骤 注意:不要手贱删python2!想用python3就安装并用python3命令 重新安装python2 查看系统版本: cat /etc/redhat-release进入默认的安装地址:注意查看一下rpm文件是不是删干净了&#x…

Python---列表的循环遍历,嵌套

循环遍历就是使用while或for循环对列表中的每个数据进行打印输出 while循环&#xff1a; list1 [貂蝉, 大乔, 小乔]# 定义计数器 i 0 # 编写循环条件 while i < len(list1):print(list1[i])# 更新计数器i 1 for循环&#xff08;推荐&#xff09;&#xff1a; list1 [貂…

Spring Boot 3.0正式发布及新特性解读

目录 【1】Spring Boot 3.0正式发布及新特性依赖调整升级的关键变更支持 GraalVM 原生镜像 Spring Boot 最新支持版本Spring Boo 版本版本 3.1.5前置系统清单三方包升级 Ref 个人主页: 【⭐️个人主页】 需要您的【&#x1f496; 点赞关注】支持 &#x1f4af; 【1】Spring Boo…

2023.11.8 hadoop学习-概述,hdfs dfs的shell命令

目录 1.分布式和集群 2.Hadoop框架 3.版本更新 4.hadoop架构详解 5.页面访问端口 6.Hadoop-HDFS HDFS架构 HDFS副本 7.SHELL命令 8.启动hive服务 1.分布式和集群 分布式: 多台服务器协同配合完成同一个大任务(每个服务器都只完成大任务拆分出来的单独1个子任务)集 群:…

phpstudy本地快速搭建网站,实现无公网IP外网访问

文章目录 [toc]使用工具1. 本地搭建web网站1.1 下载phpstudy后解压并安装1.2 打开默认站点&#xff0c;测试1.3 下载静态演示站点1.4 打开站点根目录1.5 复制演示站点到站网根目录1.6 在浏览器中&#xff0c;查看演示效果。 2. 将本地web网站发布到公网2.1 安装cpolar内网穿透2…

使用ESP8266构建家庭自动化系统

随着物联网技术的不断发展&#xff0c;家庭自动化系统变得越来越受欢迎。ESP8266是一款非常适合于构建家庭自动化系统的WiFi模块。它小巧、低成本&#xff0c;能够实现与各种传感器和执行器的连接&#xff0c;为家庭带来智能化、便利化的体验。在本篇文章中&#xff0c;我们将向…

有关python库

官方库 #1、导入某模块 import os #2、导入OS模块中的system方法 from os import system #3、导入某模块中的孙子模块中的xx方法&#xff0c;并重命名 from module.xx.xx import xx as rename #4、导入OS中的所有模块 #不用进行OS.method(),直接method&#xff08;&#xff0…

【网络】epoll理论 + 实践(LT模式服务器和ET模式服务器)详细讲解

epoll 前言正式开始epoll相关的接口epoll_createepoll_ctlepoll_wait epoll原理硬件上的数据是怎么交给上层的创建epoll模型epoll模型中的红黑树epoll中的就绪队列回调方法前面三个接口在模型中的体现一些细节 编写epoll服务器小组件正式开始编写对epoll接口进行封装epoll_crea…

API低代码开发应用场景

什么是API低代码开发平台 API低代码开发平台是一种基于低代码开发的技术平台&#xff0c;它可以帮助企业快速构建和部署API应用程序。该平台通过提供可视化的开发工具、预定义的组件和模板、自动化的代码生成等功能&#xff0c;使得开发者可以在不需要编写大量代码的情况下&am…

【Java】Netty创建网络服务端客户端(TCP/UDP)

&#x1f60f;★,:.☆(&#xffe3;▽&#xffe3;)/$:.★ &#x1f60f; 这篇文章主要介绍Netty创建网络服务端客户端示例。 学其所用&#xff0c;用其所学。——梁启超 欢迎来到我的博客&#xff0c;一起学习&#xff0c;共同进步。 喜欢的朋友可以关注一下&#xff0c;下次更…

HTML+CSS、Vue+less+、HTML+less 组件封装实现二级菜单切换样式跑(含全部代码)

一、HTMLCSS二级菜单 <!DOCTYPE html> <html lang"en"><head><meta charset"UTF-8" /><meta name"viewport" content"widthdevice-width, initial-scale1.0" /><title>Document</title><…

Tcl语言:基础入门(一)

Tcl语言https://blog.csdn.net/weixin_45791458/category_12488978.html?spm1001.2014.3001.5482 Tcl语言是一种脚本语言&#xff0c;类似于Bourne shell(sh)、C shell&#xff08;csh&#xff09;、Bourne-Again Shell(bash)等UNIX shell语言。Shell程序主要作为胶水缝合其他…

【CocoaPods安装环境和流程以及各种情况】

CocoaPods 环境HomebrewRubyrbenvRubyGems 和 Bundler安装Ruby管理Ruby更新Ruby替换Ruby镜像方式1方式2 CocoaPods安装CocoaPodsCocoaPods使用安装的一些问题单元测试引用问题 参考的链接 环境 Homebrew $ brew --config *可以发现打印有下面一行&#xff1a; Homebrew Ruby: …