一、OIS七层模型及数据传输过程

本文涉及的产品
数据传输服务 DTS,数据迁移 small 3个月
推荐场景:
MySQL数据库上云
数据传输服务 DTS,数据同步 1个月
简介: 一、OIS七层模型及数据传输过程

一、OIS七层模型及数据传输过程

实现两台机器互联,机器和机器之间是怎么通信的呢

先通过物理层

  1. 互联物理链路,物理介质。网线,光纤,无线电波等等
  2. 形式存在:0101000二进制电信号----比特流

这只是实现联通,并没有什么意思,要变成有意义的数据要通过数据链路层

数据链路层:

  1. 对比特流进行分组,对二进制8个为一组形成字节,依次按顺序发送数据-经过分组之后的数据叫做----帧
  2. 但是不知道发送给谁,因此定义了一个MAC地址-网卡-相当于身份证唯一的
  3. 用来标识我这个机器的一个物理地址 寄件人(MAC地址)-收件人(目的地址)

我的A主机和你的F主机进行连接,中间隔了其他B、C、D、E...主机,这个时候要怎么实现通信呢,中间有很多路径,怎么选择最近的路径呢?对方电脑的MAC地址我怎么知道呢?

网络层:

  1. 怎么知道对方的MAC地址呢,有一个ARP协议(address resolution Protocol),通过IP知晓对方MAC地址;
  2. 我们A主机和F主机中间隔了很多其他主机,可能A和F主机就不在同一个子网里面,也可能在,我们就需要去判断发送者和接收者是不是在通一个子网,这时候有一个IP协议
  3. 怎样选择最优路径?--组协议、路由协议、静态路由、动态路由协议(RIP、OSPF、BGP)。

这时候我们发送的数据特别多,特别大,需要很长时间怎么办呢。

传输层:

  1. 对发送数据进行封装-- TCP、UDP协议,一个一个一次发送
  2. 一般都是用两个程序两个应用进行聊天(微信-微信)--定义端口查找对应的应用程序进行处理

传输过程中网络中断了,重传?如果要重传,如何确保数据包正确完整

会话层:

  1. 可以从校验点继续回复数据进行重传-大文件
  2. 每次断联不可能要你手动去连接,它实现了自动收发包的功能,还有自动寻址的功能

不同操作系统语法不一样,在不同的系统中进行通信

表现层:

  1. 翻译工作,针对不同的系统如Windows、Linux、Mac,提供一种公共语言,进行通信

应用层:

  1. 开始传上来的是字节流,不好识别也不好操作,应用层定义了各种应用的协议,规范应用程序的格式,为应用程序提供服务-HTTP、HTTPS、FTP、TFTP协议

 

a1a5069f74cacbcbfcb278c0c675669f_3896.png

二、TCP/IP四层协议和IOSI七层模型的区别

7f34b16d18955b514dcdf0806f3bcd27_4090.png

TCP/IP四层协议比较常用

三、数据传输过程

我们在网址中输入百度:www.baidu.com是怎么访问到的呢

https://www.baidu.com先通过应用层进入传输层,在传输层封装一个TCP的头部端口,这个端口是用来判断用什么应用程序来处理。(HTTPS默认端口443)

然后发送给网络层,网络层给头部增加了一个IP信息,源主机和目的地址,寻址

然后发送给数据链路层,数据链路层给头部增加了源MAC地址

然后发送给物理层,物理层转化为比特流,发送给百度服务器

百度服务器收到信封自下而上,在物理层收到数据把比特流重组,就能够到数据链路层变成了以太帧的数据,拆封信封根据里面的源MAC地址传给网络层,网络层拆开发现有TCP的头部还含有端口,

网络层看完发送给传输层,传输层根据的端口号443,交给对应的协议HTTPS,传输至应用层,应用层根据请求消息给你一个响应请求,响应请求就是一个百度页面

4ce2a5f4aee319486409c78441407f0a_4183.png

四、ARP协议

