Chinaunix

标题: 【讨论】以后厂家不需要为网卡分配MAC地址 [打印本页]

作者: HappyTigerYear    时间: 2010-07-23 10:54
标题: 【讨论】以后厂家不需要为网卡分配MAC地址
本帖最后由 HappyTigerYear 于 2010-07-24 17:52 编辑

网络接口设备(如网卡)不能做为一个单独设备联网,它只能与可以做为一个独立的网络设备(如计算机)关联,才能发挥它的作用,把这个网络设备联入网络。

由此,我认为,没必要为网络接口设备分配唯一的ID(如网卡的MAC),而应该为每台网络设备(如计算机)唯一分配一个ID,网卡只要从它所关联的网络设备读取这个网络设备的ID即可,就是说不需要为网卡单独分配MAC地址,让它用主机的ID就行。所以,厂家为网卡分配MAC地址是多余的。


PS: 既然128比特位可以为地球上的没粒子沙子分配一个数值,网络设备的ID就用128比特位标识,就足够用了。

注意,我说的网络设备的128比特位的UID不是IPv6的IP地址。
作者: hellioncu    时间: 2010-07-23 11:21
那两块网卡通信怎么区分
作者: HappyTigerYear    时间: 2010-07-23 11:28
那两块网卡通信怎么区分
hellioncu 发表于 2010-07-23 11:21



    你说的是同一台电脑上的两块网卡?
作者: hellioncu    时间: 2010-07-23 11:32
你说的是同一台电脑上的两块网卡?
HappyTigerYear 发表于 2010-07-23 11:28



    是的。
作者: HappyTigerYear    时间: 2010-07-23 12:38
回复 4# hellioncu

这种情况不担心,  在网络层就知道往哪个网卡传了,即使N个网卡
作者: zhangsuozhu    时间: 2010-07-23 12:58
L7层协议里,每层之间的内聚性是很强的。各层之间的关联性越少越好。各层之间越独立越好。
作者: langue    时间: 2010-07-23 13:27
这是不现实的,上层协议对底层应该是透明的,每一层协议也都需要一个起到识别作用的字段——正如网络层的地址可以是IP地址,传输层的“地址”就是端口号。

请注意,MAC地址不用于识别机器,MAC地址是用来识别接口的。IP地址也不用于识别机器,IP地址只对IP协议有意义。同一个接口通常只能存在一个MAC地址,但同一个接口可以配置多个IP;同样地,同一个IP也可以配置在多个接口上,只要能解决冲突的问题。
作者: langue    时间: 2010-07-23 13:36
>> 网络接口设备(如网卡)不能做为一个单独设备联网,它只能与可以做为一个独立的网络设备(如计算机)关联,才能发挥它的作用,把这个网络设备联入网络。

以太网的帧是发给对应接口的,不是发给机器的。采用了像你这样的解决方案,假如A机器有两条线路同时可以到达B机器,那么是否需要发送两个帧过去呢?这就造成了双重数据。或者,选择其一,应该怎样选择路径?如果要选择路径,那就必须对不同的接口进行编号,也就不可避免地要配置网络接口的硬件地址,这与你的设计是自相矛盾的。
作者: itke    时间: 2010-07-23 13:40
回复 5# HappyTigerYear


    那就要需要厂家把IP地址固化到网卡上了,不然网络层以下用什么来识别物理层?还是我没有明白你的意思?
作者: itke    时间: 2010-07-23 13:46
最终的数据传输是要靠物理层实现的,作为传输接口必须具备可以识别的地址。上层协议的最终实现也是依赖下层提供的service point
作者: ecjtubaowp    时间: 2010-07-23 13:47
简单点也可以像LZ这样的理解,反正绝对大多数情况下一台设备对应一个网卡吧,两个网卡以上的除外。
作者: qianhulou    时间: 2010-07-23 13:52
不要MAC地址 还要搞个其他地址  一样吧...
作者: HappyTigerYear    时间: 2010-07-23 16:20
回复  HappyTigerYear


    那就要需要厂家把IP地址固化到网卡上了,不然网络层以下用什么来识别物理层? ...
