【网络协议从入门到底层原理】【01】网络协议基本概念


持续学习&持续更新中…

学习态度:守破离


网络协议

什么是协议

协议是通用的标准(规定),可以用来约束双方。

在这里插入图片描述

  • 遵守协议的都是统一规范的。

  • 协议是约束双方的一种标准、一种规范。

  • 有一个标准规范的协议很重要,可以减少双方的沟通成本、提高办事效率。直接按照协议走就行。

网络协议

没有网络协议,就没有今天的互联网。

在这里插入图片描述

  • 网络协议用来规定网络双方两个节点如何进行通信,用来约束数据格式。

  • 网络协议规定客户端能发什么、服务器能返回什么。客户端和服务器之间会有一种约定好的固定的数据格式

  • 有了网络协议,发送数据的一方和接收数据的一方才能够进行有效的沟通(双方都了解、能看懂对方发来的数据)。双方都会以某种格式来解析数据。

  • A、B两台计算机之间之所以能够互相收发数据,就是因为有网络协议的规定。

    1. A、B两台计算机的数据传输应该经过哪些机器(交换机、路由器等)
    2. 数据传输应该经过哪些层
    3. 数据应该怎么包装
    4. 数据格式应该是什么样子

网络互连模型

网络分层

为什么要分层?。

  1. 看似每一层做的事很少,其实很多
  2. 分工(专人干专事、分工明确)
  3. 解耦(隔离其他层、各个层之间互不干扰。万一哪一层出现了问题,只需要维修这一层即可,不会影响其它层)
  4. 针对某一层进行优化

在这里插入图片描述

网络互连模型

国际标准(理论):OSI 7层
实际应用(实践):TCP/IP 4层
学习研究(学习):5层

在这里插入图片描述

  • OSI参考模型(Open System Interconnect Reference Model),具有7层结构,是国际标准组织ISO在1985年制定的(1985年之前已经有互联网了,但是很乱,大家都用自己的网络协议,不利于互联网的发展。)。用来规定两个设备之间数据传输应遵循什么标准。

  • OSI参考模型只不过是一种理论上的标准,太理论化了。制定OSI参考模型的那些专家们有可能过于理论化,过于学术派,不一定有实战经验(这些专家们有可能在1985年制定网络OSI参考模型之前甚至都没有过实战经验)。

  • TCP/IP协模型是已经在实际应用中得到认可的适合实战的网络模型(1985年之前那些已经在做互联网实战的公司、机构、团队、组织、个人等才知道到底什么样的网络模型才适合作标准),是适合传递数据、适合作标准、符合现实生活的。比如现在的HTTP请求过程走的就是TCP/IP协议这四层。

  • 网络层(Network)和网际层(Internet)是一样的,叫法不同而已。

  • 图中最右边的5层模型,是为了方便学习和研究而特意划分出来的。(物理层和数据链路层特别重要,因此拿出来做研究)

请求和响应过程

  • 客户端和服务器之间收发数据不是直接进行的。需要遵循某种协议,走协议流程。

  • 不管是什么协议,比如:HTTP、FTP、MQTT、RTMP,其数据传输的底层原理都是类似的,如下图所示那样对数据进行包装、拆包进行传输。

在这里插入图片描述

路由器是用于寻找主机(服务器)的,因此只需要三层就够了。

在这里插入图片描述

例子(可以点击旁边的PDU细节查看具体的数据):

在这里插入图片描述

请求过程

在这里插入图片描述

响应过程

在这里插入图片描述

计算机之间的通信基础

计算机之间的通信基础

在这里插入图片描述

在这里插入图片描述

  • 两台计算机之间通信之前需要知道对方的IP地址和MAC地址

  • IP地址是必须要知道的,MAC地址在发送数据过程中会被自动解析。

网卡和MAC地址

PS:同一网段下,计算机在通信之前都要先使用ARP地址解析协议(Address Resolution Protocol)来获取对方的MAC地址(如果没有对方的MAC地址的话),之后再去使用其他协议来进行通信。

  • 计算机是使用网卡来接收数据的,而网卡拥有属于自己的MAC地址,因此我们得知道MAC地址才行。

  • 一个网卡对应一个MAC地址

  • 但是为什么我们只需要知道IP地址即可通信呢?因为MAC地址会被自动解析。

  • 也就是说,不知道对方的MAC地址而只知道对方的IP地址,一样发送不了数据给对方,但庆幸的是,计算机已经自动帮助我们做好了MAC地址解析的工作。

