网络安全-网络安全基础

一、 网络安全概述

TCP/IP协议定义了一个对等的开放性网络,使得连接到这个网络中的所有用户都可能面临来自网络中的恶意的破坏和攻击。这些攻击通过网络通信协议、网络应用协议甚至物理传输链路来实现。主要针对于软件和硬件进行攻击。那在互联网上如何保证自己的安全呢?

二、 TCP/IP 协议技术

了解网络中的基础模型。为更简单有效的了解网络,我们将网络分层进行详细的解读。目前广为人知的网络模型为OSI模型和TCP/IP模型。这两个模型的提出大大降低了网络学习和分析的难度。

1. OSI 模型

OSI(Open System Interconnect Reference Model),开放式互联参考模型。1984年,由ISO发布了著名的ISO/IEC 7498标准,定义了网络互联的7层框架。

OSI模型设计的目的是成为一个所有的销售商都能实现的开放网络模型,来克服使用众多私有网络模型所带来的困难和低效性。他是网络技术的基础。

1.1 OSI 模型的优点

l 提供设备间的兼容性和标准接口,使各个厂商能够设计除互操作的网络设备,促进标准化工作,加快数据通信网络发展。

l 采用分层体系结构,各层可以独立修改或扩容,分层设计有助于将问题化繁为简,由助于学习、理解和分析网络结构

1.2 OSI 七层模型

1.3 数据的封装和解封装

封装

是指网络节点要将传送的数据用特定协议头打包来传送数据,同时在某些层进行数据处理时,也会在数据尾部加上报文

解封装

和封装相反

OSI 七层模型中每一层都会对数据进行封装,以保证数据能够正确无误的到达目的地,被终端接收和执行

网络数据处理的流程:

2 TCP/IP 模型

2.1 TCP/IP 模型协议各层作用

TCP/IP 协议每一层都有对应的相关协议,且均为达成某一网络功能而设计

2.2 应用层协议

HTTP(超文本传输协议):用于访问WWW服务器的各种网页

FTP(文件传输协议):用于文件接收和发送

DNS(域名服务系统):实现主机域名和IP的转换

2.3 传输层协议

TCP(传输控制协议):为应用程序提供可靠的面向连接的服务

UDP(用户数据协议):不可靠,属于无连接通信,可靠性由应用层负责

2.4 网络层协议

IP(互联网协议):IP和路由协议协同工作,寻找能够将数据包传送的最短路径,提供无连接,不可靠的服务

ARP(地址解析协议):把已知的IP地址解析为MAC地址

ICMP(网际控制消息协议):定义网络层控制和传递消息的功能

IGMP(网际组管理协议):用于组播成员管理

2.5 网络接入层协议

逻辑链路控制子层(LLC)

介质访问控制子层(MAC)

2.6 套接字

套接字(Socket)是支持TCP/IP的网络通信的基本操作单元,是通信双方的一种约定,用套接字中的相关函数来完成通信过程,一个套接字由相关的五元组构成

通信过程中使用源套接字来表示TCP/IP会话的源端点,用目的套接字来表示目的端点。

三、 TCP/IP 协议安全

1. IPv4 安全隐患

IPv4设计之初,首先应用于研究环境,针对少量的、可信的用户群体。没有考虑网络安全的因素。随着TCP/IP的广泛应用,很多安全风险的问题逐渐显现。

  • 不提供认证服务
  • 明文传输,不提供数据保密性服务
  • 不提供数据完整性保护
  • 不提供抗抵赖服务

2. TCP/IP 协议栈常见的威胁

物理层:

物理破坏,线路侦听

数据链路层:

MAC地址欺骗,MAC地址泛洪,ARP欺骗等

网络层:

IP地址欺骗,Smurf攻击,ICMP泛洪攻击,地址扫描等

传输层:

TCP欺骗,DOS,DDOS,端口扫描攻击

应用层:

漏洞,缓冲区溢出攻击,病毒,web攻击,木马等

相关推荐
fouryears_234171 小时前
Flutter InheritedWidget 详解:从生命周期到数据流动的完整解析
开发语言·flutter·客户端·dart
我好喜欢你~1 小时前
C#---StopWatch类
开发语言·c#
lifallen3 小时前
Java Stream sort算子实现:SortedOps
java·开发语言
IT毕设实战小研3 小时前
基于Spring Boot 4s店车辆管理系统 租车管理系统 停车位管理系统 智慧车辆管理系统
java·开发语言·spring boot·后端·spring·毕业设计·课程设计
sinat_286945193 小时前
AI应用安全 - Prompt注入攻击
人工智能·安全·prompt
cui__OaO4 小时前
Linux软件编程--线程
linux·开发语言·线程·互斥锁·死锁·信号量·嵌入式学习
鱼鱼说测试5 小时前
Jenkins+Python自动化持续集成详细教程
开发语言·servlet·php
艾莉丝努力练剑5 小时前
【洛谷刷题】用C语言和C++做一些入门题,练习洛谷IDE模式:分支机构(一)
c语言·开发语言·数据结构·c++·学习·算法
CHEN5_025 小时前
【Java基础面试题】Java基础概念
java·开发语言
杜子不疼.7 小时前
《Python学习之字典(一):基础操作与核心用法》
开发语言·python·学习