网络入门基础

news2024/11/25 16:23:50

目录

一.预备知识

1.1网络背景

 1.2协议

二.网络协议

2.1协议分层

 2.2OSI 7层

 2.3TCP/IP五层(或四层)

三.网络传输基本流程

3.1局域网通信

3.2 跨网络通信

3.3IP地址与MAC地址


一.预备知识

1.1网络背景

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

网络互联: 计算机之间可以链接在一起,完成数据共享,计算机之间还可以进行相互通信

局域网(LAN): 一片区域内的计算机通过路由器和交换机连接在一起,可以用来相互通信的计算机数量增多

广域网(WAN): 多个局域网通过路由器连接起来,构成一个广域网,也可以说是一个更大的局域网

 1.2协议

而我们在用手机App时,这些App都是在应用层的。在应用层下达的指令,最后会到操作系统。操作系统除了文件管理,进程管理等,还有一个内嵌的软件协议栈,协议栈将用户的数据进行各种封包后,通过网卡将数据传递到网络当中,数据在网络内部经过各种路由转发,最终将数据传送到了目标服务器。而目标服务器也有自己的协议栈,对端服务器将拿到数据通过协议栈进行各种解包操作后上交给应用层,后再将数据以相同的方式返回,就形成了网络数据的传递。

既然双方要进行通信都要遵守协议栈,那么协议栈就是统一的。可能客户端和服务端使用的是不同种类的操作系统,但每个操作系统实现网络协议栈的方法以及各种细节是一样的。

 网络协议栈是一种层状结构,其贯穿整个体系结构。

二.网络协议

2.1协议分层

分层的优点:每一层做不同的工作,层与层之间通过特定接口通信,网络协议栈设计成层状结构,其目的就是为了将层与层之间进行解耦,保证代码的可维护性和可扩展性。

通过分层, 在网络协议栈中我们可以认为通信双方在相同的层之间进行通信,例如数据直接在双方应用层直接传输,在传输层直接传输的效果。

 2.2OSI 7层

介绍:

OSI(Open System Interconnection,开放系统互联)七层网络模型称为开方式系统互联参考模型,是一个逻辑上的定义和规范。

OSI七层模型最大的优点是将服务、接口和协议这三个概念明确地区分开来,概念清楚,理论也比较完整,通过七个层次化的结构模型使不同的系统不同的网络之间实现可靠的通讯。

7层模型:在这里插入图片描述

 2.3TCP/IP五层(或四层)

OSI七层模型既复杂又不实用,后面改进后有了TCP/IP四层协议。

TCP/IP是一组协议的代名词,它还包括许多协议,组成了TCP/IP协议簇。TCP/IP通讯协议采用了5层的层级结构,每一层都呼叫它的下一层所提供的网络来完成自己的需求。

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

 二者的对应关系:

 总结:

  • 应用层解决的传输数据的目的,根据特定的通信目的,进行数据分析与处理,达到某种业务性的目的
  • 传输层和网络层处理数据传输遇到的问题,保证数据的可靠性
  • 数据链路层和物理层负责数据真正发送的过程,完成以太网和局域网的通信
  • 下三成处理的是通信细节,应用层处理的是业务细节

三.网络传输基本流程

3.1局域网通信

当同局域网的两台主机进行通信时,数据要通过网络协议栈进行封装。

发送数据时,首先在应用层,数据向下交付,如:

文件数据先交给应用层,应用层添加上对应应用层协议的报头信息后,将数据交给传输层。
传输层收到数据后,添加上传输层协议的报头信息,并将数据继续向下进行交付给网络层。
网络层收到数据后,再添加上对应网络层协议的报头信息,接着将数据再交给链路层。
链路层收到数据后,最后再添加上对应链路层协议的报头信息,至此数据封装完毕。

数据封装完毕后,就可以通过局域网将信息发送给另一台主机。当对端机器收到数据后,数据便从下往上交付,直至应用层,交付的过程中同样遵守网络协议栈,向上进行解包分用。

数据包装与分用:

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

 

解释:

每一协议层的数据包 = 报头+有效载荷

数据的封装、解包、分用:

数据封装,实际就是不断给数据加上各种对应的报头,这些报头里面填充的就是对应的各种协议细节。

数据解包,将数据包中的报头有效载荷分离。

数据分用:自底向上,确认自己的有效载荷交付给上层的协议

例如

数据封装:在这里插入图片描述

数据分用:

在这里插入图片描述

3.2 跨网络通信

跨网络通信就是分别处于不同局域网的两台主机之间进行通信,两个不同局域网之间是通过路由器进行通信的。

在这里插入图片描述

