【网络协议】

网络协议

  • 1 网络通讯
    • 1.1 防火墙
    • 1.2 子网掩码
    • 1.3 网关
    • 1.4
  • 2 SSH
    • 2.1 SSH
    • 2.2 SSH1
    • 2.3 SSH2
  • 3 Telnet
  • 4 Telnet/SSL
  • 5 NFS
  • 6 TFTP
  • 7 FTP
  • 8 SFTP
  • 9 HTTP
  • 10 HTTPS
  • 11 NAT
  • 12 加密

1 网络通讯

1.1 防火墙

所谓“防火墙”,是指一种将内部网和公众访问网(如Internet)分开的方法,它实际上是一种隔离技术。防火墙是在两个网络通讯时执行的一种访问控制尺度,它能允许你“同意”的人和数据进入你的网络,同时将你“不同意”的人和数据拒之门外,最大限度地阻止网络中的黑客来访问你的网络。换句话说,如果不通过防火墙,公司内部的人就无法访问Internet,Internet上的人也无法和公司内部的人进行通信。

■ NAT 模式 虚拟机系统中的ip地址转换成宿主机的ip地址,从而借助宿主主机访问其他主机,也可以访问宿主主机所在的公网。
■ host- only 模式虚拟机所在的虚拟网络是一个全封闭的网络,它唯一能够访问的是宿主主机。
■ Bridged (桥接模式)局域网络一台独立的主机可以可以访问同网段中任何一台机器,虚拟机必须配置 ip DNS 网关 和主机在一网段,以实现通过宿主主机访问外网。

1.2 子网掩码

  1. 它是一种用来指明一个IP地址的哪些位标识的是主机所在的子网,以及哪些位标识的是主机的位掩码。子网掩码不能单独存在,它必须结合IP地址一起使用。子网掩码只有一个作用,就是将某个IP地址划分成网络地址和主机地址两部分。
  2. 子网掩码是一个32位地址,用于屏蔽IP地址的一部分以区别网络标识和主机标识,并说明该IP地址是在局域网上,还是在远程网上。
  3. 子网掩码——屏蔽一个IP地址的网络部分的“全1”比特模式。
    对于A类地址来说默认的子网掩码是255.0.0.0;
    对于B类地址来说默认的子网掩码是255.255.0.0;
    对于C类地址来说默认的子网掩码是255.255.255.0。
  4. IP地址的网络号和主机号各是多少位呢?如果不指定,就不知道哪些位是网络号、哪些是主机号,这就需要通过子网掩码来实现。
  5. 子网掩码的长度也是32位,左边是网络位,用二进制数字“1”表示,1的数目等于网络位的长度;右边是主机位,用二进制数字“0”表示,0的数目等于主机位的长度。这样做的目的是为了让掩码与ip地址做按位与运算时用0遮住原主机数,而不改变原网络段数字,而且很容易通过0的位数确定子网的主机数
  6. 11111111 11111111 11111111 00000000中,前三个字节全1,代表对应IP地址中最高的三个字节为网络地址;后一个字节全0,代表对应IP地址中最后的一个字节为主机地址。这种位模式叫做子网模(subnet mask)或“子网掩码”。

作用:

  1. 是用于屏蔽IP地址的一部分以区别网络标识和主机标识,并说明该IP地址是在局域网上,还是在远程网上。
  2. 是用于将一个大的IP网络划分为若干小的子网络。

子网掩码划分:
未做子网划分的ip地址:网络号+主机号
做子网划分后的ip地址:网络号+子网号+子网主机号 (由主机号划分成子网号+和子网主机号)

/示例*/
比如172.16.2.160/255.255.255.0:
【1】在没有划分子网的情况下:
这个IP地址的【网络号】就是172.16.2.0
【主机号】为 0.0.0.160
【2】划分子网情况如:
172. 16. 2. 160/255.255.255.192(IP地址/掩码)

10101100 00010000 00000010 10100000 (二进制)
11111111 11111111 11111111 11000000 (子网掩码)
------------------------------------------相"与"(理解成相乘)
10101100 00010000 00000010 10000000(172.16.2.128这就是子网号)// 有128个子网。
10101100 00010000 00000010 10000001(172.16.2.129是第一个主机)
10101100 00010000 00000010 10111110(172.16.2.190最后一个主机)
10101100 00010000 00000010 10111111 广播地址 172.16.2.191

