『网络基础 一 』

news2024/11/26 12:36:57

 目录 

网络发展

 认识 “协议” 

 网络协议初始

协议分层

OSI七层模型

TCP/IP五层(或四层)模型

网络传输基本流程

​编辑 协议报头

数据包封装和分用

 网络中的地址管理

认识IP地址

认识MAC地址


网络发展

独立设计:计算机之间的相互独立

 在早期的时候,计算机之间是相互独立的,此时如果多个计算机之间要协同完成某种业务时,就只能等一台计算机处理完成它的数据任务之后,再将数据传递给下一台计算机,然后下一台计算机再进行相应的业务处理,这样就导致了效率非常低下。

 网络互联:多台计算机连接在一起,完成数据共享

这时,就有人设法将这些计算机连接在一起,当某个业务需要多台计算机协同完成时,就可以将共享的数据放到服务器中,进行集中管理,此时各个计算机就可以获得这些共享的数据,所以各个业务在处理就能随时进行切换了。

 局域网LAN:计算机数量更多了,通过路由器连接在一起

 在局域网中有一种设备叫交换机,交换机的作用是要完成局域网内数据的转发工作,也就是在局域网中将数据从一台主机转发给另一台主机。各个局域网之间通过路由器连接起来,路由器的主要任务是完成数据的路由转发工作。

 广域网WAN:将远隔千里的计算机连接在一起

 各个局域网之间通过路由器互相连接在一起,便组成了一个更大的网络结构,我们将其称之为“广域网”。实际局域网和广域网是一个相对概念,也可以将广域网看作一个较大的局域网。

 城域网MAN:在一个城市范围内建立的计算机通信网。

校园网CAN:在一个校园范围内建立的计算机通信网。

城域网和校园网也是一种相对的概念,都可以将它看作一个大的局域网。


 认识 “协议” 

"协议"本质就是一种约定,通信双方只要曾经做过某种约定,之后就可以使用这种约定来完成某件事情,而网络协议是通信计算机双方必须遵从的一组约定,因此我们一定要将这种约定用计算机语言表达出来,此时双方计算机才能识别约定的相关内容。

例如:

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

 思考:只要通信的两台主机,约定好协议就可以了吗?

· 计算机生产厂商有很多

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

· 计算机网络硬件设备,还是很多

· 如何让这些不同厂商之间生产的计算机能够相互顺畅的通信?

           -  就需要有人站出来,约定一个共同的标准,大家都来遵守,这就是  网络协议

 网络协议初始

协议分层

理解分层

a. 软件设计方面的优势  --  低耦合

b. 一般我们分层依据:功能比较集中,耦合度比较高的模块设为一层  --  高内聚

c. 每一层都要解决特定的问题

比如:两个人在打电话的时候,站在工程师的角度上,这两个人并不是直接沟通的,而是甲方的电话讲甲说的话,记录下来,经过编码转码后,通过通信网络将信息从甲的电话传递到了乙方的电话,甲说的话就在乙的电话中经过编码转码,最后乙方在听到甲所说的话。

人和人之间通信使用的是语言,我们可以将其称为语言层。

电话与电话之间通信使用的是通信设备之间的相关接口,我们可以将其称之为通信设备层。

 随着科技的进步,大家都用上了智能手机,此时下层使用的通信设备也就变了,或者其他国家也使用电话通信,此时上层的语言协议也就变了,但是我们仍然可以正常沟通。

 分层最大的好处在于“封装”,在分层情况下,将某层的协议进行替换后,通信双方并不会因此受到影响。

OSI七层模型

· OSI(open System Interconnection,开放系统互连)七层网络模型称为开放式系统互联参考模型,是一个逻辑上定义的规范。

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

· OSI七层模型是一种框架性的设计方法,其主要的功能就是帮助不同类型的主机实现数据传输。

· 它的最大优点将服务,接口和协议这三个概念明确地区分别开,概念清楚,理论也比较完整,通过七个层次话的结构模型使不同的系统不同的网络之间实现可靠的通讯。

· 但是,它既复杂又不实用,所以我们按照TCP / IP 四层模型来学习。

