网络模型及协议介绍

news2024/9/27 9:23:14

一.OSI七层模型

OSI  Open System Interconnect 开放系统互连模型

以前不同厂家所生产的网络设备的标准是不同的,所以为了统一生产规范就制定了OSI这个生产模型。

作用:降低网络进行数据通信复杂度

这个模型的作用第一降低数据通信的复杂度,第二方便故障排查。

但凡是联网的设备其内部都有这七个车间,在数据传输的时候负责不同的事情。

应用层

作用:提供应用程序/软件,人与网络间的接口,提供数据

表示层

作用:负责数据格式的转换,比如压缩/解压缩,加密,解密

会话层

作用:建立会话,维持会话,断开会话,

会话:识别客户端的登录身份(是否登录)

比如登录邮箱是建立会话,在邮箱上进行对邮件的一系列操作是维持会话,退出邮箱是断开会话。

再比如说,一台服务器在同一时刻收到了n多条信息,怎么判断这个信息是不是已经登录的用户发送过来的信息,这就要依赖会话,

传输层

作用:用来在计算机之间提供端到端的通信的。识别不同的应用程序,

端口号1--65535

也就是说将某一端的数据传输到某一段的数据。

什么样的程序才会产生端口号,这个应用程序必须要能够联网。

windows查看端口的命令 > netstat -an

如上图所示,在windows中端口号为139和445的这两个端口,负责共享文件夹的功能,

网络层

典型设备:路由器

作用:提供网络到网络的通信,网络---网络

提供选路,根据IP地址进行选路,(选路的意思是两个机器之间通信的路径。)

数据链路层

典型设备:交换机

作用:提供点到点的通信,依靠MAC地址,物理地址

windows查看MAC地址:ipconfig/all

Linux查看MAC地址:ifconfig,ip addr show

机器上的每一块网卡(虚拟网卡,物理网卡)都有其自己的MAC地址,这个地址独一无二。

可以尝试将家里的联网设备的MAC地址都计入到路由器中,这样陌生设备就不能随便访问家里的网络了。

物理层

作用:提供物理链路

第几层的问题从下往上数。

二.TCP/IP五层模型

应用层,传输层,网络层,数据链路层,物理层

在五层模型中,会话层和表示层的功能被合并到了应用层。

三.典型协议

应用层:

1.http协议的作用是用来实现web数据传输的,明文传输。

2.https协议的作用也是实现web数据传输的,密文传输。

3.ftp协议文件传输协议,用来实现数据共享,

4.DNS协议用来实现IP地址,主机名的解析,

5.ntp协议网络时间协议,用来实现时间同步,

6.snmp协议(简单网络管理协议,实现监控)

7.ssh协议设备远程连接,密文传输,适用于连接服务器。

8.telnet协议设备远程连接,明文传输,适用于在局域网连接网络设备。

传输层:

1.TCP  传输控制协议

面向连接的协议,

主机间相互发送数据前,需要建立TCP连接,连接完毕后才会开始发送真实的数据,数据发送完毕后,主机间会断开连接。

TCP连接是双向的。

如上图所示,基于TCP协议开发的软件,都是在发送数据之前建立连接,然后在发送数据的操作完成后断开连接。

2.三次握手,建立连接。

a)主机A向主机B发送带有SYN标志的数据,表示请求建立连接。

b)主机B向主机A发送带有ACK,SYN标志的数据,表示同意建立连接,向A发送建立连接的请求。

c)主机A向主机B发送带有ACK标志的数据,表示同意与B建立连接。

TCP协议是一个可靠的协议。

原因:1.重传计时器:也就是说一个完整的数据包会被分成多份,先发送一份数据,如果在规定的时间内没有收到回复,就会重新发送这一份数据,直到收到对方接收到数据的回复时,才继续发送这个数据包的第二份数据。

原因:2.滑动窗口机制,流量控制,避免网络堵塞。

传送数据的双方,在建立连接的基础上,进行协商你这一次最多能传送多少数据,我一次最多能接收多少数据.然后经过协商,一次传送的数据大小取双方的中间值。

2.UDP  用户数据报协议

1.无连接的协议

2.不可靠的协议

查看TCP协议相关的端口

这个命令的主要用途是查看TCP协议相关的端口信息,

  1. -a (all)

    • 显示所有连接,包括监听中的和未完成三次握手的连接
  2. -n (numeric)

    • 以数字形式显示 IP 地址和端口号,而不是尝试解析为主机名
  3. -t (TCP)

    • 显示 TCP 协议的连接信息。
  4. -p (program)

    • 显示与每个连接关联的进程 ID 和名称。

查看UDP协议相关的端口

网络层

一.IP协议 inter

作用:能够根据IP地址将数据发送到那个网段。

二.ICMP协议

熟悉的ping 命令就是基于ICMP协议开发的一个命令。

互联网控制消息协议,测试网络的连通性。

ping工具