itke 发表于 2010-07-23 13:40



    网卡只要从它所关联的网络设备读取这个网络设备的ID即可,这时这个ID就是这个网卡的MAC
作者: HappyTigerYear    时间: 2010-07-23 16:28
不要MAC地址 还要搞个其他地址  一样吧...
qianhulou 发表于 2010-07-23 13:52



有多个网卡的入网络计算机,这台计算机有一个128比特位的UID,计算机启动时,网卡自动读取计算机的UID,或者计算机自动把自己的UID通知每个网卡,这样每个网卡就有同样的MAC了。
作者: HappyTigerYear    时间: 2010-07-23 16:29
简单点也可以像LZ这样的理解,反正绝对大多数情况下一台设备对应一个网卡吧,两个网卡以上的除外。
ecjtubaowp 发表于 2010-07-23 13:47



    多个网卡也一样。
有多个网卡的入网络计算机,这台计算机有一个128比特位的UID,计算机启动时,网卡自动读取计算机的UID,或者计算机自动把自己的UID通知每个网卡,这样每个网卡就有同样的MAC了。
作者: HappyTigerYear    时间: 2010-07-23 16:44
本帖最后由 HappyTigerYear 于 2010-07-23 16:46 编辑
以太网的帧是发给对应接口的,不是发给机器的。采用了像你这样的解决方案,假如A机器有两条线路同时可以到达B机器,那么是否需要发送两个帧过去呢?这就造成了双重数据。或者,选择其一,应该怎样选择路径?如果要选择路径,那就必须对不同的接口进行编号,也就不可避免地要配置网络接口的硬件地址,这与你的设计是自相矛盾的。langue 发表于 2010-07-23 13:36



你没明白我的意思,网卡也有硬件地址,就是电脑的UID。

“假如A机器有两条线路同时可以到达B机器”,虽然两个网卡都使用电脑的UID,但他们的IP地址是不同的,网络连接socket也是不同的, 所以从哪条线路发给目标计算机,最终只有一个socekt接收,不需要发送两遍。
作者: HappyTigerYear    时间: 2010-07-23 16:50
回复  HappyTigerYear


    那就要需要厂家把IP地址固化到网卡上了,不然网络层以下用什么来识别物理层 ...
itke 发表于 2010-07-23 13:40



    注意,我说的网络设备的128比特位的UID不是IPv6的IP地址,网络设备里还需要IP地址。
作者: davelv    时间: 2010-07-23 16:54
你没明白我的意思,网卡也有硬件地址,就是电脑的UID。

“假如A机器有两条线路同时可以到达B机器” ...
HappyTigerYear 发表于 2010-07-23 16:44


IP是不同,但是在网络层下IP就毫无意义了,交换机如何识别机器,是靠的MAC表。如果UID也位于和MAC相同的层的话。上层通过IP解析发现有两个UID相同的网卡,这时候交换机应该把数据交换给哪个?
作者: HappyTigerYear    时间: 2010-07-23 16:55
本帖最后由 HappyTigerYear 于 2010-07-23 17:00 编辑
L7层协议里,每层之间的内聚性是很强的。各层之间的关联性越少越好。各层之间越独立越好。
zhangsuozhu 发表于 2010-07-23 12:58



    网卡从计算机获取UID做为自己的MAC地址,应该是在数据链路层里的动作,没有跨层通讯。
计算机的UID是出厂前就烧录在ROM里的。
作者: HappyTigerYear    时间: 2010-07-23 17:05
IP是不同,但是在网络层下IP就毫无意义了,交换机如何识别机器,是靠的MAC表。如果UID也位于和MAC相同的层的话。上层通过IP解析发现有两个UID相同的网卡,这时候交换机应该把数据交换给哪个?davelv 发表于 2010-07-23 16:54


