目录

一、网络发展

二、理解分层

        2.1OSI七层模型

        2.2TCP/IP分层模型

        2.3分层的好处

三、认识协议

        3.1初步认识

        3.2了解指定组织

        3.3具体协议理解

              3.3.1是什么

              3.3.2为什么

            3.3.3与OS的关系

        3.4总结

四、网络传输流程

        4.1局域网网络传输

        4.1.1通信过程

        4.1.2概念解析

     4.2跨网络传输

        4.2.1通信过程

        4.2.2IP与Mac对比


一、网络发展

二、理解分层

        2.1OSI七层模型

        

        OSI(Open System Interconnection,开放系统互连)七层⽹络模型称为开放式系统互联参考模型,是⼀个逻辑上的定义和规范;
        把⽹络从逻辑上分为了7层. 每⼀层都有相关、相对应的物理设备,⽐如路由器,交换机;
OSI 七层模型是⼀种框架性的设计⽅法,其最主要的功能使就是帮助不同类型的主机实现数据传输;
      
        它的最⼤优点是将服务、接⼝和协议这三个概念明确地区分开来,概念清楚,理论也⽐较完整.通过七个层次化的结构模型使不同的系统不同的⽹络之间实现可靠的通讯;

       

        2.2TCP/IP分层模型

OSI七层模型其实在⽹络⻆度,OSI定的协议7层模型其实⾮常完善,但是在实际操作的过程中,会话层、表⽰层是不可能接⼊到操作系统中的,所以在⼯程实践中,最终落地的是5层协议。

我们按照TCP/IP四层模型理解(去掉物理层)物理层我们考虑的⽐较少,我们只考虑软件相关的内容. 因此很多时候我们直接称为 TCP/IP四层模型

TCP/IP是⼀组协议的代名词,它还包括许多协议,组成了TCP/IP协议簇.
TCP/IP通讯协议采⽤了5层的层级结构,每⼀层都呼叫它的下⼀层所提供的⽹络来完成⾃⼰的需求

        2.3分层的好处

                以通话为例,我们用户间确定语言,底层确定通话数据传输的方式,用户与底层分开,各层的改变并不会互相影响,实现功能间的解耦合,使维护成本降低

三、认识协议

        3.1初步认识

        在2.3例子中,用户定义语言,底层定义传输方式这种约定我们就可以看成是协议。

        3.2了解指定组织

        

        3.3具体协议理解

                以TCP/IP协议为例认识协议

              3.3.1是什么
TCP/IP协议的本质是⼀种解决⽅案
TCP/IP协议能分层,前提是因为问题们本⾝能分层
              3.3.2为什么

本质:通信主机距离变远了

⾸先,即便是单机,你的计算机内部,其实都是存在协议的,⽐如:其他设备和内存通信,会有内存协议。其他设备和磁盘通信,会有磁盘相关的协议,⽐如:SATA,IDE,SCSI等。只不过我们感知不到罢了。⽽且这些协议都在本地主机各⾃的硬件中,通信的成本、问题⽐较少。
其次,⽹络通信最⼤的特点就是主机之间变远了。任何通信特征的变化,⼀定会带来新的问题,有问题就得解决问题,所以需要新的协议咯。
 
            3.3.3与OS的关系

        3.4总结

 所谓协议,就是通信双⽅都认识的结构化的数据类型

四、网络传输流程

        4.1局域网网络传输

        局域网通信类似我们在一个教室里上课,老师向具体同学提问,同学给老师回答,所有的同学都可以收到消息,但只有指定的两人才会真正去解决。

        局域网通信我们要有唯一标识去区别不同主机来保证通信。

认识MAC地址--标识主机唯一性:

 

                    4.1.1通信过程
以太⽹中,任何时刻,只允许⼀台机器向⽹络中发送数据
如果有多台同时发送,会发⽣数据⼲扰,我们称之为数据碰撞
所有发送数据的主机要进⾏碰撞检测和碰撞避免没有交换机的情况下,⼀个以太⽹就是⼀个碰撞域
局域⽹通信的过程中,主机对收到的报⽂确认是否是发给⾃⼰的,是通过⽬标mac地址判定
这⾥可以试着从系统⻆度来理解局域⽹通信原理初步明⽩了局域⽹通信原理,再来看同⼀个⽹段内的两台主机进⾏发送消息的过程

