网络编程——封装和分用(图解)

一、什么是封装

💌💌💌网络编程中的封装,并不是Java面向对象思想里的封装,继承,多态的封装.它是应用程序通过TCP协议传送数据时,每一次进行包装送入网络中,像极了发快递时的你.

思考:男生A给女神B发了一段表白的话,在主机A里会怎么传输呢?

2、图例
  1. 应用层,程序猿自己制订协议,构造出一个应用层的协议报文.

🐻🐻应用层——数据传输的基本单位为报文,负责数据传输过去之后,如何使用.主要包含的协议有:FTP(文件传送协议)、Telnet(远程登录协议)、DNS(域名解析协议)、SMTP(邮件传送协议),POP3协议(邮局协议),HTTP协议(Hyper Text Transfer Protocol).

  1. 应用层——>传输层,构造一个传输层的协议报文.

🐻🐻传输层——负责两个点之间的通信,分为可靠传输和不可靠传输.主要包含的协议有 TCP 协议(可靠传输),UDP 协议(不可靠传输), TCP协议报文里面最重要的就是源端口和目的端口.

  1. 传输层——>网络层

🐻🐻网络层——负责两个点之间的路径规划,基本是数据单位是IP数据报, 路由器是工作在网路层的设备. 主要包含的协议有:IP协议(Internet Protocol,因特网互联协议);ICMP协议(Internet Control Message Protocol,因特网控制报文协议);ARP协议(Address Resolution Protocol,地址解析协议);
RARP协议(Reverse Address Resolution Protocol,逆地址解析协议). IP的协议报头里面最重要的信息就是源IP和目的IP.

  1. 网络层——>数据链路层

🐻🐻数据链路层——负责两个相邻的节点之间如何传输, 基本数据单位为帧,交换机工作在数据链路层。主要包含的协议有:以太网协议.帧头一直发生变化,以相邻传输地址为主,帧尾就是校验和,相当于验证数据的完整性(steam下载完游戏,都会进行效验).

  1. 数据链路层——>物理层

🐻🐻物理层——网络通信的基础设施,该层为上层协议提供了一个传输数据的可靠的物理媒体,通过把以太网数据帧变成高低电平,通过网线传输出去, 或者以太网数据帧变成无线电磁波,通过光纤,无线网进行传播.

这就是封装的全过程,但是男生A的告白还停留在自己的操作系统上,女神并没有收到,需要分用才能传到女神B的客户端里,下面分享女神是如何收到消息的(分用),她会答应你吗 ……

二、什么是分用

💡上面咱们说的是封装全过程,此时女神并没有收到,要想收到消息,还需要经历路由器,交换机等设备的传输,需要分用才能传到女神B的客户端里,然后人家答不答应你心里难道不知道吗,💕💕💕哈哈?

2、图例

1.物理层(硬件)——>数据链路层,把电平或电磁波转化成以太网数据帧.

🕊️对于一个集线器(Hub)来说,它只实现了物理层, 主要功能是对接收到的信号进行再生整形放大,以扩大网络的传输距离,同时把所有节点集中在以它为中心的节点上.

2.数据链路层(驱动程序)——>网络层,去掉帧头和帧尾.

🕊️对于一台交换机来说,它实现了从数据链路层到物理层,主要功能是按照通信两端传输信息的需要,把要传输的信息送到符合要求的相应路由上.

3.网络层——>传输层,去掉IP协议报头.

🕊️对于一台路由器来说,它实现了从网络层到物理层,主要功能是连接两个或多个网络的硬件设备,在网络间起网关的作用,可以分析不同类型网络传来的数据包的目的地址,把非TCP/IP网络的地址转换成TCP/IP地址,再根据路由算法把数据包按传送到指定位置.

4.传输层——>应用层,去掉TCP协议报文,应用层调用socket api解析里面的数据报,这时客户端就能正常显示了.

🕊️对于一台主机,它在操作系统内核实现了从传输层到物理层的内容.
如果中间有很多传输设备,过程也是如此:

网络系统分层的特点:
  • 灵活性高. 如果我们要对某一层进行修改,其他层间的接口保持不变,修改内部代码即可, 这层以上或以下各层均不受影响.
  • 使用成本低. 对于使用方来说,并不需要关心内部是如何实现的,调用接口即可使用.
  • 隐秘性强. 对于提供方来说,可以隐藏实现的细节,只需要接口即可.
  • 提高标准化工作. 因为每一层的功能有了明确的说明, 便于后来的程序员维护升级.
此时分用过程完毕,偷偷告诉你,女神也喜欢你!!!
  • 7
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 10
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 10
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

web图解

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值