计算机网络(1) --- 网络介绍

目录

1.介绍协议

基础知识

协议

协议分层

OSI七层模型

2.TCP/IP五层模型

3.网络传输的基本流程

1.基本知识

协议报头

2.局域网通信的基本流程

3.网络传输流程

局域网分类

跨路由器传输

数据包封装和分用

4.网络中的地址管理

1.IP地址

2.MAC地址

3.区别


1.介绍协议

基础知识

1.其实所谓的互联网可以看成一个巨大的操作系统,而每一个计算机都是一个硬件通过网线与其他计算机相互连接。

2.那么其实计算机内部的本质其实也是一个小型的网络结构。

3.短距离的传输,其实数据丢失的概率不大,即使丢失其实也好确定。但是长距离传输,是否丢失也是一个问题,特别是网路 ,就会出现信息传递问题。

4.为了尽可能减少通信成本就需要定制协议,用于解决由于长距离的通信问题。

协议

定义:协议就是用计算机语言来表达计算机通信之间的规定。不同的协议表示不同的意义,能让对面的计算机知道本台计算机的目的

网络协议:计算机生产厂商有很多;计算机操作系统,也有很多;计算机网络硬件设备, 还是有很多;如何让这些不同厂商之间生产的计算机能够相互顺畅的通信? 就需要有人站出来, 约定一个共同的标准,大家都来遵守, 这就是网络协议标准;

协议分层

1.分层普适性的意义是为了解耦,对任何一层做修改其他层不会被影响。出现问题也会在该层受影响而已;另外,功能比较集中的,耦合度比较高的模块我们设计成一层的协议。这样的特点是低耦合,高内聚

2.每一层都需要解决特定的问题,并且网络通信并不是一股脑直接转入计算机中的。

3.问题大致有这些:如何把数据先交付给与自己主机直接相连的下一台主机;要有路径选择的能力;传输出错后的容错纠错能力;传到目的计算机后解决应用的问题(送到目的主机并不是目的,是手段)

OSI七层模型

1.OSI是网络分层的一种逻辑上的定义和规范

2.OSI把网络分为七层(自下向上):物理层,数据链路层,网络层,传输层,会话层,表示层,应用层

3.实际上遇到的网络问题不会出现七层,工程实际采用五层或者四层协议,因为无法实现一种万能的实现套用所有的项目,所以最后三层需要用户手动搭建。

2.TCP/IP五层模型

1.五层分为:物理层,数据链路层,网络层,传输层,应用层

2.物理层:负责光电信号的传输,物理层的能力决定了最大传输速率、传输距离、抗干扰性等。

集线器(Hub)工作在物理层,长距离传输光电信号会衰减,那么集线器(Hub)的作用就是加强衰减的信号。

光纤:光导纤维是一种由玻璃或塑料制成的纤维,利用光在这些纤维中以全内反射原理传输的光传导工具

调制解调器(猫):主要负责信号转换,连接光纤解读传输的信号(模拟信号和数字信号的互相转换)

路由器:构造局域网,连接网络

双绞线(网线):路由器连接主机,使得主机联网

网卡:网线的数字信号01传给网卡存储在里面的寄存器中,随后传给磁盘

3.数据链路层:解决如何把数据先交付给与自己主机直接相连的下一台主机的问题

4.网络层:有路径选择的能力

5.传输层:传输出错后的容错纠错能力

6.应用层:传到目的计算机后解决应用的问题

1.TCP/IP分层模式其实反映了计算机整体的运行逻辑:自底向上由硬件,驱动,操作系统,调用接口,用户组成

2.系统调用接口连接到文件,所有数据都会在文件中存储。

3.对于一台主机, 它的操作系统内核实现了从传输层到网络层的内容

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

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

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

3.网络传输的基本流程

由于物理层偏向底层实现,通过电子信号传递,故而不太需要讲。我们理解四层即可。

1.基本知识

协议报头

1.每一层都需要协议,而每一个协议的最终表现就是都有报头。

2.举个例子,类似于邮件快递,快递员想要将货物送到买家其实想要一些信息构成了快递单。而对应到网络协议,其实就是报头。

3.报头的意义:协议通常通过协议报头表达,报头遵循一系列规定的约定。用于确认每一层的任务。

4.每一份数据在被发送或者接收时,都要先经历报头包装。

5.而最后接收到应用层的数据,其实也带有报头,这些报头是告知用户如何进行操作的。

2.局域网通信的基本流程

1.局域网之间,两台主机可以直接通信

2.每一台主机都有自己的名字,每一台主机都有网卡,这张网卡有自己独一份的地址为MAC地址

3.MAC地址用于表征局域网中主机的唯一性

原理:

1.在一个局域网内,一台主机发出的数据,所有主机都能接收到

2.对于发出方,在发出数据上添加报头,包含了传到哪里的地址

3.其他主机接收得到数据,但是对于其他主机而言,它会在底层传输查看报头,发现与自己主机对不上,那么此时下层直接删除掉数据。上层用户得不到数据

4.接收方在底层确认是发给自己的数据就读取,这样就达到了局域网传输的目的

3.网络传输流程

