基于TCP或UDP的应用层协议有哪些?——Linux网络编程

article/2025/8/20 9:34:43

参考博文01:https://blog.csdn.net/Wu000999/article/details/89293717
博文02 https://blog.csdn.net/u014082714/article/details/44994719
这个面试的时候面试官经常会问我,然后就总结了一下。

在这里插入图片描述
TCP/IP四层模型(数网传应):数据链路层(网络接口层)、网络层、传输层和应用层
OSI七层模型:物数网传会表应。

一、 基于TCP/UDP协议的应用层协议有哪些?

TCP/UDP都是传输层的协议 (上面是应用层,下面是网络层IP层)

1、基于TCP的应用层协议有:HTTP、FTP、SMTP、TELNET、SSH

协议全称默认端口
HTTP ( 用的最多)HyperText Transfer Protocol(超文本传输协议)80
FTPFile Transfer Protocol (文件传输协议)20用于传输数据,21用于传输控制信息
SMTPSimple Mail Transfer Protocol (简单邮件传输协议)25
TELNETTeletype over the Network (网络电传)23
SSHSecure Shell22

2、基于UDP的应用层协议:DNS、TFTP(简单文件传输协议)、SNMP:简单网络管理协议

协议全称默认端口
DNSDomain Name Service (域名服务)53
TFTPTrivial File Transfer Protocol (简单文件传输协议)69
SNMPSimple Network Management Protocol (简单网络管理协议)通过UDP端口161接收,只有Trap信息采用UDP端口162。
NTPNetwork Time Protocol (网络时间协议)123

二、应用层协议介绍

