TCP/IP参考模型和网络协议

news/2025/2/12 7:29:56/

由于国防部担心他们一些重要的主机、路由器和互联网关可能会突然崩溃,所以网络必须实现的另一目标是网络不受子网硬件损失的影响,已经建立的会话不会被取消,而且整个体系结构必须相当灵活。

TCP/IP是一组用于实现网络互连的通信协议。Internet网络体系结构以TCP/IP为核心。基于TCP/IP的参考模型将协议分成四个层次,它们分别是:网络访问层、网际互联层(主机到主机)、传输层、和应用层。这个模型帮助实现不同网络设备和协议之间的互操作性。

1. **应用层**:提供网络服务给用户应用程序,负责数据的格式化、表示和处理,如HTTP、FTP、SMTP等协议。

2. **传输层**:负责端到端的数据传输,确保数据完整性和顺序,主要协议有TCP(面向连接)和UDP(无连接)。

3. **网络层**:负责数据包的路由和转发,确保数据从源主机到达目的主机,主要协议为IP(互联网协议)。

4. **链路层**:负责在物理网络上进行数据传输,处理数据帧的封装和解封装,涉及硬件地址和局域网协议,如Ethernet。

TCP/IP和OSI模型是两种不同的网络通信模型,主要区别如下:

1. **层数**:
   - **OSI模型**:有7层(物理层、数据链路层、网络层、传输层、会话层、表示层、应用层)。
   - **TCP/IP模型**:通常有4层(网络接口层、互联网层、传输层、应用层)。

2. **设计目的**:
   - **OSI模型**:是一个理论模型,旨在提供一个标准化的框架来理解和设计网络协议。
   - **TCP/IP模型**:是一个实际应用模型,基于实际的网络协议(如TCP和IP)而设计。

3. **协议依赖**:
   - **OSI模型**:不依赖于特定的协议,提供了一个通用的框架。
   - **TCP/IP模型**:紧密依赖于TCP和IP协议,强调协议的实际使用。

4. **层间关系**:
   - **OSI模型**:每层都有明确的功能和接口,层与层之间的关系较为严格。
   - **TCP/IP模型**:层与层之间的界限不如OSI模型明确,某些层的功能可能会重叠。

5. **应用广泛性**:
   - **OSI模型**:主要用于教学和理论研究。
   - **TCP/IP模型**:广泛应用于实际的网络通信中,是互联网的基础。

总结:OSI模型是一个理论框架,强调标准化和分层,而TCP/IP模型是一个实际应用框架,基于具体协议。

1. POP3 (Post Office Protocol version 3)

  • 全拼含义: 邮局协议版本3

  • 端口号: 110 (默认),995 (SSL加密)

  • 原理: POP3用于从邮件服务器下载电子邮件到本地客户端。它通常会将邮件从服务器上删除,但也可以配置为保留副本

2. FTP (File Transfer Protocol)

  • 全拼含义: 文件传输协议

  • 端口号: 20 (数据端口),21 (控制端口)

  • 原理: FTP用于在客户端和服务器之间传输文件。它使用两个连接:一个用于控制命令,另一个用于数据传输。

3. HTTP (HyperText Transfer Protocol)

  • 全拼含义: 超文本传输协议

  • 端口号: 80 (默认),443 (HTTPS)

  • 原理: HTTP用于在Web浏览器和Web服务器之间传输超文本(如HTML页面)。它是无状态的,每个请求都是独立的。

4. Telnet

  • 全拼含义: 远程登录协议

  • 端口号: 23

  • 原理: Telnet允许用户通过网络远程登录到另一台计算机,并在远程计算机上执行命令。它不加密数据,因此安全性较低。

5. SMTP (Simple Mail Transfer Protocol)

  • 全拼含义: 简单邮件传输协议

  • 端口号: 25 (默认),587 (加密)

  • 原理: SMTP用于发送电子邮件。它将邮件从客户端传输到邮件服务器,或在不同邮件服务器之间传输。