1.网络传输并不是直接从应用层传到对方的应用层,需要经过不断的向下传输到物理层才能传到别处的物理层,随后向上传到应用层

2.由应用层到物理层是传输的用户不断将数据封装的过程,每一层到下一层去都会把自己的报头添加到有效载荷前面,形成报文(报文=报头+有效载荷),随之往下

3.接收方接收到由物理层的数字信号自下向上不断将数据解包的过程,每一层往上之前都会把自己同层的报头摘除再向上传

4.但是其实站在用户角度,其实就会认为同层之间相互交流,因为在同层报文是一样的。

5.封装报头有很多的协议,发送方直接根据自己的需求打包,但是接收方要想知道传过来的具体协议是什么需要在报头中得到

6.将报头分离其实要么按固定格式分离,要么按固定大小分离

局域网分类

1.以太网

2.令牌环网:局域网中,可能不止一对主机在对话。互相传输但是网线会出现数据碰撞问题,那么这么一个局域网形成了碰撞域。局域网的网络资源站在系统角度而言其实就是共享资源。出现碰撞就重新将数据发出,而此时依旧会有数据碰撞,那局域网中设置一个令牌,只有有令牌的主机才能发送数据。

3.无线LAN网

跨路由器传输

1.跨路由器的条件是一个设备至少要横跨两个网络,才能进行数据传输。

2.那么路由器也需要横跨两个网络,在两边都构成一个局域网,那么路由器至少需要两个网络接口将两个局域网相互连接。

3.当前的主机通过局域网将数据传给与自己直接相连的路由器。由于路由器工作在网络层,路由器的工作就是判断数据传输到哪里去,所以它得读取报头将数据进行传输决定。

4.路由器得到数据又向下交互,用令牌环的协议传输数据,通过令牌环向下一台主机交付。

5.这样的设计,路由器其实重新封住了报头,但是上层没什么区别。IP协议存在的意义就是屏蔽底层网络的差异。

6.图中的上层基本一致,而以太网和令牌环网其实是物理层的实现不同,各个局域网的网络接口不一样,上图只是例子

数据包封装和分用

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

4.网络中的地址管理

1.IP地址

1.IP协议有两个版本, IPv4和IPv6,二者不可兼容。

2.IP地址是在IP协议中, 用来标识网络中不同主机的地址;对于IPv4来说,IPv4地址是一个4字节, 32位的整数;我们通常也使用 "点分十进制" 的字符串表示IP地址。

3.IPv6为16为字节,128位的整数组成

4.在广域网广泛使用,也有一部分在局域网中使用

2.MAC地址

1.工作在局域网当中的地址

2.长度为48位, 及6个字节. 一般用16进制数字加上冒号的形式来表示

3.区别

既然都是表示地址的,那么二者之间有什么区别

1.仔细分析,其实想要一个主机到另一个主机需要两种信息:初始主机到最目的主机的信息;上一台主机到下一台相连的主机的信息。

2.源IP到目的IP:为了传输的每一个阶段提供方向目标,方便进行路径选择

3.上一台主机到下一台相连的主机的地址一直在变换,这种地址为MAC地址,提供路径的可行性

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

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

相关文章

每天一个电商API分享:淘宝/天猫关键字搜索店铺列表 API

淘宝/天猫搜索店铺列表 API 是一个强大而灵活的工具,可以帮助开发者在自己的应用中集成淘宝/天猫搜索店铺列表的功能。通过这个 API,开发者可以获取指定关键词下的店铺列表,并根据自己的需求自定义搜索条件。该 API 提供丰富的参数选项&#…

【爬虫案例】用Python爬取iPhone14的电商平台评论

用python爬取某电商网站的iPhone14评论数据, 爬取目标: 核心代码如下: 爬取到的5分好评: 爬取到的3分中评: 爬取到的1分差评: 所以说,用python开发爬虫真的很方面! 您好&…

redis 高级篇4 分布式锁

一 redis架构图 1.1 redis的架构图 1.2 分布式锁满足条件 1.独占性;2.高可用;3.防死锁;4.不乱抢;5.重入性 二 分布式锁的案例情况 2.1 分布式锁1:单机分布式部署 描述: 使用lock锁和synchronized,单机…

狄耐克带着爱与希望,踏上了又一段关于奉献的旅程

路在脚下, 狄耐克紧盯科技前沿, 聚焦国家发展战略和人民美好生活需要, 在智慧社区和智慧医院领域 敢于筑梦、勇于追梦、勤于圆梦; 心系远方, 狄耐克真情投入奉献事业, 将爱与希望的种子撒向全国各地…

基于C语言 --- 自己写一个三子棋小游戏

C语言程序设计笔记---019 初阶三子棋小游戏(开源)1、arr_main.c程序大纲2、arr_game1.h3、arr_game1.c3.1、 自定义初识化函数 InitBoard( ) 和 自定义显示函数 DisPlayBoard( )3.2、 自定义玩家下棋函数 PlayerMove( )3.4、 自定义电脑下棋函数 ComputerMove( )3.5、 输赢判断…

【Linux下6818开发板(ARM)】SecureCRT串口和交叉编译工具(巨细版!)

