热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

Linux相关网络基础详解——OSI&TCP/IP&数据解封及封装

OSI:OpenSystemInterconnection开放系统互联模型开放式系统互联:国际标准化组织(ISO)制定,定义了不同计算机互联的标准制定OSI的优势:开放,厂商兼容性

OSI :

Open System Interconnection 开放系统互联模型

开放式系统互联: 国际标准化组织(ISO)制定,定义了不同计算机互联的标准

制定OSI的优势:开放,厂商兼容性,易于理解、学习,模块化工程,故障排除。
·



·



  • OSI:7层次结构/功能


应用层 应用程序/原始数据
表示层 格式/压缩/加密 :快速传递,安全传递
会话层 会话/全双工/半双工:身份信息
传输层 分段/重组/端口号:传输效率
网络层 IP地址/寻址/路由 :总目标,全球地址
数据链路层 MAC地址/局域网/分段目标:局部地址
物理层 传输介质/比特流:电流/光/无线信号/4G/5G


·



·



  • TCP/IP:5层结构/功能

TCP/IP Transmission Control Protocol/Internet Protocol,传输控制协议/网际协议
·


应用层 应用程序-原始数据、格式-压缩/加密-快速、安全传递、会话-全双工/半双工-身份信息
传输层 分段、重组/端口号-传输效率
网络层 IP地址/寻址/路由-总目标,全球地址
数据链路层 MAC地址/局域网-分段目标、局部地址
物理层 传输介质/比特流-电流/光/无线信号/4G/5G




  • TCP/IP:4层结构/功能


应用层 应用程序-原始数据、格式-压缩/加密-快速、安全传递、会话-全双工/半双工-身份信息
传输层 分段、重组/端口号-传输效率
网络层 IP地址/寻址/路由-总目标,全球地址
网络接口层 MAC地址/局域网-分段目标,局部地址、邮递员;传输介质/比特流-电流/光/无线信号/4G/5G


Linux相关网络基础详解——OSI&TCP/IP&数据解封及封装
·



·



  • OSI模型和TCP/IP模型的区别:


OSI推出的时间早,只有理论,没有实践。 TCP/IP代表传输控制协议、互联网协议,早起由美国军方由实践,总结出的理论,是当今通信标准。




  • TCP/IP:数据单元/DU

信息从产生到接收,会有些变化,为了方便交流,通信模型不同的模块对信息加工,并进行统一命名。


应用层数据 AP DU APDU:ApplicationProtocolDataUnit--应用协议数据单元
传输层数据 segment DU 分段数据
网络层数据 packet DU 包数据
数据链路层数据 frame DU 帧数据
物理层数据 bit DU 比特数据


·



·



  • 封装和解封装:
    信息从一台计算机产生,经过TCP/IP模型加工,然后传递到另一台计算机,我们把这个通信过程,称作数据的封装(发送)和数据解封装(接收)。

·



  • 数据封装的过程:
    应用层:原始数据被转换成二进制数据
    传输层:二进制数据转化分割成小的数据段,并封装TCP头部
    网络层:传输层传来的数据被封装上IP头部
    数据链路层:网络层传来的数据被封装上MAC头部
    物理层:二进制数据组成的比特流转化为电信号在网络中传输
    ·


  • 解封过程
    物理层:将电信号转化成二进制数据,并将其送至数据链路层
    数据链路层:查看MAC地址,地址符合,就拆掉MAC头部,继续传输,地址不符合,丢弃数据
    网络层:查看IP地址,地址符合,拆掉IP头部,继续传输,地址不符合,丢弃数据
    传输层:查看TCP头部,判断数据类型,然后重组数据,传输到相应的应用层
    应用层:二进制转化为原始数据、读取
    如图:
    Linux相关网络基础详解——OSI&TCP/IP&数据解封及封装



  • TCP/IP协议族

TCP/IP简介:Transmission Control Protocol/Internet Protocol,传输控制协议/互联网协议的简写
·

TCP/IP 5层模型协议分类


应用层 HTTP/超文本传输协议---网站 SSH/远程连接协议---远程控制 FTP---文件传输协议
SMTP/简单邮件传输协议---Email DNS/域名服务---WWW
传输层 TCP/传输控制协议/可靠 UDP/用户数据报协议/不可靠
网络层 IP/互联网协议---寻址 ICMP/网络消息管理协议---测试/ping
数据链路层 MAC
物理层 网线 光纤


·



·



  • 拓展

  • 单位换算ASCII
    ASCII ((American Standard Code for Information Interchange): 美国信息交换标准代码)是基于拉丁字母的一套电脑编码系统,主要用于显示现代英语和其他西欧语言。它是最通用的信息交换标准,并等同于国际标准ISO/IEC 646。ASCII到目前为止共定义了128个字符。

比特=bit=b=1/0
字节=byte=B=8个比特
1KB=1024B
1MB=1024KB
1GB=1024MB
1TB=1024GB