分层名称功 能每层功能概览
7应用层针对特定应用的协议。
6表示层设备固有数据格式和网络标准数据格式的转换。
5会话层通信管理。负责建立和断开通信连接(数据流动的逻辑通路)。管理传输层以下的分层。
4传输层管理两个节点之间的数据传输。负责可靠传输(确保数据被可靠地传送到目标地址)。
3网络层地址管理与路由选择。
2数据链路层互链设备之间传送和识别数据帧。
1物理层以“0”,“1”代表电压的高低,灯光的闪灭,界定连接器和网络的规格。在这里插入图片描述

 每一层都有自己匹配的协议,每一层协议都要解决自己的问题!

· 数据链路:如何把数据交付给和自己直接连接的下一台主机。

· 网络层:要有路径选择的能力。

· 传输层:容错纠错的能力。

· 应用层:解决应用方面的问题。

TCP/IP五层(或四层)模型

 TCP/IP是一组协议的代名词,它包括许多协议,组成TCP/IP协议簇。

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

· 物理层:负责光/电信号的传递方式,比如现在以太网通用的网线(双绞线),早期以太网采用同轴电缆(现在主要用于有线电视),光纤,现在的WiFi无线网使用的电磁波等都属于物理层的概念。物理层的能力决定了最大传输速率,传输距离,抗干扰性等,集线器(Hub)工作在物理层。

集线器的作用:对接收到的信号进行再生整形放大,以扩大网络的传输距离,同时把所有节点集中在它为中心的节点上。

· 数据链路层:负责设备之间的数据帧的传送和识别。例如:网卡设备驱动,帧同步(从网线检测到什么信号算作新帧的开始),冲突检测(如果检测到冲突就自动重发),数据差错效验等工作,有以太网,令牌环网,无线LAN等标准,交换机(Switch)工作在数据链路层。

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

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

· 应用层:负责应用程序间沟通。如简单电子邮件传输(SMTP),文件传输协议(FTP),网络远程访问协议(Telnet)等。

物理层考虑的比较少,因此很多时候也可以称为TCP/IP四层模型。

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

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

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

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

 但是并不绝对,很多交换机也实现了网络层的转发;很多路由器也实现了部分传输层的内容(比如端口转发)。

网络传输基本流程

同一个网段内的两台主机进行文件传输

 协议报头

 例如:在买快递的时候,我们不只会收到要买的东西,还会收到快递盒子与盒子上的快递单,这个快递单就像 “报头”。

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

b. 协议通常是通过协议报头来表达的。

c. 每一份数据最终在被发送或者在不同的协议层中,都要有自己的报头。

报文 = 报头 + 有效载荷

两台计算机通过TCP/IP协议通讯的过程如下所示:

 跨网段的主机的文件传输,数据从一台计算机到另一台计算机传输过程中要经过一个或者多个路由器。

一个设备至少要横跨两个网络,才能实现数据报网络转发 -> 路由器必须横跨至少两个网络 -> 路由器必须要有两个网络接口。

 局域网LAN:

a. 使两台局域网的主机能够直接通信。

b. 局域网通信的原理

    每一台机器都有自己的 “名字”,每一台主机都有网卡。

    每一张网卡都有自己的MAC地址,表面自己在局域网中的唯一性。

数据包封装和分用

· 不同的协议层对数据包有不同的称谓,在传输层叫做段(segment),在网络层叫做数据报(datagram),在链路层叫做帧(frame)。

· 应用层数据通过协议栈发送到网络上时,每层协议都要加上一个数据首部(header),称为封装(Encapsulation)。

· 首部信息中包含了一些类似于首部有多长,载荷(payload)有多长,上层协议是什么等信息。

· 数据封装成帧后发送到传输介质上到达目的主机后每层协议再剥掉相应的首部,根据首部中的“上层协议字段”将数据交给对应的上层协议处理。

数据封装的过程:

 数据分用的过程:

 网络中的地址管理

认识IP地址

IP协议有两个版本,IPV4和IPV6。IPV4用32个比特位来标识地址,而IPV6用128个比特位来标识地址。

