计算机网络——快速了解常见应用层协议体系

news2025/1/22 8:42:11

文章目录

  • 〇、加密算法
    • 对称加密
    • 非对称加密
  • 一、远程登录——TELNET、SSH
    • 1.Telnet
    • 2.SSH
  • 二、文件传输——FTP、SFTP、FTPS
    • 1.FTP
    • 2.SFTP
    • 3.FTPS
      • SSL工作原理
  • 三、电子邮件——SMTP、POP、IMAP
    • 1.SMTP(推送邮件)
    • 2.POP(接收邮件)
    • 3.IMAP
  • 四、Web应用——HTTP、HTTPS
    • 1.HTTP
      • (1)浏览器输入url之后发生的事情
      • (2)HTTP请求
      • (3)HTTP响应
    • 2.HTTPS
  • 参考

〇、加密算法

介绍两种加密算法,也许会对后面内容的学习有一些帮助。

对称加密

加密、揭秘用同一个密钥,缺点是交换密钥的时候可能被窃取。

非对称加密

消息发送方用接收方的公钥对数据进行加密,接收方拿到消息后用自己的私钥进行解密。

一、远程登录——TELNET、SSH

1.Telnet

Telnet利用TCP的一条连接,通过这一条连接向主机发送文字命令并在主机上执行。本地用户好像直接与远端主机内部的Shell相连着似的,直接在本地进行操作。telnet是基于tcp协议,所以建立的链接过程实际上是建立一个tcp连接的过程。

缺点:明文传输所有数据,不安全。

  • 工作过程:
- 1.建立连接
上面我们说了telnet是基于tcp协议,所以建立的链接过程实际上是建立一个tcp连接的过程

- 2.输入口令
如果建立连接时,路由器可以抵达目的地,那么我们就会在本地终端输入用户名和密码,之后通过传输介质传送到远程主机

- 3.认证并返回结果
远程主机进行认证,无论认证通过与否,都会将回复数据转化为本地所接受的格式送回本地终端,包括输入命令回显和命令执行结果;

- 4.撤销连接
本地终端对远程主机进行撤消连接,这个过程其实是撤销一个TCP连接

2.SSH

telnet协议以明文的方式传送所有数据(包括账号和口令),数据在传输过程中很容易被入侵者窃听会篡改,所以建议在对安全性不高的环境下使用。

因此,SSH使用更为广泛,SSH全称是Secure Shell (安全外壳协议),是一种非对称加密的网络传输协议 ,可在不安全的网络中为网络服务提供安全的传输环境 。SSH默认端口是22。SSH主要提供了两个服务:远程登录的服务、SFTP加密传输文件的。

  • 工作过程:
- 1.服务器建立公钥:
若远程服务器是新系统,会在/etc/ssh目录下生成一个名为ssh_host_ecdsa_key.pub的公钥,
同时生成一个名为ssh_host_ecdsa_key的私钥,这一对就是远程服务器的公钥与私钥。
之后每回启动sshd服务的时候,系统会自动在此路径下查找公钥。

- 2.客户端请求连接:
linux或者mac系统可以直接通过自带的shell连接,指令为ssh user@host。

- 3.服务器发送公钥给客户端:
服务器接到请求后,把公钥传给客户端使用。

- 4.客户端记录服务器公钥并计算自己的公私钥:
客户端将服务器传来的公钥记录在~/.ssh/known_hosts中,
若是已经记录有该服务器公钥,则比对是否一致,一致后就计算客户端自己的公私钥。

- 5.客户端发送自己的公钥给服务器:
客户端将自己的公钥发送给服务器,这样服务器端就有客户端公钥+服务器自己私钥,
客户端就有服务器公钥+客户端自己私钥,组成了非对称加密系统。

- 6.开始双向加解密:
服务器发送数据:用客户端公钥加密,客户端收到数据后用自己私钥解密。
客户端发送数据:用服务器公钥加密,服务器收到数据后用自己私钥解密。

二、文件传输——FTP、SFTP、FTPS

1.FTP

