一、TCP/IP协议是什么

TCP/IP协议,全称为传输控制协议/网际协议,是一组允许不同网络间进行信息传输的协议集合。它不仅包括TCPIP两个协议,而是由FTP、SMTP、TCP、UDP、IP等多个协议构成的协议族。TCP/IP协议是互联网最基本的协议,它在一定程度上参考了OSI七层模型,但为了简化和提高效率,TCP/IP协议被设计为四层结构:应用层、传输层、网络层和链路层

二、TCP/IP协议的特点

开放性:TCP/IP协议是开放的标准,允许任何网络设备或应用使用。

独立性:它独立于具体的硬件和操作系统,可以在各种计算机网络环境中实现互操作。

统一的地址分配:网络中的每个设备都有一个唯一的IP地址,确保了网络通信的准确性。

高层协议的标准化:提供了多种网络服务,如电子邮件、文件传输和远程登录

三、TCP/IP协议四层,分别都是做什么的

首先他一定程度上是参考了OSI七层模型

OSI模型定义了网络互连的七层框架,从下往上来说:物理层数据链路层、网络层、传输层、会话层、表示层、应用层),每一层实现各自的功能和协议,下面的一层为上面的一层提供服务,并完成与相邻层的接口通信

我们来说一下每一层的作用

1、物理层:它在物理媒介传输原始比特流,定义了连接主机的硬件设备和传输媒介的规范

2、数据链路层提供点对点的数据传输服务,负责将原始比特流转换为数据帧,并检测和纠正传输中出现的错误

3、网络层:负责数据包的路由和转发,以及网络中的寻址和拥塞控制

4、传输层:为应用程序提供端到端的数据传输服务,负责数据的分段、传输控制、错误恢复和流量控制

5、会话层:为应用程序提供端到端的数据传输服务,负责数据的分段、传输控制、错误恢复和流量控制

6、表示层:负责数据的格式化、加密和压缩,以确保数据在不同系统之间的交换是有效的和安全的

7、应用层:提供用户接口和应用程序之间的通信服务,用户可以访问各种网络应用程序

那每一层都有什么协议呢?

1、物理层

关于物理层后续编写数据通信方面的文章会有赘述

2、数据链路层

这一层呢是提供点对点的数据传输服务

首先是地址解析协议:ARP与RARP

一个是物理地址转IP;另一个反向地址转换,IP转物理地址

ARP将网络层的IP地址解析为数据链路层的MAC地址

主机想要建立网络连接/进行数据传输时。当主机想要与另一个主机进行通信,将数据发送到另一个主机时,它首先需要知道目标主机的MAC地址。因此,主机通常会使用ARP请求来获取目标主机的MAC地址

ARP协议在网络安全中,被hacker们利用,发起ARP攻击

主要原因在于:在局域网内将IP地址解析为MAC地址,但其无验证、无状态的设计缺陷,使其极易被利用实施ARP欺骗(ARP Spoofing/Poisoning),进而实现中间人攻击

核心机制:当主机需要通信时,会广播ARP请求,目标主机单播回复MAC地址并更新到ARP缓存表。然而,操作系统默认接受任何ARP响应,即使未发出请求,也会直接覆盖原有条目。这意味着攻击者可伪造ARP响应,诱导目标将某IP(如网关)的MAC映射为攻击者的MAC,从而劫持流量

此外常见的还有PPTP点对点隧道协议,L2TP第二层隧道协议,L2F第二层转发协议,ATMP接入隧道管理协议

3、网络层

网络层常见的协议有IP(互联网协议),ICMP(互联网控制信息协议),IGMP(组管理协议)

其中IP协议是整个TCP/IP协议族的核心,也是构成互联网的基础。IP位于TCP/IP模型的网络层(相当于OSI模型的网络层),IP层为传输层协议(如TCP、UDP)提供统一的数据报传输服务