· IP地址是在IP协议中,用来标识网络中的不同主机的地址。

· 对于IPV4来说,IP地址是一个4字节,32位的整数。

· 通常使用“点分十进制”的字符串表示IP地址,例如:192.168.0.1;用点分割的每一个数字表示一个字节,范围是0~255。

认识MAC地址

· MAC地址用来识别数据链路层中相连的节点。

· 长度为48位,即6个字节,一般用16进制数字加上冒号的形式来表示(例如:08:00:27:03:fb:19)

· 在网卡出厂时就确定了,不能修改,MAC地址通常是唯一的(虚拟机中的MAC地址不是真是的MAC地址,可能会冲突,也有些网卡支持用户配置MAC地址)。

如何在Linux上查看主机的MAC地址?

· ifconfig命令可以查看当前主机的网卡信息。

 注意:ether就是以太的意思,云服务器上的MAC可能不是真正的MAC地址,可能是模拟出来的。

如何在windows上查看主机的MAC地址?

· 打开cmd窗口,ipconfig -all命令可以查看主机网卡信息。


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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

Flink系列-10、Flink DataStream的Transformation

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。 大数据系列文章目录 官方网址:https://flink.apache.org/ 学习资料:https://flink-learning.org.cn/ 目录 官网所有的…

探析Android中的四类性能优化

作者:Yj家的孺子牛 流畅性优化 主线程模型 了解 Android 的流畅性优化之前,我们需要先了解Android的线程结构。在 Android 中,有一个主线程模型,其中所有的绘制以及交互都是在主线程中进行的,所以,当我们…

【LaTex】Elsevier投稿系统到底何时整顿?‘expl3.sty‘ aborted!

前言 两年前,我在投稿Elsevier旗下的Knoeldeg-based systems时就被这个投稿系统整得是头昏脑胀,直接肝爆。首先,第一次提交手稿时可以接受PDF,很方便。然而,后面大修时提交可编辑的源文件时给我狠狠的打脸了。记得当时…

快速入门量化交易

本文首发自「慕课网」,想了解更多IT干货内容,程序员圈内热闻,欢迎关注"慕课网"! 原作者:袁霄|慕课网讲师 近来“量化交易”这个词听得越来越频繁,多数人对量化交易的第一印象是“高大上的技术”…

堆的原理解析

