网络TCP/IP基础(数据传输)

本文涉及的产品
数据传输服务 DTS,数据迁移 small 3个月
推荐场景:
MySQL数据库上云
数据传输服务 DTS,数据同步 small 3个月
推荐场景:
数据库上云
数据传输服务 DTS,同步至 ClickHouse 1个月
简介: 数据封装与解封装过程、数据封装过程、应用层封装过程、传输层封装过程、网络层封装过程、数据链路层封装过程、物理层封装过程、数据解封装过程、物理层解封装过程、数据链路层解封装过程、网络层解封装过程、传输层解封装过程、应用层解封装过程、数据传输的一些基本概念、PDU、常见硬件设备与五层模型对应关系

前言


     数据传输的过程和TCP/IP五层网络结构关系密切,在实际的网络环境中,发送方和接收方往往相隔千山万水,网络环境也各不相同,但是数据的传输都需要经历数据封装与解封装的过程


一、数据封装与解封装过程


1、数据封装过程

pc1 pc2
应用层 上层数据
传输层 上层数据 + TCP头部
网络层 上层数据 TCP头部 + IP头部
数据链路层 上层数据 TCP头部 IP头部 + MAC头部
物理层 _∏_∏_∏_∏_∏_∏_∏_∏_∏_∏_∏_∏_∏_∏_∏_∏_∏_∏_∏_∏_∏_∏_

(1)应用层封装过程


     在应用层,计算机呈现的各种信息被”翻译“为二进制编码数据,这也是应用层在网络数据传输过程中最为核心的贡献
 

(2)传输层封装过程


     在传输层,上层数据被分割成小的数据段,并为每个分段后的数据封装TCP报文头部,从应用层转换过来的二进制编码数据是海量的,数据量过大会加大出错的概率,因此,将数据先分割成小段再逐段传输,一旦出现数据传输错误只需重传这一小段数据即可
 

(3)网络层封装过程


     在网络层,上层数据被封装上IP报文头部,在IP头部有一个关键字段信息:IP地址,包含目标IP和源IP
 

(4)数据链路层封装过程


     在数据链路层,上层数据被封装一个MAC头部,在MAC头部也同时封装着目标MAC地址和源MAC地址
 

(5)物理层封装过程


     无论之前哪一层封装的报文头部还是上层数据信息都是由二进制数组成,在物理层,将这些二进制数字组成的比特流转换成电信号在网络中传输
 

2、数据解封装过程
 

数据被封装完毕通过网络传输到接收方后,将进入数据的解封装过程,这是封装过程的逆过程

pc1 pc2
上层数据 应用层  
- TCP头部 上层数据 传输层
- IP头部 TCP头部 上层数据 网络层
- MAC头部 IP头部 TCP头部 上层数据 数据链路层
_∏_∏_∏_∏_∏_∏_∏_∏_∏_∏_∏_∏_∏_∏_∏_∏_∏_∏_∏_∏_∏_∏_ 物理层

(1)物理层解封装过程


     在物理层,首先将电信号转换成二进制数据,并将数据送至数据链路层


(2)数据链路层解封装过程


     在数据链路层,将查看目标MAC地址,判断其是否与自己的MAC地址吻合,并据此完成后续处理。如果数据报文的目标MAC地址就是自己的MAC地址,数据的MAC头部将被“拆掉”,并将剩余的数据送至上一层;如果目标MAC地址不是自己的MAC地址,对于终端设备来说,它将会丢弃数据


(3)网络层解封装过程


     在网络层与在数据链路层类似, 目标IP地址将被核实是否与自己的IP地址相同,从而确定是否送至上一层


(4)传输层解封装过程


     到了传输层,首先要根据TCP头部判断数据段送往哪个应用层协议或应用程序,然后将之前被分组的数据段重组,再送往应用层


(5)应用层解封装过程


     在应用层,这些二进制数据将经历复杂的解码过程,以还原发送者所传输的原始信息