而ICMP这个协议,它是TCP/IP协议簇的一个子协议,用于在IP主机路由器之间传递控制消息。控制消息是指网络通不通、主机是否可达、路由是否可用等网络本身的消息。这些控制消息虽然并不传输用户数据,但是对于用户数据的传递起着重要的作用

而在网络安全当中,hacker会利用ICMP来发起泛洪攻击,发送大量数据包,试图耗尽目标系统的带宽和资源,从而使其无法正常工作,是一种常见的DDOS攻击

ICMP泛洪攻击的原理

ICMP泛洪攻击的核心在于发送大量的ICMP请求数据包(通常是ECHO请求),使目标系统无法处理这些请求,从而导致服务中断。这种攻击的前提是攻击者拥有足够的带宽和数据包发送速度

那他是怎么实现的呢?

  1. 直接Flood:攻击者直接发送大量ICMP数据包,暴露自己的IP地址。这种方式适用于带宽足够且不担心被反击的情况。

  2. 伪造IP的Flood:攻击者伪造IP地址发送ICMP数据包,使受害者无法追踪到真实的攻击源。

  3. 反射攻击:攻击者将源IP地址设置为受害者IP,向多个服务器发送ICMP请求,这些服务器会向受害者返回应答,从而形成洪水攻击。

4、传输层

传输层常用协议有TCP和UDP,相对于UDP来说TCP更加可靠

它的可靠在于以下方面:

三次握手和四次挥手:TCP在建立连接时使用三次握手,确保双方都能正常发送和接收数据。第一次握手由客户端发送SYN包,服务端接收后发送SYN/ACK包,最后客户端发送ACK包确认连接建立。在断开连接时,TCP使用四次挥手,确保双方都没有数据需要发送后再断开连接。

校验和:TCP在传输数据时会计算校验和,接收方会对收到的数据进行校验,如果校验和不匹配,数据包会被丢弃。

流量控制:TCP使用滑动窗口机制进行流量控制,接收方会告知发送方自己能接收的数据量,防止发送方发送过多数据导致接收方缓冲区溢出

拥塞控制:TCP有四种拥塞控制算法:慢启动拥塞避免快速重传快速恢复。这些算法可以在网络拥塞时减少数据发送量,避免网络进一步拥塞

确认和重传机制:TCP使用确认和重传机制确保数据可靠传输。每个数据包发送后,发送方会等待接收方的确认,如果在一定时间内没有收到确认,发送方会重传数据包。

对于TCP的三次握手,在网络安全中hacker会利用它发起以下攻击:

SYN Flood 攻击:利用 TCP 三次握手缺陷的典型攻击方式。攻击者发送大量伪造的 TCP 连接请求(SYN 包),使被攻击服务器在收到 SYN 包后,创建大量半开连接并等待客户端的 ACK 响应。由于这些是伪造的 SYN 包源 IP 地址,服务器无法收到 ACK 响应,导致半开连接队列被填满,最终耗尽服务器资源,无法处理正常的连接请求

LAND 攻击:另一种针对三次握手的攻击方式。攻击者向目标主机发送一个源 IP 地址和目标 IP 地址都为目标主机的 TCP SYN 包。当目标主机收到这样的 SYN 包后,会向自己发送 SYN/ACK 包,并建立一个 TCP 连接控制结构,最终导致系统资源耗尽或系统崩溃。

此外,TCP还在安全防护中扮演着重要的角色

攻击者经常使用 TCP 端口扫描来发现目标系统上开放的服务和端口。常见的扫描技术包括 SYN 扫描、ACK 扫描和 FIN 扫描等。安全管理员可以通过监控和分析 TCP 连接尝试来检测潜在的攻击。

5、会话层

常用协议有SSL(安全套接字层协议)和TLS(传输层安全协议)

6、表示层

它主要负责数据的表示、安全和压缩。常用格式有JPEG、ASCII和EBCDIC

7、应用层

提供网络服务与最终用户的接口。常用协议有HTTP(超文本传输协议)、FTP(文件传输协议)、SMTP(简单邮件传输协议)和DNS(域名系统)