看这篇文章需要对比较器有一定的了解,可以看我的这篇文章: 认识比较器_鱼跃鹰飞的博客-CSDN博客 堆的实际存储方式是数组,但是脑海中应该把他想象成一种树的结构 依次加入下标0-8的9个数(添加过程中会不断的和父节点大小进行比…

舰船交流电网绝缘监测及故障定位的研究及产品选型

摘要:交流电网和电气设备的绝缘状况直接影响舰船电力系统安全,其绝缘电阻的下降是一个不可避免的过程,成为了电网安全的严重隐患。电气设备绝缘材料的劣化过程是不可逆的,对舰船交流电网进行绝缘在线监测及快速定位绝缘故障支路&a…

浅谈:JVM垃圾回收

一、四种类加载器(双亲委托/全盘委托机制) 1.启动类加载器: 加载 Java 核心类库,无法被 Java 程序直接引用。 2.扩展类加载器: 加载 Java 的扩展库。Java 虚拟机的实现会提供一个扩展库目录。该类加载器在此目录里面查找并加载 Java 类。 3.系统类加载器: 它根据 Java 应用的类…

seleniumUI自动化登录失败案例重新尝试WhileTrue

一个用户每次登录失败,失败N次,无法进入下一url时,怎样会重新尝试N次重新登录呢 ? 我们可以使用wihile true判断,并使用currenturl判断,下面就介绍以下个人的方法 currenturlEGTconfigFile.driver.curren…

Opencv识别车牌

Opencv识别车牌 #encoding:utf8 import cv2 import numpy as np Min_Area 50 #定位车牌 def color_position(img,output_path): colors [#([26,43,46], [34,255,255]), # 黄色 ([100,43,46], [124,255,255]), # 蓝色 ([35, 43, 46], [77, 255, 255]) # 绿色 ] hsv cv2.cvtCo…

推荐 7 个超牛的 Spring Cloud 实战项目

个 把一个大型的单个应用程序和服务拆分为数个甚至数十个的支持微服务,这就是微服务架构的架构概念,通过将功能分解到各个离散的服务中以实现对解决方案的解耦。 关于微服务相关的学习资料不多,而 GitHub 上的开源项目可以作为你微服务之旅…

STM32平衡小车 mpu6050学习

MPU6050简介 MPU6050是一款性价比很高的陀螺仪,可以读取X Y Z 三轴角度,X Y Z 三轴加速度,还有内置的温度传感器,在姿态解析方面应用非常广泛。 二、硬件连接 由于采用IIC通信,最基本的只需要采用四根线就可以了。分别VCC,GND,SCL,SDA连接到单片机 SCL-----PB6 SDA---…

23种设计模式之观察者模式(黑马程序员)

观察者模式 一、概述二、结构三、实现四、总结在最后 一、概述 观察者模式又被称为发布-订阅模式(Publish/Subscribe)模式,它定义了一种一对多的依赖关系,让多个观察者对象同时监听某一个主题对象。这个主题对象在状态发生变化时,会通知所有…

java 键值对详解及java键值对代码

在 Java中,对象可以理解为一个列表。这个列表里面的每个元素都是一个“键”,而每个“键”都是一个值。 键值对的概念,并不是在 Java中第一次出现,在 java 1.x中就已经有了。那时候它的意思是在一个命名空间中建立两个名字相同的对…

利用三维CNN对阿尔茨海默病进行多模态研究

文章目录 Is a PET All You Need? A Multi-modal Study for Alzheimer’s Disease Using 3D CNNs摘要方法实验结果讨论结论 Is a PET All You Need? A Multi-modal Study for Alzheimer’s Disease Using 3D CNNs 摘要 提出了一个系统评估多模态dnn的框架重新评估基于FDG-P…

Android-实现一个登录页面(kotlin)

准备工作 首先,确保你已经安装了 Android Studio。如果还没有安装,请访问 Android Studio 官网 下载并安装。 前提条件 - 安装并配置好 Android Studio Android Studio Electric Eel | 2022.1.1 Patch 2 Build #AI-221.6008.13.2211.9619390, built …

如何使用命令行添加配置码云仓库SSH秘钥-git仓库也一样

使用命令行添加配置码云仓库SSH秘钥 为什么要如何使用命令行添加配置码云仓库SSH秘钥?生成密钥你可以按如下命令来生成 sshkey:可以参考下图执行指令 添加密钥登录你的码云,鼠标移入头像,设置。点击 SSH公钥,打开配置页面&#x…

新型数字智慧城市综合趋势解决方案(ppt可编辑)

本资料来源公开网络,仅供个人学习,请勿商用,如有侵权请联系删除 新型智慧城市解决方案总体架构 新型智慧城市顶层规划(咨询)服务概述 服务定义:提供面向城市及其产业的智慧化咨询服务,涵盖需求…

linux——进程的概念与状态

大家好,我是旗帜僵尸。今天我将带领大家学习进程的概念。 本篇文章将继续收录于我的linux专栏中,若想查看关于linux其它知识的文章也可以点击右方链接。旗帜僵尸——linux 文章目录 一、进程概念冯诺依曼体系结构OS(操作系统Operator System&…

突破传统监测模式:业务状态监控HM的新思路

作者:京东保险 管顺利 一、传统监控系统的盲区,如何打造业务状态监控。 在系统架构设计中非常重要的一环是要做数据监控和数据最终一致性,关于一致性的补偿,已经由算法部的大佬总结过就不在赘述。这里主要讲如何去补偿&#xff…

电子阅读器市场角力,AI成为关键变量

配图来自Canva可画 近年来,随着国家“书香型社会”建设政策的出台,公众的阅读需求正在逐年增加,各类读书产品和读书活动,也如同雨后春笋般涌现,人们的阅读体验日益得到丰富。比如,昨天世界读书日举行的“不…