【网络】初识网络

2023-10-29

Linux初识网络

网络"协议"

"协议" 是一种约定

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

而计算机的生产厂家有很多,操作系统和各种网络设备也各式各样,不同厂商之间的软件和硬件之间的通信协议如何保持一致,这时候就得权威机构来预定一个共同的通信标准数据格式,各个厂商都来遵守,就有了网络协议

协议分层

以打电话为例子

请添加图片描述

语言之间的通信是一种协议,而通信设备之间的通信也是一种协议,这里把协议分为两层,

而实际的网络通信会更加复杂,需要更多层次

  • 分层可以让人们探讨和理解每层协议的许多细节
  • 可以降低各个层的之间的耦合
  • 可以把复杂的网络划分成为更容易管理的层

OSI七层模型

七层模型,亦称OSI(Open System Interconnection)参考模型,是参考模型是国际标准化组织(ISO)制定的一个用于计算机或通信系统间互联的标准体系。它是一个七层的、抽象的模型体,不仅包括一系列抽象的术语或概念,也包括具体的协议。

请添加图片描述

  • 把网络从逻辑上分为了7层. 每一层都有相关、相对应的物理设备,比如路由器,交换机
  • OSI 七层模型是一种框架性的设计方法,其最主要的功能使就是帮助不同类型的主机实现数据输
  • 它的最大优点是将服务、接口和协议这三个概念明确地区分开来,概念清楚,理论也比较完整. 通过七个层次化的结构模型使不同的系统不同的网络之间实现可靠的通讯

七层模型从上到下依次是:

  • 应用层:协议有:HTTP FTP TFTP SMTP SNMP DNS TELNET HTTPS POP3 DHCP
  • 表示层:数据的表示、安全、压缩。格式有,JPEG、ASCll、DECOIC、加密格式等
  • 会话层:建立、管理、终止会话。对应主机进程,指本地主机与远程主机正在进行的会话
  • 传输层:定义传输数据的协议端口号,以及流控和差错校验。协议有:TCP UDP,数据包一旦离开网卡即进入网络传输层
  • 网络层:进行逻辑地址寻址,实现不同网络之间的路径选择。协议有:ICMP IGMP IP(IPV4 IPV6) ARP RARP
  • 数据链路层:建立逻辑连接、进行硬件地址寻址、差错校验等功能。将比特组合成字节进而组合成帧,用MAC地址访问介质,错误发现但不能纠正。
  • 物理层:建立、维护、断开物理连接。

但是七层模型分的太多,太过于细节,很复杂也不太实用,所以我们通常学习TCP/IP四层模型

请添加图片描述

TCP/IP五层(四层)模型

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

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

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

请添加图片描述

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

网络传输基本流程

请添加图片描述

两个计算机之间的通信之间是发送数据包

  • 数据包=包头+数据(有效载荷)
  • 几乎所有的协议,都要解决包头和有效何在的分解问题
  • 自底向上,需要确认自己的有效载荷要交给上层的哪个协议,确认分离后,将自己的有效载荷交付给上层的协议,就叫做分用
  • 局域网中,所有的主机可以直接通讯,在数据链路层中,有一个mac地址网卡硬件地址,或者序列号全球唯一
  • 在传输过程中,将目标主机的mac地址添加到数据包的包头中,在目标主机解包过程中分析mac地址如果是本机的mac地址,就继续解包,如果不是就丢弃

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

请添加图片描述

请添加图片描述

数据包封装和分用

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

数据封装的过程

请添加图片描述

数据分用的过程

请添加图片描述

网络中的地址管理

IP地址

IP协议有两个版本, IPv4和IPv6

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

MAC地址

  • MAC地址用来识别数据链路层中相连的节点
  • 长度为48位, 即6个字节. 一般用16进制数字加上冒号的形式来表示
  • 在网卡出厂时就确定了, 不能修改. mac地址通常是唯一的(虚拟机中的mac地址不是真实的mac地址, 可能会冲突; 也有些网卡支持用户配置mac地址).
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

【网络】初识网络 的相关文章

