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

本文涉及的产品
数据传输服务 DTS,数据迁移 small 3个月
推荐场景:
MySQL数据库上云
数据传输服务 DTS,数据同步 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五层模型为“参考模型“,参考这五层模型可以帮助我们很好的研究数据传输的整个过程

相关实践学习
RocketMQ一站式入门使用
从源码编译、部署broker、部署namesrv,使用java客户端首发消息等一站式入门RocketMQ。
Sqoop 企业级大数据迁移方案实战
Sqoop是一个用于在Hadoop和关系数据库服务器之间传输数据的工具。它用于从关系数据库(如MySQL,Oracle)导入数据到Hadoop HDFS,并从Hadoop文件系统导出到关系数据库。 本课程主要讲解了Sqoop的设计思想及原理、部署安装及配置、详细具体的使用方法技巧与实操案例、企业级任务管理等。结合日常工作实践,培养解决实际问题的能力。本课程由黑马程序员提供。
相关文章
|
3天前
|
安全 网络协议 网络安全
【网络连接】ping不通的常见原因+解决方案,如何在只能访问网关时诊断,并修复IP不通的问题
【网络连接】ping不通的常见原因+解决方案,如何在只能访问网关时诊断,并修复IP不通的问题
41 0
|
3天前
|
JSON 网络协议 调度
LabVIEW开发TCP网络通讯程序4
LabVIEW开发TCP网络通讯程序4
|
3天前
|
XML JSON 网络协议
LabVIEW开发TCP网络通讯程序3
LabVIEW开发TCP网络通讯程序3
|
3天前
|
网络协议 测试技术
LabVIEW开发TCP网络通讯程序2
LabVIEW开发TCP网络通讯程序2
|
3天前
|
网络协议
LabVIEW开发TCP网络通讯程序1
LabVIEW开发TCP网络通讯程序1
|
4天前
|
网络协议 程序员 网络性能优化
【网络原理】TCP 协议中比较重要的一些特性(三)
【网络原理】TCP 协议中比较重要的一些特性(三)
10 0
|
4天前
|
缓存 网络协议
【网络原理】TCP 协议中比较重要的一些特性(二)
【网络原理】TCP 协议中比较重要的一些特性(二)
12 0
|
4天前
|
网络协议
【网络原理】TCP 协议中比较重要的一些特性(一)
【网络原理】TCP 协议中比较重要的一些特性(一)
8 0
|
5天前
|
网络协议 网络架构
网络层 IP协议(1)
网络层 IP协议(1)
9 0
|
6天前
|
网络协议 Java Linux
【探索Linux】P.29(网络编程套接字 —— 简单的TCP网络程序模拟实现)
【探索Linux】P.29(网络编程套接字 —— 简单的TCP网络程序模拟实现)
12 0