二、数据传输的一些基本概念


1、PDU

pc1 pc2
应用层 上层数据
传输层 上层数据 + TCP头部 (数据段)
网络层 上层数据 TCP头部 + IP头部 (数据包)
数据链路层 上层数据 TCP头部 IP头部 + MAC头部 (数据帧)
物理层 _∏_∏_∏_∏_∏_∏_∏_∏_∏_∏_∏_∏_∏_∏_∏_∏_∏_∏_∏_∏_∏_∏_ (比特流)


     对于OSI参考模型而言,每一层都是通过PDU(Protocol Data Unit,协议数据单元)来进行通信的,而对于TCP/IP五层结构,也可以沿用这个概念。
     PDU是指同层之间传递的数据单位。例如,TCP/IP五层结构体系中,上层数据被封装TCP头部后,这个单元称为段(Segment),数据段向下传到网络层,被封装IP头部后,这个单元称为包(Packet),数据包继续向下传送到达数据链路层,被封装MAC头部后,这个单元称为帧(Frame),最后帧传送到物理层,帧数据变成比特流,比特流通过物理介质传送出去

2、常见硬件设备与五层模型对应关系

应用层 计算机,服务器
传输层 防火墙
网络层 路由器
数据链路层 网桥,交换机
物理层 网卡、网线,集线器,中继器,调制解调器


结语


     数据在传输过程中不断的进行着封装和解封装的过程,网络设备属于哪一层就在哪一层对数据进行相关的处理,正因如此,我们称TCP/IP五层模型为“参考模型“,参考这五层模型可以帮助我们很好的研究数据传输的整个过程

