网络——初识网络

网络基础

森格

文章目录

  • 网络基础
    • 计算机网络产生的背景
    • 认识网络协议
    • 网络协议初识
      • 协议分层
      • OSI七层模型
      • TCP/IP四层模型
      • 网络传输基本流程
        • 协议报头
      • 认识IP地址
      • 认识MAC地址
          • ifconfig查看主机地址
          • ifconfig查看主机地址

计算机网络产生的背景

独立模式:计算机之间相互独立

image-20230803232559586

早期的计算机相互独立。每台计算机都承载着客户数据,那么会出现以下弊端:

  • 计算机之间进行数据传输成本高。在计算机A处理的数据,若需要放到计算机B或C上处理时,需要先将计算机A的数据拷贝到能够承载数据的硬件,然后通过硬件将数据拷贝到计算机B上,才能处理数据。
  • 为了提高效率早期的业务会被分到不同的电脑上,而由于计算机之间相互独立,因此可能出现:小明在电脑A完成了业务一,而需要用到电脑B完成业务二,此时想要使用电脑B的小李就需要等待小明使用完电脑B才能使用。

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

image-20230804104042476

  • 每个人都使用各自的电脑,但业务之间可以随时自由切换,共享数据由服务器集中管理

image-20230804110343822

  • 随着时代的进步,计算机的数量越来越多,那么可以通过交换机和路由器连接在一起,形成局域网LAN

image-20230804111331445

  • 随着经济全球化,计算机网络的范围扩大到全球,形成广域网。实际上广域网和局域网是一个相对的概念,广域网可以看作是比较大的局域网

认识网络协议

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

  • 遵守同一个约定,减少了通信成本。

  • 计算机的产商、操作系统、硬件设备各式各样,因此计算机也是种类繁多。这时候就需要约定一个共同的标准,大家都来遵守这个约定,在计算机层面上顺利完成网络通信。

这里举个例子,在中国讲中文,在美国讲英语,在日本讲日语,当中国人与美国人或日本人交流时就不能只使用一门语言,可能中国人与美国人交流用英语,中国人与日本人交流用中文。但如果大家共同遵守一种“协议”,全世界都能够使用中文交流,那么在上述的情况中就减少了交流成本。

网络协议初识

协议分层

  • 将网络协议栈设计成层状结构,其目的就是为了将层与层之间进行解耦
  • 将功能较为集中、耦合度比较高的模块分为一层,增强其维护性和和可拓展性

OSI七层模型

  • OSI(Open System Interconnection,开放系统互连)七层网络模型称为开放式系统互联参考模型, 是一个逻辑上的定义和规范;
  • 把网络从逻辑上分为了7层. 每一层都有相关、相对应的物理设备,比如路由器,交换机;
  • 它的最大优点是将服务、接口和协议这三个概念明确地区分开来,概念清楚,理论也比较完整. 通过七个层次化的结构模型使不同的系统不同的网络之间实现可靠的通讯;