ARP-地址解析协议(Address Resolution Protocol),实现通过对方IP地址(域名)寻找对方MAC地址ARP功能。

5e16053746e54464bed3a0eb8bcaf306_4202.png

比较常用或者比较容易记住的是对方的ip地址,像MAC地址是不方便人们去记忆的,我们首先知道的是对方的ip地址或者是域名,通过ip解析成MAC地址,这个时候就需要用到ARP协议。

cef11cb7a93e9811b08138d189de74a9_4226.png

1.主机A首先查看自己的ARP表,如果找到了的主机B的MAXAC地址,则直接对IP数据包进行帧封装,发送给主机B;

2.如果主机A在ARP表中找不到主机B的MAC地址,则将缓存该数据报文,然后以广播方式发送一个ARP请求报文。ARP请求报文中带上源IP地址和源MAC地址(主机A),目标IP地址和目标MAC地址为主机B的IP地址和全0的MAC地址。广播,该网段上的所有主机都可以接收到该请求,但只有被请求的主机(即主机B)会对该请求进行处理。

3.主机B比较自己的IP地址和ARP请求报文中的目标IP地址,当两者相同时进行如下处理:将ARP请求报文中的发送端(即主机A)的IP地址和MAC地址存入自己的ARP表中。之后以单播方式发送ARP响应报文给主机A,其中包含了自己的MAC地址。

4.主机A收到ARP响应报文后,将主机B的MAC地址加入到自己的ARP表中以用于后续报文的转发,同时将IP数据包进行封装后发送出去。

相关实践学习
RocketMQ一站式入门使用
从源码编译、部署broker、部署namesrv,使用java客户端首发消息等一站式入门RocketMQ。
Sqoop 企业级大数据迁移方案实战
Sqoop是一个用于在Hadoop和关系数据库服务器之间传输数据的工具。它用于从关系数据库(如MySQL,Oracle)导入数据到Hadoop HDFS,并从Hadoop文件系统导出到关系数据库。 本课程主要讲解了Sqoop的设计思想及原理、部署安装及配置、详细具体的使用方法技巧与实操案例、企业级任务管理等。结合日常工作实践,培养解决实际问题的能力。本课程由黑马程序员提供。
相关文章
|
4天前
【计算机网络】第三章 数据链路层(可靠传输)
【计算机网络】第三章 数据链路层(可靠传输)
21 0
|
4天前
|
监控 API 数据处理
局域网监控软件中基于UDP协议的数据传输代码实现
本文介绍了在局域网监控系统中,使用UDP协议进行数据传输的实现。示例代码展示了如何用Python创建UDP套接字,接收并处理监控数据。处理后的数据可通过网站API自动提交到网站,例如利用requests库发送HTTP POST请求。这种方法便于实现监控数据的自动化提交和展示,提升效率与安全性。
119 7
|
4天前
|
网络协议 算法 安全
TCP/UDP 数据传输的链路解析
TCP/UDP 数据传输的链路解析
53 0
|
4天前
【网络奇缘系列】计算机网络|数据通信方式|数据传输方式
【网络奇缘系列】计算机网络|数据通信方式|数据传输方式
49 0
|
4天前
|
缓存 网络协议 网络性能优化
UDP的可靠传输/KCP是怎样练成的
UDP的可靠传输/KCP是怎样练成的
108 0
|
4天前
|
缓存 网络协议 算法
UDP如何实现可靠传输
UDP如何实现可靠传输
|
7月前
|
网络协议 算法 Go
【协议分析】rpcx网络协议分析之kcp数据传输
【协议分析】rpcx网络协议分析之kcp数据传输
93 0
|
9月前
|
网络协议 安全 网络安全
数据传输过程
数据传输过程
110 0
|
9月前
|
缓存
可靠数据传输(Rdt)的原理
可靠数据传输(Rdt)的原理
307 0
|
10月前
|
传感器
通过信道优化数据传输的通信链路的实现(Matlab代码实现)
通过信道优化数据传输的通信链路的实现(Matlab代码实现)