FTP (File Transfer Protocol,文件传输协议)是典型的c/s架构的应用层协议,需要由服务端软件、客户端软件两个部分共同实现文件传输功能。FTP客户端和服务器之间的连接是可靠的,面向连接的,为数据的传输提供了可靠的保证。

FTP有两种模式,一种是主动模式(服务器主动发起连接,有一个缺点是客户端必须关闭防火墙),一种是被动模式(服务器被动等待客户端发起连接)。

2.SFTP

在介绍SSH的时候就说过了,实际上就是SSH提供的一个安全文件传输协议。

3.FTPS

实际上就是在FTP和TCP之间加了一层安全协议SSL(该协议介于应用层、传输层之间)。能够给FTP增加一些安全性支持。因此,搞懂SSL也就搞懂了FTPS。

SSL工作原理

SSL提供三种基本的安全服务:数据加密、完整性校验、身份认证

  • 安全服务——数据加密:
    SSL协议采用 混合加密算法 来对数据进行加密。用非对称加密算法来交换一个”对称的密钥“,然后用对称加密算法并使用这个”对称的密钥“来进行后续的数据发送。既保证了安全性,又保障了效率。

  • 安全服务——完整性校验:
    发送方:原文 ->(不可逆的哈希算法)-> 消息摘要->(用自己的私钥进行加密)-> 数字签名
    发送方:将数字签名 + 原文发送给接收方
    接收方:原文 ->(不可逆的哈希算法)-> 消息摘要1
    接收方:数字签名 ->(用发送方的公钥进行解密)-> 消息摘要2
    接收方:对比消息摘要1和消息摘要2是否相同,判断数据的完整性(是否被篡改)

  • 安全服务——身份认证:
    权威的第三方给服务器颁发数字证书,证明其身份。

  • 建立SSL连接的过程:

在这里插入图片描述

三、电子邮件——SMTP、POP、IMAP

1.SMTP(推送邮件)

  • 工作过程:
    1)建立连接:SMTP客户端请求与SMTP服务器建立一个TCP连接,连接成功后互通域名等一系列相关信息
    2)邮件发送:SMTP客户将邮件发送给SMTP服务器,SMTP服务器进行接收
    3)连接释放:SMTP退出命令,服务器处理相应,随后关闭TCP连接

2.POP(接收邮件)

  • 工作过程:
    基本上与SMTP无区别,都是建立连接——接受邮件——断开连接的操作方式,期间所使用依旧是tcp/ip协议,与SMTP不同的地方是,POP与IMAP都是接收邮件,且他们的服务器是由SMTP所给出的电子邮件。

3.IMAP

  • 工作过程:
    离线情况:与POP3基本保持一致性
    在线情况:客户端在于服务端会持续不断的进行连接,客户端可直接在进行在线浏览等之类的操作,再决定是否下载相关邮件,即是客户端直接在服务器上对邮件进行相应的操作。

四、Web应用——HTTP、HTTPS

1.HTTP

(1)浏览器输入url之后发生的事情

在这里插入图片描述

  • DNS解析域名的过程:
    浏览器缓存IP了吗,否则下一步
    系统hosts文件有该IP吗,否则下一步
    迭代查询:先查根域服务器(每个DNS服务器都知道根域服务器在哪) -> 去根域服务器查询顶级域服务器.com -> 去顶级域服务器查询二级域服务器 baidu.com -> 去二级域服务器查www.baidu.com的ip

(2)HTTP请求

在这里插入图片描述

  • 最常见的请求方法:
    GET(select): 参数会包含在请求头url中,不安全,长度也有限制;无完整性验证机制,直接将header+data发送过去;会被浏览器主动缓存,不安全。
    POST(update&select): 可通过请求头url或者请求体传参,安全,可传输更多参数;有完整性验证机制,分两次发header、data;不会被浏览器主动缓存。
    PUT(insert): 无验证机制,不安全。
    DELETE(delete): 无验证机制,不安全。

(3)HTTP响应

在这里插入图片描述

  • 状态码:
    在这里插入图片描述

2.HTTPS

实际上就是在HTTP和TCP之间多了一层SSL的处理。看一下第二章,已经介绍了SSL。

