处在同一个局域网下的主机是可以直接通信的,但是处在不同局域网下的主机需要通过路由器来通信。


目录

一、局域网通信的基本原理(基于以太网)

1、场景一:局域网通信

 2、场景二:冲突检测

3、场景三:局域网被攻击

二、局域网通信的基本原理(基于令牌环)(不详细说明)


一、局域网通信的基本原理(基于以太网)

1、场景一:局域网通信

假设老师在给一群学生上网课,大家都连上了同一个网络 (或者可以把这根紫色的线看作是网线)。此时老师喊了一句“张三,你的作业呢??”,这个时候张三站了起来。

android 局域网通讯库 局域通信_IP

那问题来了,为什么张三会站起来??因为整个教室里只有一个张三,尽管其他人能听到,但是因为自己不是张三,其他人不会站起来。

换到局域网里,主机A发出一条消息,这条消息经过上层“包装”,传递到了底层,这条被包装的消息包含了“发出的IP地址”和“目标IP地址”。此时所有的主机都能收到这条消息,同时检测目标IP地址是否与自己的IP地址匹配,如果不匹配就不会响应这条消息。张三(主机E)与这条消息匹配,所以做出了响应——站起来了。

android 局域网通讯库 局域通信_linux_02

 2、场景二:冲突检测

假设老师在问张三的时候,李四向赵六发出消息“今天去踢球吗”,赵六向田七发出消息“今天有啥作业吗?”,在这种情况下,彼此的话都听不到。

换到局域网中,这种情况就是数据碰撞问题,一台主机可能同时要检测两个甚至多个消息。为了避免这种情况,每台主机都要有碰撞避免的能力,即碰撞避免的算法。既然别人在说,我就不说了呗,等别人说完我再说。这样达到的目的是局域网任何一个时刻,都只能有一台主机在向局域网中发送消息。

3、场景三:局域网被攻击

如果一个局域网被攻击了,这是什么原因造成的呢?很简单,老师在对张三说话,李四一直在发言,这个时候老师也不得不停下来。

换到局域网,因为任何时刻都只有一台主机在发消息,如果一台主机持续性的在向局域网中输送消息,就相当于一直占用局域网这份临界资源,这就造成了其他主机无法连入局域网,即无法向服务器发送请求。

二、局域网通信的基本原理(基于令牌环)(不详细说明)

从名字我们大致可以猜出一二,持有令牌者,才能够通信。主机A发完消息以后就把令牌交给下一个主机,就相当于互斥锁一样,谁竞争到锁,谁就能访问临界资源。具体原理这里不作解释。

android 局域网通讯库 局域通信_linux_03