6. DHCP (Dynamic Host Configuration Protocol)

  • 全拼含义: 动态主机配置协议

  • 端口号: 67 (服务器),68 (客户端)

  • 原理: DHCP自动为网络中的设备分配IP地址和其他网络配置(如子网掩码、默认网关等),简化了网络管理。

7. TFTP (Trivial File Transfer Protocol)

  • 全拼含义: 简单文件传输协议

  • 端口号: 69

  • 原理: TFTP是一个简单的文件传输协议,通常用于在网络设备之间传输小文件。它使用UDP协议,不提供认证或加密。

8. SNMP (Simple Network Management Protocol)

  • 全拼含义: 简单网络管理协议

  • 端口号: 161 (查询),162 (陷阱)

  • 原理: SNMP用于管理和监控网络设备(如路由器、交换机等)。它允许网络管理员收集设备的状态信息并对其进行配置。

9. DNS (Domain Name System)

  • 全拼含义: 域名系统

  • 端口号: 53

  • 原理: DNS将人类可读的域名(如www.example.com)转换为机器可读的IP地址(如192.0.2.1),以便在网络上定位资源。

10. TCP (Transmission Control Protocol)

  • 全拼含义: 传输控制协议

  • 端口号: 无固定端口号,根据应用层协议而定

  • 原理: TCP是一种面向连接的协议,提供可靠的数据传输。它通过三次握手建立连接,在建立连接时使用的过程,确保通信双方能够同步序列号并确认彼此的通信能力。确保数据包的顺序和完整性。以下是三次握手的原理和步骤:

三次握手的过程

  1. 第一次握手(SYN)

    • 客户端向服务器发送一个 SYN(Synchronize) 报文,其中包含:

      • 客户端的初始序列号(ISN,Initial Sequence Number)。

      • 其他 TCP 标志位(如窗口大小等)。

    • 客户端进入 SYN_SENT 状态,等待服务器的确认。

  2. 第二次握手(SYN + ACK)

    • 服务器收到客户端的 SYN 报文后,向客户端发送一个 SYN + ACK 报文,其中包含:

      • 服务器的初始序列号(ISN)。

      • 对客户端 SYN 报文的确认号(ACK = 客户端的 ISN + 1)。

    • 服务器进入 SYN_RECEIVED 状态。

  3. 第三次握手(ACK)

    • 客户端收到服务器的 SYN + ACK 报文后,向服务器发送一个 ACK(Acknowledgment) 报文,其中包含:

    • 客户端和服务器都进入 ESTABLISHED 状态,连接建立成功。

        

三次握手的原理

  • 同步序列号:三次握手的主要目的是让通信双方同步初始序列号(ISN),确保数据包按顺序传输。

  • 确认通信能力:通过三次交互,双方确认彼此能够正常发送和接收数据。

  • 防止历史连接干扰:如果客户端发送的 SYN 报文因网络延迟而迟到,服务器可以通过第三次握手判断是否为有效连接。


11. UDP (User Datagram Protocol)

  • 全拼含义: 用户数据报协议

  • 端口号: 无固定端口号,根据应用层协议而定

  • 原理: UDP是一种无连接的协议,提供不可靠的数据传输。它不保证数据包的顺序或完整性,但传输速度较快。

 

12. IP (Internet Protocol)

  • 全拼含义: 网际协议

  • 端口号: 无端口号

  • 原理: IP负责在网络中寻址和路由数据包。它为每个设备分配唯一的IP地址,并确保数据包从源地址传输到目标地址。

13. ICMP (Internet Control Message Protocol)

  • 全拼含义: 互联网控制消息协议

  • 端口号: 无端口号

  • 原理: ICMP用于在IP网络中发送错误报告和操作信息。常见的应用包括ping和traceroute。

14. IGMP (Internet Group Management Protocol)

  • 全拼含义: 互联网组管理协议

  • 端口号: 无端口号

  • 原理: IGMP用于管理IP组播组成员。它允许主机加入或离开组播组,并通知路由器组播组成员的变化。