如果ping一个IP地址速度达到了几百上千毫秒,那么就代表网络堵塞。

ping工具的使用:

  1. -c count

    • 发送指定数量的回声请求报文。默认情况下,ping 命令会一直发送直到被终止。
    • 例如:ping -c 4 example.com 将向 example.com 发送4个回声请求报文。
  2. -s size

    • 设置发送的回声请求报文的数据部分大小(字节)。
    • 例如:ping -s 1000 example.com 将发送1000字节数据的回声请求报文。

-c指定ping的次数

-s指定ping的数据包大小

三.IGMP协议

实现组播

四.ARP协议

地址解析协议

作用:根据IP地址获取MAC地址

四.数据封装

TCP/UDP报头中包含源端口号和目的端口号。

源端口号用来标识我这份数据是拿哪个软件发送出去的,源端口号>大于1024的随机端口,用来标识发送数据的软件。

如果A发送的数据访问的是B的web服务,那么目的端口号是80,如果A发送的数据访问的是B的w邮件服务,那么目的端口号是25,

数据在传输过程中IP地址只能决定这个数据传送到那个网段,但是要传送到具体的机器上,还是要取决于IP地址背后的MAC地址。

这串数据如果到物理层是网线,就会把这段数据转换成一段电信号,

如果是光纤,光信号,

如果是无线,无线电信号。

五.静态路由

路由器的作用主要是解决不同网段之间的通信需要用到路由器,

路由表是在配置好路由器的各个端口之后出现在路由器中的,路由表中有网段和路由器接口的对应关系。

在路由表中一条信息叫做一条路由,路由表中的路由有两个来源,第一个是直连路由,第二个是非直连路由,直连路由是就是这个路由器直接连接的网段信息,从配置好路由器的接口IP那一刻开始,直连路由的信息就自动出现在路由表上。

非直连路由:

如上图所示,需要手动往路由表中填写相关的信息,也就是没有相关的接口,使得网段与路由器直接相连,

如上图所示,机器A想要跟右边的路由器进行通信,不通过静态路由的方式去补写路由表中非直连路由的信息是不可以的。

如果机器A想要向路由器发送数据,需要将数据先发送到左边的路由器中的下一跳地址1中,然后经过路由器将数据发送到下一跳地址2中,然后将数据发送到192.168.3.0/24这个网段中,这样这个数据就可以被IP地址为192.168.3.2的这个路由器接收了,请注意这个数据的源IP地址是192.168.1.1,目的IP地址是192.168.3.2,但是关于数据的回复却是不能直接就回复,需要通过静态路由的方式将这个数据回复的目的IP地址网段填写到路由表中,

路由器不需要网关,在路由器中查看路由表实际上就是查网关的命令,就是route -n

如上图所示的echo重定向修改文件内容是临时的,等再次重启机器后,就需要重新修改这个文件中的内容,

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

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

相关文章

时序预测 | 基于VMD-SSA-LSSVM+LSTM多变量时间序列预测模型(Matlab)

目录 效果一览基本介绍程序设计参考资料 效果一览 基本介绍 旧时回忆,独此一家。基于VMD-SSA-LSSVMLSTM多变量时间序列预测模型(Matlab) ——————组合模型预测结果—————————— 预测绝对平均误差MAE LSTM VMDSSALSSVM 组合模型 …

Tomcat10安装

Tomcat下载 进入官网下载https://tomcat.apache.org 注意tomcat版本和Java版本的对应关系: 配置好JAVA_HOME 安装tomcat前,需要先配置好JAVA_HOME,因为tomcat启动时候默认会找环境里面的JAVA_HOME,这里选择的Java版本是java1…

桥接与NET

仔细看看下面两幅图 net模式,就是在你的Windows电脑(假设叫A电脑)的网络基础上,再生成一个子网络,ip的前两位默认就是192.168,然后第三位是随机,第四位是自己可以手动设置的。使用这种模式唯一的…

112. 路径总和(递归法)

目录 一:题目: 二:代码: 三:结果: 一:题目: 给你二叉树的根节点 root 和一个表示目标和的整数 targetSum 。判断该树中是否存在 根节点到叶子节点 的路径,这条路径上所…

C语言基础(二十七)

1、位字段(Bit-fields)也是一种数据结构,允许在结构体(struct)或联合体(union)中定义其成员占用特定的位数。对于需要精确控制内存布局或处理硬件寄存器映射等场景非常有用。位字段使得开发者能…

leedCode - - - 动态规划

目录 1.斐波那契数列(LeetCode 509) 2.零钱兑换( LeetCode 322 ) 3.爬楼梯( LeetCode 70 ) 4.不同路径( LeetCode 62 ) 5.最长递增子序列(LeetCode 300) …

LLM(三):基于ChatGPT构建一个问答系统

