网络基础入门

2023-10-27

一、网络的背景

1、发展

先有计算机->再有OS->然后再有网络

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

最刚刚开始没有网络的时候,各个计算机之间相互独立,如果需要完成某项任务,几台计算机协同工作时,必须等待前一个计算机数据处理完成,交付给后一个计算机再进行数据处理,以此类推,完成最终的任务!但是最大的缺点就是:费时费力,效率极低!
在这里插入图片描述

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

在独立模式的基础上,我们增加一台共享数据的计算机,能够接收和共享所有计算机的处理结果,因为网络的连接,以此来提高效率。
在这里插入图片描述

局域网LAN和广域网WAN

随着计算机数量的增多,局域网LAN通过交换机个路由器连接在一起。
在这里插入图片描述
随着网络的规模进一步扩大,通过广域网WAN把相隔千里的计算机连接在一起。
在这里插入图片描述
所谓“局域网”、“广域网”只是一个相对的概念,一个较大的广域网也可以叫做局域网。

网络存在的意义:提高效率

二、网络在哪里?

我们可以来回顾一下体系结构中的计算机:
在这里插入图片描述

这里的网络,指的是网络协议栈!它是一个软件,贯穿体系结构的TCP/IP属于操作系统的一部分。

三、认识协议

感性认识协议:约定!!!
所谓的计算机协议,本质其实就是约定,约定是由编码的程序员自己根据标准文档或者自己的喜好来定义的协议!

四、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通讯协议采用了5层的层级结构,每一层都呼叫它的下一层所提供的网络来完成自己的需求。

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

在这里插入图片描述
物理层我们考虑的比较少,因此很多时候也可以称为 TCP/IP四层模型。

一般而言:
对于一台主机, 它的操作系统内核实现了从传输层到物理层的内容;
对于一台路由器, 它实现了从网络层到物理层;
对于一台交换机, 它实现了从数据链路层到物理层;
对于集线器, 它只实现了物理层;

六、网络传输基本流程

两台主机之间的通信:
在这里插入图片描述
误区:认为数据传送给对方,事情就完了!!这只是第一步。
第二步:如何分析和使用数据!

TCP/IP通信过程——局域网通信:
在这里插入图片描述

局域网中的两台主机能直接通信吗?(意思就是不用交费,不用上公网等)
答案:可以的
当你的电脑没有交网费的时候,是这样的情况:
在这里插入图片描述

七、数据包的封装和分用

在这里插入图片描述
同层拿到数据包之后,发现数据包是一样的格式,就好像是同层之间直接通信,这是一种逻辑上的通信。

从生活中:

如何理解报头,什么是报头?
举例快递单子,上面有各种收发快递的详细信息,但是最重要的无非不就是
上面的格式+数据,这个快递单就类似于我们的报头。
如果没有报头,我们就无法得知该快递该如何派发。

为什么要有报头?
需要报头中的数据,来指导当前层进行某种协议决策。

从计算机中:

在计算机OS中,如何理解报头和数据?
首先报头也是一种结构化的数据。数据也叫有效载荷。

LinuxOS是C语言写的,那么站在OS的角度,如何理解封装和解包?
我们自己定义的报头,只是为了举例,该报头暂时无意义。

struct my_hdr
{
	unsigned int src: 16;
	unsigned int dst: 16;
	unsigned int type: 8;
	unsigned int len: 24;
}
struct my_hdrmy;//入位段变量,定义了一个报头

// 下面就是封装的过程
my.src = 0x1;
my.dst = 0x2;
my.type= 0x3;
my.len = 0x9;