对于普通的HTTP协议来说的话,它有很多缺陷

HTTP以明文方式传输数据,攻击者可以通过网络监听工具(如Wireshark)轻松截获敏感信息,如用户名、密码和信用卡号。此外,中间人攻击(MITM)也可能导致数据被篡改或窃取。

缺乏身份认证的风险 HTTP无法验证客户端和服务器的真实性,容易被攻击者假冒。例如,DNS欺骗或ARP欺骗可能将用户引导至伪造的服务器,从而窃取敏感信息

还容易存在跨站脚本,跨站请求伪造漏洞的风险

以上就是对OSI七层模型的一些详解,接下来说一下TCP/IP协议的四层

TCP/IP协议

1、应用层

应用层包括所有和应用程序协同工作,并利用基础网络交换应用程序的业务数据的协议。一些特定的程序被认为运行在这个层上,该层协议所提供的服务能直接支持用户应用。应用层协议包括HTTP(万维网服务)、FTP(文件传输)、SMTP(电子邮件)、SSH(安全远程登陆)、DNS(域名解析)以及许多其他协议。

2、传输层

传输层主要有两个性质不同的协议:TCP传输控制协议UDP用户数据报协议

这两个协议在上面已有赘述

总体来说,TCP协议传输效率低,但可靠性强;UDP协议传输效率高,但可靠性略低,适用于传输可靠性要求不高、体量小的数据

3、网络层

在复杂的网络环境中为要发送的数据报找到一个合适的路径进行传输。简单来说,网络层负责将数据传输到目标地址,目标地址可以是多个网络通过路由器连接而成的某一个地址。另外,网络层负责寻找合适的路径到达对方计算机,并把数据帧传送给对方,网络层还可以实现拥塞控制、网际互连等功能。网络层协议的代表包括:ICMP、IP、IGMP等。

4、应用层

链路层有时也称作数据链路层或网络接口层,用来处理连接网络的硬件部分。该层既包括操作系统硬件的设备驱动、NIC(网卡)、光纤等物理可见部分,还包括连接器等一切传输媒介。在这一层,数据的传输单位为比特。其主要协议有ARP、RARP等

四、为什么有了OSI七层还要有TCP/IP,它们有什么不同吗

历史背景与标准化进程差异

  1. TCP/IP的实践先行性
    TCP/IP协议簇诞生于20世纪70年代的ARPANET项目(互联网前身),早于OSI模型的提出(1984年)。在OSI标准完善前,TCP/IP已在早期互联网中广泛应用。这种「协议先行」的特性使其在技术落地时具备天然优势。

  2. OSI的标准化滞后
    OSI模型由国际标准化组织(ISO)主导,制定过程涉及多方协调,进展缓慢。而TCP/IP通过IETF(互联网工程任务组)以RFC文档形式迭代,更适应快速发展的网络需求

不同:

  1. 分层简化与灵活性
    TCP/IP采用四层结构(网络接口层、网际层、传输层、应用层),相比OSI七层更简洁:

    • 网络接口层:融合OSI物理层和数据链路层,不强制定义底层细节。

    • 应用层:整合OSI会话层、表示层和应用层功能(如加密、压缩),降低协议栈复杂度。
      这种设计减少了层间交互开销,更利于实际实现。

  2. 面向无连接服务的支持
    TCP/IP的网际层(IP协议)专注无连接服务,传输层通过TCP/UDP分别提供面向连接和无连接服务。而OSI网络层需同时支持两种模式,增加了实现难度

Logo

AtomGit 是由开放原子开源基金会联合 CSDN 等生态伙伴共同推出的新一代开源与人工智能协作平台。平台坚持“开放、中立、公益”的理念,把代码托管、模型共享、数据集托管、智能体开发体验和算力服务整合在一起,为开发者提供从开发、训练到部署的一站式体验。

更多推荐