初始网络

news2025/1/15 20:02:51

文章目录

  • 初始网络
  • 局域网 / 广域网
  • IP地址 和 端口号
  • 认识协议
  • 协议分层

初始网络


这里可以先自行在网上了解一下网络的发展史 也就是互联网是怎么来的.

局域网 / 广域网


关于网络的发展史 , 会涉及到两个非常重要的术语 ,也就是 局域网,和广域网


局域网 :把一些设备,通过交换机或路由器连接到一起


局域网要求这些设备不能离太远 , (比如 同一个网吧内 , 同一个学校, 同一个公司 等)


广域网 :范围更大的局域网


比如 : 将一个城市里的电脑都连接起来,再把城市和城市之间的网络也连接起来,越连越多,此时就成了广域网了。


另外 :广域网没有明确的说,需要达到多大,才能算是一个广域网。但一般我们就认为广域网就是一个比较大的网络。就是很多个局域网组合在一起,构成了一个很大的网络。


了解完 局域网 和 广域网, 下面再来谈谈, 几个组建网络的重要设备。


1. 路由器 : wifi 本质上就是格无线路由器 , 路由器 本质上就是将两个局域网连起来。


2. 交换机 : 组件局域网 (不能跨局域网)

在这里插入图片描述


另外 : 在现在,带有路由功能(三层转发) 交换机也是很多很常见的, 这就导致交换机和路由器之间的界限越来越模糊.


3. 集线器 ( 比较古老的东西,现很少见到): 将一根网线 给 分叉了

关于这些设备就简单的了解一下即可 , 下面来学习一下关于网络的基础知识 。

IP地址 和 端口号


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


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


举个例子 : 假设我在淘宝上买一件衣服,这里我们需要填写收货地址 和收件人电话 ,我们快递小哥就可以根据收获地址送往指定的区域,但是在这一片区域内不止我一个人,快递小哥肯定不可能随便找个人把快递给了把, 此时就可以通过收件人电话联系到我 ,将快递交给我。


此时 收货地址就好比 IP 地址, 收件人电话 就好比端口号。

认识协议


协议是网络通信中最最核心的概念 .


协议 简单来说就是约定,商量好数据是啥样的格式来进行传输的, 有了这个约定,才能让双发互相理解对方的含义.


举个例子 : 相亲


到了一定年龄, 如果你还单身,且没有对象的话,八九不离十 会被父母拉去相亲, 假设 有一个 阿姨给你介绍了一个相亲对象, 此时你们加上了微信 ,打算见面聊一下, 此时选好了餐厅 , 此时就需要面临一个问题,如果区分出相亲的对象呢?


这里千万不要说相信照片,按照现在这个时代,那个女生不会p点图 ,男生还好 照片应该差不多 。

这里就需要与相亲对象约定好,要不然,等你到了座错了桌与别的相亲对象聊上了不就尴尬了吗。


**所以说约定是非常重要的 , 放到我们网络中, 协议就是通信双方进行的一种约定, 发送方约定好了发送的数据是啥样的,接收方就可以按照这个固定的格式来进行解析. **


这里举个典型的约定暗号 。

妹子 穿个红色的裙子, 我们胸口别一个玫瑰花 。

为啥不直接打电话呢? 这不是浪漫一点吗 , 万一真因为你的这一点 ,妹子看上了你呢?

协议分层


下面继续 , 关于我们的协议 ,可能简单,也可能很复杂 。


像我们的 网络通信 ,是一个比较复杂的事情 ,需求场景复杂了 ,实现功能也会比较复杂.

此时 为了满足网络通信这样的场景,就需要设计一个特别复杂的协议来满足需求 .


正因这个协议非常复杂,我们的学习成本 ,理解成本就会变得非常高。


此时就可以采用拆分的方法,将这个比较复杂的大协议拆分成诺干个相对简单的小协议.

但是协议拆分后 也会有一些小问题。

比如 : 我们将协议拆分成一些小的协议(每个负责一部分功能) , 此时 就发现 某些协议之间,起到的功能和作用是类似。

那么针对这些起到的功能和作用的协议就可以在进行 分类(分层) ,这就好比 代码拆分出很多类,有些类,功能差不多,就可以放到同一个 里.


此时是不是感觉就是将协议进行了分层操作 , 其实我们要学习的网络协议 , 就是在分层 的大背景下展开的