添加报头,就是将一些字段填充好过后,将其拷贝进去有效载荷的前面:
在这里插入图片描述
解包去掉报头:
在这里插入图片描述
课本上的概念:

  • 不同的协议层对数据包有不同的称谓,在传输层叫做段(segment),在网络层叫做数据报 (datagram),在链路层叫做帧(frame)。
  • 应用层数据通过协议栈发到网络上时,每层协议都要加上一个数据首部(header),称为封装(Encapsulation)。
  • 首部信息中包含了一些类似于首部有多长, 载荷(payload)有多长, 上层协议是什么等信息。
  • 数据封装成帧后发到传输介质上,到达目的主机后每层协议再剥掉相应的首部, 根据首部中的 “上层协议字段” 将数据交给对应的上层协议处理。
  • 分用:几乎每一层协议的报头中都要包含两种字段:
    1、当前报头的有效载荷将要交付给上层哪个协议。
    2、几乎每个报头,都明确报头和有效载荷的边界
    (这是两点是我们以后学习所有协议的共性!)

数据封装:
在这里插入图片描述
解包分用:
在这里插入图片描述

八、网络中的地址管理

在这里插入图片描述

局域网通信原理:

为什么同一个局域网内的两台主机能通信?
这根总线上的网络资源,被所有机器所共享。同一时刻,可能有多台主机同时向网络总线中发送数据,但是为了保证B主机能把数据发送给G主机,所以此时需要MAC地址来标识,B主机发送的报文中就有MACG地址,所有的主机都能收到该报文,但是经过配对,其余主机都将MACG地址给丢弃,只有G主机能够接收到该报文。
从局域网视角,数据就好像单向的从B发送给了G。

如果同时发送消息,就可能出现数据碰撞的问题:

所以每台主机都要有碰撞检测的能力,每台主机都要有碰撞避免的算法。
以上的程序都在以太网的驱动程序帮我们做了这些事。

结论
局域网中任何时刻都只能有一台主机向局域网中发送数据,我们可以把共享总线看成临界资源,所以这也可以叫做“互斥”。

如果我想攻击这个局域网应该怎么做?

可以频繁的向局域网中发送数据,一直占用临界资源即可,从系统角度,其他主机就处于饥饿状态!

MAC地址

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

IP地址

IP协议有两个版本, IPv4和IPv6. 我们整个的课程, 凡是提到IP协议, 没有特殊说明的, 默认都是指IPv4。

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

IP的意义

例子:唐僧从东土大唐而来,前往西天拜佛求经!
唐僧身上有2套地址:
1、从哪里来,到哪里去(几乎一直不变,不忘初心)——IP
2、上一站从哪里来,下一站到哪里去(一直在变化)——MAC

为什么MAC一直在变化?
在数据链路层,经过路由器,一直在进行解包和封装。
在这里插入图片描述

IP的意义:在IP层,两台主机看到的都是同样的有效载荷,在IP层往上,看不到底层网络的任何差异!路由器帮我们屏蔽了底层差异。所以IP是互联网中底层核心协议层!

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