/示例/
I P 地址  192.168.0.254
子网掩码 255.255.255.0
AND运算
转化为二进制进行运算:
I P 地址  11000000.10101000.00000000.11111110
子网掩码 1111 1111.1111 1111.1111 1111.0000 0000
AND运算 11000000.10101000.00000000.00000000
转化为十进制后为:
192.168.0.0
示例三
I P 地址  192.168.0.4
子网掩码 255.255.255.0
AND运算
转化为二进制进行运算:
I P 地址  11000000.10101001.00000000.00000100
子网掩码 11111111.11111111.11111111.00000000
AND运算
11000000.10101001.00000000.00000000
转化为十进制后为:
192.168.0.0
通过以上对三组计算机IP地址与子网掩码的AND运算后,我们可以看到它运算结果是一样的。均为192.168.0.0
所以计算机就会把这三台计算机视为是同一子网络,然后进行通讯的。

/例如/
找到本地连接,右键-属性-TCP/IP-属性,里面可以填写IP地址。你就写192.168.1.10,子网掩码是255.255.255.0.另外一个机子写192.168.1.20,子网掩码也写255.255.255.0.其余不用填,这两台机子就可以通。

1.3 网关

比如有网络A和网络B,
网络A的IP地址范围为"192.168.1.1~192. 168.1.254",子网掩码为255.255.255.0;
网络B的IP地址范围为"192.168.2.1~192.168.2.254",子网掩码为255.255.255.0。
在没有路由器的情况下,两个网络之间是不能进行TCP/IP通信的,即使是两个网络连接在同一台交换机(或集线器)上,TCP/IP协议也会根据子网掩码(255.255.255.0)判定两个网络中的主机处在不同的网络里。
而要实现这两个网络之间的通信,则必须通过网关。
如果网络A中的主机发现数据包的目的主机不在本地网络中,就把数据包转发给它自己的网关,再由网关转发给网络B的网关,网络B的网关再转发给网络B的某个主机。
网络B向网络A转发数据包的过程也是如此。
所以说,只有设置好网关的IP地址,TCP/IP协议才能实现不同网络之间的相互通信。

1.4

2 SSH

2.1 SSH

SSH(Secure Shell)到目前为止有两个不兼容的版本——SSH1和SSH2。
SSH是Secure Shell的缩写是建立在应用层和传输层基础上的安全协议,能够有效防止远程管理过程中的信息泄露问题
SSH 简单来说采用SSL加密传输,创建会话会产生一个非对称秘钥对(RSA、DSA、DH算法),服务端拥有私钥,客户端会提示接收/保存公钥,公钥加密的数据只有私钥才能解密。

SSH之所以能够保证安全,原因在于它采用了公钥加密。整个过程是这样的:
(1)远程主机收到用户的登录请求,把自己的公钥发给用户。
(2)用户使用这个公钥,将登录密码加密后,发送回来。
(3)远程主机用自己的私钥,解密登录密码,如果密码正确,就同意用户登录。

2.2 SSH1

SSH1采用DES、3DES、Blowfish和RC4等对称加密算法保护数据安全传输,而对称加密算法的密钥是通过非对称加密算法(RSA)来完成交换的。SSH1使用循环冗余校验码(CRC)来保证数据的完整性,但是后来发现这种方法有缺陷。

2.3 SSH2

SSH2避免了RSA的专利问题,并修补了CRC的缺陷。SSH2用数字签名算法(DSA)和Diffie-Hellman(DH)算法代替RSA来完成对称密钥的交换,用消息证实代码(HMAC)来代替CRC。同时SSH2增加了AES和Twofish等对称加密算法。

3 Telnet

telnet用于远程登录到网络中的计算机
Telnet采用明文传输,传输过程容易被窃取

4 Telnet/SSL

Secure Socket Layer
SSL协议位于TCP/IP协议与各种应用层协议之间,为数据通讯提供安全支持。
Telnet/SSL是带有SSL的Telnet。

5 NFS

NFS即网络文件系统(Network File-System)
NFS只是一种文件系统,本身并没有传输功能,是基于RPC(远程过程调用)协议实现的,采用C/S架构。
主机将用户指定的目录通过网络共享给目标机(和windows的文件网络共享类似)。目标机可以直接运行存放于Linux主机共享目录下的程序。

6 TFTP

TFTP(Trivial File Transfer Protocol,简单文件传输协议),是TCP/IP协议族中用来在客户机和服务器之间进行简单文件传输的协议,开销很小。