这里协议分层有是有 很多的好处的。

比如 : 1.降低了学习和维护的成本 (知道某些协议 , 不知道其他协议也是可以正常使用的)


2.可以灵活的针对这里的某一层协议进行替换。


举例 :

在这里插入图片描述


了解完 协议分成的好处 ,下面来看看当前互联网世界 两种风格的协议分层 (其实就是一种)


1.OSI 七层 网络模型


OSI 七层网络模型 ,只存在教科书中,实际上是没有的 (实现起来太复杂) .


简单看看 :

在这里插入图片描述


2.TCP/IP 五层网络模型


TCP/IP 其实就是 OSI 简化的实现方式, 另外角度不同,这里也可以称为 TCP / IP 四层 网络模型 。


图示 :

在这里插入图片描述


简单说一下为啥可以称 TCP/IP四层协议 :这里 物理层是属于纯硬件 ,和我们这些程序猿 关系不大 ,所以 我们也就可认为是 四层


图二 :

在这里插入图片描述


了解了协议分层,下面就站在协议分层的背景下来理解网络数据传输的基本流程.


图示 :

在这里插入图片描述


图二 :

在这里插入图片描述


此时发送方就看完了,下面了解一下,接收方的的工作 (此处省略中间的转发过程 , 只考虑 B 的接收)


图示 :

在这里插入图片描述


看完了 接收方,稍微稍微总结一下 : 可以看到在整个网络协议中 ,协议分层了很多层 , 上层协议要调用下层协议 (上层协议把数据交给下层 , 继续封装) , 下层协议要给上层提供支持 (下层协议解析好数据,交给上层) 。

注意 : 这里的几层协议之间是有明确的层级关系的,只有相邻的两层之间才能进行交互 .(不能跨层交互)

正是因为上述这些约束,让通信过程变的简单,清晰起来了。

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

JavaEE多线程-阻塞队列

目录一、认识阻塞队列1.1 什么是阻塞队列?1.2 生产者消费者模型1.3 标准库中的阻塞队列类二、循环队列实现简单阻塞队列2.1 实现循环队列2.2 阻塞队列实现一、认识阻塞队列 1.1 什么是阻塞队列? 阻塞队列:从名字可以看出,他也是…

简明Java讲义 2:数据类型和运算符

目录 1、安装IDE编辑器 2、关键字和保留字 3、标识符 4、分隔符 5、数据类型 6、基本类型的数据类型转换 7、表达式类型的自动提升 8、变量 9、运算符 10、运算符的优先级 1、安装IDE编辑器 在开始内容之前,先下载IDE,可以是Eclipse或STS&…

Python函数(函数定义、函数调用)用法详解

Python 中函数的应用非常广泛,前面章节中我们已经接触过多个函数,比如 input() 、print()、range()、len() 函数等等,这些都是 Python 的内置函数,可以直接使用。除了可以直接使用的内置函数外,Python 还支持自定义函数…

LeetCode刷题模版:201 - 210

目录 简介201. 数字范围按位与202. 快乐数203. 移除链表元素204. 计数质数205. 同构字符串206. 反转链表207. 课程表【未实现】208. 实现 Trie (前缀树)209. 长度最小的子数组210. 课程表 II【未实现】结语简介 Hello! 非常感谢您阅读海轰的文章,倘若文中有错误的地方,欢迎您…

LeetCode[1319]连通网络的操作次数

难度:中等题目:用以太网线缆将 n台计算机连接成一个网络,计算机的编号从 0到 n-1。线缆用 connections表示,其中 connections[i] [a, b]连接了计算机 a和 b。网络中的任何一台计算机都可以通过网络直接或者间接访问同一个网络中其…

(十六)异步编程

CompletableFuture在Java8中推出,Java8中的异步编程就是依靠此类。几种任务接口四种任务无参数有一个参数有两个参数无返回值RunnableConsumerBiConsumer有返回值SupplierFunctionBiFunctionCompletionStage接口这个类中定义的许多能够链式调用的方法和组合方法时是…

Unity3DVR开发—— XRInteractionToolkit(PicoNeo3)

目录 一、开发前的准备 二、基础配置 三、Pico项目配置 四、添加基础功能 一、开发前的准备 1、为了方便开发,先在Pico开发者平台里下载预览工具 Pico开发者平台https://developer-global.pico-interactive.com/sdk?deviceId1&platformId1&itemId17 2、…