(博文02原文链接:https://blog.csdn.net/mellymengyan/article/details/51115521)

在这里插入图片描述
在TCP/IP模型中,应用层是最高层。应用层包括所有的高层协议,并且不断有新的协议加入。

TCP/IP参考模型中应用层和下层协议之间的关系如下:

应用层的许多协议都是基于(C/S client /server)方式的。

下面为我们就图片上的应用层协议来进行下简单的介绍:

基于TCP协议的都用C/S模式(客户端/服务器模式)

一:TELNET (远程登录) (C/S)(tcp)

*概述:
远程登录,它是Tnternet中用来进行远程访问的重要工具之一。远程登录功能允许用户与远程计算机进行动态交互,即用自己的键盘,鼠标等输入设备操纵远程计算机,运行远程计算机上的软件,在自己的显示器上了解运行情况,查看运行结果。

通信过程:
用户的终端实际上与本地的TELNET客户机程序进行通信,远程主机与远程TELNET服务器进行通信。然后通过TCP进行连接, 客户机与服务器之间采用NVT标准进行通信。

1:建立与服务器的TCP连接;
2:从键盘上接收用户输入的字符;
3:把用户输入的字符串变成标准格式并送给服务器;
4:从远程服务器接收输出的信息;
5:把该信息显示在用户的屏幕上。

二:FTP (文件传送协议)(C/S)(TCP)

概述:
文件传输协议,负责将文件从一台计算机传送到另一台计算机上,并且保证其传输的可靠性。
客户端提出文件传输请求,服务器接收请求并提供服务。首先在本地计算机上启动FTP客户程序,利用他与远程计算机建立连接,远程计算机上的服务端FTP程序被激活。这样本地的FTP程序成为一个客户,而远程FTP程序成为服务器,他们之间通过TCP建立连接,端口号为21.

FTP协议的客户机与服务器之间需要建立两个连接, 一个用于控制数据传输(端口21), 一个用于数据传输(端口20)。数据连接主要用于数据传输,完成文件内容的传输。控制连接主要用于传输FTP控制命令和服务器的回送消息。

FTP的功能:

1:可以从本地上传和从服务器下载文件;
2:能够传输各种类型的文件,包括文件,图片, 视频等;
3:能够提供对本地和远程计算机的目录操作。
4:对文件进行改名删除等操作。

FTP的服务获取有两种方式:一种是通过输入用户名和登录口令, 另一种是输入anonymous作为用户名,邮箱地址作为登录口令进行登录。

FTP客户与服务器之间可以通过命令和回答进行交互。

FTP的控制与数据连接
在这里插入图片描述

三:SMTP (简单邮件传输协议)(TCP)(C/S)

概述:
SMTP协议包括两个标准子集, 一个标准定义电子邮件信息的格式,另一个是传输邮件的标准。在互联网中,电子邮件的传送是依靠SMTP协议进行的。SMTP的主要任务是负责服务器之间的邮件传送,最大的特点是简单。只规定了电子邮件如何在互联网中通过TCP协议在发送方和接收方之间进行传送。

工作方式:
基于客户/服务器方式进行的。发送人的主机为客户方,收件人的邮件服务器为服务方。在传送邮件的过程中,需要使用TCP协议进行连接(默认端口号为25)。发送主机先将邮件发送到本地SMTP服务器上,本地SMTP服务器与接收方的邮件服务器建立可靠的TCP连接,从而保证了邮件传输的可靠性。

注意:
接收方必须使用POP3协议才能取得自己邮箱中的邮件。

POP3协议的主要任务是实现用户计算机和邮件服务器的俩节,从邮件服务器的电子邮箱中读取邮件。
SNMP邮件传输过程
在这里插入图片描述
四:HTTP (超文本传输协议)(C/S)(TCP)

详细内容在我的上一个博客里面有详细的介绍:HTTP协议基本知识另见博客

五:DNS (域名解析系统)(UDP)

概述:
用域名系统来处理IP地址和主机名之间的转换, 在DNS中主机名即为域名。
DNS也是一个应用层协议,为了提供主机名到IP地址的转换服务,DNS是运行在UDP协议之上,使用53号端口。

DNS通常被其他应用层协议(HTTP, SMTP, FTP)所使用, 以便将用户提供的主机名解析为IP地址。
域名是一种分布式并具有层次结构的命名机制:

例如:www.sina.com.cn, 其中最高域名是cn, 表示这台主机在中国。 第二级域名是com, 表示这个主机属于公司机构; 接下来是sina表示这台主机属于新浪网, 最左边的是www,表示该主机是一台web服务器。人们可以很容易的就记住它的域名,而不用他的IP地址。

查询方法:

1:递归解析:
当收到请求时, 域名服务器应返回所要求的解析结果,不论该服务器是否有相关的信息。该服务器没有相关信息时, 那么就该向其他的服务器进行请求,直到获得结果或者错误信息,然后把结果返回给解析请求者。

2:重复解析:
接收到请求时, 域名服务器若有该域名的相关信息,则返回IP地址给解析请求者。若无该域名的相关消息,则该服务器不再进一步向其他域名服务器请求解析,而是返回一个可用的域名服务器的地址给解析请求者,让解析请求这自己去向该域名服务器作进一步的解析请求。

二者的区别在于:前者将域名解析的工作交给域名服务器完成, 而后者则将主要的工作交给请求域名服务的主机来完成。

六:SNMP (简单网络管理协议)(UDP)

概述:
SNMP:“简单网络管理协议”,用于网络管理的协议。SNMP用于网络设备的管理。SNMP的工作方式:管理员需要向设备获取数据,所以SNMP提供了“读”操作;管理员需要向设备执行设置操作,所以SNMP提供了“写”操作;设备需要在重要状况改变的时候,向管理员通报事件的发生,所以SNMP提供了“Trap”操作。
SNMP被设计为工作在TCP/IP协议族上。SNMP基于TCP/IP协议工作,对网络中支持SNMP协议的设备进行管理。所有支持SNMP协议的设备都提供SNMP这个统一界面,使得管理员可以使用统一的操作进行管理,而不必理会设备是什么类型、是哪个厂家生产的。

管理方式:
SNMP管理方式
在这里插入图片描述
Get:读取网络设备的状态信息
Set:远程配置设备参数
Trap:管理站及时获取设备的重要信息

七:TFTP (UDP)

概述:
TFTP协议全称为Trivial File Transfer Protocol。目标是在UDP之上上建立一个类似于FTP的但仅支持文件上传和下载功能的传输协议,所以它不包含FTP协议中的目录操作和用户权限等内容;

工作流程:
l server在端口为69的UDP上等待Client发出写文件请求包
l Client通过UDP发送符合TFTP请求格式的WRQ包给Server。从UDP包角度看,该UDP包的源端口由Client随意选择,而目标端口则是Slient的69。
l Server收到Client的这个请求包后,需发送ACK给Client。对于写请求包,Server发送的ACK包确认号为0。
l Client发送DATA数据给Server,Sver接收数据并写文件
l 当Client发送的DATA数据长度小于512字节时,Server认为这次WRQ请求完成

优点:
l 每个数据包大小固定,这样在内存分配处理的时候比较直接
l 实现简单
l 每个数据包都有确认机制,可以实现一定程度的可靠性

缺点:
l 传输效率不高
l 滑动窗口机制太简单,并且该窗口仅有一个包的大小
l 超时处理机制并不完善,RFC1350并没有给出详细的处理机制说明

三、TCP、UDP和HTTP关系

1、TCP/IP是个协议组,可分为三个层次:网络层、传输层和应用层。
在网络层有IP协议、ICMP协议、ARP协议、RARP协议和BOOTP协议。
在传输层中有TCP协议与UDP协议。
在应用层有FTP、HTTP、TELNET、SMTP、DNS等协议。
因此,HTTP本身就是一个协议,是从Web服务器传输超文本到本地浏览器的传送协议。

2、HTTP协议是建立在请求/响应模型上的。首先由客户建立一条与服务器的TCP链接,并发送一个请求到服务器,请求中包含请求方法、URI、协议版本以及相关的MIME样式的消息。服务器响应一个状态行,包含消息的协议版本、一个成功和失败码以及相关的MIME式样的消息。
HTTP/1.0为每一次HTTP的请求/响应建立一条新的TCP链接,因此一个包含HTML内容和图片的页面将需要建立多次的短期的TCP链接。一次TCP链接的建立将需要3次握手。
另外,为了获得适当的传输速度,则需要TCP花费额外的回路链接时间(RTT)。每一次链接的建立需要这种经常性的开销,而其并不带有实际有用的数据,只是保证链接的可靠性,因此HTTP/1.1提出了可持续链接的实现方法。HTTP/1.1将只建立一次TCP的链接而重复地使用它传输一系列的请求/响应消息,因此减少了链接建立的次数和经常性的链接开销。

3、结论:虽然HTTP本身是一个协议,但其最终还是基于TCP的。不过,目前,有人正在研究基于TCP+UDP混合的HTTP协议。


http://chatgpt.dhexx.cn/article/QEvOt4bP.shtml

相关文章

应用层——协议

前言:本章将介绍关于应用层的协议,如下图所示 一、应用协议的概要 利用网络的应用程序有很多,包括Web浏览器、电子邮件、远程登陆、文件传输、网络管理等,能够让这些应用进行通信处理的正是应用协议。 网络应用由不同的用户和软…

常见应用层协议

常见应用层协议 1、超文本传输协议 用于传输浏览器使用的普通文本、超文本、音频和视频等数据。 详细情况请看:超文本传输协议HTTP/HTTPS 2、邮件协议 在互联网中,电子邮件的传送是依靠这些协议完成的。 详细情况请看:邮件协议SMTP/POP3…

《白帽子讲web安全》读书笔记以及读后感

因为本书作于2010年前,书中所使用的部分技术版本已经过于老旧,很多书中提到的攻击方法和绕过思路都已经严重落后,但之所以本书会成为安全界的经典必读书目,就是因为本书所讨论的安全思想尤为精华,对于企业来说的安全建…

《白帽子讲Web安全 -- 纪念版 吴翰清著》读后随笔

《白帽子讲Web安全 – 纪念版 吴翰清著》 该书大多数内容举例大多数是2010年左右的 相隔11年左右, 但是内容并没有被淘汰, 感觉很适合入门, 因为内容详细且比较基础 当然, 这只是对我而言 该书一共 四篇 18章 第一篇世界观安全 - 第一章 我的安全世界观 第一章第一节介绍了…

《白帽子讲web安全》第3章 跨站脚本攻击(XSS)

一、XSS简介 跨站脚本攻击(Cross Site Script):本来缩写是CSS,为了和层叠样式表示(Cascading Style Sheet,CSS)有所区别,所以在安全领域叫做“XSS”。通常指黑客通过“HTML注入”篡改了网页,插入了恶意的脚本,从而在用户浏览网页…

在学习web安全的小白看过来,这本《白帽子讲web安全》强烈推荐,必读!(附PDF)

Web是互联网的核心,是未来云计算和移动互联网的最佳载体,因此Web安全也是互联网公司安全业务中最重要的组成部分。 前排提醒:文末有pdf领取 下面来看看几种常见的web漏洞: 1.XSS跨站脚本攻击 XSS跨站脚本攻击,通常…

白帽子讲Web安全(纪念版)笔记

白帽子讲Web安全(纪念版) 只是笔记,详情请查阅吴翰清老师的《白帽子讲Web安全》 前言 安全工程师的核心竞争力不在于他能拥有多少个0day,掌握多少中安全技术,而是在于他对安全理解的深度,以及由此引申的看…

《白帽子讲Web安全》学习笔记

一、为何要了解Web安全 最近加入新公司后,公司的官网突然被Google标记为了不安全的诈骗网站,一时间我们信息技术部门成为了众矢之的,虽然老官网并不是我们开发的(因为开发老官网的前辈们全都跑路了)。我们花了很多时间…

笔记《白帽子讲Web安全》吴翰清

第一篇:世界观安全 第一章:我的安全世界观 一个网站的数据库,在没有任何保护的情况下,数据库服务端口是允许任何人随意连接的;在有了防火墙的保护后,通过ACL可以控制只允许信任来源的访问。这些措施在很大…

《白帽子讲web安全》我的安全世界观

文章目录 我的安全世界观前言安全工程师的核心竞争力白帽子的使命现状里程碑安全的本质安全三要素如何防范安全问题? 安全评估步骤资产等级划分互联网核心问题威胁分析(确定攻击面)风险分析设计安全方案 白帽子兵法一、Secure By Default 原则…

学习web安全,强烈推荐这本《白帽子讲web安全》!

Web是互联网的核心,是未来云计算和移动互联网的最佳载体,因此Web安全也是互联网公司安全业务中最重要的组成部分。 下面来看看几种常见的web漏洞: 1.XSS跨站脚本攻击 XSS跨站脚本攻击,通常指黑客通过”HTML注入”篡改了网页&am…

白帽子讲Web安全——世界观安全

一、web安全简史 1、不想拿“root”的黑客不是好黑客 2、在黑客的世界里,有的黑客,精通计算机技术,能自己挖掘漏洞,并编写exp;而有的黑客只懂得编译别人的代码,自己没有动手能力,这种黑客被称…

白帽子讲Web安全

第一篇:世界观安全 第一章:我的安全世界观 一个网站的数据库,在没有任何保护的情况下,数据库服务端口是允许任何人随意连接的;在有了防火墙的保护后,通过ACL可以控制只允许信任来源的访问。这些措施在很大…

白帽子讲web安全(精写含思维导图)

写在前面 重要的事多说几遍 本文对学习基础、面试、了解安全都有辅助的作用 觉得本文对您有帮助的朋友们,请您动动小手点赞、收藏加关注哦~ 觉得本文对您有帮助的朋友们,请您动动小手点赞、收藏加关注哦~ 觉得本文对您有帮助的朋友们,请您动…

无人驾驶综述:国外国内发展历程

一、国外 从上世纪20年代开始,欧美等国家就开始了无人驾驶技术的探索。从无线电遥控汽车,到运用计算机视觉技术辅助感知、规划和控制,再到军方、大学、汽车企业广泛合作研发多辆自动驾驶汽车原型,无人驾驶的发展经历了很多重要的时…

无人驾驶综述:等级划分

无人驾驶不可能一蹴而就,从实现不同程度的无人驾驶开始也能较快促进产业的发展。无人驾驶的智能程度就对应不同的无人驾驶等级。《SAE J3016推荐实践:道路机动车辆驾驶自动化系统相关术语的分类和定义》(下文简称为《SAE驾驶自动化分级》&…

无人驾驶算法总结

本人主要做自动驾驶功能软件算法开发,最近上海疫情比较严重,已经被被封了好几天了,突然想总结总结无人驾驶这块。我们今天先来说说算法类岗位,结合高级辅助驾驶三大系统,分为环境感知类算法、决策规划类算法、控制算法…

无人驾驶决策控制

近年来,随着人工智能和物联网技术的快速发展,无人驾驶汽车受到学术界、产业界极大关注,无人驾驶概念持续火热。从概念定义来看,智能驾驶汽车是一种自动化载体,能够部分或者全面代替驾驶员进行驾驶行为,无人…

无人驾驶技术综述

Self-Driving Car System 有四个组成部分: 1.Perception : other objects around the car. 2.Localization : GPS local landmarks IMU. 3.Decision : path, speed and other behaviour planing. 4.Control : Drive by wire steering wheel, throttle(油门), …

无人驾驶技术有什么优点,人工驾驶的优缺点英文

无人驾驶汽车的优点与缺点 从2009年起,自动驾驶汽车(即“无人驾驶汽车”)已经开始出现在人们的视野当中,10年过去,汽车行业几乎发生了翻天覆地的变化,在诸多智能配置和主动安全系统的协作下,许…