【网络】网络基础

目录

一、前言

1.计算机网络背景

2.认识协议 

 二、网络协议初识

 1.OSI七层模型

2.TCP/IP五层(或四层)模型

3.网络传输基本流程

4.数据包封装和分用

5.网络中的地址管理

1.IP地址

2.MAC地址


一、前言

1.计算机网络背景

网络之前,我们所有在电脑上的操作都是单机的。

计算机最初被发明出来是干什么的呢?最初计算机被发明是用来计算导弹轨迹的,而这项任务通常是由一个实验室来完成,一定会有多个人,可能会有多台电脑,每台电脑最初都是独立的,每一台计算机的任务都是对数据进行加工和处理。但是每台电脑的任务通常是不一样的,为了效率问题,通过在多台电脑同时部署不同的任务,但是最终都是都是去回收多台电脑的加工处理后的数据,一个电脑的任务有可能还需另一台电脑的数据。

所以有人发明了软盘,当一台电脑处理完成后,将数据拷贝到软盘后,再由人将这个软盘线下交给其他人/电脑,以达到传输数据,但是这种方法效率太低,就是太慢了。

所以将多台电脑连接起来,以达到数据的传输,这是计算机发展的趋势。在此情形下,网络的产生是必然的,因为我们最终还是要方便的拿到这些电脑的数据来进行决策。

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

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

在此情形下,实验室中,每个人都有着连接其它电脑的需求。不同实验室中,每个实验室也有着连接其它实验室的需求。历史同样会进行选择,让不同子网进行连接,但是这之间当然会出现一些问题,比如数据的传输问题,是谁传输给谁的,在这些个网络中。还有传输距离问题,信息随距离衰减怎么办。有了网络的发展,新设备必然也会诞生,比如路由器,交换机。

局域网LAN: 计算机数量更多了, 通过交换机和路由器连接在一起; 

广域网WAN: 将远隔千里的计算机都连在一起;

所谓 "局域网" 和 "广域网" 只是一个相对的概念。比如我国的广域网,就是一个大一点的局域网。

2.认识协议 

不多废话,用现阶段最简单的话来说,"协议" 是一种约定。

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

但是只要通信的两台主机, 约定好协议就可以了么?

比如

  • 计算机生产厂商有很多;
  • 计算机操作系统, 也有很多;
  • 计算机网络硬件设备, 还是有很多;
  • 如何让这些不同厂商之间生产的计算机能够相互顺畅的通信? 就需要有人站出来, 约定一个共同的标准, 大家都来遵守, 这就是 网络协议;

标准不等于协议,协议只能说明是标准的一个子集

 二、网络协议初识

举例,在这个例子中, 我们的协议只有两层; 但是实际的网络通信会更加复杂, 需要分更多的层次。

在逻辑上,我们认为人和人在通话,电话和电话在通信。 

每个层内的交互,在上层来说,是透明的,也就是说上层不管你怎么交互。照样也能完成工作,这就是高内聚,低耦合。任何一层出现了问题,只需解决这一层的问题。分层带来的好处,就是好维护

高内聚,低耦合带来的好处就是减少了维护成本。

 1.OSI七层模型

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

2.TCP/IP五层(或四层)模型

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

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

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

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

3.网络传输基本流程

同一个网段内的两台主机进行文件传输.

发消息时,每次都要添加报头

报文 = 报头 + 有效载荷

网络通信的本质,就是贯穿协议栈的过程。

网络通信的过程,本质就是不断地封装和解包的过程

以太网通信

每台主机在局域网上,都有自己唯一的一个“标识”。

假如局域网上一根网线上有10台电脑连接,由于每台电脑都有自己唯一的MAC物理地址,所以当我们向另一台电脑传递信息时,只需广播发送自己的MAC地址和目标的MAC地址,目标地址不是自己的会丢掉该信息,而是目标信息的电脑则会收到该信息,并且进行处理。

