【计算机网络】实验13:运输层端口
实验13 运输层端口
一、实验目的
本次实验旨在验证TCP和IP运输层端口号的作用,深入理解它们在网络通信中的重要性。通过实验,我将探讨端口号如何帮助区分不同的应用程序和服务,使得在同一台主机上能够同时运行多个网络服务而不发生冲突。此外,我将学习如何使用工具和命令来监测和分析端口的状态,了解各个端口号对应的服务类型,从而增强对网络协议的理解和应用能力。
二、实验环境
Cisco Packet Tracer模拟器
三、实验过程
1.构建网络拓扑,并在对应的主机或者服务器旁边写好需要配置的IP地址的注释,网络拓扑以及注释如图1所示。

图1 构建网络拓扑并写好注释
2.首先对Web服务器进行IP配置,IP地址为192.168.0.3,地址掩码为255.255.255.0,如图2所示。

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

图3 开启DNS服务
4.为PC配置IP地址,如图4所示。

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

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

图6 PC-Web通信测试
7.切换到仿真模式,并且过滤协议,只保留DNS和http协议,如图7所示。

图7 只保留DNS和HTTP协议
8.通过PC在网页浏览器中访问Web服务器,首先去访问DNS服务器,如图8所示。

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

图9 主机中的PDU信息

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

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

图12 主机HTTP请求的PDU信息

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

图14 主机中的PDU信息

