网络杂记

协议:
协议的意思就是字面的意思,指通信双方达成的一种共识
协议就是一种约定,通信双方都认可这样的约定之后,才能进行正确传输
协议往上更进一步就是 标准 (大家都达成的协议)

那么网络中的协议具体有哪些呢,大佬对这些协议分了层
首先为什么要分层,分层带来了什么好处

  • 分层能够避免某个协议过于庞大复杂(和写代码是一个道理,如果某个文件太大了,就要拆分多个文件)
  • 分层之后,协议之间"解耦合"了,上层协议不需要理解下层协议的细节实现,相当于"封装"
  • 分层之后,任何层次的协议,都可以灵活替换.

实际网络通信中的协议很复杂,要分很多层, 主要有两种类型
OSI七层模型

OSI只是教科书上的理论,不是实际情况,因为他太复杂了

TCP/IP五层(或四层)模型

  1. 应用层:应用程序直接打交道的协议(涉及最多的部分)
  2. 传输层;负责端到端之间的传输(只需要关注起点和终点)
  3. 网络层:负责点到点之间的传输(需要规划路径)
  4. 数据链路层:负责相邻点之间具体如何传输
  5. 物理层:网络通信的基础设施硬件设施(网线,基站,光纤…纯硬件的,和软件关系不大,所以有时候会忽略物理层,即四层模型),相当于铁路,公路,航道,港口码头

每层的协议都是上层协议调用下层协议,下层协议给上层协议提供服务
而且传输层和网络层都是纯软件的协议,由操作系统内核实现
但是数据链路层和物理层,和系统没有直接关系,而是取决于具体的硬件设备.

🌂
对于一台主机,他的操作系统内核实现了从传输层到物理层的内容
对于一台路由器,它实现了网络层到物理层;
对于一台交换机,它实现了从数据链路层到物理层.
对于集线器,他只实现了物理层
但这其实也不是真实情况,现在的情况是,现代的交换机和路由器没有本质区别,而且都实现到应用层

网络传输的基本流程:各个层次的协议之间是如何协同工作的
主要是由两个操作:

  1. 封装:发快递需要打包
  2. 分用:拆快递.

举个例子,比如我现在要给我弟弟发送一条微信,内容是烧壶开水,那么此时信息的流动过程为:

1.应用层需要根据用户输入的数据,把这个数据构造成一个应用层数据报
这里标注了发送者和接收者以及内容,实际情况会更复杂.
在这里插入图片描述
2.应用层协议要把数据交给传输层协议,进一步封装.
封装的意思就是给刚才的数据基础上加上一个传输层的协议报头
在这里插入图片描述
3.传输层需要把数据进一步的交给网络层
网络层协议再加一个网络层的协议报头(还是字符串拼接)此时就得到了一个网络层数据报
在这里插入图片描述
4.网络层需要把数据交给数据链路层,数据链路层再加上一个数据链路层的协议帧头+帧尾(数据报头)
在这里插入图片描述
5.数据链路层得到的数据帧,还要交给物理层,物理层就会把这个数据转换成光点信号,通过硬件设备(网络,光纤…),传递到
暂时不画图

分用:
1.物理层接收到对方发来的光电信号,解析成二进制的bit流,进一步得到了数据链路层的数据帧,把数据帧交给数据链路层来处理

2.数据链路层解析数据帧,剥离帧头和帧尾,取出中的ip数据报,交给网络层
在这里插入图片描述
3.网络层拿到刚才的网络层数据报,再来解析,去掉网络层协议数据报头,把数据交给传输层.
在这里插入图片描述
4.传输层协议拿到了传输层数据报,再来解析,去掉传输层报头,再把应用层数据报交给应用层.
在这里插入图片描述
5.应用层解析应用层数据报,分析出数据内容是啥,发送者是谁,显示到界面中
此时我弟就能看到我发的消息了
在这里插入图片描述
刚才这个过程没有考虑到网络传输的一些中间过程~ 只考虑发送和接受了,实际上这个过程要更加复杂

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值