【网络基础】就你叫网络分层模型啊!(小白向)

前言

别看标题起的这么嚣张,只是想吸引读者而已哈哈。永远对知识保持敬畏之心,永远记得自己只在冰山一角。

本文用意在于不让前端小白记太多东西,就用最简短的大白话大概的理解下。

七层与五层

网络协议千千万,根据完成事情的性质进行分层区分,通过分层来明确每一层的工作职责,协同工作,保证不同层的协议修改不会影响其他层的,每一层可以使用下面各层的功能,所以分层是必然的。

最开始网络分为七层,叫做OSI七层模型,从顶到底分别是:

  1. 应用层
  2. 表示层
  3. 会话层
  4. 传输层
  5. 网络层
  6. 数据链路层
  7. 物理层

后来有TCP/IP五层模型,从OSI七层模型优化而来,把前三层合并成一层应用层。

物理层

就理解为物理连线,用来传输0101信息。

数据链路层

底层的物理层不知道0101是什么,就需要在本层进行规定,这样通讯双方就能理解对方在叽里呱啦什么。也就是将二进制数据包与网络信号相互之间转换。

此时,双方已经通过MAC地址建立连接了。

网络中计算机设备的唯一标识,从计算机在厂商生产出来就被十六进制的数标识为MAC地址。就理解为硬件的身份证得了。

网络层

此时,双方虽然取得联系,但还需要分辨是否处在同一个子网中(理解成住宅小区),那么就需要用到网络层中的IP协议子网掩码进行判断了。

传输层

假如一个计算机和一个服务器以上层都走过了,是不是可以愉快的网上冲浪了呢?别急,到了你计算机还要细分数据是传给哪个程序的,每个程序对应联系的是哪个服务器。咋办,那就给每个程序分配不同的端口,就理解为给每个程序开个小门,服务器同理。开这些小门就需要传输层上的TCP协议了,这个TCP既提供了端口对端口的通讯,也能让双方相互确认是否都已“在线”。也就是三次握手。

应用层

得嘞,这层就理解为提供特定于应用程序的协议,比如负责浏览器和网络服务器相互通信的HTTP协议、文件传输的FTP协议、负责电子邮件客户端检索邮件的IMAP协议;

走一遍流程

好,了解完TCP的五层模型,我们来举例走一遍,没病走两步!

假设我们的浏览器已经和服务器连接并已经正常传输数据了。

  1. 当浏览器使用应用层HTTP协议发送数据时,数据会被分成很多片段,每一个片段称为数据包;

  2. 通过传输层TCP给每个包添加源端口和目标端口,其中TCP会帮助数据包的不丢失,保证顺序,并经过握手进入网络层IP协议;

  3. 每个数据包将会赋予原计算机和目标计算机的IP地址;IP层还能给过大的数据包进行再次的分包;

  4. 每个数据包在数据链路层中把文本信息转成电子信号(0101)放在物理层电缆传输。在电缆的另一端有路由器检查,根据ip地址接力发送,最终到达服务器。

由于每个包链路不一样,所以到达顺序也不一样,这时TCP会根据包上携带的序列号来进行重组排序,并且发送方没有在特定时间内接受到接收方的ack确认时,会重新发送一次;

服务端获取到后自下而上层级传输,一层一层的恢复,到应用层时只剩数据;当前服务器会监听端口号,就能获取到数据,知道你要什么了;然后把你要的按照五层模型再走一次,浏览器就接收到了;

完~

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值