15. ARP (Address Resolution Protocol)

  • 全拼含义: 地址解析协议

  • 端口号: 无端口号

  • 原理: ARP用于将IP地址解析为物理MAC地址,以便在局域网中传输数据帧。

16. RARP (Reverse Address Resolution Protocol)

  • 全拼含义: 反向地址解析协议

  • 端口号: 无端口号

  • 原理: RARP用于将物理MAC地址解析为IP地址。它通常用于无盘工作站获取IP地址。


http://www.ppmy.cn/news/1571356.html

相关文章

机器学习之数学基础:线性代数、微积分、概率论 | PyTorch 深度学习实战

前一篇文章,使用线性回归模型逼近目标模型 | PyTorch 深度学习实战 本系列文章 GitHub Repo: https://github.com/hailiang-wang/pytorch-get-started 本篇文章内容来自于 强化学习必修课:引领人工智能新时代【梗直哥瞿炜】 线性代数、微积分、概率论 …

2025年前端常见面试题总结及其答案解析...万字长文持续更新..(最新至2月份)

以下是2025年前端常见面试题总结及其答案解析&#xff0c;涵盖了基础知识、框架、性能优化等多个方面。 1. HTML/CSS 问题&#xff1a;什么是语义化HTML&#xff1f; 解析&#xff1a;语义化HTML指的是使用能够明确表达内容意义的HTML标签。例如&#xff0c;使用<header&…

【算法学习】拓扑排序(Topological Sorting)

目录 定义 例子 拓扑排序的实现 核心思想 实现方法 1&#xff0c;Kahn算法&#xff08;基于贪心策略&#xff09; 步骤&#xff1a; 用二维数组存储图的例子 用哈希表存储图的例子 2&#xff0c;基于DFS的后序遍历法 总结 拓扑排序的应用场景 1&#xff0c;任务调度 …

【Linux Oracle】安装Oracle 19c客户端

Oracle相关文档&#xff0c;希望互相学习&#xff0c;共同进步 风123456789&#xff5e;-CSDN博客 1.背景 今天需要在一台服务器上只装Oracle客户端&#xff0c;用于连接其他服务器的库&#xff0c;以下为详细安装过程记录。 主要步骤&#xff1a;1&#xff09;用户、组 2&a…

AI时代下的安全新基石:零信任架构在人工智能系统中的应用

在AI飞速发展的今天&#xff0c;构建安全可靠的AI系统至关重要。然而&#xff0c;传统的安全模型已无法有效应对AI系统面临的独特挑战。 AI代码生成器 等AI工具的应用日益广泛&#xff0c;其安全问题也日益突出。因此&#xff0c;零信任安全方法应运而生&#xff0c;为AI安全提…

java项目之基于用户兴趣的影视推荐系统设计与实现源码(ssm+mysql)

风定落花生&#xff0c;歌声逐流水&#xff0c;大家好我是风歌&#xff0c;混迹在java圈的辛苦码农。今天要和大家聊的是一款基于ssm的基于用户兴趣的影视推荐系统设计与实现。项目源码以及部署相关请联系风歌&#xff0c;文末附上联系信息 。 项目简介&#xff1a; 基于用户…

树莓派上 基于Opencv 实现人脸检测与人脸识别

一&#xff0c;需求 基于树莓派4b&#xff0c;usb1080p摄像头&#xff0c;实现人脸检测与人脸识别。尝试了海陵科的模组和百度的sdk。海陵科的模组无法录入人脸&#xff0c;浪费了100多块钱。百度的sdk 在树莓派上也无法录入人脸&#xff0c;官方解决不了。最后只能用opencv自…

【对比测评】 .NET 应用的 Web 视图控件:DotNetBrowser 或 EO.WebBrowser

您是否需要 .NET 应用的 Web 视图控件&#xff1f;.NET 生态系统提供了很多东西&#xff0c;有免费的 Web 视图控件&#xff0c;既有开源的&#xff0c;也有专有的。还有一些商业 Web 视图 控件&#xff0c;也是企业经常选择的一种选项。 在这篇博文中&#xff0c;我们比较了商…