层数分层名称功能每层功能概览
7应用层针对特定应用的协议
6表示层设备固有的数据格式和网络标准数据格式的转换image-20230804155607791
5会话层通信管理。负责建立和断开通信连接(数据流动的逻辑通路)。管理传输层以下的分层。image-20230804160055733
4传输层管理两个节点之间的数据传输。负责可靠传输(确保数据被可靠的传送image-20230804160221933
3网络层地址管理和路由选择image-20230804160513114
2数据链路层互连设备之间传送和识别数据帧image-20230804160550943
1物理层以"0"、"1"代表电压的高低、灯光的闪灭界连接器和网线的规格image-20230804160717343
  • 实际上OSI七层模型即复杂又不实用,因此我们通过TCP/IP四层模型来学习。

TCP/IP四层模型

  • TCP/IP是一组协议的代名词,它还包括许多协议,组成了TCP/IP协议簇.
  • TCP/IP通讯协议采用了5层的层级结构,每一层都呼叫它的下一层所提供的网络来完成自己的需求.
  • 物理层:: 负责光/电信号的传递方式. 比如现在以太网通用的网线(双绞 线)、早期以太网采用的的同轴电缆 (现在主要用于有线电视)、光纤, 现在的wifi无线网使用电磁波等都属于物理层的概念。物理层的能力决 定了最大传输速率、传输距离、抗干扰性等. 集线器(Hub)工作在物理层
  • 数据链路层:负责设备之间的数据帧的传送和识别. 例如网卡设备的驱动、帧同步(就是说从网线上检测 到什么信号算作新帧的开始)、冲突检测(如果检测到冲突就自动重发)、数据差错校验等工作. 有以太 网、令牌环网, 无线LAN等标准. 交换机(Switch)工作在数据链路层
  • 网络层:: 负责地址管理和路由选择. 例如在IP协议中, 通过IP地址来标识一台主机, 并通过路由表的方式规 划出两台主机之间的数据传输的线路(路由). 路由器(Router)工作在网路层
  • 传输层:: 负责两台主机之间的数据传输. 如传输控制协议 (TCP), 能够确保数据可靠的从源主机发送到目标主机
  • 应用层:负责应用程序间沟通,如简单电子邮件传输(SMTP)、文件传输协议(FTP)、网络远程访问 协议(Telnet)等. 我们的网络编程主要就是针对应用层

image-20230804161310874

  • 对物理层而言,我们考虑较少,因此很多时候也可以叫做TCP/IP四层模型

  • 通过上图可以看到,OSI七层模型也对应TCP/IP五层模型。OSI的应用层、表示层、会话层对应应用层。而应用层的模型的协议大多数针对应用程序

  • 传输层和网络层的协议大多数针对操作系统。这两层的协议要求所有类型的OS都遵守,也因此协议是OS内部实现的。那么传输层和网络层与应用层之间会存在大量的系统调用

  • 具备上层协议的设备也必须同时具备下层协议

也因此能够总结出以下结论:

  • 对于一台主机, 它的操作系统内核实现了从传输层到物理层的内容
  • 对于一台路由器, 它实现了从网络层到物理层
  • 对于一台交换机, 它实现了从数据链路层到物理层
  • 对于集线器, 它只实现了物理层
  • 实际上并不绝对,还存在着很多交换机也实现了网络层的转发;。很多路由器也实现了部分传输层的内容(比如端口转发)

网络传输基本流程

协议报头

  • 协议存在于每一层,而每一个协议都具备自己的协议报头
  • 协议通常是通过协议报头来进行表达的
  • 每一份数据在经过不同的协议层时,都需要添加上对应层的报头
  • 协议报头用于在不同主机的同一协议层中识别,用于标示,方便进行解包分用
  • 报文=报头+有效载荷
  • 封装:将有效载荷添加上当前层报头的过程
  • 解包:将报头和有效载荷分离的过程
  • 分用:将有效载荷交给指定协议解包的过程

在这里我用同网段的两台主机的网络通信过程进行介绍

image-20230804172238548

  • 一个数据由用户从一台主机录入,然后通过网络传输到另一台主机,数据依次要通过应用层、传输层、网络层、链路层等。并且数据要经过封装、解包分用的过程

  • 数据从上层录入进入应用层,数据需要加上应用层对应的报头。组成报文。而此时数据就是有效载荷

  • 将报文发送到传输层,此时有效载荷=数据+应用层的报头,而在这层的报文=传输层的报头+有效载荷

  • 通过以太网将一台主机的数据传输到另一台主机上。由于传输过来的数据内含有不同协议层的报头,因此此时需要将数据进行解包分用

总结一下

  • 每一层的协议都必须具备相应的报头,而根据自己当前的有效载荷需要交给上层的哪一个协议是每一层都需要面对的问题

  • 下层的报文必须具备上层的协议报头

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

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

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

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

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

##网络中的地址管理

认识IP地址

  • IP地址是在IP协议中, 用来标识网络中不同主机的地址;
  • IP地址有IP4和IP6。对于IPv4来说, IP地址是一个4字节, 32位的整数
  • 我们通常也使用 “点分十进制” 的字符串表示IP地址, 例如 192.168.0.1 ; 用点分割的每一个数字表示一个字节, 范围是 0 - 255;
  • 报文包含源IP和目标IP

认识MAC地址

  • MAC地址用来识别数据链路层中相连的节点
  • 长度为48位, 及6个字节. 一般用16进制数字加上冒号的形式来表示(例如: 08:00:27:03:fb:19)
  • 在网卡出厂时就确定了, 不能修改. mac地址通常是唯一的(虚拟机中的mac地址不是真实的mac地址, 可能会冲突; 也有些网卡支持用户配置mac地址)
ifconfig查看主机地址

6进制数字加上冒号的形式来表示(例如: 08:00:27:03:fb:19)

  • 在网卡出厂时就确定了, 不能修改. mac地址通常是唯一的(虚拟机中的mac地址不是真实的mac地址, 可能会冲突; 也有些网卡支持用户配置mac地址)
ifconfig查看主机地址

image-20230804185556918

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

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

相关文章

Linux系统jenkins+newman+postman持续集成环境搭建

1、首先安装nodejs 下载nodejs压缩包,下载地址:nodejs官网下载 建议不用下载最新的,我这里用的是推荐的v12.18版本 下载和解压命令 wget https://nodejs.org/dist/v12.18.3/node-v12.18.3-linux-x64.tar.xz解压安装包(记得没有z&…

基于web特产店销售管理系统的设计与实现(论文+源码)_kaic

摘要 农业是我国国民经济的重要组成部分,随着信息化的普及,4G网络、光纤以及5G网络也日益完善,农业信息化的发展成为了必然。同时,由于本年疫情原因,导致农作物积压销售,甚至腐烂造成不必要的浪费&#xff…

prometheus监控k8s kube-proxy target down

prometheus kube-proxy target down 解决 修改配置 kubectl edit cm/kube-proxy -n kube-systemmetricsBindAddress: "0.0.0.0:10249"删除 kube-proxy pod 使之重启应用配置 kubectl delete pod --force `kubectl get pod -n kube-system |grep kube-proxy|awk {pr…

【设计模式——学习笔记】23种设计模式——迭代器模式Iterator(原理讲解+应用场景介绍+案例介绍+Java代码实现)

文章目录 案例引入介绍基础介绍应用场景登场角色 案例实现案例一实现 案例二实现 迭代器模式在JDK源码中的应用总结文章说明 案例引入 编写程序展示一个学校院系结构: 需求是这样,要在一个页面中展示出学校的院系组成,一个学校有多个学院,一…

突破视觉边界:深入探索AI图像识别的现状与挑战

图像识别作为人工智能领域的一个重要研究方向,取得了许多令人瞩目的成就。深入探索当前AI图像识别技术的现状以及所面临的挑战,讨论各种方法的优势和局限性。 目录 引言1.1 AI图像识别的背景和概述1.2 人工智能在图像识别中的应用和重要性 图像识别基础知…

MCU的类型和应用领域简介

MCU(Microcontroller Unit)根据存储器类型可分为无片内ROM型和带片内ROM型。无片内ROM型的芯片需要外接EPROM才能应用,而带片内ROM型则有不同的子类型,如片内EPROM型、MASK片内掩模ROM型和片内Flash型。 MCU还可以按照用途分为通…

动画制作选择Blender还是Maya

Blender和Maya是两种最广泛使用的 3D 建模和动画应用程序。许多经验丰富的用户表示,Blender 在雕刻工具方面远远领先于 Maya,并且在 3D 建模方面达到了相同的质量水平。对于刚接触动画行业的人来说,您可能会问“我应该使用 Blender 还是 Maya…

C#实现旋转图片验证码

开发环境:C#,VS2019,.NET Core 3.1,ASP.NET Core 1、建立一个验证码控制器 新建两个方法Create和Check,Create用于创建验证码(返回1张图片和令牌),Check用于验证(验证图…

怎么才能远程控制笔记本电脑?

为什么选择AnyViewer远程控制软件? 为什么AnyViewer是远程控制笔记本电脑软件的首选?以下是选择AnyViewer成为笔记本电脑远程控制软件的主要因素。 跨平台能力 AnyViewer作为一款跨平台远程控制软件,不仅可以用于从一台Windows电…

RF手机天线仿真介绍(一):金属边框天线和LDS天线

目录 简介LDS天线LDS天线仿真 金属边框天线金属边框天线仿真 简介 最早的手机是外置式天线,从NOKIA开始采用内置式天线,开始采用内置金属片(一般是0.1MM厚的不锈钢片冲压而成),随后为降低成本,后来改用FPC…

Spring Boot 配置多数据源【最简单的方式】

Druid连接池 Spring Boot 配置多数据源【最简单的方式】 文章目录 Druid连接池 Spring Boot 配置多数据源【最简单的方式】 0.前言1.基础介绍2.步骤2.1. 引入依赖2.2. 配置文件2.3. 核心源码Druid数据源创建器Druid配置项 DruidConfig 3.示例项目3.1. pom3.1.1. 依赖版本定义3.…