你的微信消息是怎么发出去的?

本文是计算机网络系列的第一篇文章

学东西得先有个全局观

才不会只见树木不见森林 

所以本文将先从计算机网络的网络模型开始

分别介绍各层模型

它分别是啥,
它包含了啥,

它能干啥.

计算机网络的整体结构其实很清晰

就是由几层 不同的协议层来组成一套 层层配合 完成网络传输的工作机制

搞明白了这个模型的层次结构 

从整体上你也就搞懂了"网络"是怎么一回事

1

例子

进入正题

思考一下标题提出的那个问题

按下微信的发送按钮以后都发生了啥? 


思考一分钟

下面用尽可能通俗的语言来说一下

(水平有限 可能会有理解不到位 欢迎后台交流指正 )  )=

1

第一步:微信发出去以后,数据在空气中以电磁波形式传播 这些数据都是0和1组成的比特序列

2

第二步:光有0和1的序列是无法解读出信息的 所以得有一种机制规定分组这些0和1序列的方式   有了分组以后才能解读出信息 否则拿到比特序列以后是无从下手的

3

第三步:有了数据有了对数据的分组 还得知道数据传给哪一步手机(网络设备) ,所以这一步是找到目的手机的地址  将数据包发送到指定手机

4

  第四步:数据传到手机以后还不够  因为手机上有那么多APP 你怎么知道该传给哪一个APP? 所以这一步将数据包发送到指定手机上的指定APP 也就是微信

5

第五步: 在数据源源不断的发过来的过程中 手机需要对这个数据连接会话进行管理 比如收到一段数据以后就进行通知

6

第六步:在微信收到这些数据包中都是统一格式的 现在要把它解析成它原本的格式 比如原来是一个表情包 一段视频 一段文字等等 这一步就负责数据格式的转化 或者加密解密 加压解压

7

第七步:转换完成以后 在用微信特有一种"解析处理方式" (不同类型的APP可能有自己特有的解析处理方式) 呈现给用户

bingo! 

你的微信发到了对方的手机上了!    

2

OSI七层模型

上面整个过程代表的其实就是

计算机网络的七层模型

 学名叫OSI七层网络模型

1

第一步: 物理层   
负责把网络设备(电脑 手机等)
连接起来的物理手段 
 (双绞线 光钎 电磁波等) ,
 传递0和1的电信号

2

第二步: 数据链路层
  规定比特序列的分组方式和解读方式
将比特组合成字节进而组合成帧
同时要进行差错校验等功能 

3

第三步: 网络层   
 建立设备到设备之间的通信 
 每个连接到网络的设备都会有
一个唯一的标识----IP地址 
 网络层用ip地址找到目的设备
常用协议有:ICMP IGMP IP ARP RARP 等等

4

  第四步:传输层     
 建立程序到程序之间的通信
 同时保证数据的可靠传输(数据不丢失)等等功能
常用协议有TCP UDP

5

第五步:会话层

     建立、管理、终止会话。
    常用协议有SMTP DNS

6

第六步:表示层   
   数据的格式转换、加密解密、加压解    压。
常用协议有 TELNET SNMP等

7

第七步:

 应用层     
 针对特定应用的一个协处理层 网络服务与最终用户的一个接口。

协议有:HTTP FTP TFTP SMTP等

比如网页请求用Http 文件传输用FTP
邮件发送用POP3

上面说的微信这类即时通讯软件有它自己特有的应用传层协议

3

TCP/IP四层模型

osi七层模型分类繁琐细腻

将物理层和数据链路层综合成网络接口层 将 会话层 表示层 应用层综合成应用层

就有了TCP/IP四层网络模型

Tcp/IP四层模型已经成为了事实上业界应用的模型 

4

五层模型 

五层模型是综合七层和四层结合的模型 

保留了物理层和数据链路层

将 会话层 表示层 应用层综合成应用层

5

对比

回复 "福利" 免费获取价值338元的算法课资料
回复 "进群" 进入  实习/秋招互助群 ,还有各种内部笔记资料分享

           老铁! 点个关注吧! 
             现在关注 你就是老粉了!

原创不易  拒绝白嫖 点个在看

往期精彩回顾

Leetcode面试高频题汇总--树

Leetcode面试高频题汇总--链表

Leetcode面试高频题汇总--数组

【设计模式】可能是东半球最透彻的单例模式讲解

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值