7 FTP

文件传输协议(File Transfer Protocol,FTP)
FTP 是基于客户———服务器(C/S)模型而设计的
FTP的传输有两种方式:ASCII、二进制。
使用 TCP 传输而不是 UDP
FTP允许用户以文件操作的方式(如文件的增、删、改、查、传送等)与另一主机相互通信

FTP数据传输过程
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
不同的协议层对数据包有不同的称谓,在传输层叫做段(segment),在网络层叫做数据报(datagram),在链路层叫做帧(frame)。数据封装成帧后发到传输介质上,到达目的主机后每层协议再剥掉相应的首部,最后将应用层数据交给应用程序处理。两台计算机在不同的网段中,那么数据从一台计算机到另一台计算机传输过程中要经过一个或多个路由器。

8 SFTP

SFTP是SSH File Transfer Protocol的缩写,安全文件传送协议。
SFTP使用加密传输认证信息和传输的数据,所以使用SFTP相对于FTP是非常安全。
SFTP这种传输方式使用了加密解密技术,所以传输效率比普通的FTP要低得多。

9 HTTP

//超文本传输协议(HTTP,HyperText Transfer Protocol)是互联网上应用最为广泛的一种网络协议。所有的WWW文件都必须遵守这个标准。
HTTP协议以明文方式发送内容,不提供任何方式的数据加密,如果攻击者截取了Web浏览器和网站服务器之间的传输报文,就可以直接读懂其中的信息,因此,HTTP协议不适合传输一些敏感信息,比如:信用卡号、密码等支付信息。
HTTP协议传输的数据都是未加密的,也就是明文的,

10 HTTPS

简单讲是HTTP的安全版,即HTTP下加入SSL层,HTTPS的安全基础是SSL,因此加密的详细内容就需要SSL
HTTPS协议的主要作用可以分为两种:一种是建立一个信息安全通道,来保证数据传输的安全;另一种就是确认网站的真实性
HTTPS协议是由SSL+HTTP协议构建的可进行加密传输、身份认证的网络协议,要比http协议安全。
在这里插入图片描述
在这里插入图片描述
HTTPS和HTTP的区别主要如下:
1、https协议需要到CA申请证书,一般免费证书较少,因而需要一定费用。
2、http是超文本传输协议,信息是明文传输,https则是具有安全性的ssl加密传输协议。
3、http和https使用的是完全不同的连接方式,用的端口也不一样,前者是80,后者是443。
4、http的连接很简单,是无状态的;HTTPS协议是由SSL+HTTP协议构建的可进行加密传输、身份认证的网络协议,比http协议安全。

11 NAT

NAT 路由器作为因特网 (公共网络) 和局域网 (私有网络) 之间的代理。这就意味着对外部网络来说仅仅只需要一个单独的 IP 地址就可以代表一组 (内部网络的) 计算机。
例如类似: 这个客户拨打了主号码 (办公室对外的电话号码,译者) 到你的办公室,这是客户唯一能查到的号码。当客户告诉传达员他们想找谁的时候,传达员就会查看一张匹配有公司人名和其电话分机的查看表。这个传达员知道你在等待这个电话,因此传达员将这个电话转到了你的分机。 思科开发的网络地址转换 (NAT) 设备是工作在内部网络和外部网络之间的。NAT 的实现有许多种方式,并有许多种工作方法:
路由器访问公网,将内网ip转换成公网ip表
192.168.32.10 -> 213.18.123.110
192.168.32.12 -> 213.18.123.111
192.168.32.15 -> 213.18.123.112

静态NAT – 用一个一对一设备将一个未注册的 IP 地址映射到一个已注册的 IP 地址。当一台设备需要被外界网络可达时尤其有用。在静态 NAT 中,IP 地址是192.168.32.10 的计算机总是被转换成213.18.123.110:

