【网络协议】

news2024/11/24 13:32:17

网络协议

  • 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.coloradmin.cn/o/1183411.html

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

相关文章

spring中纯注解实现Advice

背景:课本上是注解和Xml文件混用的方式,研究了一下用配置类加注解和测试方法实现各种通知方式的切入。 1.首先dao的接口,增删改查 public interface UserDaoAspect {public void add();public void delete();public void update();public vo…

【K-means聚类算法】实现鸢尾花聚类

文章目录 前言一、数据集介绍二、使用步骤1.导包1.2加载数据集1.3绘制二维数据分布图1.4实例化K-means类,并且定义训练函数1.5训练1.6可视化展示2.聚类算法2.1.可视化生成3其他聚类算法进行鸢尾花分类 前言 例如:随着人工智能的不断发展,机器…

Vue 3 相对于 Vue2,模板和组件的一些变化

目录 1,模板的变化1,v-modelvue2vue3 2,v-if 和 v-for3,keyv-forv-if 4,Fragment 2,组件的变化1,Teleport2,异步组件 1,模板的变化 1,v-model vue2 对组件…

c语言初学者用vs还是vscode?

c语言初学者用vs还是vscode? 看是科班还是自学,一般学校会有要求的编译软件,在这两者之间,用VS的居多,一个可能的原因是VS不用自己装环境。 最近很多小伙伴找我,说想要一些 c语言的资料,然后我根据自己从…

Rust核心功能之一(所有权)

目录 1、什么是所有权? 1.1 所有权规则 1.2 变量作用域 1.3 String 类型 1.4 内存与分配 变量与数据交互的方式(一):移动 变量与数据交互的方式(二):克隆 只在栈上的数据:拷贝…

【C++20】模块

模块 C语言从一开始便继承了C语言的include头文件机制,通过包含头文件的方式来引用其他组件的代码,这些头文件通常包含了该组件相关的接口声明。但使用头文件通常伴有如下问题: 不够清晰不够清晰同名符号覆盖问题 C20提供了模块特性&#…

本地生活新赛道-视频号团购怎么做?

目前有在做实体行业的商家一定要看完,只要你进入了这个本地生活新的赛道,那你的生意自然会源源不断,那这个赛道又是什么呢? 这就是十月份刚刚上线的视频号团购项目,开通团购之后,就可以通过发短视频&#…

排序:堆排序(未完待续)

文章目录 排序一、 排序的概念1.排序:2.稳定性:3.内部排序:4.外部排序: 二、插入排序1.直接插入排序 二、插入排序堆排序 排序 一、 排序的概念 1.排序: 一组数据按递增/递减排序 2.稳定性: 待排序的序列…

postman中文乱码

在header中添加这两个: Content-Type application/json;charsetUTF-8 Accept application/json;charsetUTF-8

『昆仑天工』4款AI产品开源!提供API对接!

在文章开篇,小圈先介绍下 昆仑万维 公司旗下的AI大模型**『天工』**,它是由昆仑万维自研的双千亿级大语言模型, 也是国内首个对标ChatGPT的双千亿级大语言模型,可满足文案创作、知识问答、代码编程、逻辑推演、数理推算等需求。 …

自制宏正(ATEN)KVM CS1708i固件升级线

因为宏正 CS1708i KVM年代相对久远,最近通过Web进行远程管理时发现页面不支持最新的EDGE浏览器,官方有较新的固件,但是需要专用的RJ11接头的升级串口线才能进行升级。网上目前无法买到,在网上找到对应的资料,用RJ11 4P…

ansible第一天

ansible 第一天 以上主机使用rhel-8.2-x86_64-dvd.iso镜像,配置ip、yum源,关闭防火墙和selinux规则 安装中文包,重启生效 [rootcontrol ~]# yum -y install langpacks-zh_CN.noarch && reboot 配置名称解析 [rootcontrol ~]# echo…

拓展企业客户群:如何使用企业联系方式查询API帮助在社交媒体上寻找潜在客户

前言 在当今竞争激烈的商业环境中,拓展企业客户群已经成为许多企业的首要任务之一。在这种情况下,使用企业联系方式查询API可以帮助企业在社交媒体上寻找潜在客户。本文将探讨如何使用企业联系方式查询API拓展企业客户群。 企业联系方式查询API简介 首…

linux rsyslog介绍

Rsyslog网址:https://www.rsyslog.com/ Rsyslog is the rocket-fast system for log processing. It offers high-performance, great security features and a modular design. While it started as a regular syslogd, rsyslog has evolved into a kind of swis…

【物联网】继续深入探索ADC模拟转数字的原理——Flash ADC流水线ADC逐次逼近型SAR ADC

这篇文章主要弥补上一篇关于ADC的不足,更加深入了解ADC数模转换器的工作原理,举例常见的三种ADC,分别为Flash ADC&流水线ADC&逐次逼近型SAR ADC。 【物联网】深入了解AD/DA转换技术:模数转换和数模转换 文章目录 一、模拟…

休眠和睡眠有哪些区别?如何让电脑一键休眠?

电脑中有休眠和睡眠,那么它们有什么区别呢?下面我们就通过本文来了解一下。 休眠和睡眠的区别 电脑在睡眠状态时,会切断内存之外的设备电源,电脑会进入睡眠状态,当再次唤醒电脑后,不会影响睡眠前保存好的工…

Git中的 fork, clone,branch

一、是什么 fork fork,英语翻译过来就是叉子,动词形式则是分叉,如下图,从左到右,一条直线变成多条直线 转到git仓库中,fork则可以代表分叉、克隆 出一个(仓库的)新拷贝 包含了原来…

Swing 程序设计

概述 String包的层次结构和继承关系如下 常用的Swing组件如下表 Swing常用窗体 JFrame 窗体 JFrame 类的常用构造方法包括以下两种形式: public JFrame():创建一个初始不可见、没有标题的窗体。public JFrame(String title)…

Java并发编程第11讲——AQS设计思想及核心源码分析

Java并发包(JUC)中提供了很多并发工具,比如前面介绍过的ReentrantLock、ReentrantReadWriteLock、CountDownLatch、Semaphore、FutureTask等锁或者同步部件,它们的实现都用到了一个共同的基类——AbstractQueuedSynchronizer&…

element分页

获取数据信息&#xff0c;这是表格和分页内容 <el-col :span"24"><div class"grid-content bg-purple-dark"><el-table :data"tableData" stripe style"width: 100%"><el-table-column prop"xuhao" l…