在该通信流程下我们加入协议,形成完整的通信流程

                4.1.2概念解析

         其中的封装和解包是我们数据在向下交付和向上交付的重要识别,帮助我们通信的准确性和安全性。其中我们通信传输的数据称为报文(报⽂ = 报头 + 有效载荷),其中报头有每层的特性和大小等属性,帮助我们进行数据传递。

        

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

抽象:

     4.2跨网络传输

        4.2.1通信过程

        4.1中我们了解了局域网通信我们需要标识不同主机的唯一性,那么当通信距离变长,我们用什么标识唯一性?

        

跨网络通信我们利用IP地址标识唯一性:

        理解:跨网络通信我们可能要经过许多局域网下(路由器)的多台主机,我们以IP作为传输的大方向,MAC地址作为中途过程中相邻两台主机的传输方向

        

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

具体理解图:

                4.2.2IP与Mac对比
IP地址在整个路由过程中,⼀直不变(⽬前,我们只能这样说明,后⾯在修正)
Mac地址⼀直在变
⽬的IP是⼀种⻓远⽬标,Mac是下⼀阶段⽬标,⽬的IP是路径选择的重要依据,mac地址是局域⽹转发的重要依据
        IP⽹络层存在的意义:提供⽹络虚拟层,让世界的所有⽹络都是 IP ⽹络,屏蔽最底层⽹络的差异

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

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

相关文章

前端视角下关于 WebSocket 的简单理解

参考 RFC 6455: The WebSocket Protocol WebSocket 协议基础 协议本质:在单个 TCP 连接上提供全双工通信通道的协议核心优势: 双向实时通信(服务器主动推送)低延迟(相比 HTTP 轮询)高效数据传输&#xff0…

自动化一键部署 LNMP 环境

