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

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.hqwc.cn/news/413629.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Unity 编辑器篇|(九)编辑器美化类( GUIStyle、GUISkin、EditorStyles) (全面总结 | 建议收藏)

目录 1. GUIStyle1.1 参数总览1.2 样式代码 2. GUISkin2.1 参数总览2.2 创建自定义Skin 3. EditorStyles2.1 参数总览1.2 反射获取所有EditorStyles 1. GUIStyle GUIStyle是一个用于定制GUI控件样式的类,它包含了控件的外观属性,如字体、颜色、背景等。…

html + css + js简单的项目

以下内容直接复制粘贴就能运行 <!DOCTYPE html> <html lang"en"><head><meta charset"UTF-8"><meta name"viewport" content"widthdevice-width, initial-scale1.0"><title>Document</title&…

傲空间私有部署 Linux 指南

推荐阅读 智能化校园&#xff1a;深入探讨云端管理系统设计与实现&#xff08;一&#xff09; 智能化校园&#xff1a;深入探讨云端管理系统设计与实现&#xff08;二&#xff09; 安装 docker 请下载对应的 Docker&#xff0c;安装完成后启动。Install Docker Engine on Ubu…

精品量化公式——“大资金雷达”,量价信号组合,精准探底!不漂移!

不多说&#xff0c;直接上效果如图&#xff1a; ► 日线表现 代码评估 技术指标代码评估&#xff1a; VA&#xff08;Volume Accumulation&#xff09;&#xff1a;这个公式计算了成交量的累积&#xff0c;如果当前收盘价高于前一天的收盘价&#xff0c;则累积成交量为正值&a…

Android Dialog setCanceledOnTouchOutside失效,点击dialog外面不消失

前言&#xff1a;有一个需求需要点击dialog外面要消失&#xff0c;本来以为很简单结果设置了一直未生效 setCanceledOnTouchOutside(true); 问了半天chat-gpt4结果给的答案都不明显 查看代码发现设置了style&#xff0c;于是尝试去除这个style&#xff0c;结果点击setCancele…

计算机毕业设计 基于MVC的自习室管理和预约系统的设计与实现 Java实战项目 附源码+文档+视频讲解

博主介绍&#xff1a;✌从事软件开发10年之余&#xff0c;专注于Java技术领域、Python人工智能及数据挖掘、小程序项目开发和Android项目开发等。CSDN、掘金、华为云、InfoQ、阿里云等平台优质作者✌ &#x1f345;文末获取源码联系&#x1f345; &#x1f447;&#x1f3fb; 精…

Unity Mirror VR联机开发 实战篇(二)

一、迁移示例中的联机物体 1、将MirrorExamplesVR工程中的部分文件夹复制到自己的工程中。 1、打开MirrorExamplesVR中的 SceneVR-Common场景。 2、将场景中没用的东西都删掉&#xff0c;只留下面这些&#xff0c;新建一个空物体XR Mirror&#xff0c;将所有剩下的物体拖成XR …

机器人客服系统的接待模式

机器人客服接待模式 人工接待 没有机器人回复&#xff0c;人工客服回复 机器人接待 先机器人接待自动回复&#xff0c;可转接人工后&#xff0c;人工接待回复 可以设置机器人无法回答时的语句 可以设置多个转接人工的关键词 机器人人工接待 机器人自动回复和人工一块接待…

什么是网络安全,如何防范?

网络安全&#xff08;Cyber Security&#xff09;是指网络系统的硬件、软件及其系统中的数据受到保护&#xff0c;不因偶然的或者恶意的原因而遭受到破坏、更改、泄露&#xff0c;系统连续可靠正常地运行&#xff0c;网络服务不中断。 网络安全涵盖了网络设备安全、网络信息安全…

基于深度学习的交通标志检测和识别(从原理-环境配置-代码运行)

基于深度学习的交通标志检测和识别是一种先进的计算机视觉技术&#xff0c;利用深度神经网络模型来准确地检测和识别道路上的各种交通标志。下面是对其介绍并分点阐述其重要性和应用场景&#xff1a; 1. 深度学习技术&#xff1a; 交通标志检测和识别利用深度学习技术&#x…

STM32标准库——简介、工程建立

1.硬件设备 STM32面包板入门套件Windows电脑万用表、示波器、镊子、剪刀等 2.套件介绍 3.STM32简介 STM32是ST公司基于ARM Cortex-M内核开发的32位微控制器STM32常应用在嵌入式领域&#xff0c;如智能车、无人机、机器人、无线通信、物联网、工业控制、娱乐电子产品等STM32功…