15-传输层协议和应用层协议

article/2025/8/20 7:32:34

   PS:针对上一篇tcp协议中说到的端到端服务,这里我们再通过传输层协议和应用层协议之间的关系来加深端到端服务的学习和理解。


1. 传输层协议和应用层层协议的关系

  在应用层,我们知道有很多协议,比如常见的有http,tfp,telnet等,传输层常见的协议有tcp,udp等。通常在发送数据时,应用层是怎么来把数据发送给指定传输层的协议?而在接收数据时,传输层又是怎么把数据上交给指定的应用层协议来处理的?

  带着这几个问题,我们思考一下传输层的协议是怎么来区分应用层的协议呢?

  通常传输层协议为应用层的每一个协议标识了一个端口号,也就是传输层通过不同的端口号来区分不同的应用层协议,传输层协议和应用层协议之间的关系,如图1所示:

这里写图片描述
图1-传输层协议和应用层协议之间的关系

  从图1中不难看出,传输层加了端口号来标识应用层的每个协议,那么我们可以知道传输层协议和传输层协议之间的关系:

1.HTTP协议默认使用了TCP的80端口号
2.FTP协议默认使用TCP的21端口号
3.TELNET协议默认使用了TCP的23端口号
4.SMTP协议默认使用了TCP的25端口号
5.DNS协议默认使用了UDP的53端口号
6.RIP协议默认使用了UDP的520端口号
7.DHCP协议默认使用了UDP的67端口号

  一般来说这些默认端口号是熟知端口(0 - 1023),由IANA组织已经分配好的,最好不要随意改动,以免出现端口不可用或被占用,造成网络无法通信的情况。

这里写图片描述
图2-端口和服务的关系

  在图2中可以看到,服务器上运行了web服务,smtp服务,pop3服务,这三个服务分别使用了不同的协议和服务端端口号与客户端进行通信,另外这三台计算机分别也使用了不同客户端端口号和服务端通信。现在这三台计算机分别要访问服务器上的不同服务,发送了3个数据包。

  A计算机要访问服务器上的web服务,因为服务器上的web服务使用了http协议和80端口跟客户端进行通信,所以A计算机发送的数据包,必须封装服务器的目标地址和服务对应的目标端口号,同时服务器也要通过这个数据包拿到源地址和源端口号,然后和客户端通信,因此我们会看到数据包中封装的这些信息。

  对于B计算机和C计算机都是同理,当服务器收到这三个数据包,会根据数据包中不同的目标端口号交给不同的服务,然后服务器上的服务会根据数据包中不同的源端口号再把数据返回给不同的计算机。

  现在我们基本上明白了,ip地址是用来定位网络上的某一台服务器,而端口号是用来定位服务器上的某一个服务。到这里,相信你对端到端服务有更深的理解了。


2. 传输层协议和网络层协议的区别

这里写图片描述
图3-传输层协议和网络层协议的区别

  简单来说,传输层协议主要用于主机的进程与进程之间的相互通信,而网络层协议主要应用于主机与主机之间的相互通信。


3. 套接字地址

这里写图片描述
图4-套接字地址

  实际上TCP使用“连接”(不仅仅是端口)作为最基本的抽象,同时将TCP连接的端点称为插口,或套接字(socket)。

  前面我们说过TCP协议是通过IP地址+端口号的形式来确定数据发送的目标主机的目标进程。那么套接字和端口,IP地址的关系就是:套接字其实就是IP地址和端口号,比如在网络编程里用套接字来表示ip地址和端口号。


4. 关于字节号和序号

  不知道大家还有没有印象,之前我们在14-tcp协议中的第三小节(TCP对数据封装过程)简单提到过字节和序号,如果有小伙伴不太理解的话,这里再详细介绍一下字节号和序号。

  字节号:TCP是面向字节流的,因此TCP会对字节数据进行编号,即每一个字节数据都会有一个编号,这个编号就叫字节号,编号的范围是:0 ~ 2^32-1,需要注意的是TCP对字节数据编号不是从0和1开始的,而是根据系统内核机制来随机编号的。

