常见网络协议

1.DNS协议  (域名系统)

DNS协议使用的端口号是53

位于OSI模型中的应用层

DNS系统的作用:将域名(网址)解析为IP地址。

DNS的基本原理是:将域名映射到IP地址

DNS工作流程

当用户给定一个域名,则某个指定的域名服务器会进行解析,若解析成功则,返回指定IP地址,否则由顶层域名服务器负责解析,顶级服务器会指定某个二级服务器,依次类推,直到得到对应的IP地址。

对百度进行访问

用抓包工具进行抓包

得到域名的IP地址

2.DHCP协议 (动态主机配置协议)

用于网络自动分配地址

DHCP服务的端口号是68和67

DHCP属于应用层协议

DHCP协议采用UDP作为传输协议,主机发送请求消息到DHCP服务器的68号端口,DHCP服务器回应应答消息给主机的67号端口

DHCP工作流程

 

3.ARP协议 (地址解析协议)

根据IP地址获取物理地址的一个TCP/IP协议

arp协议在TCP/IP模型中属于IP层(网络层),在OSI模型中属于链路层

win10 cmd中查看arp缓存表:arp -a

ARP工作流程

1.当发送方主机需要发送数据给目标主机时,会首先检查自己的ARP缓存中是否有目标主机的 MAC 地址。如果有,则直接使用该MAC地址进行通信;

2.如果ARP缓存中没有目标主机的MAC地址,发送方主机会发送个ARP 请求广播,询问网络中的所有主机:“谁知道目标主机的MAC地址?”;

3.网络中的所有主机都会接收到这个ARP请求广播,但只有目标主机会回复一个 ARP 响应,告诉发送方自己的 MAC 地址

4.发送方主机接收到目标主机的ARP 响应后,将目标主机的 MAC地址存入ARP缓存中,并使用该 MAC地址进行通信

4.Telnet协议 (远程终端协议)

明文传输协议

远程控制协议telnet端口号是23

Telnet是应用层协议

Telnet远程登录服务过程

1.本地与远程主机建立连接。该过程实际上是建立一个TCP连接,用户必须知道远程主机的IP地址或域名

2.将本地终端上输入的用户名和口令及以后输入的任何命令或字符以NVT(Net Virtual Terminal)格式传送到远程主机。该过程实际上是从本地主机向远程主机发送一个IP数据包

3.将远程主机输出的NVT格式的数据转化为本地所接受的格式送回本地终端,包括输入命令回显和命令执行结果

4.本地终端对远程主机进行撤销连接该过程是撤销一个TCP连接。

5.ftp协议 (文件传输协议)

FTP(文件传输)协议常用端口号:20用于数据连接,21用于控制连接

在TCP/IP协议族中属于应用层协议运行于TCP协议之上是一种可靠的传输协议

FTP传输文件的过程

6.ssh协议 (安全外壳协议)

SSH协议默认使用22端口

SSH协议是应用层协议,它的传输层协议是TCP

ssh建立连接的过程

1. TCP三次握手;
2. SSH协议版本协商;
3. 服务器端将公钥发送给客户端;
4. 加密算法协商;
5. 客户端使用公钥对服务器端的密码加密并发送给服务器端;
6. 服务器端收到后,用自己的私钥解密,并得到用户名和密码,验证成功则允许登录,否则需要客户端再次输入密码进行验证。

7.ICMP协议(Internet控制报文协议)ping

icmp是网络层协议 ,没有端口

ping百度并用抓包工具抓包

8.HTTP协议 (超文本传输协议)

HTTP协议端口号是80

HTTP协议属于应用层协议

 HTTP请求信息由3部分组成:

1.请求方法URI协议/版本

2.请求头(Request Header)

3.请求正文

请求方法(所有方法全为大写)有多种,各个方法的解释如下:

GET     请求获取Request-URI所标识的资源
POST    在Request-URI所标识的资源后附加新的数据
HEAD    请求获取由Request-URI所标识的资源的响应消息报头
PUT     请求服务器存储一个资源,并用Request-URI作为其标识
DELETE  请求服务器删除Request-URI所标识的资源
TRACE   请求服务器回送收到的请求信息,主要用于测试或诊断
CONNECT 保留将来使用
OPTIONS 请求查询服务器的性能,或者查询与资源相关的选项和需求

9.HTTPS协议 (超文本传输安全协议)

HTTPS(Hypertext Transfer Protocol Secure)协议作用在 OSI 七层网络模型的应用层(Application Layer)和传输层(Transport Layer)。

