当前位置: 首页 > article >正文

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

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

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) 报文,其中包含:

      • 对服务器 SYN 报文的确认号(ACK = 服务器的 ISN + 1)。

    • 客户端和服务器都进入 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.kler.cn/a/542001.html

相关文章:

  • 如何通过腾讯 ima.copilot 训练自己的知识库
  • C++ Primer 类型转换
  • Git 分布式版本控制工具使用教程
  • Qt - 地图相关 —— 2、Qt调用百度在线地图功能示例全集,包含线路规划、地铁线路查询等(附源码)
  • 尝试一下,交互式的三维计算python库,py3d
  • 5 个释放 安卓潜力的 Shizuku 应用
  • Neo4j OGM学习和体验
  • Python使用OpenCV图片去水印多种方案实现
  • 天神之眼vs华为智驾
  • 计算机毕业设计——Springboot的旅游管理
  • 【鸿蒙HarmonyOS Next实战开发】mp4parser库-音视频裁剪、合成、取帧等操作
  • 【R语言】t检验
  • C# ASP.NET 介绍
  • Arduino 第十四章:led点阵
  • 渗透利器工具:Burp Suite 联动 XRAY 图形化工具.(主动扫描+被动扫描)
  • 1.【线性代数】——方程组的几何解释
  • 机器学习10-卷积和卷积核3
  • 12.项目结构
  • 亚远景-ASPICE标准在全球汽车行业的实践与展望
  • 除了重定向,还有其他方法处理未定义路由吗?
  • C# 上位机--变量
  • MongoDB进阶篇-索引
  • LabVIEW多电机CANopen同步
  • macbook2015升级最新MacOS 白苹果变黑苹果
  • 哈希表实现(C++实现)
  • 【橘子ES】Aggregations 聚合准备