【计算机网络】实验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 表操…...

手游刚开服就被攻击怎么办?如何防御DDoS?
开服初期是手游最脆弱的阶段,极易成为DDoS攻击的目标。一旦遭遇攻击,可能导致服务器瘫痪、玩家流失,甚至造成巨大经济损失。本文为开发者提供一套简洁有效的应急与防御方案,帮助快速应对并构建长期防护体系。 一、遭遇攻击的紧急应…...
零门槛NAS搭建:WinNAS如何让普通电脑秒变私有云?
一、核心优势:专为Windows用户设计的极简NAS WinNAS由深圳耘想存储科技开发,是一款收费低廉但功能全面的Windows NAS工具,主打“无学习成本部署” 。与其他NAS软件相比,其优势在于: 无需硬件改造:将任意W…...

【WiFi帧结构】
文章目录 帧结构MAC头部管理帧 帧结构 Wi-Fi的帧分为三部分组成:MAC头部frame bodyFCS,其中MAC是固定格式的,frame body是可变长度。 MAC头部有frame control,duration,address1,address2,addre…...
在 Nginx Stream 层“改写”MQTT ngx_stream_mqtt_filter_module
1、为什么要修改 CONNECT 报文? 多租户隔离:自动为接入设备追加租户前缀,后端按 ClientID 拆分队列。零代码鉴权:将入站用户名替换为 OAuth Access-Token,后端 Broker 统一校验。灰度发布:根据 IP/地理位写…...

华为OD机试-食堂供餐-二分法
import java.util.Arrays; import java.util.Scanner;public class DemoTest3 {public static void main(String[] args) {Scanner in new Scanner(System.in);// 注意 hasNext 和 hasNextLine 的区别while (in.hasNextLine()) { // 注意 while 处理多个 caseint a in.nextIn…...
Web 架构之 CDN 加速原理与落地实践
文章目录 一、思维导图二、正文内容(一)CDN 基础概念1. 定义2. 组成部分 (二)CDN 加速原理1. 请求路由2. 内容缓存3. 内容更新 (三)CDN 落地实践1. 选择 CDN 服务商2. 配置 CDN3. 集成到 Web 架构 …...

安宝特案例丨Vuzix AR智能眼镜集成专业软件,助力卢森堡医院药房转型,赢得辉瑞创新奖
在Vuzix M400 AR智能眼镜的助力下,卢森堡罗伯特舒曼医院(the Robert Schuman Hospitals, HRS)凭借在无菌制剂生产流程中引入增强现实技术(AR)创新项目,荣获了2024年6月7日由卢森堡医院药剂师协会࿰…...

人机融合智能 | “人智交互”跨学科新领域
本文系统地提出基于“以人为中心AI(HCAI)”理念的人-人工智能交互(人智交互)这一跨学科新领域及框架,定义人智交互领域的理念、基本理论和关键问题、方法、开发流程和参与团队等,阐述提出人智交互新领域的意义。然后,提出人智交互研究的三种新范式取向以及它们的意义。最后,总结…...
Redis:现代应用开发的高效内存数据存储利器
一、Redis的起源与发展 Redis最初由意大利程序员Salvatore Sanfilippo在2009年开发,其初衷是为了满足他自己的一个项目需求,即需要一个高性能的键值存储系统来解决传统数据库在高并发场景下的性能瓶颈。随着项目的开源,Redis凭借其简单易用、…...
MySQL 部分重点知识篇
一、数据库对象 1. 主键 定义 :主键是用于唯一标识表中每一行记录的字段或字段组合。它具有唯一性和非空性特点。 作用 :确保数据的完整性,便于数据的查询和管理。 示例 :在学生信息表中,学号可以作为主键ÿ…...