我建议都发,有三个原因:
1. 以太网本身就是广播,发给一个实际上就发给了所有,但真正接受的只有一个。
2. 一台电脑有多个网卡的需求很少。
3. 逻辑上讲,每个报文的目的地就是计算机,而不是网卡,所以两个网卡都发是合乎逻辑的。
作者: davelv    时间: 2010-07-23 17:22
本帖最后由 davelv 于 2010-07-23 17:26 编辑
我建议都发,有三个原因:
1. 以太网本身就是广播,发给一个实际上就发给了所有,但真正接受的只有一个 ...
HappyTigerYear 发表于 2010-07-23 17:05

1、以太网是基于总线型的没错,但是自从交换机的出现,这种传统总线的拓朴结构已经快速消亡了。
交换机为什么能比hub提高性能,就是因为它是负责转发,而不只是电路中继。有效的截至了网卡收到非广播帧的状态。
有了交换机我们的网卡就不会收到不是发给自己的帧,网络也不会被其他设备占用,大大减少了冲突的出现次数。
这样也使得局域网的负载量比同轴电缆时代高了一个数量级。
而且共享总线的时代,只要收到不是发给本MAC的数据通通丢弃,而楼主所说的UID还要继续拆包到网络层,查看IP是否对应才能知道该数据是不是发给本机,用这种技术会倒退到比同轴电缆的网络性能更低的时代吧。
2、网关服务怎么办?路由器怎么办,交换机怎么办?不都是多网卡么。
3、IP数据报是用来定位计算机的,UID这种技术的确也可以成功的配合IP定位计算机。这点也没有人反驳你,但是只有能通信是不能满足需求的,你速度要快阿。
作者: davelv    时间: 2010-07-23 17:46
说的过了,不会倒退到比同轴电缆还低的通讯质量水平,但是质量下降是必然的。
作者: itke    时间: 2010-07-23 18:11
回复 19# HappyTigerYear


    你的意思是网卡厂商的工作交给主板厂商去做,还要扩大到128位?而主板厂商又不负责net process的设计,更不要说通讯过程的实现了,难道NP也要交给主板厂家去做?如果还是网卡厂商去做,他们在协议实现的时候还要主板厂家再推出一套有关你说的128位UID的国际标准,并参照其标准设计产品!这还单单指终端设备,要是网络设备那就更头大了。这样做的意义究竟何在?
作者: A.com    时间: 2010-07-23 18:20
我建议都发,有三个原因:
1. 以太网本身就是广播,发给一个实际上就发给了所有,但真正接受的只有一个 ...
HappyTigerYear 发表于 2010-07-23 17:05



    不是广播的,你在别的端口上如果不做端口复制,是抓不到包的。交换机只会根据MAC来转发以太网包数据
作者: HappyTigerYear    时间: 2010-07-23 18:27
本帖最后由 HappyTigerYear 于 2010-07-23 18:31 编辑

回复 21# davelv


    嗯,你说的也有些道理。这样行不行,如果有多个同UID的网卡,交换机就只向第一个发现的同UID网卡发送报文,等报文送到目标计算机的网络层,再判断是传向哪个socket,这样应该没问题,没降低速度反而提高速度的可能性更大。也就是说socket屏蔽了多网卡,现在没这么做,将来可以这么做,如果我说的这个方案可行。
作者: davelv    时间: 2010-07-23 18:40
回复  davelv


    嗯,你说的也有些道理。这样行不行,如果有多个同UID的网卡,交换机就只向第一个发 ...
HappyTigerYear 发表于 2010-07-23 18:27


这样跟单网卡没什么区别了。
作者: HappyTigerYear    时间: 2010-07-23 20:37
本帖最后由 HappyTigerYear 于 2010-07-23 20:40 编辑

回复 26# davelv


    如果两个网卡都连在一个交换机上,这样就和单网卡没区别。
