【计算机网络】深入解析TCP/IP参考模型:从四层架构到数据封装,全面对比OSI

TCP/IP参考模型

  • 导读
  • 一、历史背景
  • 二、分层结构
    • 2.1 网络接口层(Network Interface Layer)
    • 2.2 网络层(Internet Layer)
    • 2.3 传输层(Transport Layer)
    • 2.4 应用层(Application Layer)
  • 三、数据封装流程
  • 四、与OSI模型的对比
    • 4.1 相同点
    • 4.2 不同点
  • 结语

TCP/IP模型

导读

大家好,很高兴又和大家见面啦!!!

在上一篇内容中我们简单的了解了一下OSI模型,在今天的内容中,我们将会继续学习下一个模型TCP/IP模型。

一、历史背景

TCP/IP参考模型是计算机网络的祖父ARPANET和其后继的因特网使用的参考模型。

20世纪70年代由美国国防部ARPANET项目发展而来,旨在实现异构网络的互联。

ARPANET是由美国国防部DoD(U.S.Department of Defense)赞助的研究网络。

逐渐地它通过租用的电话线连结了数百所大学和政府部门。当无线网络和卫星出现以后,现有的协议在和它们相连的时候出现了问题,所以需要一种新的参考体系结构。

这个体系结构在它的两个主要协议出现以后,被称为TCP/IP参考模型(TCP/IP reference model)。

二、分层结构

TCP/IP参考模型是互联网通信的核心框架,它将复杂的网络通信过程简化为四个层次,确保不同设备和网络间的有效数据传输。每层承担特定功能,协同工作:

分层结构

2.1 网络接口层(Network Interface Layer)

网络接口层的功能类似于OSI参考模型的物理层和数据链路层,其作用是从主机或节点接收IP分组,并将它们发送到指定的物理网络上。

但是TCP/IP并未具体描述网络接口层的功能和协议,只是指出主机必须使用某种协议与网络连接,以便在其上传送IP分组。

因此相比于OSI的物理层与数据链路层,TCP/IP的网络接口层更加的灵活。

2.2 网络层(Internet Layer)

网络层又称网际层,是TCP/IP体系结构的关键部分,功能上它与OSI参考模型的网络层非常相似。网络层将分组发往任何网络,并为其独立地选择合适的路由,但不保证各个分组有序地到达,各个分组的有序和可靠交付由高层负责。

网络层处理数据包的路由和寻址,核心协议为IP(网际协议),负责将数据从源发送到目标,其他协议如ICMP(网络诊断)、ARP(IP转MAC地址)也在此层。

网络层仅提供无连接不可靠的IP,数据传输的单位是IP数据报。

2.3 传输层(Transport Layer)

传输层的功能同样与OSI参考模型中的传输层类似,负责端到端的数据传输,确保可靠性或实时性。主要协议包括:

  • TCP(传输控制协议)
    • 功能:面向连接,提供可靠传输(如文件下载)。
    • 传输单位:报文段
  • UDP(用户数据报协议)
    • 功能:无连接,提供不可靠传输
    • 传输单位:数据报
    • 适用于实时应用(如视频通话)。

2.4 应用层(Application Layer)

应用层对应OSI模型的应用层、表示层和会话层。它直接服务于用户应用程序,包含所有的高层协议。如:

  • 虚拟终端协议(Telent)
  • 文件传输协议(FTP)
  • 域名解析服务(DNS)
  • 电子邮件协议(SMTP)
  • 超文本传输协议(HTTP)

主要协议

三、数据封装流程

数据在各层间传递时逐层封装:

  1. 应用层:生成原始数据(如HTTP请求)。
  2. 传输层:添加TCP/UDP头部,形成数据段(Segment)或数据报(Datagram)。
  3. 网络层:添加IP头部,形成数据包(Packet)。
  4. 网络接口层:添加帧头(目标/源MAC地址)和帧尾(校验),形成帧(Frame),通过物理网络传输。

封装流程

四、与OSI模型的对比

4.1 相同点

TCP/IP模型与OSI模型有许多相似之处:

  • 二者都采取分层的体系结构,且分层的功能也大体相似;
  • 二者都基于独立的协议栈的概念;
  • 二者都可解决异构网络的互联,实现不同厂家生产的计算机之间的通信

4.2 不同点