第一步:准备环境 & 准备脚本文件1. 你在 CentOS 7 的服务器/虚拟机里打开终端,确认你有 root 权限或者能用 sudo。输入下面命令确认你的系统版本:cat /etc/centos-release你应该看到类似:CentOS Linux release 7.9.2009 (Core…

react之React.cloneElement()

react提供的这个方法克隆组件的方法,可能我们在平常的开发中用的很少,主要可能是我们并不知道或者并不了解这个方法。因为我在之前react的children文章中用到过,所以我就进行了一系列的测试,发现真的非常的好用。我们同样使用一些…

学习Java的Day27

今天学习的主要内容是在IntelliJ IDEA开发环境中,通过部署Tomcat服务器并连接MySQL数据库,实现了一个完整的留言板系统。这个项目涵盖了前后端开发的全流程,具体包括以下关键环节:开发环境搭建使用IntelliJ IDEA Ultimate版&#…

【计算机网络 | 第3篇】物理媒介

文章目录物理媒介介绍与物理媒体的分类🥝成本考量引导型传输媒体🍋引导型传输媒体:双绞线🍋‍🟩双绞线类别双绞线的发展历程双绞线的物理限制引导型传输媒体:同轴电缆🍋‍🟩结构组成…

golang的切片

切片 为什么需要切片 用于元素的个数不确定,所以无法通过数组的形式来进行统计。此时就需要切片 切片,也因此可以粗略地理解为动态数组数组的长度不能用变量来确定,这时候切片slice也就派上用场了 切片地基本介绍 切片的英文是slice切片是数组…

在labview中实现视频播放

这里分享一个迅雷的视频播放控件APlayer,非常的好用。具体操作步骤如下: 1.下载控件: 首先下载http://aplayer.open.xunlei.com/codecs.zip,将codecs文件解压后打开,按快捷键contrlA,随后contrlc复制里面所有的文件;…

ubuntu 22.04 使用yaml文件 修改静态ip

前提: 启动服务 sudo systemctl start systemd-networkd 设置开机自启 sudo systemctl enable systemd-networkd 检查状态(确保显示 active (running)) sudo systemctl status systemd-networkd 若想停止: 停止当前运行的服务 sud…

闸机控制系统从设计到实现全解析:第 4 篇:Redis 缓存与分布式锁实现

第 4 篇:Redis 缓存与分布式锁实现 一、Redis 在系统中的核心作用票证信息缓存:将高频访问的票证数据(如状态、有效期)缓存至 Redis,减少数据库查询,提升验证响应速度。分布式锁:在高并发场景下…

北京天津唐山廊坊沧州打捞日记

北京天津唐山廊坊沧州打捞日记 打捞搜蚯蚓疏通 北京:护城河畔的情谊打捞 清晨,北京的护城河在朝阳的映照下泛着微光。我接到一位年轻小伙的电话,声音中满是焦急。原来,他与女友在河边约会时,不小心将女友送他的定情玉佩…

全志刷机工具:PhoenixSuit-全志芯片处理器-刷机工具安装包及最详细使用教程指南

全志刷机工具:PhoenixSuit-全志芯片处理器刷机工具安装包及最详细使用教程指南,此文章主要是分享机顶盒、电视盒子,全志芯片盒子(其中包含全志处理器、全志芯片、全志CPU等等)的刷机工具、刷机工具安装教程以及如何使用…

浅谈 VM 桥接模式:让虚拟机像真实电脑一样接入网络

在虚拟化环境中,虚拟机(Virtual Machine, VM)与外部网络之间的通信方式有多种,比如 NAT 模式、Host-Only 模式、桥接模式(Bridged Networking) 等。其中,桥接模式是最接近“真实物理机”网络行为…

计算机视觉(1)-图像采集设备选型全景表(工业 + 医疗 + 车载)

图像采集设备选型全景表(工业 医疗 车载)一份面向工程师的“场景—设备—协议”速查表1 工业 & 医疗 & 通用场景应用场景主流设备形态接口 / 协议典型性能突出优势致命短板动态范围工业检测AOI / 量测 / 缺陷工业相机 采集卡Camera Link HSCo…

计算机视觉(3)深度学习模型部署平台技术选型与全栈实践指南

一、部署平台概述与分类 深度学习模型部署平台的分类需兼顾技术特性与应用场景的适配性,基于“技术定位-场景适配”双维度分类法,可将其划分为通用开源框架、云厂商服务及专用边缘工具三大类,各类别在设计目标、核心能力与场景覆盖上呈现显著…

Scratch编程:枪战游戏(附源码)

🎮 操作说明 W / A / S / D 或 方向键:移动 C:滑铲 空格键:取消滑铲 鼠标点击:开火 数字键 1 / 2 / 3 / 4:切换武器 G:快速使用道具 F:近战攻击 Q:瞄准 / 使用技能…

应急响应复现

一、前言:当企业发生黑客入侵、系统崩溃或其它影响业务正常运行的安全事件时,急需第一时间进行处理,使企业的网络信息系统在最短时间内恢复正常工作,进一步查找入侵来源,还原入侵事故过程,同时给出解决方案…

分布式事务Seata TCC模式篇

介绍 ​ 官网: https://seata.apache.org/zh-cn/docs/user/mode/tcc ​ 回顾Seata AT 模式基于 支持本地 ACID 事务 的 关系型数据库,如下: 一阶段 prepare 行为:在本地事务中,一并提交业务数据更新和相应回滚日志记录。二阶段 c…

Day37--动态规划--52. 携带研究材料(卡码网),518. 零钱兑换 II,377. 组合总和 Ⅳ,57. 爬楼梯(卡码网)

Day37–动态规划–52. 携带研究材料(卡码网),518. 零钱兑换 II,377. 组合总和 Ⅳ,57. 爬楼梯(卡码网) 本文全部都是 ” 完全背包 “ 问题,从零到入坑,从入坑到爬出来。 本…

Linux文件操作

Linux文件Linux下的文件类型b 块设备文件---->存储类设备(硬盘)c 字符设备文件--->输入输出设备d 目录文件--->文件夹- 普通文件--> xxx.c xxx.h xxx.txt xxx.jpg xxx.mp4 a.outl 软链接文件-->快捷方式s 套接字文件-->网络通信p 管道…

Linux epoll 触发模式详解:LT vs ET

两种核心触发模式 1. 水平触发 (Level-Triggered, LT) 工作方式: 当文件描述符处于就绪状态时,epoll 会持续通知 只要状态未改变,每次调用 epoll_wait 都会返回该描述符 特点: c // 内核处理逻辑 (ep_send_events_proc) if (!(epi->event.events & EPOLLET)) { /…