计算机网络-数据传输

论坛 期权论坛 脚本     
已经匿名di用户   2022-7-2 22:14   2273   0

在学习计算机网络之前首先要了解,计算机网络的结构,当然这些结构的设计主要是为了数据传输,实现正常的通信,然而数据在传输时使用什么协议,在每一层上会有什么样的体现。每一层具体的作用是什么就是要学习的地方,每种协议的作用,以及表现形式等等,他的报文格式,具体位置的作用,和意义。

数据在计算机网络中的传输过程

TCP/IP协议簇(cu)

tcp/ip网络协议是目前世界上应用最广泛的协议,tcp/ip层次模型共分为四层:应用层,传输层,网络层,数据链路层。

应用层:应用层是所有用户所面向的应用程序的统称。tcp/ip协议簇在这一层有很多种协议来支持不同的应用程序,远程登录TELNET使用telnet协议提供在网络其它主机上注册的接口。TELNET会话提供了基于字符的虚拟终端。文件传输访问FTP使用ftp协议来提供网络内机器间的文件拷贝功能。 应用层一般是面向用户的服务。如FTP、TELNET、DNS、SMTP、POP3。 FTP(File Transmision Protocol)是文件传输协议,一般上传下载用FTP服务,数据端口是20H,控制端口是21H。 Telnet服务是用户远程登录服务,使用23H端口,使用明码传送,保密性差、简单方便。 DNS(Domain Name Service)是域名解析服务,提供域名到IP地址之间的转换。 SMTP(Simple Mail Transfer Protocol)是简单邮件传输协议,用来控制信件的发送、中转。 POP3(Post Office Protocol 3)是邮局协议第3版本,用于接收邮件。摘自https://www.cnblogs.com/jukaiit/p/6775404.html

传输层:主要的作用是提供应用间的通信,这一层的协议由TCP和UDP,传输层负责的是端到端的传输,而网络层负责的是点到点的传输 它们的区别:https://jingyan.baidu.com/article/19192ad812650de53e570781.html 提供应用程序间的通信。其功能包括:
  一、格式化信息流;
  二、提供可靠传输。为实现后者,传输层协议规定接收端必须发回确认,并且假如分组丢失,必须重新发送。
  传输层协议主要是:传输控制协议TCP(Transmission Control Protocol)和用户数据报协议UDP(User Datagram protocol)。在这一层,数据的单位称为 段摘自https://www.cnblogs.com/jukaiit/p/6775404.html

网络层:负责点到点之间通信,其功能包括三方面。
  一、处理来自传输层的分组发送请求,收到请求后,将分组装入IP数据报,填充报头,选择去往信宿机的路径,然后将数据报发往适当的网络接口。
  二、处理输入数据报:首先检查其合法性,然后进行寻径--假如该数据报已到达信宿机,则去掉报头,将剩下部分交给适当的传输协议;假如该数据报尚未到达信宿,则转发该数据报。
  三、处理路径、流控、拥塞等问题。(其中拥塞控制是通过ICMP传递的) 网络层包括:IP(Internet Protocol)协议、ICMP(Internet Control Message Protocol) 控制报文协议、ARP(Address Resolution Protocol)地址转换协议、RARP(Reverse ARP)反向地址转换协议。 IP是网络层的核心,通过路由选择将下一跳IP封装后交给接口层。IP数据报是无连接服务。ICMP是网络层的补充,可以回送报文。用来检测网络是否通畅。 Ping命令就是发送ICMP的echo包,通过回送的echo relay进行网络测试。 ARP是正向地址解析协议,通过已知的IP,寻找  对应主机的MAC地址。 RARP是反向地址解析协议,通过MAC地址确定IP地址。比如无盘工作站和DHCP服务。在这一层,数据的单位 称 数据包 (packet)摘自https://www.cnblogs.com/jukaiit/p/6775404.html

数据链路层:数据链路层是负责接收IP数据报并通过网络发送之,或者从网络上接收物理帧,抽出IP数据报,交给IP层。 传输有地址的帧以及错误检测功能 。
  一、流量控制,有基于反馈的流控制盒基于速率的流控制。
  二、错误检测和纠正
  在这一层,数据的单位称为 帧 (frame)摘自https://www.cnblogs.com/jukaiit/p/6775404.html

数据传输过程

数据传输过程实际上相当于对数据的封装和解封装,

数据封装和解封装过程:摘自https://blog.51cto.com/14557673/2440993

1.数据封装过程(快件打包)
(1)应用层传输
这里可以理解为翻译的过程,当然这是属于计算机的翻译过程,应用层便是将数据进行二进制编码。
(2)传输层传输(数据段)
传输层将上层数据分割成诸多数据段(方便解决传输出错问题),并且为每个分段后的数据
封装—— TCP报文头部。其中TCP报文头部有一个关键的字段信息——端口号(保证上层应用数据通信)。
(3)网络层传输 (数据包)
网络层将上层数据再度添加封装——IP头部,其头部包含一个关键的字段信息——IP地址,用于标识网络
的逻辑地址。
(4)数据链路层传输(数据帧)
数据链路层将上层数据再次添加封装——MAC头部,其包含一个关键的字段信息——MAC地址, 可以理解
为固化在硬件中的物理地址,和我们的个人银行卡号一样具有唯一性。 该封装过程中的尾部封装暂不讨论。
(5)物理层传输(比特流)
物理层将上层二进制数据转成电信号在网络中传输。

上述就是数据在网络传输中的数据封装过程,其实可以简单理解为是我们平时冬天穿衣服的过程,
其中括号内的数据段、数据包、数据帧和比特流就是我上面给出链接中介绍的PDU(协议数据单元)。

2.数据解封装过程(快件拆包)
数据封装后通过网络传输到接收方后需要进行解封装,恰好就是上述数据封装的逆过程。可以简单理解
为我们平时冬天在家里开暖气后脱衣服的过程。

tcp头部结构可以查看这个博客https://blog.csdn.net/zeqi1991/article/details/81582985

ip头部结构:可以查看这个博客https://blog.csdn.net/ythunder/article/details/65664309

mac头部结构:

看这些头部的定义可以查看这个博客:https://my.oschina.net/ranjiewen/blog/781091https://cloud.tencent.com/developer/article/1141745

分享到 :
0 人收藏
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

积分:81
帖子:4969
精华:0
期权论坛 期权论坛
发布
内容

下载期权论坛手机APP