网络协议上课笔记(一)

前置说明:本系列笔记跟腾讯课堂网络协议从入门到底层原理-MJ大神新课的教学视频的pdf课件一一对应,本篇文章对应的课件是《01_基本概念.pdf》。
在这里插入图片描述

跨平台的原理

 这里所说的平台是代指操作系统。
 C、C++跨平台是每个平台都需要编译,然后编译成对应平台的可执行文件;Java跨平台原理是:java将代码编译成.class文件交给JVM运行,JVM在根据自己所处的平台将.class编译对应平台的可执行文件。相当于以多了一个“JVM中间层”的代价,实现了“一次编译到处运行的效果”。
在这里插入图片描述

JDK与JRE的关系

 JRE是java的运行环境,即JVM。JVM需要的是.class文件,但是我们开发java默认是.java文件,那么一开始只能通过可执行文件将.java编译成.class,所以JDK下包含JRE外,还附带了一些可执行文件,比如javac.exe,是用来将.java编译成.class的。
在这里插入图片描述

协议

什么是协议,协议的核心思想就是约定大于配置的思想。协议只是让很常见的事情让人们有一个约定俗成的共识,从而减少人们对于这些事情的沟通成本。比如租房协议,当我要租房时,跟房东了解完基本情况后,不用在多少什么,直接签租房协议即可
在这里插入图片描述

网络互连模型

7层模型:是OSI组织制定的,它是理想化的,因为制定这个模型的专家都没什么实战经验,不太符合现实。
4层模型:是实战得出来符合现实世界的模型
5层模型:因为4层模型中的网络接口层过于复杂,为了便于学习研究,所以讲网络接口层拆分层数据链路层和物理层。
在这里插入图片描述

网络分层及对应的数据

在这里插入图片描述

计算机之间的通信基础

需要得知对方的IP地址
◼ 最终是根据MAC地址(网卡地址),输送数据到网卡,被接收方网卡接收
如果接收方网卡发现数据的目标MAC地址是自己,就会将数据传递给上一层进行处理
如果接收方网卡发现数据的目标MAC地址不是自己,就会将数据丢弃,不会传递给上一层进行处理

一句话概述网络:发送方得知对方的IP,然后发送数据包,网络设备在根据一系列的处理机制,顺藤摸瓜的找到含有对方IP的网络,并发送给对方;如果找不到则将数据包进行丢弃。

网络设备

同轴电缆、集线器、网桥、交换机、路由器。每往后的一个网络设备,都是为了解决前一个网络设备的不足与问题,比如集线器解决了同轴电缆的一处线路损坏,导致整个网络瘫痪(过于耦合)的问题。

同轴电缆

缺点:半双工通信、不安全、没有智商(只会广播,浪费资源)、高耦合(同轴电缆的某一个地方损坏了整条同轴电缆都没用了,要修复只能更换整条同轴电缆。因为同轴电缆损坏的地方不会被吸收,导致网络中永远有信号,半双工发不出)。
在这里插入图片描述

集线器

改进:同轴电缆的高耦合=>集线器的低耦合。假设现在某一个集线器坏了,我只需要更换这个集线器;如果是集线器跟计算机之前的网线坏了,那只要更换这条网线,不用将整个网络设备都更换。
缺点:半双工通信、不安全、没有智商(只会广播,浪费资源)
在这里插入图片描述

网桥

改进1:集线器没智商=>网桥有智商。网桥有2个端口A、B,底层维护着一张 端口-设备表(端口、设备),能够通过自学习知道端口-设备的关系。所以当192.168.0.1要发送给192.168.0.2消息的时候,网桥就不会将信号转发到B端口的网络,因为网桥知道目标192.168.0.2就在A端口的网络。

portip
port1192.168.0.1
port1192.168.0.2
port2192.168.0.3
port2192.168.0.4
端口_设备表

改进2:集线器的不安全=》网桥的相对安全

  1. 假如网络中有A、B、C、D、E、F、G六台设备,A、B、C在网桥port1那边,D、E、F在网桥port2。
  2. 现在A要跟B私发信息,由于网桥知道B在port1端口这边,所以信号不会发送给port2端口的D、E、F。但是port1端口的所有人还是会收到A对B的私发信息,即C会收到,所以在广播域内也是不安全的。
  3. 如果A要给D发信息,那么B、C、D、E、F、G都会收到。