参考

书籍《图解TCP/IP》
ssh:https://blog.csdn.net/qq_38150250/article/details/119835992
ftp:https://blog.csdn.net/ver_mouth__/article/details/124179311
ssl:https://www.bbsmax.com/A/A2dmn17nze/
邮件:https://blog.csdn.net/qq_44852846/article/details/120716611

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

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

相关文章

计算机中的数据存储

计算机的存储规则: 文本、图片、声音所有的数据存储 在计算机当中一般会有三类数据:文本数据、图片数据以及声音数据其中文本它又包含了数字、字母以及汉字视频的本质是图片和声音的组合体。在计算机当中,任意的数据都是以二进制的形式来存储…

【Matlab】基于偏格式动态线性化的无模型自适应控制

例题来源:侯忠生教授的《无模型自适应控制:理论与应用》(2013年科学出版社)。 👉对应书本 4.3 单输入单输出系统(SISO)偏格式动态线性化(PFDL)的无模型自适应控制(MFAC) 上一篇博客介绍了基于紧格式动态线性化的无模型…

K8S---Service

服务原理 容器化的问题: 1.自动调度 无法预知pod所在节点,pod的IP地址 2.有故障时,换新节点新ip进行部署 service就是解决这些问题 自动跟踪 clusterip不变 都能找到对应pod 主要靠后端pod的标签 负载均衡 通过iptables/LVS规则将访问的请…

MySQL 数据库概述

数据(Data) 描述事物的符号记录包括数字,文字、图形、图像、声音、档案记录等以“记录”形式按统一的格式进行存储 表 将不同的记录组织在一起用来存储具体数据 记录:行 字段(属性):列 数…

[Gitops--7]Kubesphere 配置镜像仓库

Kubesphere 配置镜像仓库 1. Harbor https证书配置 1.1 生成Harbor证书 mkdir /apps/harbor/cert -p cd /apps/harbor/cert openssl genrsa -out ca.key 2048 openssl req -x509 -new -nodes -key ca.key -subj "/CCN/STShanghai/LShanghai/Opana/OUDevops/CNharbor.i…

HBase(3):集群搭建

1 基础环境需求 jdk1.8以上Hadoopzookeeper 2 下载HBase安装包 Apache Downloads 3 安装 3.1 上传解压HBase安装包 tar -xvzf hbase-3.0.0-alpha-3-bin.tar.gz -C /opt/ 3.2 修改HBase配置文件 (1)修改hbase-env.sh cd /opt/hbase-3.0.0-alpha-3-bi…

【音视频第21天】RTP、RTCP结合wireshark抓包详解

感觉单纯看理论没啥意思,结合RTCP、RTP来看一看抓包详解 RTP 实时传输协议RTP(Realtime Transport Protocol):是针对Internet上多媒体数据流的一个传输协议, 由IETF作为RFC1889发布,现在最新的为RFC3550。RTP被定义为…

基于PyQt5的图形化界面开发——自制Redis图形化客户端(文末附源码)

基于PyQt5的图形化界面开发——自制Redis图形化客户端 前言1. Python第三方库安装及Redis学习1.1 Python第三方库安装1.2 Redis数据库安装和基础命令 2. 登录界面2.1 login.py2.2 image_login.py 3. 主界面3.1 main_ui.py3.2 image_main.py 4.界面切换5. 写在最后(附下载链接) …

软件测试笔记(三):黑盒测试

1 黑盒测试概述 黑盒测试也叫功能测试,通过测试来检测每个功能是否都能正常使用。在测试中,把程序看作是一个不能打开的黑盒子,在完全不考虑程序内部结构和内部特性的情况下,对程序接口进行测试,只检查程序功能是否按…

Java——把数组排成最小的数

题目链接 牛客网在线oj题——把数组排成最小的数 题目描述 输入一个非负整数数组numbers,把数组里所有数字拼接起来排成一个数,打印能拼接出的所有数字中最小的一个。 例如输入数组[3,32,321],则打印出这三个数字能…

汇编语言(第3版)- 学习笔记 - 第1章-基础知识