路由器其实是通过IP地址来确定数据的转发方向的,因特网上的每台计算机都有一个唯一的IP地址,当路由器需要将一个局域网的数据转发到另一个局域网时,在路由器的链路层会先将数据的在当前局域网对应的底层报头去掉,然后将剩下的数据向上交付给网络层,此时在网络层就可以获取到该数据对应的目的IP地址,然后路由器就可以根据该IP地址在路由表当中进行查找,最终就能够确认该数据应该发送到哪一个局域网。

通过IP地址屏蔽了底层协议的差异,不需要关心底层使用的是哪种通信协议,只要有源IP地址和目的IP地址才可以将数据转发出去。

3.3IP地址与MAC地址

IP地址:

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

MAC地址:

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

区别:

后者用来识别同一链路中的不同计算机,前者用来识别计算机网路中互连的主机和路由器

MAC地址工作于局域网,局域网之间的互连一般通过现有的公用网或专用线路,需要进行网间协议转换。可以在Ethernet上传送IP信息,此时IP地址只是Ethernet信息包数据域的一部分,Ethernet交换机或处理器看不见IP地址,只是将其作为普通数据处理,网络上层软件才会处理IP地址。

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

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

相关文章

[附源码]计算机毕业设计Python的网上点餐系统(程序+源码+LW文档)

该项目含有源码、文档、程序、数据库、配套开发软件、软件安装教程 项目运行 环境配置: Pychram社区版 python3.7.7 Mysql5.7 HBuilderXlist pipNavicat11Djangonodejs。 项目技术: django python Vue 等等组成,B/S模式 pychram管理等…

[附源码]计算机毕业设计Python的汽车租赁系统(程序+源码+LW文档)

该项目含有源码、文档、程序、数据库、配套开发软件、软件安装教程 项目运行 环境配置: Pychram社区版 python3.7.7 Mysql5.7 HBuilderXlist pipNavicat11Djangonodejs。 项目技术: django python Vue 等等组成,B/S模式 pychram管理等…

为什么要学Python编程 到底Python值不值得学

为什么要学Python编程?到底Python值不值得学​?Python在软件质量控制、提升开发效率、可移植性、组件集成、丰富库支持等各个方面均处于先进地位。同样学习编程语言,当然要选择学习业内目前先进、热门、将来应用广泛、有前途和前景的编程语言…

计算机行业真的这么吃香吗,他的真实薪资情况到底如何呢?

越来越多的人涌入计算机行业,这个行业真的这么吃香吗,他的真实薪资情况到底如何呢? 近些年来,不论是否是计算机专业的学生或者是社会人员,都选择一脚踏入这个行业。它真的这么好吗? 首先从地域而言&#…

LeetCode 1971. 寻找图中是否存在路径

【LetMeFly】1971.寻找图中是否存在路径 力扣题目链接:https://leetcode.cn/problems/find-if-path-exists-in-graph/ 有一个具有 n个顶点的 双向 图,其中每个顶点标记从 0 到 n - 1(包含 0 和 n - 1)。图中的边用一个二维整数数…

【Acwing寒假2023每日一题】4261. 孤独的照片 - 乘法原理

4261. 孤独的照片 - AcWing题库 这题看数据范围 n ≤ 不可能暴力做 会tle 1、双指针暴力模拟 tle #include <bits/stdc.h> using namespace std;int main() {int n,res0;string s;cin>>n>>s;for(int i0;i<n-2;i){int g0,h0;for(int l3;il<n;l){strin…

网络搭建与应用—Windows10上开启路由转发及添加路由

Windows10上开启路由转发及添加路由 注意&#xff1a;实验环境下主机B两个接口没有网关 操作步骤 一、主机B 开启 win10 转发功能 1、进入CMD 2、执行命令 reg add HKLM\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters /v IPEnableRouter /D 1 /f 3、进入注册表 将 HK…

【HTML】Base64编码

目录 Base64编码表 Base64编码解码 Base64位图片 uni-app图片绝对路径转base64码 微信小程序图片绝对路径转base64码 Base64是常见的传输8Bit字节码的编码方式之一&#xff0c;基于可打印字符来表示二进制数据的方法。一般用于在HTTP协议下传输二进制数据。由于网络传输只…

25岁无经验入行软件测试的感悟,写给还在迷茫中的你

转行软件测试两年了&#xff0c;这两年来&#xff0c;从刚开始对测试认识的朦朦胧胧&#xff0c;现在思路也逐渐清晰了&#xff0c;也明确了自己的发展方向。虽然对那些测试理论和测试工具以及测试技术有了一些加强&#xff0c;但是自我感觉还是不够深入。 我一直希望能真正融…

网络实验②——同Vlan下相互通信