图15 网页浏览器的显示
四、实验小结
-
端口号用于区分不同的应用进程:在TCP/IP协议栈中,运输层通过端口号来区分不同的应用进程或服务。端口号是一个16位的数字,范围从0到65535,每个端口号对应特定的应用服务。例如,HTTP协议通常使用端口80,HTTPS使用端口443,而DNS则使用端口53。通过端口号,计算机能够明确将数据传递给哪个正在运行的应用程序。每个应用程序通过绑定一个特定的端口号来等待来自其他计算机的数据。
-
端口号与传输层协议数据单元(PDU)头部的映射:在TCP/IP协议栈中,数据传输过程中使用运输层的协议数据单元(PDU),如TCP段或UDP数据报。这些PDU的头部包含源端口号和目的端口号字段,用于指明数据包的发送和接收应用进程。源端口号标识发送端的应用程序,而目的端口号则标识接收端的应用程序。
-
端口号的作用在于确保数据的准确传输:端口号不仅帮助区分不同的应用进程,还能确保在同一设备上运行的多个应用之间的通信不会发生冲突。每当计算机接收到一个数据包时,操作系统会根据目的端口号将数据交付给相应的应用进程。例如,Web浏览器会监听端口80或443,并接收发送到这些端口的数据包。如果没有端口号,操作系统将无法确定应将数据发送到哪个进程,从而可能导致通信失败。
相关文章:
【计算机网络】实验13:运输层端口
实验13 运输层端口 一、实验目的 本次实验旨在验证TCP和IP运输层端口号的作用,深入理解它们在网络通信中的重要性。通过实验,我将探讨端口号如何帮助区分不同的应用程序和服务,使得在同一台主机上能够同时运行多个网络服务而不发生冲突。此…...
STL之适配器(adapters)_下
STL之适配器adapters container adapersstackqueue iterator adaptgersinsert iteratorsreverse iteratorsstream iterators function adapters对返回值进行逻辑判断:not1,not2对参数进行绑定:bind1st, bind2nd用于函数合成:compose1,compose2用于函数指针 ptr_func…...
基于51单片机64位病床呼叫系统设计( proteus仿真+程序+设计报告+原理图+讲解视频)
基于51单片机病床呼叫系统设计( proteus仿真程序设计报告原理图讲解视频) 仿真图proteus7.8及以上 程序编译器:keil 4/keil 5 编程语言:C语言 设计编号:S0095 1. 主要功能: 基于51单片机的病床呼叫系统proteus仿…...
安装 Zookeeper 和 Kafka
注意:需要java环境 [roothcss-ecs-2a6a ~]# java -version java version "17.0.12" 2024-07-16 LTS Java(TM) SE Runtime Environment (build 17.0.128-LTS-286) Java HotSpot(TM) 64-Bit Server VM (build 17.0.128-LTS-286, mixed mode, sharing) [roo…...
操作系统输入输出系统知识点
I/O系统的功能、模型和接口 I/O系统的基本功能 隐藏物理设备的细节与设备的无关性提高处理机和I/O设备的利用率对1/0 设备进行控制确保对设备的正确共享 独占设备,进程应互斥地访问这些设备共享设备,在一段时间内允许多个进程同时访问的设备 错误处理 I…...
C语言控制语句与案例
控制语句与案例 1. 选择结构 1.1 if 语句 if 语句用于根据条件执行不同的代码块。最基本的语法形式如下: // 单分支 if (条件) {// 条件为真时执行的代码 }// 双分支 if (条件) {// 条件为真时执行的代码 } else {// 条件为假时执行的代码 }// 多分支 if (条件1…...
JVM的内存布局
Java虚拟机(JVM)的内存布局可以分为几个主要部分,每个部分都有特定的用途。以下是JVM内存布局的基本组成: 方法区(Method Area): 方法区是所有线程共享的内存区域,用于存储已被虚拟机…...
aws codepipeline + github + sonarqube + jenkins实践CI/CD
https://blog.csdn.net/u011564831/article/details/144007981文章浏览阅读1.2k次,点赞31次,收藏21次。本文使用 Jenkins 结合 CodeBuild, CodeDeploy 实现 Serverless 的 CI/CD 工作流,用于自动化发布已经部署 lambda 函数。在 AWS 海外区&a…...
mistralai 部署笔记
目录 mistralai 部署笔记 mistralai 部署笔记 #! /usr/bin/env python3 import os import sys import torch os.chdir(os.path.dirname(os.path.abspath(__file__)))current_dir = os.path.dirname(os.path.abspath(__file__))paths = [os.path.abspath(__file__).split(scri…...
Java——异常机制(上)
1 异常机制本质 (异常在Java里面是对象) (抛出异常:执行一个方法时,如果发生异常,则这个方法生成代表该异常的一个对象,停止当前执行路径,并把异常对象提交给JRE) 工作中,程序遇到的情况不可能完美。比如…...
坐标系,向量_batch及向量点乘部分知识
坐标系 Unity所采用的是左手坐标系。 对于Vector3.forward ,其坐标值为(0,0,1),为定值 而transform.forward 该值不固定,本地坐标正方向所在世界坐标系中的方向 向量 向量是终点位置减去起始点位置得…...
【计算机网络】期末速成(2)
部分内容来源于网络,侵删~ 第五章 传输层 概述 传输层提供进程和进程之间的逻辑通信,靠**套接字Socket(主机IP地址,端口号)**找到应用进程。 传输层会对收到的报文进行差错检测。 比特流(物理层)-> 数据帧(数据链路层) -> 分组 / I…...
【设计模式】结构型设计模式总结之代理模式、装饰模式、外观模式、享元模式
文章目录 代理模式示例结构分类动态代理 装饰模式示例结构使用场景与代理模式区别Context 外观模式结构示例使用场景Context 享元模式结构示例使用场景Message 代理模式 代理模式(Proxy Pattern) 是一种结构型设计模式,它提供了一个代理对象…...
11进阶篇:专业课论文阅读方向指南(2025版)
文章目录 第一个检索式:图情档核心期刊(北大 + CSSCI)发文情况研究方法类关键词研究主题类关键词论文阅读建议第二个检索式:川大公共管理学院在核心期刊(北大 + CSSCI)的发文情况研究方法类关键词研究主题类关键词特点关键词与2024年972(现815)两道题目的映射情况815信…...
watch里可以写异步吗
在Vue的 watch 中可以写异步,但通常不推荐。 原因 - 可维护性差: watch 的主要用途是响应式地监听数据变化。如果在里面写复杂的异步操作,会让代码逻辑变得难以理解和维护。例如,同时监听多个数据变化并触发不同异步操作时&am…...
基于 Spring Boot + Vue 的宠物领养系统设计与实现
引言 近年来,随着人们生活水平的提高,宠物逐渐成为许多家庭的重要成员。然而,宠物的流浪和弃养问题日益严重,这促使社会对宠物领养的需求不断增长。为解决宠物领养中信息不对称、领养流程复杂等问题,设计并实现一个基…...
leetcode399:除法求值
给你一个变量对数组 equations 和一个实数值数组 values 作为已知条件,其中 equations[i] [Ai, Bi] 和 values[i] 共同表示等式 Ai / Bi values[i] 。每个 Ai 或 Bi 是一个表示单个变量的字符串。 另有一些以数组 queries 表示的问题,其中 queries[j]…...
【10】MySQL中的加密功能:如何使用MD5加密算法进行数据加密
文章目录 1. MySQL加密功能概述2. MD5加密算法3. 在MySQL中使用MD5加密4. 使用更安全的加密方法总结 在现代的数据库应用中,数据的安全性和隐私性变得尤为重要。无论是存储用户的个人信息,还是保护敏感的业务数据,确保这些数据不会被未授权访…...
CSS的2D和3D动画效果
CSS的2D和3D动画效果:网页动态设计的魔法 在现代网页设计中,动画已经成为提升用户体验的重要元素。通过引入动态效果,我们不仅可以使交互更加流畅和直观,还能吸引用户的注意力,增强品牌认知度。CSS提供了强大的工具&a…...
30天学会Go--第9天 GO语言 Mysql 学习与实践
30天学会Go–第9天 GO语言 MySQL学习与实践 文章目录 30天学会Go--第9天 GO语言 MySQL学习与实践前言一、MySQL 基础知识1.1 MySQL 的核心特征1.2 MySQL 的常见使用情景 二、安装 MySQL2.1 Windows 安装2.2 macOS 安装2.3 Linux 安装 三、MySQL 常用命令3.1 数据库操作3.2 表操…...
Android Wi-Fi 连接失败日志分析
1. Android wifi 关键日志总结 (1) Wi-Fi 断开 (CTRL-EVENT-DISCONNECTED reason3) 日志相关部分: 06-05 10:48:40.987 943 943 I wpa_supplicant: wlan0: CTRL-EVENT-DISCONNECTED bssid44:9b:c1:57:a8:90 reason3 locally_generated1解析: CTR…...
在 Nginx Stream 层“改写”MQTT ngx_stream_mqtt_filter_module
1、为什么要修改 CONNECT 报文? 多租户隔离:自动为接入设备追加租户前缀,后端按 ClientID 拆分队列。零代码鉴权:将入站用户名替换为 OAuth Access-Token,后端 Broker 统一校验。灰度发布:根据 IP/地理位写…...
Mac软件卸载指南,简单易懂!
刚和Adobe分手,它却总在Library里给你写"回忆录"?卸载的Final Cut Pro像电子幽灵般阴魂不散?总是会有残留文件,别慌!这份Mac软件卸载指南,将用最硬核的方式教你"数字分手术"࿰…...
什么是EULA和DPA
文章目录 EULA(End User License Agreement)DPA(Data Protection Agreement)一、定义与背景二、核心内容三、法律效力与责任四、实际应用与意义 EULA(End User License Agreement) 定义: EULA即…...
Java入门学习详细版(一)
大家好,Java 学习是一个系统学习的过程,核心原则就是“理论 实践 坚持”,并且需循序渐进,不可过于着急,本篇文章推出的这份详细入门学习资料将带大家从零基础开始,逐步掌握 Java 的核心概念和编程技能。 …...
[Java恶补day16] 238.除自身以外数组的乘积
给你一个整数数组 nums,返回 数组 answer ,其中 answer[i] 等于 nums 中除 nums[i] 之外其余各元素的乘积 。 题目数据 保证 数组 nums之中任意元素的全部前缀元素和后缀的乘积都在 32 位 整数范围内。 请 不要使用除法,且在 O(n) 时间复杂度…...
中医有效性探讨
文章目录 西医是如何发展到以生物化学为药理基础的现代医学?传统医学奠基期(远古 - 17 世纪)近代医学转型期(17 世纪 - 19 世纪末)现代医学成熟期(20世纪至今) 中医的源远流长和一脉相承远古至…...
08. C#入门系列【类的基本概念】:开启编程世界的奇妙冒险
C#入门系列【类的基本概念】:开启编程世界的奇妙冒险 嘿,各位编程小白探险家!欢迎来到 C# 的奇幻大陆!今天咱们要深入探索这片大陆上至关重要的 “建筑”—— 类!别害怕,跟着我,保准让你轻松搞…...
scikit-learn机器学习
# 同时添加如下代码, 这样每次环境(kernel)启动的时候只要运行下方代码即可: # Also add the following code, # so that every time the environment (kernel) starts, # just run the following code: import sys sys.path.append(/home/aistudio/external-libraries)机…...
计算机基础知识解析:从应用到架构的全面拆解
目录 前言 1、 计算机的应用领域:无处不在的数字助手 2、 计算机的进化史:从算盘到量子计算 3、计算机的分类:不止 “台式机和笔记本” 4、计算机的组件:硬件与软件的协同 4.1 硬件:五大核心部件 4.2 软件&#…...