汇编语言(第3版)- 学习笔记 - 第1章-基础知识 1.1 机器语言1.2 汇编语言的产生1.3 汇编语言的组成1.4 存储器1.5 指令和数据1.6 存储单元1.7 CPU对存储器的读写1.8 地址总线1.9 数据总线1.10 控制总线1.11 内存地址空间(概述)1.12 主板1.13 接口卡1.14 各…

NSSCTF-[NSSRound#X Basic]ez_z3 [MoeCTF 2022]Art [HDCTF2023]basketball

目录 NSSCTF-[NSSRound#X Basic]ez_z3 [MoeCTF 2022]Art [HDCTF2023]basketball NSSCTF-[NSSRound#X Basic]ez_z3 题目下载:下载 查壳: 发现有upx壳,但是使用upx -d命令不能脱壳,载入十六进制编辑器查看 把XYU改为UPX&#x…

netty/websocket服务器配置阿里云SSL证书安全访问配置,亲测有效

背景:java 微服务包括https访问和websocket访问,当https接口访问ws请求时报错,因为https能访问wss。 申请阿里云免费证书后,搜索各种教程比如nginx配置方式、netty访问证书等。走了不少弯路,终于走通一种。 关键点:1…

龙蜥开发者说:亲历从基础设施构建到系统质量保障,龙蜥未来可期 | 第 19 期

「龙蜥开发者说」第 19 期来了!开发者与开源社区相辅相成,相互成就,这些个人在龙蜥社区的使用心得、实践总结和技术成长经历都是宝贵的,我们希望在这里让更多人看见技术的力量。本期故事,我们邀请了龙蜥社区开发者宋彦…

【Python】值得收藏,三元一次方程组的计算,快来看看有什么新奇的~~~

三元一次方程组的计算对于大家来说都不陌生了,但是用编程语言来解决方程组问题想必还是会有些大聪明们有点迷糊的,今天就带大家来看看是怎么利用python实现方程组的解集的; 本文主要分成两部分: 解题验算综述 解题 题目1 代码 …

Security中使用Redis管理会话(模拟cookie实现)

配置redis相关 1. 配置Redis package com.zzhua.blog.config.redis;import com.fasterxml.jackson.annotation.JsonTypeInfo; import com.fasterxml.jackson.core.JsonParser; import com.fasterxml.jackson.core.JsonProcessingException; import com.fasterxml.jackson.cor…

【HCIP】IPV6综合实验(ripng,ospfv3,bgp,6to4)

目录 一、IP规划 二、 连通公网部分(IPv4) 三、R1、R2上IPv4+v6配置 四、IPV6部分ip配置 五、IPV6部分OSPF&BGP协议配置 Ⅰ、 ospf Ⅱ、bgp 六、联通网络 需求: 1、AR1处于IPV4,也有IPV6的地址,有两个环回 2、AR45678处…

Golang Gin 请求参数绑定与多数据格式处理

之前学习了使用Gin框架的Engine的默认路由功能解析HTTP请求。现在我们来学习gin框架的参数绑定操作和请求结果返回格式。 处理POST请求时,使用context.PostForm或者context.DefaultPostForm获取客户端表单提交的数据。 像上述这种只有username和password两个字段的表…

CS:APP 第7章链接分步编译(cpp/cc1/as/ld)遇到的问题

环境 WSL Ubuntu 22.04.2 LTS gcc (Ubuntu 11.3.0-1ubuntu1~22.04) 11.3.0 问题 问题一 cc1 命令找不到 cc1 命令在 /usr/lib/gcc/x86_64-linux-gnu/11/cc1 里,注意不同操作系统等可能 cc1 的位置不一样,可以使用 find 或者 locate 命令搜索。 通过下…

聊点技术 | 架构瘦身,让Bonree ONE跑得更轻

4月21日,博睿数据ONE有引力2023春季产品发布会圆满落幕,一体化智能可观测平台Bonree ONE 2023春季正式版正式发布,这一次发布的版本更轻、更强、更智能。 Bonree ONE在上一版基础上削减50%组件数量,下架两大高耗能组件&#xff0c…