相关实践学习
自建数据库迁移到云数据库
本场景将引导您将网站的自建数据库平滑迁移至云数据库RDS。通过使用RDS,您可以获得稳定、可靠和安全的企业级数据库服务,可以更加专注于发展核心业务,无需过多担心数据库的管理和维护。
Sqoop 企业级大数据迁移方案实战
Sqoop是一个用于在Hadoop和关系数据库服务器之间传输数据的工具。它用于从关系数据库(如MySQL,Oracle)导入数据到Hadoop HDFS,并从Hadoop文件系统导出到关系数据库。 本课程主要讲解了Sqoop的设计思想及原理、部署安装及配置、详细具体的使用方法技巧与实操案例、企业级任务管理等。结合日常工作实践,培养解决实际问题的能力。本课程由黑马程序员提供。
相关文章
|
4月前
|
域名解析 网络协议 安全
计算机网络TCP/IP四层模型
本文介绍了TCP/IP模型的四层结构及其与OSI模型的对比。网络接口层负责物理网络接口,处理MAC地址和帧传输;网络层管理IP地址和路由选择,确保数据包准确送达;传输层提供端到端通信,支持可靠(TCP)或不可靠(UDP)传输;应用层直接面向用户,提供如HTTP、FTP等服务。此外,还详细描述了数据封装与解封装过程,以及两模型在层次划分上的差异。
619 13
|
2月前
|
监控 安全 Go
使用Go语言构建网络IP层安全防护
在Go语言中构建网络IP层安全防护是一项需求明确的任务,考虑到高性能、并发和跨平台的优势,Go是构建此类安全系统的合适选择。通过紧密遵循上述步骤并结合最佳实践,可以构建一个强大的网络防护系统,以保障数字环境的安全完整。
64 12
|
3月前
|
监控 安全 网络安全
网络安全新姿势:多IP配置的五大好处
服务器配置多IP地址,既能提升网络速度与安全性,又能实现多站点托管和故障转移。本文详解多IP的五大妙用、配置方法及进阶技巧。从理论到实践,合理规划IP资源,让服务器性能跃升新高度。
105 2
|
9月前
|
负载均衡 网络协议 网络性能优化
动态IP代理技术详解及网络性能优化
动态IP代理技术通过灵活更换IP地址,广泛应用于数据采集、网络安全测试等领域。本文详细解析其工作原理,涵盖HTTP、SOCKS代理及代理池的实现方法,并提供代码示例。同时探讨配置动态代理IP后如何通过智能调度、负载均衡、优化协议选择等方式提升网络性能,确保高效稳定的网络访问。
909 2
|
6月前
|
网络协议 物联网
VB6网络通信软件上位机开发,TCP网络通信,读写数据并处理,完整源码下载
本文介绍使用VB6开发网络通信上位机客户端程序,涵盖Winsock控件的引入与使用,包括连接服务端、发送数据(如通过`Winsock1.SendData`方法)及接收数据(利用`Winsock1_DataArrival`事件)。代码实现TCP网络通信,可读写并处理16进制数据,适用于自动化和工业控制领域。提供完整源码下载,适合学习VB6网络程序开发。 下载链接:[完整源码](http://xzios.cn:86/WJGL/DownLoadDetial?Id=20)
205 12
|
5月前
|
域名解析 API PHP
VM虚拟机全版本网盘+免费本地网络穿透端口映射实时同步动态家庭IP教程
本文介绍了如何通过网络穿透技术让公网直接访问家庭电脑,充分发挥本地硬件性能。相比第三方服务受限于转发带宽,此方法利用自家宽带实现更高效率。文章详细讲解了端口映射教程,包括不同网络环境(仅光猫、光猫+路由器)下的设置步骤,并提供实时同步动态IP的两种方案:自建服务器或使用三方API接口。最后附上VM虚拟机全版本下载链接,便于用户在穿透后将服务运行于虚拟环境中,提升安全性与适用性。
|
7月前
|
安全 网络安全 UED
为何长效代理静态IP是网络管理的关键要素
在信息化时代,静态长效IP代理对网络管理至关重要。它能提升网络服务质量,确保远程办公、视频会议等应用的稳定性和连续性;减少延迟和网络拥堵,加快数据传输;提高网络安全,便于设置访问权限,防止未授权访问。91HTTP高质量代理IP服务商助力高效信息获取。
106 23
|
8月前
|
网络协议 Unix Linux
深入解析:Linux网络配置工具ifconfig与ip命令的全面对比
虽然 `ifconfig`作为一个经典的网络配置工具,简单易用,但其功能已经不能满足现代网络配置的需求。相比之下,`ip`命令不仅功能全面,而且提供了一致且简洁的语法,适用于各种网络配置场景。因此,在实际使用中,推荐逐步过渡到 `ip`命令,以更好地适应现代网络管理需求。
288 11
|
9月前
|
负载均衡 网络协议 算法
不为人知的网络编程(十九):能Ping通,TCP就一定能连接和通信吗?
这网络层就像搭积木一样,上层协议都是基于下层协议搭出来的。不管是ping(用了ICMP协议)还是tcp本质上都是基于网络层IP协议的数据包,而到了物理层,都是二进制01串,都走网卡发出去了。 如果网络环境没发生变化,目的地又一样,那按道理说他们走的网络路径应该是一样的,什么情况下会不同呢? 我们就从路由这个话题聊起吧。
210 4
不为人知的网络编程(十九):能Ping通,TCP就一定能连接和通信吗?
|
7月前
|
网络协议 测试技术 Linux
Golang 实现轻量、快速的基于 Reactor 模式的非阻塞 TCP 网络库
gev 是一个基于 epoll 和 kqueue 实现的高性能事件循环库,适用于 Linux 和 macOS(Windows 暂不支持)。它支持多核多线程、动态扩容的 Ring Buffer 读写缓冲区、异步读写和 SO_REUSEPORT 端口重用。gev 使用少量 goroutine,监听连接并处理读写事件。性能测试显示其在不同配置下表现优异。安装命令:`go get -u github.com/Allenxuxu/gev`。
119 0

热门文章

最新文章