ARP地址解析协议
  • ARP:Address Resolution Protocol

  • 同一网段下,计算机之间要通信,必须先使用ARP来广播获取对方的MAC地址。

  • 发送的数据包会有源IP地址、目标IP地址、源MAC地址、目标MAC地址

  • 广播获取对方的MAC地址之后,本地计算机上会将对方的MAC地址缓存起来(静态缓存 or 动态缓存)。

ARP地址解析协议(广播协议)(Address Resolution Protocol),可以根据IP地址获取物理地址(MAC地址)

  • 广播是在同一个网段中传播的,广播会传播到所有能连通的设备上。
  • 同一个网段的所有能连通的终端都能够接收到广播(使用了广播地址:FFFF.FFFF.FFFF)
  • 发广播的目的是获取对方的MAC地址
  • 获取到对方的MAC地址才能进行真正的数据通信,发送数据到对方的网卡上。
  • 获取到对方的MAC地址后,会被缓存到ARP表
半双工、全双工

在这里插入图片描述

在这里插入图片描述

计算机之间的连接方式

相同类型设备之间连接使用:交叉线
不同类型设备之间连接使用:直通线

网线直连(两台计算机)

在这里插入图片描述

  • 同一个网段
  • 只适用于两台计算机之间
同轴电缆(多台计算机)

在这里插入图片描述

  • 同一个网段
  • 没有智商,所有能连通的设备都能接收到发送的数据,不安全
  • 中间断了,整个都瘫了,不可靠
  • 半双工通信:同一时刻,通道中只能有一个方向传输数据,也就是说只能有一台机器发送数据,其他机器要想发送数据只能等待
集线器(多台计算机)

在这里插入图片描述

  • 同一个网段
  • 集线器解决了同轴电缆的一个问题:一台计算机出问题,不会影响其他计算机。不至于中间断了导致整个都崩溃瘫痪。
  • 集线器和同轴电缆一样没有智商:会将数据(信号)发送给每个可以连通的设备,别人都可以收到发送出去的数据,导致其不安全低效率
  • 计算机(终端)才有ARP缓存。可以使用arp -a来查看某台计算机缓存的MAC地址
  • HUB集线器就是一个傻逼 ,没有缓存功能。
网桥(多台计算机)

在这里插入图片描述

  • 同一个网段
  • 有智商:会自学习(有一个地址表来缓存MAC地址);使用地址表来隔绝冲突域
  • 有缺点:接口太少

地址表的作用:

  • 如果网桥的地址表记录的很全的话,会大大提升发送数据的效率,并且起到隔绝冲突域的作用:在这里插入图片描述
交换机(多台计算机)

在这里插入图片描述

  • 同一个网段
  • 多个接口
  • 有智商:会和网桥一样去自学习记录MAC地址
  • 比集线器安全,可以精准发送数据,不会将数据发送给其他机器
  • 比网桥更加聪明,学习的更快,给其它计算机发送数据时也更加准确
  • 交换机可以说是局域网的最终解决方案
  • 如果要跨网段,需要使用路由器

  • 如果全球所有的设备都用交换机连接(先不考虑IP地址是否够用的问题),那么就意味着,如果一台计算机设备要向另一台计算机设备发送数据,那么全球的所有设备(因为都处于同一广播域、处于同一网段)都会收到ARP广播,会造成广播风暴!
路由器(多台计算机、不同网段)

计算机不在同一个网段的话,需要使用路由器来连接

在这里插入图片描述

  • 主机在发数据之前,首先会判断目标主机的IP地址跟它是否在同一个网段:
  • 如果在同一个网段:ARP广播、通过 交换机/集线器 传递数据
  • 如果不在同一个网段:通过路由器(网关)转发数据
  • 每个网段都有一个网关(比如IP:192.168.10.11;子网掩码:255.255.255.0这台设备的网关一般是:192.168.10.1
  • 给路由器和PC分别配置好网关后,设备与设备就可以跨网段传输数据了

注意和一些细节

  • ping底层使用了ICMP(Internet Control Message Protocol)Internet控制报文协议

  • 集线器、网桥、交换机、路由器等数据发送过程都可以使用PacketTracer工具进行模拟查看。

  • 家用路由器内置了交换机的功能

参考

小码哥M了个J: 网络协议从入门到底层原理.

小码哥M了个J: 小码哥MJ网络协议公开课.


本文完,感谢您的关注支持!


  • 2
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值