网卡的MAC不是因为其是多么高超的发明而存在,而是有其历史原因的。取消MAC,让网络设备都有唯一的UID,不但不会削弱网络协议的功能,还会大大简化了协议的复杂性,尤其对于异构网络的互联协议。
作者: davelv    时间: 2010-07-23 20:48
回复  davelv


    如果两个网卡都连在一个交换机上,这样就和单网卡没区别。
网卡的MAC不是因为其是 ...
HappyTigerYear 发表于 2010-07-23 20:37


那么如果路由器外部要往网络内部某个IP发送消息,路由器怎么能知道这个IP对应的网卡是哪个网卡呢?应该往哪个口发消息呢?
作者: HappyTigerYear    时间: 2010-07-23 20:56
本帖最后由 HappyTigerYear 于 2010-07-23 20:58 编辑

回复 28# davelv


    虽然两个网卡都用同一个UID,但它们在计算机上都各自有自己的IP,两个IP是不同的。
说到这,我前面说的用socket屏蔽多网卡也没必要了,路由器仍然可以知道往哪个网卡发送报文。
作者: davelv    时间: 2010-07-23 20:59
回复  davelv


    虽然两个网卡都用同一个UID,但它们在计算机上都各自有自己的IP,两个IP是不同的。
HappyTigerYear 发表于 2010-07-23 20:56



    又回到这里了,IP在网络层以下是无意义的,你IP虽然是唯一的,但是在更底层传输的时候要转化为UID吧,这时候怎么分别该哪个网口发,UID都一样的。
作者: HappyTigerYear    时间: 2010-07-23 21:07
本帖最后由 HappyTigerYear 于 2010-07-23 21:10 编辑

回复 30# davelv


   路由器的路由表项是IP、UID和网口,如果两个网卡不是总线连接, 在网络层就已经能判断是哪个网口。
作者: redspider    时间: 2010-07-23 21:10
lz 的思维好奇怪,不给网卡分配硬件地址,给主机或设备分配ID,不是一回事么?

何况给 NIC 分配硬件地址更合理,因为主机如果不能介入网络的话,要唯一ID有何用?
作者: davelv    时间: 2010-07-23 21:12
回复  davelv


   路由器的路由表项是IP、UID和网口,如果两个网卡不是总线连接, 在网络层就已经能判 ...
HappyTigerYear 发表于 2010-07-23 21:07



   
关键是你的UID是一样的,仅从UID无法确定网口

而不一样的IP又不管网络层以下的东西,也不会直接对应网口。

等等,你说从网络层就能判断接口,这不是网络层的工作吧。
作者: HappyTigerYear    时间: 2010-07-23 21:20
本帖最后由 HappyTigerYear 于 2010-07-23 21:22 编辑

回复 32# redspider


    我是在想,有许多设备必须附属于另一设备才能发挥其功用的,它单独存在就没意义了。
范围缩小到互联网,对于这样的接口设备就没必要单独为它分配ID了。以我的编程经验,没必要的标识越少越好,这样程序会更简练,简练不是简单,简练的程序架构也逻辑清晰,这样的程序才是优秀的程序。因此,我认为,如果用我说的方案设计网络协议,TCP/IP协议还会简练高效。
作者: redspider    时间: 2010-07-23 21:23
回复  redspider


    我是在想,有许多设备必须附属于另一设备才能发挥其功用的,它单独存在就没意义 ...
HappyTigerYear 发表于 2010-07-23 21:20



    怎么没有意义,介就叫模块化。类库要应用在程序中才能发挥其功用,它的单独存在没有意义?
作者: HappyTigerYear    时间: 2010-07-23 21:28
回复 33# davelv


每条路由表项有三项: IP,UID,网口

这样在网络层就能确定从哪个网口发送了。
作者: davelv    时间: 2010-07-23 21:30
回复  davelv


每条路由表项有三项: IP,UID,网口

这样在网络层就能确定从哪个网口发送了。
HappyTigerYear 发表于 2010-07-23 21:28



    乃很强大,不如把让下面的东西让网络层全包了,反正IPV6地址很多。。。
