第一次实验:Protocol Layers

news2024/11/24 17:15:53

第一次实验:Protocol Layers

    • 捕获跟踪
      • *Pick a URL and fetch it with* wget *or* curl*.*
    • 检查跟踪
    • 数据包结构
    • 协议开销
    • 复用密钥
      • *Which Ethernet header field is the demultiplexing key that tells it the next higher layer is IP?*
      • *Which IP header field is the demultiplexing key that tells it the next higher layer is TCP? What*
  • **Explore on your own**
    • 不携带高层数据的短TCP数据包的作用
    • 服务器响应的数据包中第一个包和最后一个包有什么不同
    • 底层加密如何实现
    • 下层增加压缩的变化

目的:
了解协议和分层是如何在数据包中表示的。它们是构建文本的1.3和1.4中所涉及的网络的关键概念。
环境:
Wireshark;wget

实验报告正文
# 实验过程

捕获跟踪

Pick a URL and fetch it with wget or curl*.*

请添加图片描述

捕获结果如下

请添加图片描述

检查跟踪

请添加图片描述

协议为HTTP,是一个GET

请添加图片描述

另一个数据包,信息字段中有“200 OK”

数据包结构

请添加图片描述

  • Ethernet占用14字节

请添加图片描述

  • IP占用20字节

请添加图片描述

  • TCP占用20字节

请添加图片描述

  • HTTP占用156字节
EthernetIPTCPHTTP
14B20B20B156B
Ethernet HeaderEthernet PayloadEthernet PayloadEthernet Payload
IP HeaderIP PayloadIP Payload

协议开销

请添加图片描述

有效开销为 156 156 156B

协议开销:
66 + 54 + 210 − 156 + 60 = 234 B 66 + 54 + 210 - 156 + 60 = 234B 66+54+210156+60=234B
有效信息占比为
156 / 390 = 40 % 156/390 = 40\% 156/390=40%
由此可知协议开销很大。

复用密钥

Which Ethernet header field is the demultiplexing key that tells it the next higher layer is IP?

请添加图片描述

Ethernet报头字段是 Type ,对应取值为 0x0800

Which IP header field is the demultiplexing key that tells it the next higher layer is TCP? What

请添加图片描述

IP包头字段是 Protocol ,对应取值为 6

Explore on your own

不携带高层数据的短TCP数据包的作用

请添加图片描述

在三次握手协议中,需要客户端先发送TCP-服务器发回确认-客户端再次确认,这些数据包都是不含高层数据的短TCP。以上图中的TCP为例,为第三次握手。

服务器响应的数据包中第一个包和最后一个包有什么不同

  1. 第一个包通常包含响应的 HTTP 头部,而最后一个包则包含 HTTP 实体的最后一部分或者完整的实体。
  2. 第一个包和最后一个包的序列号和确认号(sequence number and acknowledgment number)也会不同,因为它们传输的是不同的数据。

底层加密如何实现

如果底层添加了加密,则底层将在从高层传递下来的消息中添加一个新的消息头(用于加密和解密),并将该消息传递到下一层。这意味着每个底层消息不再仅仅是一个被修改的高层消息,而是一个新的被加密的消息。这可能会导致下层消息的数量增加,因为一条高层消息可能需要多个被加密的消息来传输。这也使得协议分析和网络分析更加复杂。除此之外,密钥不应进行传输,而应与接收方协商防止加密失效。

下层增加压缩的变化

下层会将头附加到从高层传递下来的消息中,因此如果下层增加了压缩,该模型会发生变化。具体来说,在下层增加了压缩后,下层接收到来自高层的消息时,会将其压缩后附加头部,然后将消息和头部作为一个新的消息传递到下一层。在接收端,下层会解压消息并去除头部,然后将解压后的消息传递到上层。因此,压缩的添加会导致消息在传递过程中被改变,但整个分层模型的基本结构不会发生改变。请添加图片描述