以电商客服助手为例,通过链式调用语言模型,结合多个Prompt实现复杂的问答与推理功能。 一,基础知识了解 1.1 语言模型 大语言模型(LLM)是通过预测下一个词的监督学习方式进行训练的。具体来说,首先准备一…

SCP拷贝失败解决办法

1. 现象: 今天在提交代码的时候,提示hooks文件不存在,需要下载。 我之前用scp -p -P 1111 xxxxgerrit.xxxx:hooks/commit-msg$(gitdir)/hooks/ 就能下载, 但是更新系统后下载失败,显示 subsystem request failed …

哪个牌子的电容笔好用又实惠?西圣、绿联、摩米士电容笔实测大比拼

​现在市面上的电容笔很多,在选择时会让人感到很纠结。那么多的选择,究竟哪个牌子的电容笔好用又实惠呢?一款优质的电容笔应考虑握持舒适度、笔尖材质、电池续航能力以及书写流畅度等因素。作为一位多年的数码爱好者,我今天将针对…

Elasticsearch 再次开源

作者:来自 Elastic Shay Banon [D.N.A] Elasticsearch 和 Kibana 可以再次被称为开源了。很难表达这句话让我有多高兴。我真的激动得跳了起来。Elastic 的所有人都是这样的。开源已经融入我的 DNA,也融入了 Elastic 的 DNA。能够再次将 Elasticsearch 称…

Linux驱动(一):环境搭建及介绍

目录 前言一、硬件配置及SDK包1.硬件核心芯片2.瑞芯微原厂SDK包 二、环境镜像文件的获取1.镜像文件的组成及启动流程2.获取环境所需的镜像文件2.1 uboot.img2.2 boot.img2.3 rootfs.img2.4 整体编译 三、镜像文件烧录 前言 自用自用自用,晚上睡觉前复盘用。当然&…

免费批量Excel文件合并、拆分软件

软件介绍 下载地址:https://pan.quark.cn/s/ae860a4e2ccb 1.多个XLS或XLSX格式EXCEL文件合并,合并后可使用数据透视表进行相关操作。 2.自动合并多个EXCEL文件的第一个工作表,并汇总成一张表,可根据所有列标题需要指定需要的列。 …

pdf压缩到指定大小,分享2024年最新7款pdf压缩免费版

pdf是一种全球广泛使用的文件格式,它可以在不损失质量或文本对齐的情况下安全传输文档。然而,许多文件共享应用和网站对于可以上传或分享的pdf文件大小设定了限制。在这种情况下,您可能需要一款可以帮助您减小pdf文件大小的软件。pdf压缩免费…

《汇编语言》第11章——实验11编写子程序

编写一个子程序,包含任意字符,以0结尾的字符串中的小写字母变成大写字母,描述如下。 名称:letterc 功能:将以0结尾的字符串中的小写字母变成大写字母 参数:ds:si指向的字符串首地址 assume cs:codesg d…

本地部署 Google Gemma 开源模型

Google Gemma 是 Google AI 团队开发的基于Transformer的轻量级大语言模型,Gemma 模型已开源并在各种硬件平台上保持良好性能,记录下本地部署过程并在多种情景下使用情况。 一、环境配置 1、下载并安装Ollama 在 Windows 上下载 Ollama ,选…

什么牌子的可视耳勺最好用?力荐四款热门品牌!

可视挖耳勺近几年越来越火爆,各种款式层出不穷,在可视挖耳勺的挑选上,我需要提醒大家一定要避雷劣质可视挖耳勺产品,劣质可视挖耳勺产品普遍不做核心性能的反复调教,成像清晰度低、耳勺出现发烫、性能不稳定等问题是时…

web渗透:CSRF漏洞(跨站请求伪造)

目录 CSRF漏洞 深入研究 CSRF攻击常见于哪些类型的网站? 如何通过HTTP Referer头来防范CSRF攻击? 为什么设置Cookie的SameSite属性对预防CSRF有帮助? 导图 CSRF漏洞 CSRF(Cross-Site Request Forgery,跨站请求伪…

MySQL——事务与存储过程(一)事务管理(4)事务的隔离级别

数据库是多线程并发访问的,所以很容易出现多个线程同时开启事务的情况,这样就会出现脏读、重复读以及幻读的情况,为了避免这种情况的发生,就需要为事务设置隔离级别。在 MySQL 中,事务有4种隔离级别,接下来…

Linux安装Docker与基本指令

1、什么是Docker Dokcer是一种开源平台,主要用于创建、部署和管理容器化应用程序,它通过将应用程序以及所有的依赖打包到一个轻量级的、可移植的容器中,使得应用可以在任何环境中一致的运行! 1.1、Docker的优点 一致性和可移植性 跨环境一致…

删除微信重复文件的简易工具

去我的个人博客观看,观感更佳哦,😙😙 前言 !!!!温馨提示:假如你是小白,啥都不懂,请直接跳到文章的最后!!! 原本我是没想写这篇文章,契机是某一天我突然打开微信的存储空间占用才发…