作者: HappyTigerYear    时间: 2010-07-23 21:32
怎么没有意义,介就叫模块化。类库要应用在程序中才能发挥其功用,它的单独存在没有意义?
redspider 发表于 2010-07-23 21:23



你的这个例子与我说的是有本质区别的。网卡作为一个产品当然必须有其产品序列号,但是专用于网络通讯的MAC地址就是多余的标识了。你说的这个例子,是在与网卡的产品序列号做类比,而不是网卡的MAC地址。
作者: redspider    时间: 2010-07-23 21:37
你的这个例子与我说的是有本质区别的。网卡作为一个产品当然必须有其产品序列号,但是专用于网络通讯 ...
HappyTigerYear 发表于 2010-07-23 21:32



      俺问你,如果按你的说法,俺买个主机,不需要接入网络的,你所谓分配的唯一ID岂不是浪费?
作者: HappyTigerYear    时间: 2010-07-23 21:39
乃很强大,不如把让下面的东西让网络层全包了,反正IPV6地址很多。。。
davelv 发表于 2010-07-23 21:30



   让“IP, UID, 网口”作为路由表项,我不认为会破坏网络协议分层的概念,你可以具体说说
作者: davelv    时间: 2010-07-23 21:45
俺问你,如果按你的说法,俺买个主机,不需要接入网络的,你所谓分配的唯一ID岂不是浪费?
redspider 发表于 2010-07-23 21:37



    这种说法没有什么杀伤力,买了机器自带网卡,不上网的人也很多.
作者: redspider    时间: 2010-07-23 21:46
这种说法没有什么杀伤力,买了机器自带网卡,不上网的人也很多.
davelv 发表于 2010-07-23 21:45



    应用上的浪费 和 设计上的浪费,是完全不同的概念
作者: HappyTigerYear    时间: 2010-07-23 21:51
本帖最后由 HappyTigerYear 于 2010-07-23 21:55 编辑
俺问你,如果按你的说法,俺买个主机,不需要接入网络的,你所谓分配的唯一ID岂不是浪费?
redspider 发表于 2010-07-23 21:37



    这中浪费可以忽略不计,原因:
1. 128比特位可以产出足够用的UID,你想想,都能让地球每一粒沙子有一个UID,全球每天能产出多少网络设备,会让10000年后必须再循环使用以前的UID。即使1万年后必须循环使用以前的UID了,也不会出现UID冲突,因为一万年前的设备还会有么。
2. 现在买了一台主板集成网卡的主机,搬回家不上网的用户不大有人在么。
作者: redspider    时间: 2010-07-23 21:51
本帖最后由 redspider 于 2010-07-23 22:02 编辑

说白了,你就是要一个集成网卡,对不对

能说 一下,你提的概念和 集成网卡 有什么本质区别么
作者: HappyTigerYear    时间: 2010-07-23 22:03
回复 44# redspider


    我在#34楼说了
作者: langue    时间: 2010-07-24 02:17
说白了,LZ 这种设计是违反其自身的逻辑的,而且对现有以太网技术理解不够透彻,原因已经有人讲了。

不知道您是不是被 ARP 病毒折磨得够呛才想到重新设计链路层;ARP / NDP 这样的广播协议确实存在一定的问题,比如局域网 ARP 病毒就是利用协议的漏洞来扰乱子网内的通讯。但是 ARP 的作用域十分有限,在广域网中基本只要考虑第三层就够了,三层协议并不必关心链路层采用了何种媒介(只需要知道接口名称);反过来,三层对二层也应该透明。

三层里就是用路由表的。路由表项一般包含二至三个重要字段:1) 目标地址 2) 下一跳(如果有的话) 3) 接口名称。我实在不知道把您说的这个不伦不类的主板 ID(或者说 UID)写在路由表里有什么好处。我认为这样做唯一的意义是增加了实现的复杂度,降低了通用性,也降低了各层之间的独立性,因此这并不是一个好的设计。
作者: 期待前程    时间: 2010-07-24 11:07
提示: 作者被禁止或删除 内容自动屏蔽
作者: davelv    时间: 2010-07-24 13:07
让“IP, UID, 网口”作为路由表项,我不认为会破坏网络协议分层的概念,你可以具体说说
HappyTigerYear 发表于 2010-07-23 21:39