请添加图片描述

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

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

相关文章

关于亚马逊云科技云技能孵化营学习心得

1、活动介绍 本活动主要是面向想要全面了解亚马逊云科技 (Amazon Web Services) 云的个人,而不受特定技术角色的限制。内容包括亚马逊云科技云概念、亚马逊云科技服务、安全性、架构、定价和支持等等,此外还可以参加亚马逊的认证考试。 2、学习过程 该…

httpd协议与apache

1.http 相关概念 HTTP是处于应用层的协议,使用TCP传输层协议进行可靠的传送。因此,需要特别提醒的是,万维网是基于因特网的一种广泛因特网应用系统,且万维网采用的是HTTP(80/TCP)和 HTTPS(443/…

计算机毕设 基于深度学习的人脸专注度检测计算系统 - opencv python cnn

文章目录 1 前言2 相关技术2.1CNN简介2.2 人脸识别算法2.3专注检测原理2.4 OpenCV 3 功能介绍3.1人脸录入功能3.2 人脸识别3.3 人脸专注度检测3.4 识别记录 4 最后 1 前言 🔥 这两年开始毕业设计和毕业答辩的要求和难度不断提升,传统的毕设题目缺少创新…

Autoware.universe部署02:高精Lanelet2地图的绘制

文章目录 引言Lanelet基础元素Lanelet2项目各个模块 一、安装Lanelet2项目1.1 安装依赖1.2 编译1.3 在ROS中使用lanelet2地图完成routing 二、Autoware Vector Map Builder绘制高精地图2.1 创建地图2.2 绘制车道线2.3 绘制路沿2.4 绘制停止线和交通灯2.5 绘制人行道2.6 绘制停车…

IntelliJ 中如何配置 Tomcat 调试

Tomcat 在 IntelliJ 中的配置要求首先你要下载 Tomcat。 设置服务器 在 IntelliJ 下面先选择 Run,然后选择配置运行配置。 在弹出的界面中,有一个编辑配置的选项。 然后在弹出的页面中选择添加。 选择 Tomcat 在弹出的添加页面中选择添加 Tomcat&…

数据分析基础-数据可视化学习笔记03-可视化的符号与表示-图形符号学

概念 图型符号学(Cartographic Symbolization)是地图学领域中的一个重要概念,涉及到如何使用不同的符号、颜色、图案和标记来在地图上表示地理信息和数据。图型符号学旨在传达地理信息,使得地图能够清晰、有效地传达各种空间数据…

四、前端监控之接入Sentry到项目

前言 一、前端监控之异常监控 二、前端监控之方案调研 三、前端监控之Sentry的介绍 以上是这个专题之前的几篇文章,欢迎观摩 Sentry的接入 1、新建项目 在sentry后台登陆后,进入监控项目的界面,如: 点击右上角的 add new p…

用Go编写ChatGPT插件

ChatGPT插件平台有望成为影响深远的"下一件大事",因此对于开发者来说,有必要对ChatGPT插件的开发有一定的了解。原文: Writing a ChatGPT Plugin With Go[1] 我工作的附带福利之一是偶尔可以接触试用一些很酷的新技术,最近的一项技…

详细介绍如何基于ESP32实现低功耗的电子纸天气显示器--附完整源码

实现界面展示 这是一款天气显示器,由支持 wifi 的 ESP32 微控制器和 7.5 英寸电子纸(又名电子墨水)显示器供电。当前和预测的天气数据是从 OpenWeatherMap API 获取的。传感器为显示屏提供准确的室内温度和湿度。 该项目在睡眠时消耗约 14μA,在约 10 秒的清醒期…

Tomcat 部署时 war 和 war exploded区别

在 Tomcat 调试部署的时候,我们通常会看到有下面 2 个选项。 是选择war还是war exploded 这里首先看一下他们两个的区别: war 模式:将WEB工程以包的形式上传到服务器 ;war exploded 模式:将WEB工程以当前文件夹的位置…

Qt 查找文件夹下指定类型的文件及删除特定文件

一 查找文件 bool MyXML::findFolderFileNames() {//指定文件夹名QDir dir("xml");if(!dir.exists()){qDebug()<<"folder does not exist!";return false;}//指定文件后缀名&#xff0c;可指定多种类型QStringList filter("*.xml");//指定…

js中迭代器和可迭代对象

一、迭代器 在JavaScript中&#xff0c;迭代器也是一个具体的对象&#xff0c;这个对象需要符合迭代器协议&#xff08;iterator protocol&#xff09; 迭代器协议定义了产生一系列值&#xff08;无论是有限还是无限个&#xff09;的标准方式&#xff1b; 在JavaScript中这个…

Linux安装FRP(内网穿透)

项目简介需求背景 1.FileBrowser访问地址&#xff1a;http://X.X.X.X:8181&#xff0c;该地址只能在局域网内部访问而无法通过互联网访问&#xff0c;想要通过互联网 访问到该地址需要通过公网IP来进行端口转发&#xff0c;通常家里的路由器IP都不是公网IP&#xff0c;通常公司…

2023年6月GESP C++ 一级试卷解析

2023年6月GESP C 一级试卷解析 一、单选题&#xff08;每题2分&#xff0c;共30分&#xff09; 1.以下不属于计算机输出设备的有&#xff08; &#xff09;。 A.麦克风 B.音箱 C.打印机 D.显示器 【答案】A【考纲知识点】计算机基础&#xff08;一级&#xff09; 【解析…

科大讯飞永久免费GPT入口来了!!!

讯飞GPT永久免费使用入口注册链接&#xff1a;讯飞星火认知大模型-AI大语言模型-星火大模型-科大讯飞。 登录讯飞账号后&#xff0c;点击进入体验。 进入体验页面后&#xff0c;选择景点推荐。 笔者让其写一篇关于讯飞GPT介绍的文案。 讯飞GPT是一款由讯飞公司推出的人工智能语…

14. 完整模型验证套路

14.1 GPU训练30轮次 import torchvision import torch from torch import nn from torch.utils.data import DataLoader from torch.utils.tensorboard import SummaryWriter import time# 定义训练的设备 #device torch.device("cpu") device torch.device("…

第七周第六天学习总结 | MySQL入门及练习学习第一天

实操练习&#xff1a; 1.查看数据库 2.查询当前数据库 3.创建一个名为 lianxi 的数据库 4.删除一个名为 shanchu 的数据库&#xff08;如果存在就删除&#xff0c;不存在不删除&#xff09; 5.切换至 lianxi 数据库下&#xff0c;并验证 6.查询 lainxi 数据库下的所有数据…

DMK5框选变量之后不显示其他位置的此变量高亮

使用软件MDK5.3.8版本 如下在2的位置选择之后&#xff0c;其他同样的变量没有高亮&#xff0c;因为1的原因折叠了&#xff1b; 展开折叠之后就可以了

Android学习之路(10) setContentView详解

一、简介 setContentView我们在Activity中经常见到&#xff0c;它的作用就是把我们的布局文件放在Activity中显示&#xff0c;下面我们根据源码分析setContentView是如何做到的 二、源码分析 1.两种setContentView 注意Activity的setContentView和AppCompatActivity的setCo…

【SpringBoot】如何使用 HandlerInterceptor 拦截器? 为什么不使用 SpingAOP ?

文章目录 前言一、为什么不使用 SpringAOP ?1, 需求分析2, SpringAOP 能实现吗? 二、使用 HandlerInterceptor1, 实现 HandlerInterceptor 接口2, 将自定义拦截器加入到系统配置 三、HandlerInterceptor 实现原理源码分析 总结 前言 各位读者好, 我是小陈, 这是我的个人主页,…