网络基础入门 的相关文章

  • 网络安全现状:揭秘白帽黑客的真实收入

    前言 作为一个网络安全行业五年打工仔 今天就来看看黑客的收入和方向怎么样 一个黑客年薪是多少呢 外界普遍认为黑客是高收入群体 那么你想过黑客是怎么获得收入的吗 黑客分为白帽黑客和黑帽黑客 处于黑白两道的黑客会的技术都有些相似 但是却是对立的
  • “性能压测揭密:关键指标分析!“

    在进行全链路压测和性能测试时 需要关注多个关键性能指标 KPIs 来评估系统的性能表现 以下是一些常见的性能测试指标 1 吞吐量 Throughput 系统在单位时间内能够处理的请求数量或事务数量 通常以每秒请求数 RPS TPS 来衡量
  • Linux中如何查看开启了哪些端口?

    在Linux中 端口是设备与外界通讯交流的出口 常用于指TCP IP协议中的端口 其按照端口号可以分为三类 分别是 公认端口 注册端口 动态端口 那么Linux中如何查看开启了哪些端口 以下是常用命令介绍 1 使用netstat命令 net
  • 这些专利知识你知道吗?

    专利作为一种重要的知识产权保护形式 专利不仅成为了企业核心竞争力的重要组成部分 也成为了国家创新发展的重要支撑 专利是指国家专利主管机关授予发明创造申请人的一种专有权 这种专有权具有独占性 排他性和法律强制性 能够为持有者带来经济利益和竞争
  • 基于成本和服务质量考虑的不确定性下,电动汽车充电网络基础设施需求预测和迭代优化的分层框架研究(Python代码实现)

    欢迎来到本博客 博主优势 博客内容尽量做到思维缜密 逻辑清晰 为了方便读者 座右铭 行百里者 半于九十 本文目录如下 目录 1 概述 2 运行结果 3 参考文献 4 Python代码 数据
  • centos系统有什么好处?

    CentOS是一种基于开源代码的Linux操作系统 它有以下几个优势 1 稳定性 CentOS是一种非常稳定的操作系统 它的代码经过了严格的测试和审查 因此它非常适合作为服务器操作系统使 用 2 安全性 由于CentOS是基于开源代码的操作
  • 如何解决Mybatis-plus与Mybatis不兼容的问题:An attempt was made to call a method that does not exist. The attempt

    博主猫头虎的技术世界 欢迎来到 猫头虎的博客 探索技术的无限可能 专栏链接 精选专栏 面试题大全 面试准备的宝典 IDEA开发秘籍 提升你的IDEA技能 100天精通Golang Go语言学习之旅 领域矩阵 猫头虎技术领域矩阵 深入探索各技
  • 基于成本和服务质量考虑的不确定性下,电动汽车充电网络基础设施需求预测和迭代优化的分层框架研究(Python代码实现)

    欢迎来到本博客 博主优势 博客内容尽量做到思维缜密 逻辑清晰 为了方便读者 座右铭 行百里者 半于九十 本文目录如下 目录 1 概述 2 运行结果 3 参考文献 4 Python代码 数据
  • 38条Web测试经验分享

    1 页面链接检查 每一个链接是否都有对应的页面 并且页面之间切换正确 可以使用一些工具 如LinkBotPro File AIDCS HTML Link Validater Xenu等工具 LinkBotPro不支持中文 中文字符显示为乱码
  • 用户数据中的幸存者偏差

    幸存者偏差 Survivorship bias 是一种常见的逻辑谬误 意思是没有考虑到筛选的过程 忽略了被筛选掉的关键信息 只看到经过筛选后而产生的结果 先讲个故事 二战时 无奈德国空防强大 盟军战机损毁严重 于是军方便找来科学家统计飞机受
  • messages,CentOS 7不收集日志或不存在 /var/log/messages

    var log message var log secure等都不记录了 并且都是空文件 重启机器 reboot 无效 重启日志 systemctl start rsyslog 无效 怀疑空间不足 删除 var log messages 重
  • 2024年金三银四网络安全考试试题

    2023年金三银四网络安全考试试题 1 关于数据使用说法错误的是 A 在知识分享 案例中如涉及客户网络数据 应取敏感化 不得直接使用 B 在公开场合 公共媒体等谈论 传播或发布客户网络中的数据 需获得客户书面授权或取敏感化 公开渠道获得的除
  • Jmeter 性能-并发量计算

    并发概念 指网站在同一时间访问的人数 人数越大瞬间带宽要求更高 服务器并发量分为 业务并发用户数 最大并发访问数 系统用户数 同时在线用户数 估算业务并发量的公式 C nL T C C 3 C的平方根 说明 C是平均的业务并发用户数 n是l
  • 远程控制软件安全吗?一文看懂ToDesk、RayLink、TeamViewer、Splashtop相关安全机制_raylink todesk

    目录 一 前言 二 远程控制中的安全威胁 三 国内外远控软件安全机制 ToDesk RayLink Teamviewer Splashtop 四 安全远控预防 一 前言 近期 远程控制话题再一次引起关注 据相关新闻报道 不少不法分子利用远程
  • 如何使用Imagewheel搭建一个简单的的私人图床无公网ip也能访问

    文章目录 1 前言 2 Imagewheel网站搭建 2 1 Imagewheel下载和安装 2 2 Imagewheel网页测试 2 3 cpolar的安装和注册 3 本地网页发布 3 1 Cpolar临时数据隧道
  • HPE Aruba Networking:五大网络现代化策略助力实现校园数字化转型

    作者 Aruba中国区技术销售总监 俞世丹 全球数字化进程日益加深 科技已成为加速教育行业发展的重要驱动力 人工智能 大数据 云计算 物联网 虚拟现实等新兴技术的快速发展 正在深刻改变着教育的形态和模式 为了更好地满足学校师生个性化教育教学
  • socket网络编程几大模型?看看CHAT是如何回复的?

    CHAT回复 网络编程中常见的有以下几种模型 1 阻塞I O模型 Blocking I O 传统的同步I O模型 一次只处理一个请求 2 非阻塞I O模型 Non blocking I O 应用程序轮询调用socket相关函数检查请求 不需
  • 网络安全(黑客)自学启蒙

    一 什么是网络安全 网络安全是一种综合性的概念 涵盖了保护计算机系统 网络基础设施和数据免受未经授权的访问 攻击 损害或盗窃的一系列措施和技术 经常听到的 红队 渗透测试 等就是研究攻击技术 而 蓝队 安全运营 安全运维 则研究防御技术 作
  • 内网安全:隧道技术详解

    目录 隧道技术 反向连接技术 反向连接实验所用网络拓扑图及说明 网络说明 防火墙限制说明 实验前提说明 实战一 CS反向连接上线 拿下Win2008 一 使用转发代理上线创建监听器 二 上传后门执行上线 隧道技术 SMB协议 SMB协议介绍
  • 2023下半年软考「单独划线」合格标准公布

    中国计算机技术职业资格网发布了 关于2023年度下半年计算机软件资格考试单独划线地区合格标准的通告 2023下半年软考单独划线地区合格标准各科目均为42分 01 官方通告 关于2023年度下半年计算机软件资格考试单独划线地区合格标准的通告

