5.2、运输层端口号、复用与分用的概念

news2024/11/27 15:53:11

1、端口号

运行在计算机上的进程使用 进程标识符 P I D \color{red}进程标识符 PID 进程标识符PID来标志。

因特网上的计算机并不是使用统一的操作系统

  • 不同的操作系统(windows,Linux,Mac OS)又使用 不同格式的进程标识符 \color{red}不同格式的进程标识符 不同格式的进程标识符

为了使运行不同操作系统的计算机的应用进程之间能够进行网络通信

  • 就必须 使用统一的方法对 T C P / I P 体系的应用进程进行标识 \color{red}使用统一的方法对 TCP/IP 体系的应用进程进行标识 使用统一的方法对TCP/IP体系的应用进程进行标识

TCP/IP 体系的运输层使用端口号来区分应用层的不同应用进程。

  • 端口号使用 16 16 16 比特表示,取值范围 0 0 0 ~ 65535 65535 65535;

    • 熟知端口号 \color{blue}熟知端口号 熟知端口号 0 0 0 ~ 1023 1023 1023IANA 把这些端口号指派给了 TCP/IP 体系中最重要的一些应用协议,

      • 例如:FTP 使用 21 / 20 21/20 21/20HTTP 使用 80 80 80DNS 使用 53 53 53
    • 登记端口号 \color{blue}登记端口号 登记端口号 1024 1024 1024 ~ 49151 49151 49151,为没有熟知端口号的应用程序使用。

      • 使用这类端口号必须在 IANA 按照规定的手续登记,以防止重复。
      • 例如:Microsoft RDP 微软远程桌面使用的端口是 3389 3389 3389
    • 短暂端口号 \color{blue}短暂端口号 短暂端口号 49152 49152 49152 ~ 65535 65535 65535,留给客户进程选择暂时使用。

      • 当服务器进程收到客户进程的报文时,就知道了客户进程所使用的动态端口号。
      • 通信结束后,这个端口号可供其他客户进程以后使用。

端口号只具有本地意义 \color{red}端口号只具有本地意义 端口号只具有本地意义,即端口号只是为了 标识本计算机应用层中的各进程 \color{red}标识本计算机应用层中的各进程 标识本计算机应用层中的各进程

  • 在因特网中, 不同计算机中的相同端口号是没有联系的 \color{red}不同计算机中的相同端口号是没有联系的 不同计算机中的相同端口号是没有联系的

2、发送方的复用和接收方的分用

image-20230104161526976

发送方的某些应用进程所发送的不同应用的报文在运输层使用 UDP 协议进行封装

  • 这称为 UDP 复用

而另一些应用进程所发送的报文在运输层使用 TCP 协议进行封装

  • 这称为 TCP 复用

运输层使用端口号来区分不同的应用进程。

不管是使用运输层的 UDP 协议封装成的 UDP 用户数据报,还是使用运输层的 TCP 协议封装成的 TCP 报文段

  • 在网络层都需要使用 IP 协议封装成 IP 数据报(称为 IP 复用)

IP 数据报首部中协议字段的值用来表明 IP 数据报的数据载荷部分封装的是何种协议数据单元

  • 取值为 6 6 6,表示封装的是 TCP 报文段,
  • 取值为 17 17 17 ,表示封装的是 UDP 用户数据报

image-20230104162539615


接收方的网络层收到 IP 数据报后进行 IP 分用

  • IP 数据报首部中协议字段的值为 17 17 17,则把 IP 数据报中的数据载荷部分所封装的 UDP 用户数据报上交运输层的 UDP
  • IP 数据报首部中协议字段的值为 6 6 6,则把 IP 数据报中的数据载荷部分所封装的 TCP 报文段上交运输层的 TCP

运输层对 UDP 用户数据报进行 UDP 分用,对 TCP 报文段进行 TCP 分用

  • 也就是根据端口号将他们交付给上层相应的应用进程

3、TCP/IP 体系的应用层常用协议所使用的运输层熟知端口号

这些是 TCP/IP 体系的<u>应用层</u>常用协议

image-20230104163027341

各自在运输层使用的树脂端口号

image-20230104163113172

不管运输层使用的是 TCP 还是 UDP 协议,在网络层都需要使用 IP 协议

IP 数据报首部中协议字段的值,表明了 IP 数据报数据载荷部分封装的时何种协议数据单元

image-20230104163256845


4、运输层端口号的作用