由此得之,搞掉一个局域网的方法就是不断的向该网线上丢垃圾信息,与正常的信息进行消息碰撞,就可以使这个局域网上的电脑都收不到有效消息

由此,每台电脑都要有自己的碰撞避免的算法,

交换机有个重要作用,就是划分碰撞域

局域网可以看作多台主机所共享的临界资源,不过访问时不是加锁,而是重新发送。

令牌相当于系统里的锁。

ip地址,尤其是目的IP,一般都是不会改变的,协助我们进行路径选择

max地址,出局域网后,源和目的都要被丢弃,让路由器重新选择。

4.数据包封装和分用

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

5.网络中的地址管理

1.IP地址

IP协议有两个版本, IPv4和IPv6. 接下来,凡是提到IP协议, 没有特殊说明的, 默认都是指IPv4

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

2.MAC地址

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

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

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

相关文章

LeetCode题练习与总结:二叉树的中序遍历--94

一、题目描述 给定一个二叉树的根节点 root ,返回 它的 中序 遍历 。 示例 1: 输入:root [1,null,2,3] 输出:[1,3,2]示例 2: 输入:root [] 输出:[]示例 3: 输入:roo…

Github学习

1.Git与Github 区别: Git是一个分布式版本控制系统,简单的说就是一个软件,用于记录一个或若干个文件内容变化,以便将来查阅特点版本修订情况的软件。 Github是一个为用户提高Git服务的网站,简单说就是一个可以放代码的地方。Gi…

韩顺平0基础学Java——第10天

p202-233 类与对象(第七章) 成员方法 person类中的speak方法: 1.public表示方法是公开的 2.void表示方法没有返回值 3.speak()中,speak表示方法名,括号是形参列表。 4.大括号为方法体&am…

重塑数据架构:云器Lakehouse如何简化组装式架构实现性能与成本的精益平衡

导读本文将介绍云器科技自研的 Lakehouse 产品。通过本次分享,您将了解云器 Lakehouse 产品特性,了解一体化数据平台如何提升数据处理和数据分析的效率,使之更轻松、更简洁、更高效,了解增量计算如何做到平衡数据新鲜度、查询性能…

DE2-115串口通信

目录 一、 内容概要二、 Hello Nios-II2.1 Nios-II编程2.1.1 硬件Ⅰ 搭建环境Ⅱ 编写代码 2.1.2 软件2.1.3 烧录Ⅰ硬件Ⅱ 软件 2.2 verilog编程 三、 心得体会 一、 内容概要 分别用Verilog和Nios软件编程, 实现DE2-115开发板串口输出“Hello Nios-II”字符到笔记本电脑串口助…

【Shell】shell编程之循环语句

目录 1.for循环 例题 2.while循环 例题 3.until循环 1.for循环 读取不同的变量值,用来逐个执行同一组命令 for 变量 in 取值列表 do 命令序列 done [rootlocalhost ~]# for i in 1 2 3 > do > echo "第 $i 次跳舞" > done 第 1 次跳舞 第 …

使用Pycharm编写Python程序时对基本类结构中方法的重写的两种初步操作方式

使用Pycharm编写Python程序时对基本类结构中方法的重写的两种初步操作方式 Python和其他一些高级面向对象的编程语言中,子类可继承父类中的方法,而不需要重新编写相同的方法。但有时子类并不想原封不动地继承父类的方法,而是想作一定的修改&…

闲来装个虚拟机Ubuntu24.04和硬盘分区及挂载

简述 最近ubuntu出新版本了,ubuntu24.04, 俗称高贵食蚁兽。5年前进行Android或者linux开发基本是在windows下的虚拟机中进行。目前,虽然物质基础提高了,功能有独立进行编译、代码管理的服务器了。可以通过ssh登录,但是…

【C++11】C++11类与模板语法的完善

目录 一,新的类功能 1-1,默认成员函数 1-2,强制生成关键字 二,可变参数模板 2-1,模板参数包 2-2,STL容器empalce的相关接口 一,新的类功能 1-1,默认成员函数 C11之前的类中有…