https协议默认的端口号是443

原理

1.客户端将它所支持的算法列表和一个用作产生密钥的随机数发送给服务器

2.服务器从算法列表中选择一种加密算法,并将它和一份包含服务器公用密钥的证书发送给客户端,该证书还包含了用于认证目的的服务器标识,服务器同时还提供了一个用作产生密钥的随机数

3.客户端对服务器的证书进行验证(有关验证证书,可以参考数字签名),并抽取服务器的公用密钥,然后,再产生一个称作 pre_master_secret 的随机密码串,并使用服务器的公用密钥对其进行加密并将加密后的信息发送给服务器

4.客户端与服务器端根据 pre_master_secret 以及客户端与服务器的随机数值独立计算出加密和 MAC密钥          

5.客户端将所有握手消息的 MAC 值发送给服务器

6.服务器将所有握手消息的 MAC 值发送给客户端

10.tftp协议(简单文件传输协议)

端口号为69,tftp是TCP/IP协议族中的一个用来在客户机与服务器之间进行简单文件传输的协议

TFTP协议与FTP协议的不同点

1)TFTP协议不需要验证客户端的权限,FTP需要进行客户端验证;

2)TFTP协议一般多用于局域网以及远程UNIX计算机中,而常见的FTP协议则多用于互联网中;

3)FTP客户与服务器间的通信使用TCP,而TFTP客户与服务器间的通信使用的是UDP;

4)TFTP只支持文件传输。也就是说,TFTP不支持交互,而且没有一个庞大的命令集。最为重要的是,TFTP不允许用户列出目录内容或者与服务器协商来决定哪些是可得到的文件。

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

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

相关文章

【十三】【动态规划】1745. 分割回文串 IV、132. 分割回文串 II、516. 最长回文子序列,三道题目深度解析

动态规划 动态规划就像是解决问题的一种策略,它可以帮助我们更高效地找到问题的解决方案。这个策略的核心思想就是将问题分解为一系列的小问题,并将每个小问题的解保存起来。这样,当我们需要解决原始问题的时候,我们就可以直接利…

移动端APP版本治理

1、背景 在许多公司,APP版本都是不受重视的,产品忙着借鉴,开发埋头编码,测试想着不粘锅。 只有在用户反馈app不能用的时候,你回复客服说,让用户升级最新版本,是不是很真实。 而且业界也很少有…

一文讲清数据资产入表实操

《中共中央 国务院关于构建数据基础制度更好发挥数据要素作用的意见》已发布一年,数据资产化和入表已成为2023年的热门话题,随着2023年底国家数据局吹风《"数据要素x"三年行动计划(2024-2026年)》即将发布,这…

开发环境 目录记录

2023.12.27 jdk17 位置在 C:\DevelopTools\JavaDevelopTools\jdk17,配置了JAVA_HOME到环境变量,JAVA_HOME\bin到PATHapache-maven-3.6.1 位置在 C:\DevelopTools\JavaDevelopTools\apache-maven-3.6.1,配置了MAVEN_HOME到环境变量,MAVEN_HOME\bin到PA…

模拟Spring事件监听机制

作者简介:大家好,我是smart哥,前中兴通讯、美团架构师,现某互联网公司CTO 联系qq:184480602,加我进群,大家一起学习,一起进步,一起对抗互联网寒冬 之前我们一起学习了Spr…

Maven下载和安装的详细教程

文章目录 一、Maven下载和安装1.1 下载 Maven1.2 配置环境变量 参考资料 一、Maven下载和安装 1.1 下载 Maven 打开 Maven 的官方网站Maven – Download Apache Maven,下载最新版本的 Maven 在可选择的版本中,不同版本的区别在于: binary是已经编译过的…

从零开始了解大数据(七):总结

系列文章目录 从零开始了解大数据(一):数据分析入门篇-CSDN博客 从零开始了解大数据(二):Hadoop篇-CSDN博客 从零开始了解大数据(三):HDFS分布式文件系统篇-CSDN博客 从零开始了解大数据(四):MapReduce篇-CSDN博客 从零开始了解大…

如何压缩图片?电脑图片压缩的方法

如果图片体积过大不仅会占用过多的内存,还容易在平时处理和上传的时候被限制,传输起来也比较慢,这个时候最简单的方法就是通过专业的图片处理工具压缩图片大小,现如今有许多在线处理工具可以选择,今天分享的压缩图就是…

模型融合之模型堆叠

