密码学学习笔记(二十四):TCP/IP协议栈

news2024/11/18 1:40:47

TCP/IP协议栈的基础结构包括应用层、传输层、网络层、数据链路层和物理层。

应用层 

应用层位于TCP/IP协议栈的最顶层,是用户与网络通信的接口。这一层包括了各种高级应用协议,如HTTP(用于网页浏览)、FTP(用于文件传输)、SMTP(用于电子邮件)和DNS(用于域名解析)。应用层协议规定了应用软件如何通过网络进行通信,处理特定类型的网络活动,并为用户提供直观的操作界面。

传输层 

传输层负责在网络中不同主机间的数据传输。这一层主要使用两种协议:TCP(传输控制协议)和UDP(用户数据报协议)。TCP提供可靠的、有序的数据传输,通过三次握手建立连接,确保数据完整性。UDP则提供更快但不保证数据完整性的连接,适用于对速度要求高但可以容忍一定丢包的应用,如视频流和在线游戏。

网络层

网络层处理数据包在网络中的路由和转发。最重要的协议是IP(互联网协议),它为每个网络设备分配一个独特的地址(IP地址),确保数据包能够找到正确的目的地。网络层决定数据包的最佳路径,通过路由器进行数据包转发,并处理不同网络之间的互连问题。

数据链路层

数据链路层负责在相邻网络节点间的数据传输。这一层将数据封装成帧,然后进行物理传输。它同时也负责错误检测和纠正,确保数据在局部网络中的准确传输。此层中的以太网(Ethernet)是最常见的技术标准,用于有线网络中。

物理层

物理层是协议栈中最基础的部分,负责在物理媒介上进行原始数据的传输。这包括了电缆、光纤、无线电波等传输媒介的使用,以及数据的编码和信号调制。物理层确保数据可以在不同的物理设备间传输,无论是通过电缆还是无线方式。

示例

在Web浏览会话中,应用层主要使用HTTP协议。当用户在浏览器中输入一个网址或点击一个链接时,浏览器会通过HTTP协议向服务器发送请求。HTTP协议规定了这些请求和响应的格式。

传输层 - TCP:HTTP请求通过传输层的TCP协议传输。TCP提供可靠的数据传输服务,确保数据包的正确顺序和完整性。在TCP层,数据被分割成小的段,并在到达目的地后重新组合。

网络层 - IPv4:网络层使用IP协议(这个例子中是IPv4)来处理数据包的寻址和路由。每个数据包都包含源IP地址和目的IP地址,这些地址确保数据包能够正确地路由到目的地。

数据链路层 - Ethernet:在数据链路层,数据包被进一步封装为帧,用以在局部网络中的物理设备之间传输。以太网是最常见的数据链路层技术。

物理层 - 物理信号:最后,在物理层,数据以电子或光信号的形式通过物理媒介(如铜线、光纤或无线电波)进行传输。

TCP 和 UDP 使用端口允许主机之间的多个主机之间的同时连接

  • 公共IP地址作为唯一标识符:公共IP地址是分配给网络中每个设备的独特标识符。在互联网上,每个设备的IP地址必须是唯一的,以确保数据可以准确地发送到正确的目的地。
  • TCP和UDP的端口使用:TCP(传输控制协议)和UDP(用户数据报协议)都使用端口号来管理多个连接。端口号允许一个IP地址上的不同应用或服务进行区分。例如,HTTP通常使用端口80,HTTPS使用端口443。这样即使多个服务在同一IP地址上运行,也能够被正确地区分和访问

NAT 在多台主机之间共享同一个 IP 地址多个主机共享同一 IP 地址,以应对 IPv4 短缺问题

  • 网络地址转换(NAT):NAT是一种在IPv4地址不足的情况下广泛使用的技术。它允许多个设备共享同一个公共IP地址,通过在私有网络和公共网络之间转换IP地址来实现。这样,内部网络中的多个设备可以使用私有IP地址,而对外表现为单一的公共IP地址。
  • IP数据包的基本结构:IP数据包包括一个头部和数据部分。头部包含了重要的控制信息,如源IP地址、目的IP地址、版本号、长度等。这些信息对于正确路由和传输数据包至关重要。

IP数据包在网段上的传递不涉及路由器

为了到达同一网络(链路)中的计算机,IP 数据包被封装在数据链路帧中,最常见(在有线帧中)是以太网

以太网实现基本链路功能,例如冲突避免和 CRC

网卡仅将那些发往该主机的帧传递给操作系统(即以其 MAC 地址作为目的地)

IP漏洞和路由

互联网最初的设计没有将安全作为首要考虑因素,导致了许多潜在的安全漏洞。随着网络攻击的增加,改进网络安全成为了一个重要的挑战。 

