网络中的一些基本概念

news/2024/11/8 12:18:59/

组建网络的重要设备

集线器,交换机(组建局域网,不能跨局域网组建网络),路由器(wifi本质上是无线路由器,路由器的本质的把俩个局域网给连起来)

网络通信的一些基础概念

IP地址 标识了网络设备所在的位置

端口号 标识了一个具体的应用程序

协议

协议是网络通信的概念,约定好了数据是什么样的格式来进行传输,有了这个约定,才能让双方相互理解对方的含义,比如我们日常说话,"普通话","芜湖话","北京话"也属于协议.

网络通信是一个比较复杂的事情,需求场景复杂了,实现功能比较复杂,如果这个协议太复杂了,学习成本,使用成本维护成本很高,因此实际做法是:针对这个复杂的大协议,拆分成若干个,相对简单的小协议.

随着协议拆分成一些小协议,每个协议负责一部分功能,此时可能某些协议之间起到的作用和功能是类似的,针对这些小协议,再进行分类(分层),网络协议就是在 分层的背景下展开的

协议分层的好处
降低了学习成本和维护成本(封装)
灵活的针对某一层协议进行替换

协议分层的风格
OSI七层网络模型(实际上不用,与五层协议相比,应用层和传输层多了表示层和会话层)
TCP/IP五层(四层)网络模型

物理层:约定了网络通信中,基础硬件设备是什么样的,比如像通信使用的网线,网口等设备.网线网口都是相同规格的

传输层:只关心端到端之间的传输(起点到终点)

网络层:主要负责路径的规划,走什么样的路线传输效率最高.

数据链路层:主要负责俩个相邻的节点之间,具体怎么进行传输

应用层:应用层,描述了传输层的数据,用户要怎样来使用

网络数据传输的基本流程(站在协议分层的角度) 

以QQ为例,A给B发一个hello

应用层

发送方:用户在输入框输入hello这个字符串,qq这个应用程序就把这个字符串,给构成了一个数据报,假设qq的应用层协议格式为(应用层数据,每个应用程序都不一定一样,有统一的版本,也可以自己定义): 
发送方qq号;发送时间;接收方qq号;消息内容

"应用层数据报"本质上就是一个遵循了约定格式的字符串,程序要调用操作系统的 api,把这个应用层数据报交给传输层

传输层(进入系统内核了)

 在传输层中,就要把上述应用层数据,构成传输层 的数据报
传输层使用的协议,最知名的就是UDP和TCP,此处使用UDP,就需要构造出一个 UDP数据报(在 应用层数据报 基础上,加一个UDP报头)

网络层

网络层最知名的协议 IP协议 IP协议基于上述数据报,打包成一个IP数据报

一次通信中基础的五元组:源IP 源端口 目的IP 目的端口 协议类型

数据链路层

数据链路层最知名的协议是"以太网",基于上述数据报打包成一个"以太网数据帧"

物理层

把上述二进制的数据(一串0101)转换成 电信号/光信号,此时就真正把数据发送出去了

上述过程,从应用层到物理层,层层加码,从上到下,这个过程就称为"封装"(不是面向对象的封装)

接收方的工作

物理层

网卡接收到的是 光信号 和 电信号.在物理层,把这个光电信号转换成成 二进制的数据,转换的数据就是一个以太网数据帧

数据链路层

把这个数据交给数据链路层解析

网络层

传输层

 应用层

上述,从下到上,层层解析,这个过程称为"分用".

整个的网络协议中,协议分成很多层,上层协议要调用用下层协议(上层协议把数据交给下层继续封装),下层协议给上层协议提供支持(下层协议解析好数据,交给上层).
这里的几层协议之间是有明确的层级关系,只有相邻的俩层之间才能进行交互(不能跨层交互) .


http://www.ppmy.cn/news/40556.html

相关文章

使用开发者工具等跳过付费墙

使用开发者工具等方法跳过付费墙 参考于: https://bbarrows.com/posts/how-to-get-around-paywalls-with-debug-tools Everyone Hates Paywalls 每个人都讨厌付费墙 像csdx网站,不登录看不到之后的内容 下面是一些方法跳过付费墙 (1) 视图滚动 Chrome…

TypeScript(八)装饰器

目录 前言 定义 类装饰器 基本用法 操作方式 操作类的原型 类继承操作 方法装饰器 属性装饰器 存取器装饰器 参数装饰器 基本用法 参数过滤器 元数据函数实现 参数过滤 效果实践 装饰器优先级 相同装饰器 不同装饰器 装饰器工厂 hooks与class兼容 结语 …

利用多专家模型解决长尾识别任务

来源:投稿 作者:TransforMe 编辑:学姐 贡献 提出了RoutIng Diverse Experts(RIDE),不仅可以减少所有类别的variance,并且还可以减少尾部类的bias。同时提升了头部和尾部的性能。 思路 目前存…

linux0.12-3-4

71–3.4-C与汇编程序的相互调用 71–3.4.1-C函数调用机制 76–3.4.2-在汇编程序中调用C函数 78–3.4.3-在C程序中调用汇编函数 3-4 C语言和汇编相互调用的 原因:为了效率,C语言和汇编之间会相互调用。 3-4-1 C函数调用 head.s如何跳转到main.c? 我们先…

RMAN-06023: no backup or copy of datafile 1 found to restore

参考文档: RMAN-06026 RMAN-20003 - During Restore From A Disk Backup to an Identically Cloned Host (Doc ID 763703.1) RMAN RESTORE FAILS WITH RMAN-06023 ALTHOUGH BACKUPS ARE AVAILABLE (Doc ID 965122.1) RDBMS 11.2.0.4 问题: 在异机还原数…

ansible自动运维——明白ansible的资产清单inventory

大家好,这里是天亮之前ict,本人网络工程大三在读小学生,拥有锐捷的ie和红帽的ce认证,这里我会定期跟新自动话运维的博客,希望能提高自己的技术的同时,也可以帮助到大家,另外大家可以关注我的其它…

文献管理软件Endnote、Mendeley、Zotero比较及选择,Zotero基础使用技巧

引言 大家好,我是比特桃。日常开发的项目分为两种,一种是成熟化的工程项目,只需要与具体的业务紧密结合及应用,难点也比较偏向于软件工程或者互联网高并发的方向。这种项目我们通常不会选择去查文献去寻找问题的解决办法&#xf…

前端实用js dom合集

1. 整个网页变为灰色主题,最外层加css样式:filter:grayscale(1) 黑色主题:filter:invert(1) 2.js剪辑视频片段制作gif动图: 效果:点击开始就开始录制,点击结束右边显示生成的gif动图 生成g…