一、理论 模型堆叠(Model Stacking)是一种集成学习的方法,其本质是将多个基学习器(Individual Learner)的预测结果作为新的特征,再训练一个元学习器(Meta Learner)来进行最终的预测。…

【JUC的四大同步辅助类】

文章目录 一、CountDownLatch二、CyclicBarrier三、Semaphore四、Phaser 提示:以下是本篇文章正文内容,下面案例可供参考 一、CountDownLatch CountDownLatch如同火箭发射,计数只能不断减减,当到达0时即发射 场景示例&#xff1…

案例089:基于微信小程序的校园综合服务平台设计与实现

文末获取源码 开发语言:Java 框架:SSM JDK版本:JDK1.8 数据库:mysql 5.7 开发软件:eclipse/myeclipse/idea Maven包:Maven3.5.4 小程序框架:uniapp 小程序开发软件:HBuilder X 小程序…

ALSA学习(5)——ASoC架构中的Machine

参考博客:https://blog.csdn.net/DroidPhone/article/details/7231605 (以下内容皆为原博客转载) 文章目录 一、注册Platform Device二、注册Platform Driver三、初始化入口soc_probe() 一、注册Platform Device ASoC把声卡注册为Platform …

Typora+PicGo+Gitee构建云存储图片

创建Gitee仓库 首先,打开工作台 - Gitee.com,自行注册一个账户 注册完后,新建一个仓库(记得仓库要开源) 然后创建完仓库后,鼠标移动到右上角头像位置,选择设置,并点击&#xff…

终于学会听英文歌了:A Sad Me In Your Eyes

A Sad Me In Your Eyes 来源: https://lyricstranslate.com/en/ln-party-sad-me-your-eyes-lyrics.html Fire can’t burn in my eyes If without your smile Snow can cover your smile If without your love When you think of me, I’ve gone too far I can’t …

了解OpenApi和Swagger

Swagger 和 OpenAPI 是一种用于描述 RESTful API 的规范和工具集合。在本文中,我们将探讨 Swagger 和 OpenAPI 的概念、作用、使用方法以及优缺点。 Swagger 和 OpenAPI 的概念 Swagger 是一种用于描述 RESTful API 的规范。它提供了一种简单的方式来描述 API 的请…

Python 热力图的绘制(Matplotlib篇-12)

Python 热力图的绘制(Matplotlib篇-12)         🍹博主 侯小啾 感谢您的支持与信赖。☀️ 🌹꧔ꦿ🌹꧔ꦿ🌹꧔ꦿ🌹꧔ꦿ🌹꧔ꦿ🌹꧔ꦿ🌹꧔ꦿ🌹꧔ꦿ🌹꧔ꦿ🌹꧔ꦿ🌹꧔ꦿ🌹꧔ꦿ🌹꧔ꦿ🌹꧔ꦿ🌹꧔ꦿ🌹꧔ꦿ🌹꧔ꦿ🌹꧔ꦿ🌹꧔ꦿ🌹꧔ꦿ�…

如何做好档案数字化前的鉴定工作

要做好档案数字化前的鉴定工作,可以按照以下步骤进行: 1. 确定鉴定目标:明确要鉴定的档案的内容、数量和性质,确定鉴定的范围和目标。 2. 进行档案清点:对档案进行全面清点和登记,包括数量、种类、状况等信…

立体匹配算法(Stereo correspondence)

SGM(Semi-Global Matching)原理: SGM的原理在wiki百科和matlab官网上有比较详细的解释: wiki matlab 如果想完全了解原理还是建议看原论文 paper(我就不看了,懒癌犯了。) 优质论文解读和代码实现 一位大神自己用c实现…

如何在Windows安装Wnmp服务并实现固定地址远程访问

文章目录 前言1.Wnmp下载安装2.Wnmp设置3.安装cpolar内网穿透3.1 注册账号3.2 下载cpolar客户端3.3 登录cpolar web ui管理界面3.4 创建公网地址 4.固定公网地址访问 前言 WNMP是Windows系统下的绿色NginxMysqlPHP环境集成套件包,安装完成后即可得到一个Nginx MyS…

程序员提问的艺术:28.4K Star指南,告别成为办公室讨厌鬼!

Github: https://github.com/ryanhanwu/How-To-Ask-Questions-The-Smart-Way 原文:http://www.catb.org/~esr/faqs/smart-questions.html ✅为什么讨厌某些提问者 未自行尝试解决问题: ❌“怎么用Java写一个排序算法?” 👍&#…