局域网中是如何实现一对一通信
主机是如何将产生的信息传送到信道上的
多个主机共享信道,那么如何控制不发生信息之间的碰撞
如何发信息送给特定主机
网络适配器(网卡)的作用
网络适配器也即我们通常所说的网卡。主机与外界局域网通信时通过网卡来适配的。因为主机与网卡间是通过并行传输,而网卡与局域网之家则是通过串行传输的,所以网卡需要在两者之间进行适配。
在网卡的ROM(只读存储器)中,写入计算机的硬件地址即MAC地址。这个MAC地址是非常重要的,它是实现一对一通信的关键。后面我们会讲到。
CSMA/CD协议
因为局域网采用的是共享信道,既然是共享信道,我们就要控制主机的先发和后发的问题。因为,如果多台主机同时发送信息,那么就会产生混乱。这里有个著名的局域网协议CSMA/CD(载波监听多路访问/碰撞检测),就是解决该问题的。
该协议是非常容易理解的,我们用一个例子来说明:在一个会场,有一些人参加会议。会议上没有主持人,所有人都可以*发言。但是,只有等其他人发言完毕,会场是安静的,才可以发言。如果有多个人在同时发言,那么同时发言的人都要结束发言,然后等待一个随机时间后,若会场是安静的就可再次发言了。这里为什么是一个随机时间,很好理解,如果是固定时间的话,同时发言的人过了一段时间后还是会同时发言的。
通过MAC地址实现一对一通信
解决了上面的问题后,我们再看主机间是如何进行一对一通信的。上文已经说过,网卡上有一个MAC地址,下面就是一个MAC地址
A0-A4-C2-4B-9F-56
它是由48位(6字节)组成的,每个网卡的MAC地址是全球唯一的,既然它是唯一的,那么就可以通过它来进行主机间一对一的通信。
局域网中通信的基本单位是数据帧。当局域网中的主机A想要向同一局域网的另一台主机B通信,那么在A发送的数据帧首部就要写明目的地址(B的MAC地址),然后这个数据帧就会广播到局域网中的所有主机,其他主机的网卡接受这个数据帧时,查看其目的地址是否和自己的MAC地址一致,如果不一致就丢弃。这样,具有广播特性的局域网就实现了一对一的通信了。
以上就是局域网中是如何实现一对一通信的详细内容,更多请关注其它相关文章!
推荐阅读
-
ES6中的class是如何实现的(附Babel编译的ES5代码详解)
-
vue3.0响应式数据是如何实现的?相比vue2.0中Object.defineProperty()有什么优势?
-
从源码来看一下数据绑定在Vue中是如何实现的
-
详解Js中的模块化是如何实现的
-
Java中Set集合是如何实现添加元素保证不重复的?
-
Java中ConcurrentHashMap是如何实现线程安全
-
如何选择局域网中的通信协议
-
设计模式之责任链模式思考题(servlet中filter过滤器是如何实现的?)
-
javascript - segmentfault中帐号设置更新提醒是如何实现的
-
微信支付中扫码后能及时获取到服务器反馈是如何实现的?