一文带你了解TCP/IP模型以及封装和分用

文章目录

  • 1. 网络协议
  • 2. OSI七层网络模型
  • 3.TCP/IP (五层/四层)
  • 4. 封装和分用

在这里插入图片描述

1. 网络协议

网络协议是计算机网络中用于规定数据在网络中传输和处理的规则,它定义了在网络中通信的格式、规范和顺序。网络协议可以分为不同的层次,每个层次负责不同的功能和任务,通过协议栈的方式实现网络通信。

常见的网络协议包括:

  1. 传输控制协议(TCP):TCP协议是一种面向连接的、可靠的传输协议,它通过建立连接、数据分段、流量控制、拥塞控制等机制来实现可靠的数据传输。
  2. 网络互联协议(IP):IP协议是一种无连接的、不可靠的协议,它负责将数据包从源主机传输到目标主机,并为它们分配唯一的IP地址。
  3. 超文本传输协议(HTTP):HTTP协议是一种用于在Web上传输超文本的协议,它定义了浏览器和服务器之间的通信规则,包括请求和响应的格式、状态码、请求方法等。
  4. 网际组管理协议(ICMP):ICMP协议是一种用于传输与IP协议相关的消息的协议,它用于网络异常、错误、路由信息等的传输和通知。
  5. 动态主机配置协议(DHCP):DHCP协议是一种用于自动分配IP地址的协议,它允许在局域网上自动分配和管理IP地址,避免了手动配置的繁琐性。
  6. 域名系统(DNS):DNS协议是一种用于将域名转换为IP地址的协议,它通过将域名映射到相应的IP地址,实现了人类可读的域名与计算机可理解的IP地址之间的转换。
  7. 文件传输协议(FTP):FTP协议是一种用于在计算机之间传输文件的协议,它支持文件上传、下载、删除、重命名等操作。
  8. 简单邮件传输协议(SMTP):SMTP协议是一种用于在计算机之间传输电子邮件的协议,它定义了邮件的传输格式和通信规则。

网络协议分层有两种: OSI七层网络模型和TCP/IP(五层/四层)

2. OSI七层网络模型

  1. 应用层:负责处理用户应用程序之间的通信和数据交换。这包括应用程序协议(如HTTP、FTP、SMTP等)、资源定位和身份验证等功能。
  2. 表示层:负责数据格式的转换和加密解密等。它可确保不同计算机之间的数据能够正确交换和解释,并处理数据的压缩和加密。
  3. 会话层:负责建立、管理和终止会话(会话是应用程序之间的通信会话)。它提供了会话控制和同步功能,以确保数据在不同应用程序之间的有序传输。
  4. 传输层:负责在网络中的端到端通信提供可靠性和数据流控制(如TCP),或者提供无连接的、不可靠的数据传输(如UDP)。它还处理数据的分段和重组以及错误检测和纠正。
  5. 网络层:负责处理不同网络之间的路由和转发,以及数据包的传输。这包括IP地址的分配和路由选择。
  6. 数据链路层:负责将数据包转换为比特流并在网络的物理媒介上进行传输。它通过物理地址(如MAC地址)来识别网络设备,提供了数据帧的传输和错误检测等功能。
  7. 物理层:负责在物理媒介上传输比特流。它定义了电压、电缆规范、传输速率等细节,确保数据能够在物理媒介上正确传输。

OSI七层网络模型其实并不适用,了解即可

3.TCP/IP (五层/四层)

对于TCP/IP是五层还是四层,其实都是对的.有的地方说五层是因为把"物理层"算进去了. 这一层属于"硬件". 而其它四层都属于"软件". 所以导致有的地方没把物理层算进去.

与OSI七层模型相比,TCP/IP模型更简洁:

  1. 应用层
  2. 传输层
  3. 网络层
  4. 数据链路层

4. 封装和分用

假设张三要在微信上给李四发一句"hello"

在这里插入图片描述
上述就是一个简单的封装过程

  • 应用层对应着应用程序
  • 传输层是操作系统内核实现的,操作系统会提供一系列API给应用程序,调用这些系统API就可以把应用层的数据交给传输层
  • 传输层有很多协议,最典型的就是TCP,以TCP为例,TCP协议就要在原来数据的基础上添加TCP协议报头.传输层再把数据交给网络层
  • 网络层中最典型的协议就是IP协议,IP协议把整个TCP数据报视为整体,作为载荷部分,再添加IP协议报头
    数据链路层中的协议也很多,最典型的就是"以太网"