随机推荐

  • 怎么给python文件重命名_Python os.rename()函数:重命名文件或目录

    os 模块提供了重命名文件和目录的函数 rename 如果指定的路径是文件 则重命名文件 反之 如果执行的路径是目录 则重命名目录 rename 函数的基本语法格式如下 os rename src dst 其中 src 参数用于指定要进行重
  • LeetCode刷题——第一题 (两数之和)

    1 两数之和 题目描述 思路一 思路二 思路二 代码实现 题目描述 给定一个整数数组 nums 和一个目标值 target 请你在该数组中找出和为目标值的那 两个 整数 并返回他们的数组下标 你可以假设每种输入只会对应一个答案 但是 你不能
  • 为create-react-app 创建的应用, 添加less

    npm run eject 暴露webpack配置 修改webpack config js 配置 1 添加 less 正则 const lessRegex less const lessModuleRegex module less 2 添
  • 文件服务器fuse,FUSE 扩展

    FUSE扩展 在Seafile系统上文件被分割成数据块 这意味着在你的Seafile服务器上存储的并不是完整的文件而是数据块 这种设计能够方便有效的运用数据去重技术 然而 有时系统管理员想要直接访问服务器上的文件 你可以使用seaf fus
  • 解决微信小程序报[ app.json 文件内容错误] app.json: app.json 未找到,未找到入口 app.json 文件,或者文件读取失败,请检查后重新编译。小程序app.json报错

    编译报错 app json 文件内容错误 app json app json 未找到 原因 由于project config json文件的miniprogramRoot小程序根目录属性找不到aap json的路径 可能是错误的路径 也可能
  • 刷脸支付始于支付不止于支付

    始于支付 不止于支付 支付宝和微信的战争早已延伸至城市生活的方方面面 让办事不再复杂 今年6月 中国政务服务平台同时在支付宝和微信上线 用户可在线办理查询 缴费 申领证件 投诉等200多项政务服务 还与时俱进地上线了高考分数查询 垃圾分类指
  • C语言的三子棋,也就是井字棋。

    三子棋 程序员入门必须写的东西 包含了C语言初级阶段所有的知识点 比如 do while 循环 while循环 for循环 if else语句 switch语句 二维数组 函数等等 如果要写出三子棋 这些知识点必不可少 三子棋可以分成五步
  • 【QT】——多线程的使用

    目录 基本概念 1 线程类QThread 1 1信号和槽 1 2静态函数 1 3 任务处理函数 2 实例 第一种方式 第二种方式 基本概念 默认的线程在Qt中称之为窗口线程 也叫主线程 负责窗口事件处理或者窗口控件数据的更新 子线程负责后台
  • 阿里云8888端口设置安全组,宝塔控制台显示链接失败

    问题 阿里云8888端口设置安全组 宝塔控制台显示链接失败 解决思路 在服务器ssh执行 etc init d bt restart 重启宝塔服务 刷新页面以能正常访问
  • CephFS 介绍及使用经验分享

    目录 Ceph架构介绍 NFS介绍 分布式文件系统比较 CephFS介绍 MDS介绍 5 1 单活MDS介绍 5 2 单活MDS高可用 CephFS遇到的部分问题 6 1 客户端缓存问题 6 2 务端缓存不释放 6 3 客户端夯住或者慢查询
  • Socket 中级篇(一)Socket断开后要自动重连的常用几种方法:Connected、心跳包、recv()返回值==-1等等。

    第一章 简介 抛出问题 参考 https www cnblogs com youxin p 4056041 html 功能方面比较简单就是client端与server端建立连接 然后发送消息给server 我在server端会使用专门的线程
  • OLED透明屏安装指南:准备工作、步骤和注意事项

    随着科技的不断发展 OLED透明屏作为一种新型的显示技术 逐渐得到了广泛的应用 OLED透明屏具有高透明度 高亮度和广视角等优势 可以实现透明显示效果 为商业展示 户外广告等领域提供了更广阔的空间 然而 正确的安装方法对于保证OLED透明屏
  • 自动火焰识别项目总结

    步骤分为图像获取 gt 图像预处理 gt 火焰图像分割 gt 火焰图像特征提取 gt 火焰识别 1 图像获取 视频或图片 2 图像预处理 预处理过程一般有数字化 几何变换 归一化 平滑 复原和增强等步骤 图像变换 图像增强 图像去噪 图像压
  • java实现文件下载功能

    目录 单个下载 流 1 设置响应类型和头信息 2 实现文件输出 单个下载 本地文件 1 文件读取 2 设置响应类型和头信息 3 实现文件输出 单个下载 网络文件 1 与服务器建立连接 2 设置响应类型和头信息 3 实现文件输出 压缩ZIP下
  • 第十二届蓝桥杯大赛模拟赛(网上最后一题题解大部分是错的)

    第十题 问题描述 小蓝在一个 n 行 m 列的方格图中玩一个游戏 开始时 小蓝站在方格图的左上角 即第 1 行第 1 列 小蓝可以在方格图上走动 走动时 如果当前在第 r 行第 c 列 他不能走到行号比 r 小的行 也不能走到列号比 c 小
  • 2020年,为什么你该学PHP?!!

    1676对于编程初学者来说一个开发顺手的代码编辑器很重要 可大多数人不了解代码编辑器有哪些 网上有很多种代码编辑器推荐 但是不知道这些代码编辑器哪个好用 所以 今天php中文网就为初学者推荐2020最好用的8个代码编辑器 代码编辑器排行榜
  • 聚类算法——KMeans算法(机器学习)

    KMeans算法 一 输入参数 n clusters 数据集将被划分成 n clusters个 簇 即k值以及 int optional default 8 一般需要选取多个k值进行运算 并用评估标准判断所选k值的好坏 以获得较好的聚类效果
  • 基于消息中间件解决分布式事务的开源框架Myth

    基于消息中间件的解决分布式事务框架 https github com yu199195 myth 1 rpc框架支持 dubbo motan springcloud 2 消息中间件支持 jms activimq amqp rabbitmq
  • uboot启动——lowlevel_init函数详解

    1 将lr寄存器中的值压栈 push lr lr寄存器保存的是函数返回地址 每个模式下只有一个lr寄存器 如果涉及多重函数调用 则lr寄存器会被覆盖 导致返回地址丢失 在之前已经初始化栈 所以这里可以将lr寄存器压栈 将来函数返回的时候再弹
  • 【网络】初识网络

    Linux初识网络 文章目录 Linux初识网络 网络 协议 协议分层 OSI七层模型 TCP IP五层 四层 模型 网络传输基本流程 数据包封装和分用 网络中的地址管理 IP地址 MAC地址 网络 协议 协议 是一种约定 计算机之间的传输