Tomcat添加服务以及设置开机自启

下载地址连接 Index of /dist/tomcat👓 注意点:不要出现中文路径 #环境变量 CATALINA_HOMED:\apache-tomcat-7.0.62 TOMCAT_HOMED:\apache-tomcat-7.0.62 JAVA_HOMED:\tool\jdk1.8.0_111 PATH%CATALINA_HOME%\bin;%CATALINA_HOME%\lib;%CATALINA_HOME%\…

对称加密介绍

一、什么是对称加密 对称密钥算法(Symmetric-key algorithm),又称为对称加密、私钥加密、共享密钥加密,是密码学中的一类加密算法。 对称加密的特点是,在加密和解密时使用相同的密钥,或是使用两个可以简单地相互推算的密钥。 这…

超越传统游戏:生成式人工智能对游戏的变革性影响

人工智能(AI)在游戏中的应用 游戏产业是一个充满活力、不断发展的领域,人工智能(AI)的融入对其产生了重大影响。这一技术进步彻底改变了游戏的开发、玩法和体验方式。本文分析的重点是传统人工智能和生成式人工智能在游…

网络安全之弱口令与命令爆破(下篇)(技术进阶)

目录 一,什么是弱口令? 二,为什么会产生弱口令呢? 三,字典的生成 四,九头蛇(hydra)弱口令爆破工具 1,破解ssh登录密码 2,破解windows登录密码 3&#xf…

java项目之相亲网站的设计与实现源码(springboot+mysql+vue)

风定落花生,歌声逐流水,大家好我是风歌,混迹在java圈的辛苦码农。今天要和大家聊的是一款基于springboot的相亲网站的设计与实现。项目源码以及部署相关请联系风歌,文末附上联系信息 。 项目简介: 相亲网站的设计与实…

Excel办公技巧之下拉菜单

在日常办工中,经常需在单元格中输入特定的值,此时我们可以使用下拉菜单解决,输入错误和错误值,可以一劳永逸的解决固定数据输入问题。 使用Excel下拉菜单时,它在数据输入和验证方面发挥着重要作用通过点击单元格的下拉…

权限及权限操作

1.命令行解释器 Linux将命令行解释器称为外壳程序shell 命令行解释器的作用就是将用户输入的指令转换为操作系统能够直接执行的指令。同时将操作系统的反馈转换为用户能看懂的反馈,解决了用户和操作系统沟通成本的问题。与此同时,命令行解释器还能够拦…

乡村旅游指标-最美乡村数、旅游示范县数、旅行社数、景区数、农家乐数(2007-2021年)

01、数据介绍 乡村旅游也是促进乡村经济发展的有效途径。通过发展乡村旅游,可以带动乡村相关产业的发展,提高乡村居民的收入,促进乡村的经济发展和社会进步。此外,乡村旅游还能促进城乡交流,推动城乡统筹发展。 数据…

rt-thread 挂载romfs与ramfs

参考: https://www.rt-thread.org/document/site/#/rt-thread-version/rt-thread-standard/tutorial/qemu-network/filesystems/filesystems?id%e4%bd%bf%e7%94%a8-romfs https://www.rt-thread.org/document/site/#/rt-thread-version/rt-thread-standard/tutor…

香港虚拟主机哪里可以试用?用于企业建站的

香港虚拟主机适合个人、企业建站,包括外贸企业网站、个人博客网站、中小企业官网等,那么作为新手不知道哪家香港虚拟主机好用的时候,该如何找到可以试用的香港虚拟主机呢? 香港虚拟主机也称作香港空间、香港虚拟空间,…

DS:时间复杂度和空间复杂度

欢迎各位来到 Harper.Lee 的学习世界! 博主主页传送门:Harper.Lee的博客主页 想要一起进步的uu欢迎来后台找我哦! 本片博客主要介绍的是数据结构中关于算法的时间复杂度和空间复杂度的概念。 一、算法 1.1 什么是算法? 算法(Alg…