动态 NAT – 映射一个未注册的 IP 地址到一组已注册 IP 地址里的一个。动态 NAT 也是在未注册和已注册 IP 地址之间建立映射关系,但是映射地址的来源是取决于通信时地址池中的可用注册 IP 地址数。在动态 NAT 中,IP 地址是192.168.32.10的计算机总是转换成范围在213.18.123.100 - 213.18.123.150中第一个可用 IP 地址:
过载 – 映射多个未注册 IP 地址到一个已注册 IP 地址时,动态 NAT 采用不同的端口。也就是所谓的 PAT (Port Address Translation, 端口地址转换),单地址 NAT 或端口级 NAT 复用。在过载中,私有网络中的每一台计算机都转换到同一个 IP 地址 (213.18.123.100) 但是被分配不同的端口号:
当一个数据包从目的计算机发送回来时,路由器检查其目的端口号 (不用检查其 IP 地址,因为全部内部网络都只用路由器的 IP 地址,路由器用端口号映射不同的计算机

12 加密

一、替代加密:用另外一种字符来替换另一种符号。可分为单态字符加密方式,和多态字符加密方式。
二、置换加密方式: 不是用一个符号来替换另一个字符,而是改变这些符号的位置。置换加密方法会符号重新排序。

流和块加密方法:
流加密方法: 在使用流加密方法是,加密和解密都是一次一个符号地(一个字符或一个比特)
块加密方法: 长度为m(m>1)的一组明文符号被同时加密并产生一组等长的密文。

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

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

相关文章

技术分享 | app自动化测试(Android)-- 属性获取与断言

断言是 UI 自动化测试的三要素之一,是 UI 自动化不可或缺的部分。在使用定位器定位到元素后,通过脚本进行业务操作的交互,想要验证交互过程中的正确性就需要用到断言。 常规的UI自动化断言 分析正确的输出结果,常规的断言一般包…

蓝桥杯练习

即约分数 题目 思路 遍历所有的x&#xff0c;y&#xff0c;判断x/y是不是即越约分数。 代码 #include <iostream> using namespace std; int gcd(int x,int y) {int r;while(y!0){rx%y;xy;yr;}return x; } int main() {// 请在此输入您的代码int sum4039;//1/y和x/1都…

前端食堂技术周刊第 103 期:10 月登陆 Web 平台的新功能、TS 5.3 RC、React 2023 状态、高并发的哲学原理、Web 资源加载优先级

美味值&#xff1a;&#x1f31f;&#x1f31f;&#x1f31f;&#x1f31f;&#x1f31f; 口味&#xff1a;夏梦玫珑 食堂技术周刊仓库地址&#xff1a;https://github.com/Geekhyt/weekly 大家好&#xff0c;我是童欧巴。欢迎来到前端食堂技术周刊&#xff0c;我们先来看下…

深入详解高性能消息队列中间件 RabbitMQ

目录 1、引言 2、什么是 RabbitMQ &#xff1f; 3、RabbitMQ 优势 4、RabbitMQ 整体架构剖析 4.1、发送消息流程 4.2、消费消息流程 5、RabbitMQ 应用 5.1、广播 5.2、RPC VC常用功能开发汇总&#xff08;专栏文章列表&#xff0c;欢迎订阅&#xff0c;持续更新...&am…

Danswer 接入 Llama 2 模型 | 免费在 Google Colab 上托管 Llama 2 API

一、前言 前面在介绍本地部署免费开源的知识库方案时&#xff0c;已经简单介绍过 Danswer《Danswer 快速指南&#xff1a;不到15分钟打造您的企业级开源知识问答系统》&#xff0c;它支持即插即用不同的 LLM 模型&#xff0c;可以很方便的将本地知识文档通过不同的连接器接入到…

webgoat-Sensitive Data Exposure 敏感信息泄露

insecure login不安全的登录 Encryption is a very important tool for secure communication 0x02 点击login&#xff0c;可以看到payload里的username和password&#xff0c;输入后点击submit即可。 这题的目的是说明&#xff0c;信息传输过程中需要加密&#xff0c;如不…

论文阅读——What Can Human Sketches Do for Object Detection?(cvpr2023)

论文&#xff1a;https://openaccess.thecvf.com/content/CVPR2023/papers/Chowdhury_What_Can_Human_Sketches_Do_for_Object_Detection_CVPR_2023_paper.pdf 代码&#xff1a;What Can Human Sketches Do for Object Detection? (pinakinathc.me) 一、 Baseline SBIR Fram…

React动态生成二维码和毫米(mm)单位转像素(px)单位

一、使用qrcode.react生成二维码&#xff0c;qrcode.react - npm 很简单&#xff0c;安装依赖包&#xff0c;然后引用就行了 npm install qrcode.react或者 yarn add qrcode.react直接上写好的代码 import React, {useEffect, useState} from react; import QRCode from qr…

号牌模拟数据生成

说明 自己开发的测试数据生成工具&#xff0c;用于生成数据训练对应模型。 项目 效果

047_第三代软件开发-日志分离

第三代软件开发-日志分离 文章目录 第三代软件开发-日志分离项目介绍日志分离用法 关键字&#xff1a; Qt、 Qml、 log、 日志、 分离 项目介绍 欢迎来到我们的 QML & C 项目&#xff01;这个项目结合了 QML&#xff08;Qt Meta-Object Language&#xff09;和 C 的强…

Langchain-Chatchat-win10本地安装部署成功笔记(CPU)

Langchain-Chatchat&#xff08;原Langchain-ChatGLM&#xff09;基于 Langchain 与 ChatGLM 等语言模型的本地知识库问答 | Langchain-Chatchat (formerly langchain-ChatGLM), local knowledge based LLM (like ChatGLM) QA app with langchain。 开源网址&#xff1a;https:…

爬取Elastic Stack采集的Nginx内容

以下是一个简单的Go语言爬虫程序&#xff0c;用于爬取Elastic Stack采集的Nginx内容。请注意&#xff0c;这只是一个基本的示例&#xff0c;实际使用时可能需要根据具体情况进行修改和扩展。 package mainimport ("fmt""net/http""io/ioutil" )…

Servlet详解

一.Servlet生命周期 初始化提供服务销毁 1.测试生命周期 package com.demo.servlet;import javax.servlet.*; import java.io.IOException;public class LifeServlet implements Servlet {Overridepublic void init(ServletConfig servletConfig) throws ServletException {…

layui form 中input输入框长度的统一设置

Layui.form中使用class"layui-input-inline"就可轻松将元素都放到一行&#xff0c;但如果元素过多&#xff0c;就会自动换行。那就需要手动设置input框的长度。 像这种情况&#xff1a; 其实只需要添加css样式就可修改了 .layui-form-item .layui-input-inline {wid…

Javaweb之javascript的详细解析

1.3.2 变量 书写语法会了&#xff0c;变量是一门编程语言比不可少的&#xff0c;所以接下来我们需要学习js中变量的声明&#xff0c;在js中&#xff0c;变量的声明和java中还是不同的。首先js中主要通过如下3个关键字来声明变量的&#xff1a; 关键字解释var早期ECMAScript5中…

【redis】ssm项目整合redis,redis注解式缓存及应用场景,redis的击穿、穿透、雪崩的解决方案

一、整合redis redis是nosql数据库&#xff0c;mysql是sql数据库&#xff0c;都是数据库因此可以参考mysql整合ssm项目的过程。 1.pom依赖 <properties> <redis.version>2.9.0</redis.version><redis.spring.version>1.7.1.RELEASE</redis.spri…

C++——搜索二叉树

作者&#xff1a;几冬雪来 时间&#xff1a;2023年11月7日 内容&#xff1a;C的搜索二叉树讲解 目录 前言&#xff1a; 什么是搜索二叉树&#xff1a; 搜索二叉树的增删查改&#xff1a; 搜索二叉树的定义初始化&#xff1a; 搜索二叉树增操作&#xff1a; 搜索二叉树找…

目前安卓、鸿蒙、澎湃的关系

1、了解AOSP是什么 AOSP全名为Android Open-Source Project&#xff0c;中文为安卓开源项目&#xff0c;开源即开放源代码。Android是一个基于Linux&#xff0c;由Google主导的开源系统。 2、AOSP谁的贡献最大&#xff1f; 3、华为的鸿蒙、小米的澎湃是套壳安卓吗&#xff1…

QGC 中添加海康威视摄像头记录(Qt For Android 使用 JNI 进行JAVA 与 C++ 的通讯)

文章目录 1. 配置海康威视 SDK 下载库文件移植工程文件添加动态库&#xff08;.so&#xff09;Android xml 配置添加 java 文件 2. JavaQGCActivity.javaHkwsManager.java 3. C头文件添加&#xff1a;C 中调用 Java 静态函数&#xff08;hcnNetSDKInit&#xff09;JNI 传入规则…

JJJ:PCI / PCIE 的一些术语和概念

转发事务和非转发事务 在PCIe&#xff08;Peripheral Component Interconnect Express&#xff09;总线中&#xff0c;存在两种类型的事务&#xff1a;转发事务和非转发事务。 1、转发事务&#xff08;Forwarded Transactions&#xff09;&#xff1a;转发事务是指从一个PCIe…