随机推荐

  • 基于OpenCV的数码管数字识别

    利用OpenCV可实现工业仪表设备的读数识别 仪表一般可分为两 数字式仪表和指针式仪表 本博文主要介绍一下数字式仪表识别的关键技术 下图是用软件模拟的数码管图片 本文识别的也就是图中的数字 一 图像定位 在实际的应用场景中 拍摄到的仪表区域
  • SparkStreaming与Kafka010之05之01 Consumer

    package Kafka010 import Kafka010 Utils MyKafkaUtils import org apache kafka clients consumer ConsumerRecord import org a
  • Java的Timer定时任务的一个小Demo

    今天遇到一个需求 需要读取数据库的地址 返回地址的经纬度和所属区县 但是由于数据库的地址信息会没有或者错误 那么我的循环就会停止 于是想到写一个定时任务来解决这个问题 下面是定时任务的一个小Demo 希望可以帮到需要的人 package e
  • c#基础知识---集合之点阵列(BitArray)

    BitArray 类管理一个紧凑型的位值数组 它使用布尔值来表示 其中 true 表示位是开启的 1 false 表示位是关闭的 0 当您需要存储位 但是事先不知道位数时 则使用点阵列 您可以使用整型索引从点阵列集合中访问各项 索引从零开始
  • 吉林大学软件学院计网复习知识点

    吉林大学软件学院计网复习知识点 目录 前言 单项选择题知识点 填空题知识点 名词解释题知识点 简答题知识点 应用题知识点 课后习题答案 尾声 前言 大家好 我是星辉 以上便是根据我手头的资料整理的 希望能够对大家有些许的帮助 目前分为两部分
  • java对象引用改变地址_Java 使用调用方法改变了对象的地址后,主函数中输出结果不变...

    今天看引用传递 值传递相关的东西 说到String的值自初始化后不能修改 我就想 如果调用函数改变了String类对象的引用 那主函数里头的输出结果会不会变化 结果发现不行 同样的 今天看引用传递 值传递相关的东西 说到String的值自初
  • 力扣二叉树--对称二叉树,从上向下打印二叉树刷题

    给你一个二叉树的根节点 root 检查它是否轴对称 示例 1 输入 root 1 2 2 3 4 4 3 输出 true 示例 2 输入 root 1 2 2 null 3 null 3 输出 false 查询对称二叉树 主要用途在于判断一
  • 活跃性(Liveness)

    一个并发应用能够及时执行任务的特性称为活跃性 这一节讲述最常见的一种活跃性问题 死锁 并将简单的介绍另外两种活跃性问题 分别为饥饿和活锁 死锁 Deadlock 死锁描述的是这样一种情景 当两个或者多个线程处于永远阻塞状态 并等待对方 如下
  • (工具)JavaScript 金额转大写

    function moneyToUpCase money if money return if typeof money number money money money money replace g 替换originalVal中的 mo
  • 利用非对称PWM模式体验编码器功能

    通常在STM32芯片的通用TIMER或高级TIMER都带编码器功能 支持基于1路或2路输入的编码脉冲计数 我们一般外接正交编码器 使用2路输入 TIMER硬件基于2路输入的相差特征来确定计数方向并依据方向对计数器做递增或递减操作 正交编码器
  • 【算法】堆,最大堆(大顶堆)及最小堆(小顶堆)的实现

    此坑待埋 点击打开漫谈经典排序算法 一 从简单选择排序到堆排序的深度解析链接 白话经典算法系列之七 堆与堆排序 二叉排序树与二叉堆 堆排序 注 这篇文章说明了如何从一个数组构建一个最大堆 推荐看 最大堆的插入 删除 调整 排序操作 图解 程
  • C++学习 十二、内存模型,作用域,名称空间 (1)多文件编译

    C 学习 十二 内存模型 作用域 名称空间 1 多文件编译 前言 多文件编译 模块化 文件结构 头文件 h 头文件结构 源文件 cpp 后记 前言 本篇继续C 学习总结 本篇将探讨C 中 变量与函数的内存模型 以及在多文件程序中的关系 先从
  • 解决 remote Support for password authentication was removed on August 13, 2021.

    解决 remote Support for password authentication was removed on August 13 2021 Please use a personal access token instead 问
  • 智能指针 std::auto_ptr 和 shared_ptr

    转载 http blog sina com cn s blog 508938e10100f12x html auto ptr 类可以用于管理由 new 分配的单个对象 但是无法管理动态分配的数组 我们通常不会使用数组 而是使用 vector
  • go语言配置

    1 Go语言的环境变量 与Java等编程语言一样 安装Go语言开发环境需要设置全局的操作系统环境变量 除非是用包管理工具直接安装 主要的系统级别的环境变量有两个 1 GOROOT 表示Go语言环境在计算机上的安装位置 它的值可以是任意的位置
  • memcached 高可用工具 memcached-ha

    MemcachedHA 包装一种memcached client 使系统达到对memcached的高可用控制 日本人开发的 项目地址 http sourceforge jp projects memcached ha 1 数据多点备份 主从
  • k8s--基础--22.9--storageclass--类型--Quobyte

    k8s 基础 22 9 storageclass 类型 Quobyte 1 介绍 1 1 案例 apiVersion storage k8s io v1 kind StorageClass metadata name slow provis
  • 云原生之使用Docker部署caddy网站服务器

    云原生之使用Docker部署caddy网站服务器 一 Caddy介绍 1 Caddy简介 2 Caddy特点 二 检查本地环境 1 检查操作系统版本 2 检查docker状态 三 下载caddy镜像 四 部署caddy应用 1 创建数据目录
  • kuka程序备份_KUKA机器人更改机器人名称及备份还原数据

    大家好 继之前发过的图文消息 连续好多期都是用视频讲解了 毕竟我觉得实际演示和语言沟通才是信息交流最通畅的方式 然而后台的播放数据并不好 半个小时的视频平均播放时长才十分钟 可能是视频太长了 我不是败给我自己 我是败给了这个时代 因为D音
  • 网络基础入门

    文章目录 一 网络的背景 独立模式 计算机之间相互独立 网络互联 多台计算机连接在一起 完成数据共享 局域网LAN和广域网WAN 二 网络在哪里 三 认识协议 四 OSI七层模型 五 TCP IP 四层模型 六 网络传输基本流程 七 数据包