【计算机网络】实验13:运输层端口

实验13 运输层端口

一、实验目的

本次实验旨在验证TCP和IP运输层端口号的作用,深入理解它们在网络通信中的重要性。通过实验,我将探讨端口号如何帮助区分不同的应用程序和服务,使得在同一台主机上能够同时运行多个网络服务而不发生冲突。此外,我将学习如何使用工具和命令来监测和分析端口的状态,了解各个端口号对应的服务类型,从而增强对网络协议的理解和应用能力。

二、实验环境

Cisco Packet Tracer模拟器

三、实验过程

1.构建网络拓扑,并在对应的主机或者服务器旁边写好需要配置的IP地址的注释,网络拓扑以及注释如图1所示。

在这里插入图片描述

图1 构建网络拓扑并写好注释

​ 2.首先对Web服务器进行IP配置,IP地址为192.168.0.3,地址掩码为255.255.255.0,如图2所示。

img

图2 配置Web服务器IP地址

​ 3.然后为DNS服务器配置IP地址并开启DNS服务器,如图3所示。

img

图3 开启DNS服务

​ 4.为PC配置IP地址,如图4所示。

img

图4 PC的IP配置

​ 5.使用ping命令测试PC和DNS服务器之间是否成功通信,如图5所示。

img

图5 PC-DNS通信测试

​ 6.使用ping命令测试PC和Web服务器之间是否成功通信,如图6所示。

img

图6 PC-Web通信测试

​ 7.切换到仿真模式,并且过滤协议,只保留DNS和http协议,如图7所示。

img

图7 只保留DNS和HTTP协议

​ 8.通过PC在网页浏览器中访问Web服务器,首先去访问DNS服务器,如图8所示。

img

图8 浏览器中输入服务器的网址

​ 9.首先查看主机上的PDU信息,如图9所示,再点击捕获前进,数据报来到交换机,经过转发到达DNS服务器,查看DNS服务器的PDU的信息,如图10所示。DNS服务器收到一个DNS查询,所查询的名字进行本地解析,DNS服务器找到一个带有该名字的域名,并将其封装在响应报文中,并使用UDP进行封装,使其成为UDP用户数据报,然后后面就是经过网络层,数据链路层以及物理层,最后再发送出去。

img

图9 主机中的PDU信息

img

图10 服务器中的PDU信息

​ 10.主机PC收到DNS服务器传回来的响应,DNS客户端收到一个DNS响应,接收到的DNS响应包含一个对所请求域名的IP地址解析,也就是Web服务器的IP地址,即是192.168.0.3.如图11所示。

img

图11 PC中的PDU信息

​ 11.此时主机就可以通过获取到的IP地址就可以访问Web服务器,使用的是HTTP协议,因为应用层协议HTTP使用的是运输层的TCP,并且TCP是面向连接的,所以发送之前必须建立TCP连接(三报文握手)然后,主机PC再将HTTP请求传送给Web服务器。点击捕获前进,查看主机上的HTTP请求PDU信息。如图12所示。当HTTP请求到达Web服务器时,再次查看Web服务器上的PDU信息,如图13所示。

img

图12 主机HTTP请求的PDU信息

img

图13 Web服务器上的PDU信息

  1. Web服务器再将响应报文传回主机PC,HTTP客户端收到来自服务器的HTTP响应,HTTP客户端中的PDU信息,如图14所示。HTTP客户端进程从HTTP响应报文中提取出网页内容,并在网页浏览器中显示网页,如图15所示。

img

图14 主机中的PDU信息

img

图15 网页浏览器的显示