举个栗子:
  现在主机A随机产生了一个编号为1024的字节号,如果现在主机A要发送一个数据,该数据为6000字节大小,那么该数据的字节号范围为1024 - 7023。

  序号:前面我们说过序号是针对数据段的,由主机发送的这6000字节数据以数据段为单位,封装成多个大小不同的tcp数据段报文在网络中传输。因为序号是基于字节号的,所以tcp协议会给每个tcp数据段报文分配一个序号,而这个序号就是tcp数据段报文的第一个字节的编号(字节号)。

举个栗子:
  比如现在主机A要发送一个6000字节大小的数据,tcp协议对数据分成5个数据段报文来发送,前4个数据段报文都是1000字节,最后一个报文是2000字节。

假如第一个字节的编号为110
那么第一个报文的字节号范围:110 ~ 1109
第二个报文的字节号范围:1110 ~ 2109
第三个报文的字节号范围:2110 ~ 3109
第四个报文的字节号范围:3110 ~ 4109
第五个报文的字节号范围:4110 - 6109
到这里,序号已经间接给出来了


http://chatgpt.dhexx.cn/article/5CsxTrjl.shtml

相关文章

应用层协议(HTTP协议)

目录 HTTP 简介 URL urlencode&urldecode HTTP请求协议格式 HTTP响应格式 HTTP的常见方法 HTTP状态码 HTTP常见的Header HTTP 简介 HTTP协议(超文本传输协议HyperText Transfer Protocol),它是基于TCP协议的应用层传输协议,简单来说就是客户端和服务…

应用层常见协议——知识点

这里总结了三种常见的应用层协议:HTTP、FTP、SMTP。供自己复习使用,也供大家参考! 一、HTTP协议 1、HTTP简介 —超文本传输协议(Hypertext transfer protocol)。是一种详细规定了浏览器和万维网(WWW World Wide Web)服务器之间互相通信的…

应用层协议

应用层协议定义了什么 应用层协议定义了运行在不同端系统上的应用程序进程如何相互传递消息。特别是定义了: 交换的消息类型,如请求消息和响应消息。 各种消息类型的语法,如消息中的各个字段及其详细描述。 字段的语义,即包含在字段中的信息的…

传输层协议、应用层协议

传输层协议、应用层协议 一、传输层协议 1、传输层概述 (1)传输层的作用 IP层提供点到点的连接 传输层提供端到端的连接 (2)传输层的协议 TCP(Transmission Control Protocol)传输控制协议 可靠的、面向连接的协议;传输效率低 UDP(User Datagram Protocol)用户数据报…

应用层协议和传输层协议

数字是离散的,模拟是连续的,对连续的信号进行采样就会变成数字信号(A/D转换) 在意念传输发明出来之前,计算机之间传输信息,总是需要介质的!要么有线传输,要么无线电波传输。你能接收…

传输层协议和应用层协议及它们之间的关系(端口)

一、传输层的两个协议 1、TCP协议 ①TCP协议的作用:TCP为应用层协议提供可靠传输,发送端按顺序发送,接收端按顺序接收,其间发生的丢包、乱序,TCP会负责其重传和排序,另外TCP还可实现流量空制和拥塞避免等…

基于TCP或UDP协议的应用层协议

TCP和UDP都是传输层协议,上面是应用层,下面是网络层 TCP与UDP区别: TCP(传输控制协议)提供的是面向连接、可靠的字节流服务。当客户和服务器彼此交换数据前,必须先在双方之间建立一个TCP连接,…

网络:应用层相关协议

应用层位于传输层之上,在OSI七层模型中,分为了三层,从上到下分别是应用层、表示层、会话层。这里对这三层不做具体区分。 应用层是面向用户的一层,主要包括FTP、HTTP、HTTPS、DNS、TELNET等协议。 1、DNS协议 1.1 DNS和域名 DNS…

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

参考博文01:https://blog.csdn.net/Wu000999/article/details/89293717 博文02 https://blog.csdn.net/u014082714/article/details/44994719 这个面试的时候面试官经常会问我,然后就总结了一下。 TCP/IP四层模型(数网传应)&#…

应用层——协议

前言:本章将介绍关于应用层的协议,如下图所示 一、应用协议的概要 利用网络的应用程序有很多,包括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…