TCP/IP模型和OSI模型也有很多差别:

  • OSI参考模型精确定义了三个主要概念:服务、协议和接口;TCP/IP模型在这三个概念上没有明确区分。
  • OSI参考模型为7层模型,TCP/IP模型为4层模型。
  • OSI参考模型先有模型,后有协议规范,通用性良好,适合描述各种网络。TCP/IP模型正好相反,即先有协议栈,后建立模型,因此不适合任何其他的非TCP/IP网络。
  • OSI参考模型在网络层支持无连接和面向连接的通信,但在传输层仅有面向连接的通信。而TCP/IP模型认为是可靠的端到端的问题,因此它在网络层仅有一种无连接的通信模式,但传输层支持无连接和面向连接的两种模式。

结语

今天的内容到这里就全部结束了,如果大家喜欢博主的内容,可以点赞、收藏加评论支持一下博主,当然也可以将博主的内容转发给你身边需要的朋友。最后感谢各位朋友的支持,咱们下一篇再见!!!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/42981.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

项目实战-角色列表

抄上一次写过的代码: import React, { useState, useEffect } from "react"; import axios from axios; import { Button, Table, Modal } from antd; import { BarsOutlined, DeleteOutlined, ExclamationCircleOutlined } from ant-design/icons;const…

LeetCode1两数之和