缺点:只有两个端口,只能将网络分割成2个冲突域,冲突域中还是半双工通信;不安全。

交换机

改进1:网桥的端口少=>交换机的更多端口。交换机跟网桥一样,底层也是维护着一张 端口-设备表(端口、设备),也可以通过自学习来知道端口-设备的关系。
改进2:交换机是全双工通信,所以解决了冲突域的问题。
缺点:只能直连同一个网段
所以局域网的终极解决方案是交换机
在这里插入图片描述

路由器

改进1:交换机只能直连同一个网段 => 路由器连接多个网段
改进2:交换机使连接的设备变为同一个广播域,使广播域的主机越来越多,最后会产生广播风暴 => 路由器可以隔绝广播域,限制广播域的规模,避免产生广播风暴
所以互联网的终极解决方案是路由器+交换机
在这里插入图片描述

半双工 与 全双工

半双工 与 全双工 的定义

全双工:就是多方进行通信,多方都能同时作为发送方和接收方。比如A、B、C互相通信:A发送信息给B的同时,B也发送信息给A,C也发送给A,B也发送信息给B,此时A、B、C即是发送方也是接收方。
半双工:就是多方进行通信,多方在同一时间只能有一方作为发送方,而其他方作为接收方,不能让全部人同时即是发送方也是接收方。比如A、B、C互相通信:A发送信息给B、C的时候,B、C都不能发信息,只能收信息。

半双工的实现原理 载波侦听多路访问/冲突检测技术

如果当前网络是半双工通信网络,假如现在有这么一个场景:

  1. 网络中有A、B、C
  2. A要给B发信息然后同时B也要给C发信息
  3. 假如A发出信息的时间比B发出信息的时间早那么一丢丢。那么根据半双工的规则(同一时间只能有一方作为发送方),所以此时B就要等待A的信息发送完毕后,B才能发送信息。
  4. B是怎么知道A的信息是否已经发送完毕呢?其实B在发出信息之前会检测下当前网络是否有信号,如果有的话就认为其他人正在发送,那么我过段时间在检测,直到检测到当前网络没有信号,即没有其他人在发送了,那么B才会发出自己的信息。

上面所说的“检测网络是否有信号,没有才发送”这个就是所谓的载波侦听多路访问/冲突检测技术,当然其实现原理肯定很复杂,在这里我只是通俗易懂的说出个大概。

广播域 与 冲突域

假如网络中有A、B、C、D、E、F、G六台设备,A、B、C在网桥port1那边,D、E、F在网桥port2。那么这个网络就有1个广播域、2个冲突域,如下图所示:
在这里插入图片描述
广播域是: A、B、C、D、E、F、G。因为A发送的广播数据包,B、C、D、E、F、G都能收到
冲突域是:(A、B、C )和 (D、E、F)。因为A、B、C在port1那边,而且它们是用集线器连接的,集线器是半双工通信的,所以port1端的网络只允许同一时间只能有一方发送,其他方接收,如果其他方也发送的话,就会产生冲突了,这就是为什么叫这个区域为冲突域的原因。加入这里的集线器换成了交换机,那么这个冲突域就消失了,因为冲突域只存在于半双工通信中

冲突域是物理层的概念(因为是由于物理设备的特性而产生的概念,换一个更好的交换机就可以解决啦);
广播域是数据链路层的概念(因为这取决于你怎么配路由表,是属于数据链路层的)

值得注意的是:广播域是可以跨网段的,即使在不同的网段的主机,也可以通过设置,使它们处于同一个广播域。
2台主机的广播域不同 => 2台主机的网段肯定不同
2台主机的网段不同 ≠> 2台主机的广播域不同

进阶:想更深层次的理解广播域,广播域是怎么计算的,可以阅读
https://blog.csdn.net/localhostcom/article/details/104511879/

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

我叫985

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

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

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

打赏作者

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

抵扣说明:

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

余额充值