推荐阅读
  • 2016-2017学年《网络安全实战》第三次作业
    2016-2017学年《网络安全实战》第三次作业总结了教材中关于网络信息收集技术的内容。本章主要探讨了网络踩点、网络扫描和网络查点三个关键步骤。其中,网络踩点旨在通过公开渠道收集目标信息,为后续的安全测试奠定基础,而不涉及实际的入侵行为。 ... [详细]
  • vsftpd配置(虚拟用户、匿名用户登录)
    一、ftp服务搭建(一)概述1.ftp连接及传输模式(1)控制连接TCP21,用于发送FTP命令信息 ... [详细]
  • 公司计划部署邮件服务器,考虑到已有域名,决定自行搭建内部邮件服务器。经过综合考量,最终选择在Linux环境中进行搭建,并记录了相关配置和实践过程。本文将详细介绍Postfix的基本设置步骤和实践经验,帮助读者快速掌握邮件服务器的搭建方法。 ... [详细]
  • HTTP(HyperTextTransferProtocol)是超文本传输协议的缩写,它用于传送www方式的数据。HTTP协议采用了请求响应模型。客服端向服务器发送一 ... [详细]
  • 本文详细介绍了在 Ubuntu 系统上搭建 Hadoop 集群时遇到的 SSH 密钥认证问题及其解决方案。通过本文,读者可以了解如何在多台虚拟机之间实现无密码 SSH 登录,从而顺利启动 Hadoop 集群。 ... [详细]
  • 如何安装和使用 WinSCP 与 PuTTY:连接 Linux 系统的专业工具指南
    本指南详细介绍了如何在Windows环境中安装和使用WinSCP与PuTTY,以实现与Linux系统的安全连接。WinSCP是一款开源的图形化SFTP客户端,支持SSH和SCP协议,主要用于在本地和远程计算机之间安全地传输文件。用户可以通过官方下载页面获取最新版本的WinSCP和PuTTY,按照简单的步骤完成安装,并利用这些工具进行高效的文件管理和远程操作。 ... [详细]
  • 本文详细介绍了如何使用Python中的smtplib库来发送带有附件的邮件,并提供了完整的代码示例。作者:多测师_王sir,时间:2020年5月20日 17:24,微信:15367499889,公司:上海多测师信息有限公司。 ... [详细]
  • 如何在任意浏览器中轻松安装并使用VSCode——Codeserver简易指南
    code-server 是一款强大的工具,允许用户在任何服务器上部署 VSCode,并通过浏览器进行访问和使用。这一解决方案不仅简化了开发环境的搭建过程,还提供了高度灵活的工作方式。用户只需访问 GitHub 上的官方仓库(GitHub-coder/code-server),即可获取详细的安装和配置指南,快速启动并运行 code-server。无论是个人开发者还是团队协作,code-server 都能提供高效、便捷的代码编辑体验。 ... [详细]
  • 深入解析 OpenSSL 生成 SM2 证书:非对称加密技术与数字证书、数字签名的关联分析
    本文深入探讨了 OpenSSL 在生成 SM2 证书过程中的技术细节,重点分析了非对称加密技术在数字证书和数字签名中的应用。非对称加密通过使用公钥和私钥对数据进行加解密,确保了信息传输的安全性。公钥可以公开分发,用于加密数据或验证签名,而私钥则需严格保密,用于解密数据或生成签名。文章详细介绍了 OpenSSL 如何利用这些原理生成 SM2 证书,并讨论了其在实际应用中的安全性和有效性。 ... [详细]
  • `chkconfig` 命令主要用于管理和查询系统服务在不同运行级别中的启动状态。该命令不仅能够更新服务的启动配置,还能检查特定服务的当前状态。通过 `chkconfig`,管理员可以轻松地控制服务在系统启动时的行为,确保关键服务正常运行,同时禁用不必要的服务以提高系统性能和安全性。本文将详细介绍 `chkconfig` 的各项参数及其使用方法,帮助读者更好地理解和应用这一强大的系统管理工具。 ... [详细]
  • 提升 Kubernetes 集群管理效率的七大专业工具
    Kubernetes 在云原生环境中的应用日益广泛,然而集群管理的复杂性也随之增加。为了提高管理效率,本文推荐了七款专业工具,这些工具不仅能够简化日常操作,还能提升系统的稳定性和安全性。从自动化部署到监控和故障排查,这些工具覆盖了集群管理的各个方面,帮助管理员更好地应对挑战。 ... [详细]
  • 本文介绍了如何在 Windows 系统上利用 Docker 构建一个包含 NGINX、PHP、MySQL、Redis 和 Elasticsearch 的集成开发环境。通过详细的步骤说明,帮助开发者快速搭建和配置这一复杂的技术栈,提升开发效率和环境一致性。 ... [详细]
  • 七款高效编辑器与笔记工具推荐:KindEditor自动换行功能解析
    本文推荐了七款高效的编辑器与笔记工具,并详细解析了KindEditor的自动换行功能。其中,轻笔记QingBiJi是一款完全免费的记事本软件,用户可以通过其简洁的界面和强大的功能轻松记录和管理日常事务。此外,该软件还支持多平台同步,确保用户在不同设备间无缝切换。 ... [详细]
  • Netty框架中运用Protobuf实现高效通信协议
    在Netty框架中,通过引入Protobuf来实现高效的通信协议。为了使用Protobuf,需要先准备好环境,包括下载并安装Protobuf的代码生成器`protoc`以及相应的源码包。具体资源可从官方下载页面获取,确保版本兼容性以充分发挥其性能优势。此外,配置好开发环境后,可以通过定义`.proto`文件来自动生成Java类,从而简化数据序列化和反序列化的操作,提高通信效率。 ... [详细]
  • Shell参数详解与应用
    本文详细介绍了Shell参数的种类及其应用,内容简洁明了,结构清晰。通过深入解析各类参数的功能和使用方法,旨在帮助读者更好地理解和掌握Shell编程技巧,提升实际操作能力。 ... [详细]
author-avatar
手机用户2502928341
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有