**思路:**懒得写了,如代码所示 /*** Note: The returned array must be malloced, assume caller calls free().*/ struct hashTable {int key;//存值int val;//存索引UT_hash_handle hh; }; int* twoSum(int* nums, int numsSize, int target, int* re…

去噪算法大比拼

目录 效果图: 实现代码: 密集抖动 pip install pykalman 效果图: 实现代码: import numpy as np import cv2 import matplotlib.pyplot as plt from scipy.ndimage import gaussian_filter1d from scipy.signal import butter, filtfilt, savgol_filter from pykalma…

STM32_HAL开发环境搭建【Keil(MDK-ARM)、STM32F1xx_DFP、 ST-Link、STM32CubeMX】

安装Keil(MDK-ARM)【集成开发环境IDE】 我们会在Keil(MDK-ARM)上去编写代码、编译代码、烧写代码、调试代码。 Keil(MDK-ARM)的安装方法: 教学视频的第02分03秒开始看。 安装过程中请修改一下下面两个路径,避免占用C盘空间。 Core就是Keil(MDK-ARM)的…

深入理解MySQL聚集索引与非聚集索引

在数据库管理系统中,索引是提升查询性能的关键。MySQL支持多种类型的索引,其中最基础也是最重要的两种是聚集索引和非聚集索引。本文将深入探讨这两种索引的区别,并通过实例、UML图以及Java代码示例来帮助您更好地理解和应用它们。 一、概念…

【leetcode】拆解与整合:分治并归的算法逻辑

前言 🌟🌟本期讲解关于力扣的几篇题解的详细介绍~~~ 🌈感兴趣的小伙伴看一看小编主页:GGBondlctrl-CSDN博客 🔥 你的点赞就是小编不断更新的最大动力 🎆那么废话不…

wx162基于springboot+vue+uniapp的在线办公小程序

开发语言:Java框架:springbootuniappJDK版本:JDK1.8服务器:tomcat7数据库:mysql 5.7(一定要5.7版本)数据库工具:Navicat11开发软件:eclipse/myeclipse/ideaMaven包&#…

陈宛汮签约2025火凤凰风赏大典全球形象大使

原标题:陈宛汮签约2025火凤凰风赏大典全球形象大使 共工新闻社香港3月29日电 陈宛汮,华语原创女歌手。“星宝在闪耀”公益活动联合发起人,自闭症儿童康复推广大使。代表作:《荣耀火凤凰》《爱在醉千年》。 从2025年1月1日至2025年12月31日&a…

【深度学习入门_机器学习理论】极致梯度提升原理(XGBoost)

XGBoost(eXtreme Gradient Boosting)是一种高效、灵活且广泛应用的机器学习算法,属于梯度提升决策树(Gradient Boosting Decision Tree, GBDT) 的优化实现。它在分类、回归、排序等结构化/表格数据的预测任务中表现尤为…

Oracle初识:登录方法、导入dmp文件

目录 一、登录方法 以sys系统管理员的身份登录 ,无需账户和密码 以账户密码的用户身份登录 二、导入dmp文件 方法一:PLSQL导入dmp文件 一、登录方法 Oracle的登录方法有两种。 以sys系统管理员的身份登录 ,无需账户和密码 sqlplus / a…

STM32F103_LL库+寄存器学习笔记01 - 梳理CubeMX生成的LL库最小的裸机系统框架

《STM32 - 在机器人领域,LL库相比HAL优势明显》在机器人、自动化设备领域使用MCU开发项目,必须用LL库。 本系列笔记记录使用LL库的开发过程,首先通过CubeMX生成LL库代码,梳理LL库源码。通过学习LL库源码,弄清楚寄存器的…

Vue3当中el-tree树形控件使用

tree悬停tooltip效果 文本过长超出展示省略号 如果文本超出悬停显示tooltip效果 反之不显示 这里直接控制固定宽度限制 试了监听宽度没效果<template><el-treeshow-checkbox:check-strictly"true":data"data"node-key"id":props"…

最大数字(java)(DFS实现)

1.最大数字 - 蓝桥云课 因为N最大是10 的17次方&#xff0c; 所以可以利用字符串来处理输入的数字的每一位 并且是从高到低依次处理的 然后通过函数charAt(i)来获取第i位的字符 再减去‘0’就可以将字符转化为整型了 假设每一位数字都是x 然后通过两种操作 加或者减来操…

04 单目标定实战示例

看文本文,您将获得以下技能: 1:使用opencv进行相机单目标定实战 2:标定结果参数含义和数值分析 3:Python绘制各标定板姿态,查看图像采集多样性 4:如果相机画幅旋转90,标定输入参数该如何设置? 5:图像尺寸缩放,标定结果输出有何影响? 6:单目标定结果应用类别…

手机销售终端MPR+LTC项目项目总体方案P183(183页PPT)(文末有下载方式)

资料解读&#xff1a;手机销售终端 MPRLTC 项目项目总体方案 详细资料请看本解读文章的最后内容。在当今竞争激烈的市场环境下&#xff0c;企业的销售模式和流程对于其发展起着至关重要的作用。华为终端正处于销售模式转型的关键时期&#xff0c;波士顿 - 华为销售终端 MPRLTC …

如何在 vue 渲染百万行数据,vxe-table 渲染百万行数据性能对比,超大量百万级表格渲染

vxe-table 渲染百万行数据性能对比&#xff0c;超大量百万级表格渲染&#xff1b;如何在 vue 渲染百万行数据&#xff1b;当在开发项目时&#xff0c;遇到需要流畅支持百万级数据的表格时&#xff0c; vxe-table 就可以非常合适了&#xff0c;不仅支持强大的功能&#xff0c;虚…

ubuntu24 部署vnc server 使用VNC Viewer连接

前提条件 已创建一台Ubuntu 24.04(20.22通用)操作系统的云服务器&#xff0c;并且为云服务器绑定弹性公网IP&#xff0c;确保可以连接互联网。 已在本地PC安装VNC Viewer客户端。 操作步骤 服务器内安装vnc server以及桌面环境 apt update sudo apt install xfce4 xfce4-…

【数据结构】栈 与【LeetCode】20.有效的括号详解

目录 一、栈1、栈的概念及结构2、栈的实现3、初始化栈和销毁栈4、打印栈的数据5、入栈操作---栈顶6、出栈---栈顶6.1栈是否为空6.2出栈---栈顶 7、取栈顶元素8、获取栈中有效的元素个数 二、栈的相关练习1、练习2、AC代码 个人主页&#xff0c;点这里~ 数据结构专栏&#xff0c…

06-SpringBoot3入门-常见注解(简介)

1、Controller ResponseBody Controller是Spring MVC 中的注解&#xff0c;负责处理 HTTP 请求。 ResponseBody是Spring MVC 中的注解&#xff0c;用于直接将方法的返回值作为 HTTP 响应体。 2、RestController RestController Controller ResponseBody 3、RequestMappin…

工作记录 2017-03-10

工作记录 2017-03-10 序号 工作 相关人员 1 修改邮件上的问题。 更新RD服务器。 郝 更新的问题 1、修改了payment detail和patient insurance的health plan的输入方式。 2、new payment detail时&#xff0c;增加了allowable的处理。 3、选择payer的窗体&#xff0c;增…