实验要求&#xff1a; 同vlan间可互相通信对交换机配置远程管理&#xff0c;注&#xff1a;新建管理vlan&#xff0c;名称&#xff1a;guanli&#xff0c;ID&#xff1a;110 实验步骤&#xff1a; A交换机配置&#xff1a; enable config t hostname switch-A vlan 10 vla…

中望3D二次开发 控制台命令转PDF

中望3D的外部开发模式命令非常少&#xff0c;没有办法使用远程办法打开文件&#xff0c;将图纸转换为PDF&#xff08;听说以后的版本会有&#xff0c;但是在2022版本上是没有的&#xff09;&#xff1b; ps&#xff1a;远程方式&#xff0c;意思就是远程电脑必须开启中望3D软件…

周志华 机器学习初步 线性模型

周志华 《机器学习初步》 线性模型 还未更新完&#xff0c;会持续更新 文章目录周志华 《机器学习初步》 线性模型一.线性回归线性模型线性模型的特点和重要性线性模型的基本形式参考资料一.线性回归 线性模型 线性模型的特点和重要性 线性模型的重要性 人在考虑问题时&#…

客户案例:Coremail安全海外中继保障德赛集团跨境通邮安全

客户背景 广东德赛集团有限公司&#xff08;以下简称“德赛集团”&#xff09;成立于1983年&#xff0c;旗下拥有2家上市公司&#xff0c;位列中国制造行业前500强企业&#xff0c;合作伙伴和客户中有30多家是世界前500强企业。在新能源电池、汽车电子、北斗导航技术等多项技术…

vivo 云原生容器探索和落地实践

作者&#xff1a;vivo 互联网容器团队- Pan Liangbiao 本文根据潘良彪老师在“2022 vivo开发者大会"现场演讲内容整理而成。公众号回复【2022 VDC】获取互联网技术分会场议题相关资料。 2018年起&#xff0c;vivo以容器作为基础底座&#xff0c;打造了一站式云原生机器学习…

【JVM】伟大的开端—CMS

本文已收录至Github&#xff0c;推荐阅读 &#x1f449; Java随想录 微信公众号&#xff1a;Java随想录 转载请在文首注明出处&#xff0c;如发现恶意抄袭/搬运&#xff0c;会动用法律武器维护自己的权益。让我们一起维护一个良好的技术创作环境&#xff01; 伟大的开端—CMS …

CY5-N-羟基琥珀酰亚胺 Cyanine5 NHS ester 荧光量子产率

CY5-N-羟基琥珀酰亚胺 Cyanine5 NHS ester 荧光量子产率 Cy5 NHS酯是标记多肽&#xff0c;蛋白和寡核苷酸的活性染料。染料需要少量的有机共溶剂&#xff08;比如DMF和DMSO&#xff09;溶解后进行标记反应。此试剂可以标记溶解蛋白和各种多肽&#xff0c;寡核苷酸的氨基。对于…

Spring 之 MutablePropertyValues 和 ConstructorArgumentValues 的简单理解

1、MutablePropertyValues 概述 其实在绝大多情况下&#xff0c;MutablePropertyValues 这个类很少用&#xff0c;但是涉及到框架改造扩展可能就要使用到这个类。并且这个类在 BeanDefinition 模板中也是一个非常重要的角色。 id&#xff1a;Bean 唯一标识名称。 beanClass&am…

2022年全国职业院校技能大赛中职组网络安全竞赛试题 ——A模块(超详细解析)

2022年全国职业院校技能大赛&#xff08;中职组&#xff09; 网络安全竞赛试题&#xff08;总分100分&#xff09; 竞赛内容 模块A 基础设施设置与安全加固 &#xff08;本模块20分&#xff09; 一、项目和任务描述&#xff1a; 假定你是某企业的网络安全工程师&#xff0…

Python真的能杀死Excel吗?它能实现哪些Excel功能?

在大家的印象里&#xff0c;想进入金融行业或者数据岗位&#xff0c;首先需要精通Excel。而且现在招聘条件也是明确表示&#xff0c;要精通Excel等办公软件&#xff0c;后面还会加一句“有Python经验的优先”。 野村证券副首席数字官马修汉普森在上周五的伦敦Quant Conferenc…

(附源码)Springboot卫生院儿童预防接种平台 毕业设计 011404

springboot卫生院儿童预防接种平台 摘 要 卫生院儿童预防预接种工作实行网络信息化管理&#xff0c;是我国免疫规划工作发展的需要。儿童接种信息实行网络信息化不仅是预防接种工作步入了一个新的台阶&#xff0c;更重要的是解决了多年来流动儿童的免疫接种剂次不清&#xff0c…