封装是由上往下,依次添加信息,

在这里插入图片描述
当李四这个客户端收到张三发来的数据报时

  • 数据链路层会根据以太网协议,去除帧头和帧尾,拿到载荷部分并交给网络层
  • 网络层会根据IP协议,去除IP协议报头,拿到载荷部分并交给传输层
  • 传输层根据TCP协议,再去除TCP报头,再交给应用层
  • 应用层再把数据进行解析,再显示在应用程序上

而分用则是从下往上,依次去除添加的信息.

在这里插入图片描述

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

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

相关文章

Python模块psycopg2连接postgresql

目录 1. 基础语法 2. 基础用法 3. 多条SQL 4. 事务SQL 1. 基础语法 语法 psycopg2.connect(dsn #指定连接参数。可以使用参数形式或 DSN 形式指定。host #指定连接数据库的主机名。dbname #指定数据库名。user #指定连接数据库使用的用户名。…

寄存器详解(一)

目录 前言: 通用寄存器 示例: 通用寄存器的划分 汇编指令 cpu物理地址的形成 地址加法器运算示例: 1. 相关部件提供段地址和偏移地址 2. 段地址和偏移地址送入地址加法器 3. 段地址*16 4. 求出物理地址 5. 输出物理地址 段的概念 Deb…

[C++项目] Boost文档 站内搜索引擎(3): 建立文档及其关键字的正排 倒排索引、jieba库的安装与使用...

之前的两篇文章: 第一篇文章介绍了本项目的背景, 获取了Boost库文档 🫦[C项目] Boost文档 站内搜索引擎(1): 项目背景介绍、相关技术栈、相关概念介绍…第二篇文章 分析实现了parser模块. 此模块的作用是 对所有文档html文件, 进行清理并汇总 🫦[C项目] …

牛客网Verilog刷题——VL56

牛客网Verilog刷题——VL56 题目答案 题目 实现4bit无符号数流水线乘法器设计。电路的接口如下图所示: 输入输出描述: 信号类型输入/输出位宽描述clkwireInput1系统时钟信号rst_nwireInput1异步复位信号,低电平有效mul_awireInputsize乘数mu…

Selenium Chrome Webdriver 如何获取 Youtube 悬停文本

导语 Youtube 是一个非常流行的视频分享平台,有时候我们可能想要爬取一些视频的信息,比如标题、播放量、点赞数等。但是有些信息并不是直接显示在网页上的,而是需要我们将鼠标悬停在某个元素上才能看到,比如视频的时长、上传时间…

NGZORRO:动态表单/模型驱动 的相关问题

官网的demo的[nzFor]"control.controlInstance"&#xff0c;似乎是靠[formControlName]"control.controlInstance"来关联的。 <form nz-form [formGroup]"validateForm" (ngSubmit)"submitForm()"><nz-form-item *ngFor&quo…

ThinkPHP v6.0.8 CacheStore 反序列化漏洞

漏洞说明 1. 漏洞原理&#xff1a;ThinkPHP 6.0.8 CacheStore 会触发POP利用链子&#xff0c;造成任意命令执行 2. 组件描述&#xff1a; ThinkPHP是一个免费开源的&#xff0c;快速、简单的面向对象的轻量级PHP开发框架 3. 影响版本&#xff1a;V6.0.8 漏洞复现 1. 环境安…

git删除已经提交的大文件

当你不小心把一个巨大的二进制文件提交到git仓库的时候&#xff0c;此时删除再提交也没有用了&#xff0c;大文件已经在仓库中留底了。另外比如需要删除某个需要保密的文件&#xff0c;都是相同的解决办法。 我本来想着把dll放在三方库里面提交到仓库里&#xff0c;省得在不同…

3.playbook剧本二

文章目录 playbook二Roles模块roles模式安装LNMP创建nginxfiles目录handlers目录tasks目录templates目录vars目录 创建mysqltasks目录 创建phpfiles目录handlers目录tasks目录templates目录vars目录 创建LNMP剧本文件 playbook二 Roles模块 角色的作用&#xff1a;把playbook…

安全渗透知识总结二

目录 一、html实体编码 1、Unicode字符编码 2、字符的数字表示 3、常见实体编码 4、url 协议 主机 http状态码 http常用的状态码 端口 常见协议端口 查询参数 锚点 url字符 urlcode字符 绝对url和相对url 二、字符编码 Ascll字符集 html字符集 html的url编码 …

Pytorch深度学习-----神经网络之池化层用法详解及其最大池化的使用

系列文章目录 PyTorch深度学习——Anaconda和PyTorch安装 Pytorch深度学习-----数据模块Dataset类 Pytorch深度学习------TensorBoard的使用 Pytorch深度学习------Torchvision中Transforms的使用&#xff08;ToTensor&#xff0c;Normalize&#xff0c;Resize &#xff0c;Co…

深度学习Redis(5):集群

前言 在前面的文章中&#xff0c;已经介绍了Redis的几种高可用技术&#xff1a;持久化、主从复制和哨兵&#xff0c;但这些方案仍有不足&#xff0c;其中最主要的问题是存储能力受单机限制&#xff0c;以及无法实现写操作的负载均衡。 Redis集群解决了上述问题&#xff0c;实…

寻找旋转排序数组中的最小值——力扣153

文章目录 题目描述解法 二分法 题目描述 解法 二分法 int findMin(vector<int>& nums){int l0, rnums.size()-1;while(l<r){int mid (lr)/2;if(nums[mid]<nums[r]) rmid;else lmid1;}return nums[l];}

【React】关于组件之间的通讯

&#x1f31f;组件化&#xff1a;把一个项目拆成一个一个的组件&#xff0c;为了便与开发与维护 组件之间互相独立且封闭&#xff0c;一般而言&#xff0c;每个组件只能使用自己的数据&#xff08;组件状态私有&#xff09;。 如果组件之间相互传参怎么办&#xff1f; 那么就要…

【Cadence】stb仿真和ac仿真——以一个简单的全差分反相放大器仿真为例

最近在补一些仿真方法学的问题&#xff0c;以及一些一直以来都有点模糊的概念&#xff0c;简单记录一下。 具体问题包括&#xff1a; ac仿真和stb仿真的原理、区别&#xff0c;仿真得到的幅频响应是否一致&#xff0c;开关电容放大器只能使用stb仿真吗&#xff1b;放大器稳定性…

如何解决跨域问题?

一&#xff0c;什么是跨域 域&#xff08;Origin&#xff09;是由协议、域名和端口组成的&#xff0c;只有这三者完全一致的情况下&#xff0c;浏览器才会认为两个网址同源&#xff0c;否则就认为存在跨域。跨域是指在Web开发中&#xff0c;一个网页的JavaScript代码试图访问另…

2023华数杯数学建模A题思路 - 隔热材料的结构优化控制研究

# 1 赛题 A 题 隔热材料的结构优化控制研究 新型隔热材料 A 具有优良的隔热特性&#xff0c;在航天、军工、石化、建筑、交通等 高科技领域中有着广泛的应用。 目前&#xff0c;由单根隔热材料 A 纤维编织成的织物&#xff0c;其热导率可以直接测出&#xff1b;但是 单根隔热…

工作日报怎么写?聪明灵犀工具能帮你

工作日报怎么写&#xff1f;在工作中每天写日报是必不可少的&#xff0c;日报不仅可以记录每天的工作内容&#xff0c;也可以帮助自己更好的规划下一步的工作任务。但是&#xff0c;如何写出一份好的日报呢&#xff1f;今天我们就来介绍一些工具&#xff0c;让你的写日报更加高…

vscode 第一个文件夹在上一层文件夹同行,怎么处理

我的是这样的 打开终端特别麻烦 解决方法就是 打开vscode里边的首选项 进入设置 把Compact Folders下边对勾给勾掉

核心交换机新增了一个网段,现在下面PC可以获取地址访问内网 ,访问外网说DNS有问题不通

环境: SANGFOR AF 8.0.75 SANGFOR AC 13.0.47 H3C S6520-26Q-SI 问题描述: 1.在核心交换机上新规划了一个网段192.168.200.0/24,现在下面PC可以正常获取IP地址和DNS,正常访问内网服务和其它地址段IP ,访问外网说DNS有问题不通打不开网页 2.DNS解析失败,ping dns服务…