路由算法决定了数据包在网络中的传输路径。BGP(边界网关协议)是互联网上使用的主要路由协议。然而,BGP自身存在安全问题,如路由劫持,这可能导致数据流量被错误地或恶意地重定向。

IPSec 和 IPv6

IPSec 为 IP 添加身份验证和加密

IPSec 可以验证和加密每个 IP 数据包。IPSec是一个在网络层提供认证和加密的协议框架,以增强数据传输的安全性。它包括两种模式:传输模式和隧道模式。传输模式只加密IP数据包的数据部分,而隧道模式则加密整个IP数据包。

  • 安全关联 (SA):在通信开始之前定义(端点之间)——指定用于身份验证和加密的算法,并通过 IPSec 密钥交换 (IKE) 交换密钥
  • 身份验证标头 (AH):IP 扩展,提供数据报的身份验证和完整性,加上时间戳以防止重放攻击
  • 封装安全有效负载 (ESP):对 IP 的扩展,提供身份验证、完整性和机密性(加密)

IPv6应对了IPv4地址耗尽的问题,提供了几乎无限的地址空间。它还引入了一些其他改进,如自动地址配置、更简单的头部格式和改进的安全性(例如内置IPSec支持)。

IPSec有两种模式:传输(主机到主机)和隧道(VPN)

在传输模式下,IPSec 被“添加”到原始数据包中。

AH 可以为 IP 标头和有效负载提供完整性(通过散列)和身份验证问题:IP 选项是可变的,并且可以在传输过程中更改因此被排除在外 。

在隧道模式下,原始数据包封装在 IPSec 中,例如 用于虚拟专用网络 (VPN)

网关将 IP 数据包封装到附加的 IP 标头中,一旦数据包到达另一个网关,该标头就会被删除。网络中的主机看到彼此就好像它们在同一网络中一样。IPv6的引入大大增加了可用的IP地址数量,并带来了其他改进,例如自动配置和简化的路由器处理。

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

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

相关文章

【安全篇 / FortiGuard】(7.4) ❀ 02. 独立VDOM下的FortiGuard服务升级 ❀ FortiGate 防火墙

【简介】由于业务的需要,创建两个独立VDOM,每个VDOM有各自的宽带,但是FortiGuard服务却无法升级,有什么办法解决吗? VDOM概念 首先我们看看什么是VDOM。 ① VDOM将你的FortiGate划分为多个逻辑设备,并将一个…

深入理解Linux文件系统

🎬慕斯主页:修仙—别有洞天 ♈️今日夜电波:晴る—ヨルシカ 0:20━━━━━━️💟──────── 4:30 🔄 ◀️ ⏸ ▶️ ☰ &…

力扣精选算法100题——长度最小的子数组(滑动窗口专题)

本题链接——长度最小的子数组 第一步:了解题意 给定一个数组,要求在这个数组中找到一个必须是连续的子数组并且这个子数组每个元素加起来>target并从找到的这些数组中取一个最短的数组。 第二步:算法原理 滑动窗口是一种在序列&#xff…

【开源】基于JAVA语言的河南软件客服系统

目录 一、摘要1.1 项目介绍1.2 项目录屏 二、功能模块2.1 系统管理人员2.2 业务操作人员 三、系统展示四、核心代码4.1 查询客户4.2 新增客户跟进情况4.3 查询客户历史4.4 新增服务派单4.5 新增客户服务费 五、免责说明 一、摘要 1.1 项目介绍 基于JAVAVueSpringBootMySQL的河…

中仕公考:贵州省统一面向社会公开招录公务员公告

2024年1月22日至1月25日期间,每日10:00、14:00及19:00对报名情况进行更新,供报考者参考。 资格初审时间为2024年1月22日9:00至1月28日17:00。 网上缴费时间为2024年1月22日9:00至1月29日17:00。 打印准考证时间2024年3月11日9:00至3月14日17:00。 公共科目笔试时间为: 202…

深度学习(2)--卷积神经网络(CNN)

卷积神经网络(Convolutional Neural Networks)是一种深度学习模型或类似于人工神经网络的多层感知器,常用来分析视觉图像。 一.卷积神经网络基础概念 传统网络是二维的,而卷积网络是三维的。 例如32x32x3的图片,在传…

Pure-admin框架 Pure-table中获取所选中的内容的信息

最近在尝试使用Pure-admin框架来进行开发,正好遇到了多选表格需要获取选中项的id的情况,因为平台介绍说是二次封装 element-plus 的 Table ,直接拿el-table的方法来试 在table上设置属性ref"multipleTableRef" let idArr [];mult…

为什么需要放行回源IP