我是觉得楼主应该把路由表和ARP表这些基本概念搞清楚再讨论比较好.
作者: HappyTigerYear    时间: 2010-07-24 14:32
本帖最后由 HappyTigerYear 于 2010-07-24 14:33 编辑

回复 48# davelv


ARP表项:IP,MAC
路由表项:destination,mask,gateway,interface,metric

由此可知,如果像我说的用主机的UID做为两网卡的MAC,在ARP表里仍然两个对应项,在路由表里也仍然有两个对应项。从路由表里可以找到通向目的IP的接口(interface),所以不会出现前面说的不知发向那个网卡而不得不都发送的情况。
作者: HappyTigerYear    时间: 2010-07-24 14:42
回复 46# langue


    有什么好处,见#34楼所述
作者: beepbug    时间: 2010-07-24 15:55
网络接口设备(如网卡)不能做为一个单独设备联网,它只能与可以做为一个独立的网络设备(如计算机)关联, ...
HappyTigerYear 发表于 2010-07-23 10:54


1)你没弄清楚网卡在网络中的地位。
2)MAC不是厂家分配的,是一个国际组织分配给厂家的。
作者: HappyTigerYear    时间: 2010-07-24 17:34
本帖最后由 HappyTigerYear 于 2010-07-24 17:51 编辑

欢迎各位网络高手、软件高手前来讨论。
俺认为不需要为网卡单独分配MAC地址,让它用主机的UID就行,可行否?
作者: davelv    时间: 2010-07-24 17:41
回复  davelv


ARP表项:IP,MAC
路由表项:destination,mask,gateway,interface,metric

由此 ...
HappyTigerYear 发表于 2010-07-24 14:32



  既然UID是链路层的东西,就不应该把它加入网络层的路由表。、
而且按照你的说法,ARP也不需要了,反正替代MAC的UID已经加入路由表了
这就是我上次说你用网络层把下面所有东西全包了的意思。
作者: HappyTigerYear    时间: 2010-07-24 17:46
本帖最后由 HappyTigerYear 于 2010-07-24 17:49 编辑

回复 53# davelv


ARP表项:IP,MAC
路由表项:destination,mask,gateway,interface,metric


我上次说错了,这里的“interface”是IP,不是UID,除了“metric”都是IP,所以你可以把UID就当做MAC,它们没有区别,也没必要把UID放到网络层上来,没必要放到路由表中,和MAC一样对待就可以,也放到ARP表中。

例如在ARP表中的两个网卡:

ARP表:

IP1,UID
IP2,UID
作者: davelv    时间: 2010-07-24 18:01
回复  davelv


ARP表项:IP,MAC
路由表项:destination,mask,gateway,interface,metric


我 ...
HappyTigerYear 发表于 2010-07-24 17:46



   
这样的话倒是可行,只是网口不能用MAC区分,而是用网口编号区分,链路层的某些驱动要重写了。
作者: HappyTigerYear    时间: 2010-07-24 18:04
这样的话倒是可行,只是网口不能用MAC区分,而是用网口编号区分,链路层的某些驱动要重写了。
davelv 发表于 2010-07-24 18:01



    不用,路由表里的“interface”就已指明从哪个网口发出去了
作者: davelv    时间: 2010-07-24 18:16
不用,路由表里的“interface”就已指明从哪个网口发出去了
HappyTigerYear 发表于 2010-07-24 18:04


