我所理解的二层通信、电脑 A、B 是直接通过 mac 地址通信的。(电脑 A - 交换机 - 电脑 B )。
以太网的帧 [Preamble | SFD | DST | SRC | Type | Payload (Data) | Pad | FCS | Extension]。
其中 DST 电脑 B 的 mac 地址( 6btye ),SRC 电脑 A 的 mac 地址( 6byte )。
电脑 A 发送数据包到交换机、交换机转发到电脑 B。
我的疑问是 IP 和网关不是网络层,路由那的东西的。二层为什么要设置这个?
1
chinawrj 2017-07-08 11:00:17 +08:00 via Android 1
主贴内没看到你所描述的要填 IP 的地方
|
2
jtsai OP @chinawrj 我们的局域网,电脑 A 电脑 B 电脑 C 通过交换机连在一起。这三台要脑要通信,为什么都要设置 IP 和网关。这是我想知道的
|
3
wwqgtxx 2017-07-08 11:07:24 +08:00 via iPhone 1
那是因为你是用 tcp/ip 协议通讯的,这本来就已经不是第二层协议了
|
4
xfspace 2017-07-08 11:08:58 +08:00 via Android 1
程序基于 IP 开发的,你不配 IP 怎么通讯?
你可以造个轮子,用 MAC 通讯 二层同一广播域同一子网可以不设网关 |
6
chinawrj 2017-07-08 11:16:32 +08:00 via Android 1
@jtsai 你所谓的通信已经自认为是 IP 了。以太网不仅仅可以是 IPV4,还可以 IPV6,还可以裸包。
|
7
Septembers 2017-07-08 11:18:28 +08:00 1
你可以实现 MAC 层 telnet
see https://github.com/haakonnessjoen/MAC-Telnet |
10
mazyi 2017-07-08 11:55:22 +08:00 via iPhone
好好看书,计算机网络。
|
11
oska874 2017-07-08 13:17:22 +08:00
计算机网络得重学。
|
12
crazycen 2017-07-08 13:26:30 +08:00
大学有本书,叫计算机网络!
|
13
Betacoefficient 2017-07-08 13:32:25 +08:00
看书都不仔细,当然有可能是记性不好。多去背一下计算机网络及其相关的知识。
|
14
AntonChen 2017-07-08 13:48:47 +08:00 via iPhone
ROS 的 WinBox 能用 MAC 地址连接
|
15
baicheng 2017-07-08 14:03:40 +08:00 via iPhone
不是很懂楼主的意思。
从以太网帧格式里头没有看到需要直接填 IP 地址的字段,但 Data 字段指的是上层 IP 层的数据帧,需要 IP 地址。 局域网内 A 与 B 电脑的直接通信过程是: A 的应用层数据->A 的传输层( TCP/UDP )->A 的网络层( IP )->A 的数据链路层(以太网)->A 的物理层->B 的物理层->B 的数据链路层->B 的网络层->B 的传输层->B 的应用层 在局域网内直接通过数据链路层实现通信是 OK 的,不过得自己写程序了。 |
16
lhwj1988 2017-07-08 15:31:24 +08:00 via iPhone
很少有只用 mac 地址通信的应用软件,都是基于 ip 地址通信的,arp 协议负责转换 ip 与 mac 地址
|
17
luoqeng 2017-07-08 15:32:56 +08:00
楼主听说过 IPX/SPX 协议没
|
18
bravecarrot 2017-07-08 16:16:47 +08:00 via iPhone
没太看懂楼主的意思,也没看到需要设置 ip 的地方。
原则上你可以操纵每一层的通信内容。操纵对应的硬件设备即可 通常说的 A-交换机-B 是为了帮助大家理解其真实过程。在用户使用的时候,还是对网络层的内容设置比较方便即 a 的 ip-a 的 mac-网线-交换机-网线-b 的 mac-b 的 ip |
19
jtsai OP @baicheng
@bravecarrot 感谢,没看懂意思 请看二楼 我的补充。 其实我已经弄明白了。哈哈,二层不是可以直接通过 mac 通信吗? 为什么设置 ip,因为通信的程序要 ip。 日常使用的软件是没有直接使用二层交流的。纯粹的二层通信、直过 mac 地址通信是可以实现的。但是更高层的通信更强大,所以软件们就直接使用更高层的了。 理解如果有误导,请帮忙指正。 |
20
feather12315 2017-07-08 17:18:47 +08:00 via Android
需要搞明白:IP 的作用是什么?
俩个字概括:寻路。 总线型的网络拓扑,任何连接在总线上的设备,都可以监听并收到这条链路上任何设备发出的包(网卡需要设置成混杂模式才可以收到)。而且,NIC (网络接口卡)的地址(以太网是 MAC )是一般是唯一的(虽说一般,但可以认为是唯一的),也可以唯一确定一个局域网的设备。 那为什么还需要 IP 呢? 世界上不止一个局域网呀,许许多多的局域网,怎么路由这些数据包?网络号便是这个作用。(关键词:域间路由)。自治系统都有一个网络号,内部再划分好多小的自治域。每个自治域都有唯一的网络号。每一个局域网内的所有 IP 构成这个网络。 |
21
chinawrj 2017-07-08 17:42:28 +08:00 via Android
@jtsai 是的。ARP 也是可以在以太网上的。还有很多,具体看以太网帧的 type 定义。我记得 IP 是 0806 ?忘了
|
22
billlee 2017-07-08 17:55:05 +08:00
你用过拨号宽带吗?你用网卡连 MODEOM 走 PPPoE 拨号的时候,电脑的以太网卡和 MODEM 都是不需要配置 IP 地址的。
|
23
pigzilla 2017-07-09 00:02:39 +08:00
lz 还是太年轻,去搜索下 NetWare 和 IPX 吧。
|