四、实验小结

  1. 端口号用于区分不同的应用进程:在TCP/IP协议栈中,运输层通过端口号来区分不同的应用进程或服务。端口号是一个16位的数字,范围从0到65535,每个端口号对应特定的应用服务。例如,HTTP协议通常使用端口80,HTTPS使用端口443,而DNS则使用端口53。通过端口号,计算机能够明确将数据传递给哪个正在运行的应用程序。每个应用程序通过绑定一个特定的端口号来等待来自其他计算机的数据。

  2. 端口号与传输层协议数据单元(PDU)头部的映射:在TCP/IP协议栈中,数据传输过程中使用运输层的协议数据单元(PDU),如TCP段或UDP数据报。这些PDU的头部包含源端口号和目的端口号字段,用于指明数据包的发送和接收应用进程。源端口号标识发送端的应用程序,而目的端口号则标识接收端的应用程序。

  3. 端口号的作用在于确保数据的准确传输:端口号不仅帮助区分不同的应用进程,还能确保在同一设备上运行的多个应用之间的通信不会发生冲突。每当计算机接收到一个数据包时,操作系统会根据目的端口号将数据交付给相应的应用进程。例如,Web浏览器会监听端口80或443,并接收发送到这些端口的数据包。如果没有端口号,操作系统将无法确定应将数据发送到哪个进程,从而可能导致通信失败。

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

跨界融合:SpringBoot 如何成就特色广场舞团

4 系统设计 4.1 系统设计主要功能 通过市场调研及咨询研究,了解了使用者及管理者的使用需求,于是制定了管理员,社团和用户等模块。其功能结构图如下图4-1所示: 图4-1系统功能结构图 4.2 数据库设计 4.2.1 数据库设计规范 数据可…

el-thee懒加载删除某条数据 ,el-thee懒加载重置,el-thee刷新某个节点

一、懒加载的tree已经全部展开&#xff0c;外部点击删除的时候不需要重新展开点击获取下一层数据 <template> <el-treeref"tree":data"treeData":props"defaultProps"render-after-expandhighlight-currentlazy:expand-on-click-node&q…

宝塔内设置redis后,项目以及RedisDesktopManager客户端连接不上!

项目展现问题&#xff1a; Unable to connect to Redis; nested exception is io.lettuce.core.RedisConnectionException: Unable to connect to xxx.宝塔外链.ip.xxxx:6379 redis客户端连接失败&#xff1a; 1、宝塔中确认redis端口已放行 2、修改redis的配置 bind&#x…

使用 WebRtcStreamer 实现实时视频流播放

WebRtcStreamer 是一个基于 WebRTC 协议的轻量级开源工具&#xff0c;可以在浏览器中直接播放 RTSP 视频流。它利用 WebRTC 的强大功能&#xff0c;提供低延迟的视频流播放体验&#xff0c;非常适合实时监控和其他视频流应用场景。 本文将介绍如何在Vue.js项目中使用 WebRtcSt…

本地无需公网可访问开源趣味艺术画板 paint-board

paint-board 一款用于绘画或涂鸦的工具&#xff0c;它非常轻量而且很有趣&#xff0c;集成了多种创意画笔和绘画功能&#xff0c;能够支持形状绘制、橡皮擦、自定义画板等操作&#xff0c;并可以将作品保存为图片。 第一步&#xff0c;本地部署安装 paint-board 1&#xff0c…

VideoConvertor.java ffmpeg.exe

VideoConvertor.java ffmpeg.exe 视频剪切原理 入点 和 出点 选中时间点&#xff0c;导出

ASP .NET Core 中的环境变量

在本文中&#xff0c;我们将通过组织一场小型音乐会&#xff08;当然是在代码中&#xff09;来了解 ASP .NET Core 中的环境变量。让我们从创建项目开始&#xff1a; dotnet new web --name Concert 并更新Program.cs&#xff1a; // replace this: app.MapGet("/"…

Robust Depth Enhancement via Polarization Prompt Fusion Tuning

paper&#xff1a;论文地址 code&#xff1a;github项目地址 今天给大家分享一篇2024CVPR上的文章&#xff0c;文章是用偏振做提示学习&#xff0c;做深度估计的。模型架构图如下 这篇博客不是讲这篇论文的内容&#xff0c;感兴趣的自己去看paper&#xff0c;主要是分享环境&…

NanoLog起步笔记-3-尝试解析log

nonolog起步笔记-3-尝试解析log 第一次解析sample中的nano二进制log在哪里compressedLog./decompressor decompress /tmp/logFile compressedLog是什么鬼下断分析 第一次解析 sample中的nano二进制log在哪里 如下图 手工执行的结果如下&#xff0c;不看代码&#xff0c;还真不…

Sqoop脚本编写(Mysql---->>hdfs)