之所以有MAC的存在,是因为它可以标示一个网卡,故分别网卡的工作就是通过MAC实现的。
即使高层确认了该IP绑定了某个网卡,但是还是要转换到MAC,在数据链路层去识别具体是哪个物理网卡,这里的工作是在数据链路层实现的。
这里的interface是IP地址,而且现在UID是统一的,所以识别部分变成了IP-〉网卡编号-〉确认物理网卡,标示网卡的数据变了,所以链路层的某些驱动要重写。
作者: HappyTigerYear    时间: 2010-07-24 18:29
回复 57# davelv


    嗯,是需要改动一下,不过应该改动很小,可以说是件很容易的事。
作者: davelv    时间: 2010-07-24 18:34
还有个现实问题,要给计算机编UID,这个号码放到哪里好呢?
作者: HappyTigerYear    时间: 2010-07-24 18:36
本帖最后由 HappyTigerYear 于 2010-07-24 18:38 编辑

以我的编程经验,网卡用主机的UID将会带来很多便利。
当然编程功底不够深厚的人,是体会不到的。———— 不是在说大话。
作者: HappyTigerYear    时间: 2010-07-24 18:41
本帖最后由 HappyTigerYear 于 2010-07-24 18:42 编辑

回复 59# davelv


当然写在ROM里了,一台计算机一个UID。要求在上电时,网卡可以自动读到。
作者: davelv    时间: 2010-07-24 18:44
回复  davelv


当然写在ROM里了,一台计算机一个UID。要求在上电时,网卡可以自动读到。
HappyTigerYear 发表于 2010-07-24 18:41



固化到不可写部分吧,要不然刷没了。
作者: HappyTigerYear    时间: 2010-07-24 18:50
固化到不可写部分吧,要不然刷没了。
davelv 发表于 2010-07-24 18:44



    是的,不允许用户改动,就像现在的网卡上的MAC一样,应该比MAC还要严格。
作者: HappyTigerYear    时间: 2010-07-24 18:54
网卡用UID的好处之一: 很容易知道对方有几条物理线路连入。
现在的MAC机制能做到么?
作者: langue    时间: 2010-07-24 19:15
>> 网卡用UID的好处之一: 很容易知道对方有几条物理线路连入。
>> 现在的MAC机制能做到么?

有一个问题的答案在 34 楼找来找去找不到,所以还是问一下吧。

请问,你认为你的这个设计适用于局域网,还是广域网?

我认为:

广域网——完全没有必要,广域路由协议(如 BGP)比你的设计不知道智能多少倍。
局域网——局域网通常是非常简单的连接,你引入的 UID 徒增实现的复杂度。另外,局域网里有必要了解你跟对方之间存在多少条物理线路吗?都已经在一个 directly connected network 里边了。

不难看出,你的设计是自相矛盾的,局域网和广域网里都没有必要采纳。
作者: langue    时间: 2010-07-24 19:33
>> ARP表项:IP,MAC

必须指出,ARP 表项至少还应包含第三个字段:interface

C:\>arp -a

Interface: 192.168.4.7 --- 0x10007
  Internet Address      Physical Address      Type
  192.168.4.1           00-14-6f-00-33-69     static


[root@linux ~]# arp -an
? (192.168.4.1) at 00:14:6F:00:33:69 [ether] on eth0


freebsd# arp -an
? (192.168.4.1) at 00:14:6f:00:33:69 on em0 permanent [ethernet]

作者: beepbug    时间: 2010-07-24 20:18
LZ该去看看ISO的OSI协议。共有八层。你不要把不同层的东西扯到一块去。
作者: plumlee    时间: 2010-07-25 22:35
上GWF可以管理一切,过几天GWF民用的。就好了。
作者: davelv    时间: 2010-07-26 09:37
LZ该去看看ISO的OSI协议。共有八层。你不要把不同层的东西扯到一块去。
beepbug 发表于 2010-07-24 20:18

额OSI什么时候八层了。。不是七层么。
作者: chinesedragon    时间: 2010-07-26 10:06
如果不是用在一个完整的PC机怎么办呢?
作者: shang2010    时间: 2010-07-26 10:54
回复 7# langue


    很好,很华丽