(꒪ꇴ꒪ ),hello我是祐言博客主页:C语言基础,Linux基础,软件配置领域博主🌍快上🚘,一起学习!送给读者的一句鸡汤🤔:集中起来的意志可以击穿顽石!作者水平很有限,如果发现错误&#x…

【前端知识】React 基础巩固(四十)——Navigate导航

React 基础巩固(四十)——Navigate导航 一、Navigate的基本使用 新建Login页面,在Login中引入Navigate,实现点击登陆按钮跳转至/home路径下: import React, { PureComponent } from "react"; import { Navigate } from "reac…

Windows环境下安装及部署Nginx

一、安装Nginx教程 1、官网下载地址:https://nginx.org/en/download.html 2、下载教程:选择Stable version版本下载到本地 3、下载完成后,解压放入本地非中文的文件夹中: 4、启动nginx:双击nginx.exe,若双击…

Java小型操作系统模拟(采用策略模式结合反射进行搭建,支持一些简单的命令)

Java小型操作系统模拟 项目说明第一阶段:反射结合策略模式搭建基本的命令结构第二阶段:注解结合反射与策略模式,将结构进一步规范第三阶段:开启新的窗口,将控制台输入切换到新窗口中,同时创建右键菜单&…

eclipse 最新版没有navigator视图如何解决

使用project exploere视图可以显示类似navigator视图 1.显示project exploere视图 window---->show view --->project exploere 2.project exploere视图转换为类似navigator视图 第一步:点击视图右上角三个点或者倒三角,点击fiters and custom…

Spring——更快捷的存储 / 获取Bean对象

文章目录 前言一、存储 Bean 对象类注解为什么有五个类注解使用类注解存储对象配置扫描路径(重中之重)添加注解存储 Bean 对象 方法注解配置扫描路径(重中之重)使用方法注解存储对象 二、获取 Bean 对象Autowired属性注入Setter注入构造方法注入 Resource 总结 前言 本人是一个…

git操作:修改本地的地址

Windows下git如何修改本地默认下载仓库地址 - 简书 (jianshu.com) 详细解释: 打开终端拉取git时,会默认在git安装的地方,也就是终端前面的地址。 需要将代码 拉取到D盘的话,现在D盘创建好需要安放代码的文件夹,然后…

K8S群集调度

目录 一、调度约束二、Pod 启动典型创建过程三、K8S的调度过程3.1 Predicate(预选策略) 常见的算法使用3.2 常见优先级选项3.3 指定调度节点3.3.1 nodeName指定3.3.2 nodeSelector指定3.3.3 Pod亲和性与反亲和1.节点亲和硬策略示例2.节点亲和软策略示例3…

数字工厂管理系统的实施步骤是什么

数字工厂管理系统是一种基于数字化技术和智能化设备的工厂管理系统,它可以实现工厂的全面、实时、动态管理,提高生产效率、降低成本、保证产品质量。实施数字工厂管理系统需要一系列的实施步骤,下面就数字工厂管理系统的实施步骤进行详细说明…

Is Mapping Necessary for Realistic PointGoal Navigation 论文阅读和代码分析

论文 论文信息 题目:Is Mapping Necessary for Realistic PointGoal Navigation? 作者:Ruslan Partsey、 Erik Wijmans 代码地址:rpartsey.github.io/pointgoalnav 来源:CVPR 时间:2022 Abstract 目标&#xff1a…

Godot在多边形内随机获取点

前言: 我做了一个随机生成器,可以生成游戏道具,之前是矩形比较好算,随着关卡设计我需要多边形的生成方式。 在矩形内获取随机点: func generateRandomCoordinateInRect(pos,size):"""根据范围生成随机…

记一次安装nvm切换node.js版本实例详解

最后效果如下: 背景:由于我以前安装过node.js,后续想安装nvm将node.js管理起来。 问题:nvm-use命令行运行成功,但是nvm-list显示并没有成功。 原因:因为安装过node.js,所以原先的node.js不收n…

二十一章:PUZZLE-CAM:通过匹配局部和全局特征来改进定位

0.摘要 弱监督语义分割(WSSS)被引入来缩小从像素级监督到图像级监督的语义分割性能差距。大多数先进的方法是基于类激活图(CAM)来生成伪标签以训练分割网络。WSSS的主要局限性在于从使用图像分类器的CAM生成伪标签的过程主要集中在…

【React Native】学习记录(一)——环境搭建

Expo是一套工具,库和服务,可让您通过编写JavaScript来构建原生iOS和Android应用程序。 一开始学习的时候直接使用的是expo。 npx create-expo-app my-appcd my-appnpm run start接下来需要搭建安卓和IOS端(为此特意换成了苹果电脑&#xff09…

虹科案例|如何分析设备故障时间和次数,打破生产瓶颈?

虹科设备绩效管理系统 保障生产设备的稳定性和可靠性 生产设备的稳定性和可靠性是保证企业正常生产的重要条件之一,设备故障的频发严重影响企业的正常生产,那么如何分析设备故障时间和次数,查找设备故障原因,协助企业打破生产瓶…