为什么需要放行回源IP 网站以“独享模式”成功接入WAF后,所有网站访问请求将先经过独享引擎配置的ELB然后流转到独享引擎实例进行监控,经独享引擎实例过滤后再返回到源站服务器,流量经独享引擎实例返回源站的过程称为回源。在服务器看来&…

从“渲个锤子”,浅析影视动画渲染的困难与挑战!

提起“雷神之锤”,相信大家都不陌生。它是漫威电影宇宙中“雷神”托尔所使用的武器。传说中,这把圣器可以承载魔法咒语,召唤风、雨、雷、电四种自然元素。它能在使用者的意念下对目标进行攻击,无视与使用者之间的距离和障碍物&…

C++进阶(五)二叉搜索树

📘北尘_:个人主页 🌎个人专栏:《Linux操作系统》《经典算法试题 》《C》 《数据结构与算法》 ☀️走在路上,不忘来时的初心 文章目录 一、二叉搜索树概念二、二叉搜索树操作三、二叉搜索树的实现四、二叉搜索树的应用五、二叉搜索…

(人才测评)招聘数据分析师的入职测评方案

现在是一个大数据的时代,我们的车载导航、淘宝购物、包括人才招聘、都是大数据的产物,然而光靠数据堆积是没用的,所以如何高效的进行数据挖掘与分析,就成了每一件企业思考的问题。 一、 数据分析师的基本工作标准 1、 平时需要…

【vue2】状态管理之 Vuex

文章目录 一、介绍1、概念 2、工作示意图3、安装4、简单示例 二、核心1、State1.1 组件中获取 Vuex 的状态1.2 mapState 辅助函数1.3 对象展开运算符 2、Getter2.1 基本使用2.2 通过属性访问2.3 通过方法访问2.4 mapGetters 辅助函数 3、Mutation3.1 定义 mutation3.2 commit 提…

C++初阶类与对象(三):详解复制构造函数和运算符重载

上次介绍了构造函数和析构函数:C初阶类与对象(二):详解构造函数和析构函数 今天就来接着介绍新的内容: 文章目录 1.拷贝构造函数1.1引入和概念1.2特性 2.赋值运算符重载2.1运算符重载2.2放在哪里2.3运算符重载示例2.3.…

WebRTC视频会议/视频客服系统EasyRTC进入会议室密码验证的开发与实现

基于WebRTC技术的EasyRTC视频会议系统,建设目标是让用户随时随地、快捷方便地进行视频会议,并根据行业需求有针对性地提供多样化、个性化功能,该系统是覆盖全球的实时音视频开发平台,支持一对一、一对多等视频通话,极大…

Vray渲染效果图材质参数设置

渲染是创造出引人入胜视觉效果的关键步骤,在视觉艺术领域尤为重要。不过,渲染作为一个资源密集型的过程,每当面对它时,我们往往都会遭遇到时间消耗和资源利用的巨大挑战。幸运的是,有几种方法能够帮助我们优化渲染&…

mac PyCharm 使用conda环境

1 使用conda创建虚拟环境 conda create -n test6 python3.9 -y conda activate test62 选择conda环境 本地 选择已经存在的conda环境 右下角会显示现在的环境。

Android中矩阵Matrix实现平移,旋转,缩放和翻转的用法详细介绍

一,矩阵Matrix的数学原理 矩阵的数学原理涉及到矩阵的运算和变换,是高等代数学中的重要概念。在图形变换中,矩阵起到关键作用,通过矩阵的变换可以改变图形的位置、形状和大小。矩阵的运算是数值分析领域的重要问题,对…

Go新项目-Golang使用RemoteAddr()获取远程主机地址的注意事项(9)

一、问题描述 http.Request 下的方法RemoteAddr() 可以获取客户端的地址和端口号,最近的一个项目中用到了这个方法。 使用过程中一直都没有什么问题,但是当项目上线之后就发现不管怎么获取ip,客户端地址都是127.0.0.1 。 对于这个问题一直…

Rust之旅 - Rust概念、Windows安装、环境配置

🌹作者主页:青花锁 🌹简介:Java领域优质创作者🏆、Java微服务架构公号作者😄 🌹简历模板、学习资料、面试题库、技术互助 🌹文末获取联系方式 📝 系列专栏目录 [Java项目…

VirtualBox安装openSUSE-Leap-15.5虚拟机并配置网络

VirtualBox安装openSUSE-Leap-15.5虚拟机并配置网络 适用于在VirtualBox平台上安装openSUSE-Leap-15.5虚拟机。 1. 安装准备 1.1 安装平台 Windows 11 1.2. 软件信息 软件名称软件版本安装路径Oracle VM VirtualBoxVirtualBox-7.0.12-159484D:\softwareopenSUSE-Leapopen…