目录 语法手册编写方式脚本文件类型文件编写.jar路径指定 执行效果执行方式效果 语法手册 参考博客 编写方式 脚本文件类型 只要是可读的文件即可&#xff08;.txt或者.sh等其他类型&#xff0c;不带文件后缀也可以&#xff0c;但二进制文件最好不要&#xff09; 文件编写…

一、测试工具LoadRunner Professional脚本编写-录制前设置

设置基于URL的脚本 原因:基于HTML的脚本会导致login接口不能正确录制 设置UTF-8 原因:不勾选此项会导致脚本中文变为乱码

day05-开发接口-学习记录和学习计划

1. 查询用户的课程学习记录 1.1 代码实现 Controller层&#xff1a; package com.tianji.learning.controller;import com.tianji.api.dto.leanring.LearningLessonDTO; import com.tianji.learning.service.ILearningLessonService; import com.tianji.learning.service.IL…

2022 年“泰迪杯”数据分析技能赛A 题竞赛作品的自动评判

2022 年“泰迪杯”数据分析技能赛A 题竞赛作品的自动评判 完整代码请私聊 博主 一、背景 在各类学科竞赛中&#xff0c;常常要求参赛者提交 Excel 或/和 PDF 格式的竞赛作品。 本赛题以某届数据分析竞赛作品的评阅为背景&#xff0c;要求参赛者根据给定的评分准则和标准答案&a…

AI Agent框架如何选择?LangGraph vs CrewAI vs OpenAI Swarm

介绍 由 LLMs经历了起起落落。从 2023 年 AutoGPT 和 BabyAGI 的病毒式演示到今天更精致的框架&#xff0c;AI Agent的概念——LLMs自主执行端到端任务的 LLM——既引起了人们的想象力&#xff0c;也引起了怀疑。 为什么重新引起人们的兴趣&#xff1f;LLMs 在过去 9 个月中进…

【OpenCV】平滑图像

二维卷积(图像滤波) 与一维信号一样&#xff0c;图像也可以通过各种低通滤波器&#xff08;LPF&#xff09;、高通滤波器&#xff08;HPF&#xff09;等进行过滤。LPF 有助于消除噪音、模糊图像等。HPF 滤波器有助于在图像中找到边缘。 opencv 提供了函数 **cv.filter2D()**&…

调试android 指纹遇到的坑

Android8以后版本 一、指纹服务不能自动 指纹服务fingerprintd(biometrics fingerprintservice)&#xff0c;可以手动起来&#xff0c;但是在init.rc中无法启动。 解决办法&#xff1a; 1.抓取开机时kernel log &#xff0c;确认我们的启动指纹服务的init.rc 文件有被init.c…

深度学习笔记之BERT(五)TinyBERT

深度学习笔记之TinyBERT 引言回顾&#xff1a;DistilBERT模型TinyBERT模型结构TinyBERT模型策略Transformer层蒸馏嵌入层蒸馏预测层蒸馏 TinyBERT模型的训练效果展示 引言 上一节介绍了 DistilBERT \text{DistilBERT} DistilBERT模型&#xff0c;本节将继续介绍优化性更强的知…

30.串联所有单词的子串 python

串联所有单词的子串 题目题目描述示例 1&#xff1a;示例 2&#xff1a;示例 3&#xff1a;提示&#xff1a;题目链接 题解解题思路python实现代码解释&#xff1a;提交结果 题目 题目描述 给定一个字符串 s 和一个字符串数组 words。 words 中所有字符串 长度相同。 s 中的…

【LeetCode】498.对角线遍历

无论何时何地&#xff0c;我都认为对于一道编程题&#xff0c;思考解法的时间用于是实际动手解决问题的2倍&#xff01;如果敲键盘编码需要5min&#xff0c;那么思考解法的过程至少就需要10分钟。 1. 题目 2. 思想 其实这就是一道模拟题&#xff0c;难度中等。做这种题的关键就…

uniapp中父组件传参到子组件页面渲染不生效问题处理实战记录

上篇文件介绍了,父组件数据更新正常但是页面渲染不生效的问题,详情可以看下:uniapp中父组件数组更新后与页面渲染数组不一致实战记录 本文在此基础上由于新增需求衍生出新的问题.本文只记录一下解决思路. 下面说下新增需求方便理解场景: 商品信息设置中添加抽奖概率设置…