php如何实现局域网,局域网中是如何实现一对一通信

本文介绍了局域网中如何通过广播信道实现一对一的通信。主要涉及MAC地址的作用、CSMA/CD协议以及如何利用MAC地址进行目标主机的选择。通过数据帧的发送和目的地址匹配,即便在广播环境中,也能实现主机间的精确通信。
摘要由CSDN通过智能技术生成

我们知道,局域网采用广播信道进行传输,广播信道可以实现一对多的通信。但现实中并不总是要进行一对多的通信的,那么如何在两台主机之间进行一对一的通信呢?这个问题不是那么简单的,我们需要考虑多个方面:主机是如何将产生的信息传送到信道上的

多个主机共享信道,那么如何控制不发生信息之间的碰撞

如何发信息送给特定主机

网络适配器(网卡)的作用

网络适配器也即我们通常所说的网卡。主机与外界局域网通信时通过网卡来适配的。因为主机与网卡间是通过并行传输,而网卡与局域网之家则是通过串行传输的,所以网卡需要在两者之间进行适配。

在网卡的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地址一致,如果不一致就丢弃。这样,具有广播特性的局域网就实现了一对一的通信了。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值