【哈希表】关于哈希表,你该了解这些!

【哈希表】理论基础1 哈希表2 哈希函数3 哈希碰撞3.1 拉链法3.2 线性探测法4 常见的三种哈希结构5 总结1 哈希表 哈希表 Hash table (一些书籍翻译为散列表) 哈希表是根据关键码的值而直接进行访问的数据结构。 直白来讲其实数组就是一张哈希表。 哈希表…

用1行Python代码识别增值税发票,YYDS

大家好,这里是程序员晚枫。 录入发票是一件繁琐的工作,如果可以自动识别并且录入系统,那可真是太好了。 今天我们就来学习一下,如何自动识别增值税发票并且录入系统~ 识别发票 识别发票的代码最简单,只需要1行代码…

CSS的总结

从HTML被发明开始,样式就以各种形式存在。不同的浏览器结合它们各自的样式语言为用户提供页面效果的控制。最初的HTML只包含很少的显示属性。 随着HTML的成长,为了满足页面设计者的要求,HTML添加了很多显示功能。但是随着这些功能的增加&…

ISIS的路由器级别level-1、level-2、level-1-2,报文格式

2.1.0 ISIS的路由器级别level-1、level-2、level-1-2,报文格式 通过该文章了解ISIS的路由器级别类型、级别之间建立的邻接关系、各级别的作用、ISIS报文的结构。 ISIS路由器级别 Level-1 level-1路由器又称L1路由器,是一种ISIS区域内部路由&#xff0c…

6、运算符

目录 一、赋值运算符 二、算数运算符 三、自增和自减运算符 四、比较运算符 五、逻辑运算符 六、位运算符 1. “按位与”运算 2. “按位或”运算 3. “按位取反”运算 4. “按位异或”运算 5. 移位操作 七、三元运算符 八、运算符优先级 一、赋值运算符 赋值运算…

[Android开发基础1] 五大常用界面布局

文章目录 一、线性布局 二、相对布局 三、帧布局 四、表格布局 五、约束布局 总结 一、线性布局 线性布局(LinearLayout)主要以水平或垂直方式来显示界面中的控件。当控件水平排列时,显示顺序依次为从左到右,当控件垂直排列时…

29/365 java 网络通信 IP InetAddress

1.网络通信: 如何定位到一台主机? IP地址 定位主机, 端口号定位到具体的应用程序 如何在主机之间通信(传输数据)? 网络通信协议 2.IP地址分类 IPv4: 32位 IPv6地址:128位 IPv6地址使用以冒号…

初学python100例-案例37 合并排序列表 少儿编程python编程实例讲解

目录 python合并排序列表 一、题目要求 1、编程实现 2、输入输出

C语言形参和实参的区别

如果把函数比喻成一台机器,那么参数就是原材料,返回值就是最终产品;从一定程度上讲,函数的作用就是根据不同的参数产生不同的返回值。这一节我们先来讲解C语言函数的参数,下一节再讲解C语言函数的返回值。C语言函数的参…

浅谈多任务学习

目录 一、前言及定义 二、多任务学习(MTL)的两种方法 2.1 参数的硬共享机制(hard parameter sharing) 2.2 参数的软共享机制(soft parameter sharing) 三、多任务学习模型 3.1 MT-DNN 3.2 ERNIE 2.0…

数学建模学习笔记(9)多元线性回归分析(非常详细)

多元线性回归分析1.回归分析的地位、任务和分类2.数据的分类3.对线性的理解、系数的解释和内生性4.取对数预处理、虚拟变量和交互效应5.使用Stata进行多元线性回归分析6.异方差7.多重共线性8.逐步回归法1.回归分析的地位、任务和分类 回归分析的地位:数据分析中最基…

cclow 面试心得

开源ccflow学习的一些心得目录概述需求:设计思路实现思路分析1.心得参考资料和推荐阅读Survive by day and develop by night. talk for import biz , show your perfect code,full busy,skip hardness,make a better result,wait for change,challenge …

JavaEE-文件和IO(一)

目录一、文件1.1 认识文件1.2 树型结构组织和目录1.3 文件路径二、Java中操作文件2.1 文件系统相关的操作一、文件 1.1 认识文件 平时说的文件一般都是指存储再硬盘上的普通文件,形如txt,jpg,MP4,rar等这些文件都可以认为是普通…