如下所示,用户 PCDNS 服务器、Web 服务器其通过交换机进行互联

  • 它们属于同一个以太网中

image-20230104163402592


4.1、用户 PC 中进程 与 DNS 服务器进程的通信

如下所示,假设这是 Web 服务器的域名,

  • DNS 服务器中记录有该域名所对应的 IP 地址

我们在用户 PC 中使用网页游览器来访问 Web 服务器的内容

在网页游览器上的地址栏上输入 Web 服务器的域名

  • 用户 PC 中的 DNS 客户端进行会发送一个 DNS 查询请求报文(本机上没有该域名映射)

image-20230104163726090

DNS 查询请求报文需要使用运输层的 UDP 协议封装成 UDP 用户数据报

  • 其首部中的源端口字段的值在短暂端口号 49151 49151 49151 ~ 65535 65535 65535 中挑选一个未被占用的

    • 用来表示 DNS 客户端进程(例如: 49152 49152 49152
  • 目的端口字段的值设置为 53 53 53

    • 这是 DNS 服务器端进程所使用的而熟知端口号
  • 其内容为:"域名 www.prottest.com 对应的 IP 地址是什么 "

image-20230104164128000

之后将 UDP 用户数据报封装在 IP 数据报中,通过以太网发送给 DNS 服务器


DNS 服务器端收到该数据报后,从中解封出 UDP 用户数据报

  • UDP 首部中的目的端口号为 53 53 53

这表明应将该 UDP 用户数据报的数据载荷部分(也就是 DNS 查询请求报文)交付给本服务器中的 DNS 服务器进程

  • DNS 服务器端进程解析 DNS 拆线呢请求报文的内容
  • 然后按照要求查找对应的 IP 地址

之后会给用户 PC 发送 DNS 响应报文

  • 其内容为:“域名 www.porttest.com 所对应的 IP 地址是 192.168.0.3”

image-20230104164903621

DNS 响应报文需要使用 UDP 协议封装成 UDP 用户数据报

  • 其首部中源端口字段的值设置为熟知端口号 53 53 53
    • 表明这是 DNS 服务器端进程所发送的 UDP 用户数据报
  • 其首部中目的端口字段的值设置为 49152 49152 49152
    • 这是之前用户 PC 中发送 DNS 查询请求报文的 DNS 客户端进程所使用的短暂端口号

之后将 UDP 用户数据报封装在 IP 数据报中,通过以太网发送给用户 PC

image-20230104165537994


用户 PC 收到该数据报后,从中解封出 UDP 用户数据报

  • UDP 首部中的目的端口号为 49152 49152 49152

这表明应将该 UDP 用户数据报的数据载荷部分(也就是 DNS 响应报文)交付给用户 PC 中的 DNS 客户端进程

DNS 客户端进程解析 DNS 响应报文的内容

  • 就可知道自己之前所请求的 Web 服务器的域名所对应的 IP 地址为 192.168.0.3 192.168.0.3 192.168.0.3

image-20230104165507672


4.2、用户 PC 中进程与 Web 服务器中进程的通信

用户 PC 中的 HTTP 客户端进程可以向 Web 服务器发送 HTTP 请求报文了

  • 其内容为:“首页内容是什么?”

HTTP 请求报文需要使用运输层的 TCP 协议封装成 TCP 报文段

  • 其首部中的源端口字段的值在短暂端口号 49151 49151 49151 ~ 65535 65535 65535 中挑选一个未被占用的

    • 用来表示 HTTP 客户端进程(例如: 49152 49152 49152
  • 目的端口字段的值设置为 80 80 80

    • 这是 HTTP 服务器端进程所使用的而熟知端口号

image-20230104170027514

之后将 TCP 报文段封装在 IP 数据报中,通过以太网发送给 Web 服务器

image-20230104170050549


Web 服务器收到该数据报后,从中解封出 TCP 报文段

  • TCP 首部中的目的端口号为 80 80 80

这表明应将该 TCP 报文段的数据载荷部分(也就是 HTTP 请求报文)交付给本服务器

HTTP 服务端进程解析 HTTP 请求报文的内容

  • 然后按其要求查找首页内容

之后,会给用户 PC 发送 HTTP 响应报文,

  • 其内容是:“HTTP 客户端所请求的首页内容”

HTTP 响应报文需要使用 TCP 协议封装成 TCP 报文段

  • 其首部中源端口字段的值设置为熟知端口号 80 80 80
    • 表明这是 HTTP 服务器端进程所发送的 TCP 用户数据报
  • 其首部中目的端口字段的值设置为 49152 49152 49152
    • 这是之前用户 PC 中发送 HTTP 请求报文的 HTTP 客户端进程所使用的短暂端口号

之后将 TCP 报文段封装在 IP 数据报中,通过以太网发送给用户 PC

image-20230104170902999

用户 PC 收到该数据报后,从中解封出 TCP 报文段

  • TCP 首部中的目的端口号为 49152 49152 49152

这表明应将该 TCP 报文段的数据载荷部分(也就是 HTTP 响应报文)交付给用户 PC 中的 HTTP 客户端进程

HTTP 客户端进程解析 HTTP 响应报文的内容,并在网页游览器中显示

  • 这样我们可以在 Web 服务器中看到 Web 服务器所提供的首页内容

image-20230104171111776

5、小结

image-20230104171129898

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

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

相关文章

ThreadLocal 实战应用

1 什么是 ThreadLocal&#xff1f;ThreadLocal 是一个关于创建线程局部变量的类。通常情况下&#xff0c;我们创建的变量是可以被任何一个线程访问并修改的。而使用 ThreadLocal 创建的变量只能被当前线程访问&#xff0c;其他线程则无法访问和修改。ThreadLocal 在设计之初就是…

CDN简单介绍

CDN 介绍 CDN (全称 Content Delivery Network)&#xff0c;即内容分发网络&#xff0c;服务器的静态资源存在CDN服务器上&#xff0c;用户在最近的CDN服务器上获取资源。 从功能上看&#xff0c;典型的 CDN 系统由分发服务系统、负载均衡系统和运营管理系统组成。分发服务系…

我利用 ChatGPT 提高工作效率的 5 种方式

技术应该是我们的朋友&#xff0c;而不是我们的敌人ChatGPT 在 11 月的发布改变了世界。学校阻止该计划&#xff0c;程序员对他们工作中新发现的效率赞不绝口&#xff0c;而创意人员则怀疑他们的工作是否受到威胁。每个人都在想同一个问题&#xff1a;ChatGPT 的未来会是什么样…

IPS+ESPC联动实现安全中心接管

目录 一、IPS介绍 原理 功能 缺陷 二、ESPC介绍 原理 功能 三、NIPSESPC联动 实验目的 实验过程 一、IPS介绍 原理 如今内部威胁增多&#xff0c;外部攻击剧增&#xff0c;防火墙存在着一定的局限性&#xff0c;如&#xff1a;部署在边界处&#xff0c;更多的是对一些…

环境搭建(python+pycharm(anconda可选)

python下载 python下载&#xff0c;由于网站服务器在国外&#xff0c;所以打开可能有点慢&#xff0c;也可以使用国内的镜像网站&#xff08;因为我没有试过&#xff0c;有兴趣的可以去尝试下&#xff0c;此文章的后面部分会有临时换源的操作&#xff09; 电脑位数的查看 …

1277:【例9.21】方格取数——数字三角形模型

【题目描述】 设有NN的方格图&#xff0c;我们在其中的某些方格中填入正整数&#xff0c;而其它的方格中则放入数字0。如下图所示&#xff1a; 某人从图中的左上角A出发&#xff0c;可以向下行走&#xff0c;也可以向右行走&#xff0c;直到到达右下角的B点。在走过的路上&…

如何实现同一IP的不同端口访问不同的网站

一&#xff0c;要求 1&#xff0c; 基于同一IP的不同端口访问不同的网站(可以通过域名去访问) ipport1 -> 对应一个域名 ipport2 -> 对应一个域名 使用域名1我应该访问到 ipport1对应的内容 使用域名2我应该访问到 ipport2对应的内容 2. …

阳了怎么居家办公?这4款远程办公软件你得知道!

疫情高峰期尚未过去&#xff0c;可是临近年底&#xff0c;各公司各部门都到了算绩效、追回款、清退结算的时候&#xff0c;大家都忙得根本脱不开身&#xff01;居家远程办公也不得不架起电脑回消息&#xff01; 本文给大家推荐4款超好用的远程办公软件&#xff0c;高效省事&am…

【机器学习 - 1】:knn算法

文章目录机器学习的概念和基础knn算法的实现过程封装knn算法总结机器学习的概念和基础 机器学习可以两类任务&#xff1a; 分类任务和回归任务 以机器学习本身来进行分类可分为&#xff1a; 监督学习 非监督学习 半监督学习 增强学习 监督学习&#xff1a;给机器的训练数据 有标…

android架构拆分方案-结构相关方案与技术

很纯、很生硬的架构技术归纳blog上上文https://blog.csdn.net/dongyi1988/article/details/128617738接上文https://blog.csdn.net/dongyi1988/article/details/128629011android架构官网地址https://source.android.google.cn/docs/core/architecture?hlzh-cnGKI&#xff08;…

VBO、VAO、EBO学习记录

在这里要先了解一下OpenGL的一个幕后大致运作流程&#xff0c;可以直接阅读OPENGL CN 我自己大概总结了一下就是&#xff0c;OpenGL本身就是一个巨大的状态机&#xff0c;我们通过更改状态变量(上下文)来告诉OpenGL如何去绘制图像。一般通过设置选项&#xff0c;修改缓冲来更改…

【网络与系统安全】国科大《网络与系统安全》复习大纲整理 + 考试记忆版

国科大《网络与系统安全》复习整理笔记 重在理解概念考试不算太难 文章目录一、新形势安全面临挑战和安全保障能力提升二、网络与系统安全的需求与目标三、自主与强制访问控制1.访问控制的基本概念2.访问控制的要素3.访问控制3种基本类型4.访问控制矩阵、访问控制列表、访问控制…

【Linux修炼】13.缓冲区

每一个不曾起舞的日子&#xff0c;都是对生命的辜负。 缓冲区的理解一. C接口打印两次的现象二. 理解缓冲区问题为什么要有缓冲区缓冲区刷新策略的问题所说的缓冲区在哪里&#xff1f;指的是什么缓冲区&#xff1f;三. 解释打印两次的现象四. 模拟实现五. 缓冲区与OS的关系一. …

ThinkPHP 表单验证使用

对前端或表单请求的数据&#xff0c;一定要做校验&#xff0c;而使用ThinkPHP 验证器则可以事半功倍。 可以使用validate助手函数&#xff08;或者封装验证方法&#xff09;进行验证。TP版本6.1。 目录 验证场景 验证器 创建验证器 定义规则和提示 数据验证 独立验证&…

Arbotix使用

内容学自赵虚左的视频及资料 需求描述: 控制机器人模型在 rviz 中做圆周运动 1.安装 Arbotix 方式1:命令行调用 sudo apt-get install ros-<<VersionName()>>-arbotix <<VsersionName()>> 替换成当前 ROS 版本名称 添加 arbotix 所需配置文件 # …

Web原型设计规范

上篇文章为大家介绍了app端在进行原型设计时的设计规范&#xff0c;本篇将继续为大家介绍一下Web端&#xff08;这里主要指网页端&#xff09;的设计规范。其实web端的设计规范并没有像app端那样多&#xff0c;因为展示的空间比较大&#xff0c;所有要求也就没有那么严苛。 电脑…

Spring_事务

事务的主要内容 事务定义 特性&#xff1a;ACID 并发时产生的问题 事务的隔离级别 锁 事务的传播特性 异常处理 超时 只读事务 TransactionDefinition 并发时产生的问题 一个数据库可以允许多个客户端同时访问&#xff0c;即并发的方式访问数据库。数据库中的同一个数据可能同…

2023年12306购票平台自动化购票终|解决乘客选择与车票提交(附自动化购票完整源代码与演示视频)

目录 一、说明 1.1、背景 1.2、说明 二、步骤 2.1、切换视角检索乘车乘客 2.2、选择乘客 2.3、关闭学生票选择界面 2.4、提交订单 2.5、选择座位并确认 三、完整代码与视频演示 3.1、完整源代码如下 3.2、视频演示代码运行 四、结果 4.1、代码运行结果 五、总结…

windows获取iOS设备信息

依赖环境&#xff1a; 1.python3.6以上版本&#xff0c; 2.配置python的系统环境变量。 3.python已经安装pip。 安装tidevice: 1.打开cmd&#xff0c;输入命令pip3 install -U "tidevice[openssl]"如图所示&#xff0c;安装成功。 2.查看tidevice版本号&#xff0c…

网络超火的音效素材、BGM,全在这里了。

推荐几个超好用的音效素材网站&#xff0c;全网火爆的音效、BGM这里都能找到&#xff0c;自媒体、视频剪辑小伙伴必备&#xff01;建议收藏&#xff01; 1、菜鸟图库 https://www.sucai999.com/audio.html?vNTYwNDUx 菜鸟图库是一个综合性素材网站&#xff0c;站内涵盖设计、…