作者: redspider    时间: 2010-07-26 14:07
俺只想问lz,你懂网络么?
作者: campspirit    时间: 2010-07-26 16:55
同上。。。。无语啊,这么白痴的想法
作者: FirstBlood1    时间: 2010-07-26 16:58
LZ的想法很新颖,这样做TCP/IP协议不但会简练不少,功能也会增强许多。看了前面的两位高手的讨论,可行性也没问题。支持一个。。。。。。。。。
作者: goldenfort    时间: 2010-07-26 17:02
这其实 就是要 主机能改网卡的mac地址吧,  好多网卡都有这个功能的。

不过呀, 你拿个笔记本电脑来上网, 你如何保证能配置的,和别人的 电脑mac地址不重复呢?
作者: naihe2010    时间: 2010-07-26 17:10
俺只想问lz,你懂网络么?
redspider 发表于 2010-07-26 14:07


过些时间,他再熟悉一下协议,就没这个想法儿了
作者: zhangsuozhu    时间: 2010-07-26 17:14
楼主的意思是想在链路层上实现所有层的功能吗?
作者: davelv    时间: 2010-07-26 17:23
本帖最后由 davelv 于 2010-07-26 17:40 编辑
LZ的想法很新颖,这样做TCP/IP协议不但会简练不少,功能也会增强许多。看了前面的两位高手的讨论,可行性也 ...
FirstBlood1 发表于 2010-07-26 16:58


上面只讨论了某些方面的技术可行性,至于社会可行性方面我没有经验(例如链接在同一个交换机上的双网卡就没有任何作用了,这样会不会引起什么意想不到的问题?),还有关于各种复杂网络环境下(尤其是广域网)的要求也不是很熟悉。
至于优点:
楼主也只是泛泛说明了其好处是减少了不必要的标识,但是我看也没见少什么标示,MAC变成了UID,而且这根本跟TCP/IP协议无关。
所以目前的态度是,我没有什么问题好问了,就看别人能不能提出一些有建设性的意见。
作者: jjlovegrape    时间: 2010-07-26 19:10
IP地址只是为了在网络曾提供统一的抽象,而MAC地址确能唯一的标识一块网卡。如果只使用IP地址,会带来很多问题。就不FOR EXAMPLE了。LZ再去理解下OSI。
作者: jjlovegrape    时间: 2010-07-26 19:10
另外强烈建议LZ回去重读一下计算机网络方面的知识。
作者: jjlovegrape    时间: 2010-07-26 19:13
看错了。LZ知道为什么要分MAC么?MAC地址也可以是广播的LZ知道么?你一个ID怎么区分。这完全不是什么新颖的想法。建议LZ回家读书去。。。
作者: Esakyo    时间: 2010-07-27 00:02
难道物理识别有什么不好吗?
作者: unixXiaoqiang    时间: 2010-07-27 02:00
楼主的意思是一台机器上的所有网卡都用一个mac。
这样的潜台词是,一台机器有一个网卡就够了。楼主没见过双网卡的机器,更不用提网络设备了。
按照楼主的思维,这道路有一个车道就行了,车呢有一个轮子就行了,楼主呢有一个蛋蛋就行了,有两个的话,一个还得闲着,那不是闲着蛋疼。
作者: 9527不是我    时间: 2010-07-27 08:52
应该可行,就和DHCP自动分配IP地址一样,来自动又网络设备自动分配MAC地址.
作者: abc3w    时间: 2010-07-27 09:17
LZ想把七层网络协议变为6层
作者: rick.zhao    时间: 2010-07-27 11:49
这是不现实的,上层协议对底层应该是透明的,每一层协议也都需要一个起到识别作用的字段——正如网络层的地 ...
langue 发表于 2010-07-23 13:27


学习了
作者: dingning239    时间: 2010-07-30 11:45
楼主真乃大师也




欢迎光临 Chinaunix (http://bbs.chinaunix.net/) Powered by Discuz! X3.2