OSI 二层 (数据链路层) 通信为什么要设置 IP 和网关 - V2EX
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
jtsai
V2EX    问与答

OSI 二层 (数据链路层) 通信为什么要设置 IP 和网关

  •  
  •   jtsai 2017-07-08 10:52:20 +08:00 4170 次点击
    这是一个创建于 3098 天前的主题,其中的信息可能已经有所发展或是发生改变。

    我所理解的二层通信、电脑 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 和网关不是网络层,路由那的东西的。二层为什么要设置这个?

    23 条回复    2017-07-09 00:02:39 +08:00
    chinawrj
        1
    chinawrj  
       2017-07-08 11:00:17 +08:00 via Android   1
    主贴内没看到你所描述的要填 IP 的地方
    jtsai
        2
    jtsai  
    OP
       2017-07-08 11:02:43 +08:00
    @chinawrj 我们的局域网,电脑 A 电脑 B 电脑 C 通过交换机连在一起。这三台要脑要通信,为什么都要设置 IP 和网关。这是我想知道的
    wwqgtxx
        3
    wwqgtxx  
       2017-07-08 11:07:24 +08:00 via iPhone   1
    那是因为你是用 tcp/ip 协议通讯的,这本来就已经不是第二层协议了
    xfspace
        4
    xfspace  
       2017-07-08 11:08:58 +08:00 via Android   1
    程序基于 IP 开发的,你不配 IP 怎么通讯?
    你可以造个轮子,用 MAC 通讯
    二层同一广播域同一子网可以不设网关
    jtsai
        5
    jtsai  
    OP
       2017-07-08 11:10:18 +08:00 via Android
    @wwqgtxx 我自己也怀疑过 单片机这样通信可以就可以,被电脑强迫封装一定要 ip 了
    chinawrj
        6
    chinawrj  
       2017-07-08 11:16:32 +08:00 via Android   1
    @jtsai 你所谓的通信已经自认为是 IP 了。以太网不仅仅可以是 IPV4,还可以 IPV6,还可以裸包。
    Septembers
        7
    Septembers  
       2017-07-08 11:18:28 +08:00   1
    你可以实现 MAC 层 telnet
    see https://github.com/haakonnessjoen/MAC-Telnet
    jtsai
        8
    jtsai  
    OP
       2017-07-08 11:20:18 +08:00
    @chinawrj 更上层的协议在以太网帧的 Payload (Data) 里? 像你说的 ip 包
    wwqgtxx
        9
    wwqgtxx  
       2017-07-08 11:34:09 +08:00 via iPhone   1
    @jtsai 你用 wireshark 抓个包看看就知道原始包到底长啥样了
    mazyi
        10
    mazyi  
    PRO
       2017-07-08 11:55:22 +08:00 via iPhone
    好好看书,计算机网络。
    oska874
        11
    oska874  
       2017-07-08 13:17:22 +08:00
    计算机网络得重学。
    crazycen
        12
    crazycen  
       2017-07-08 13:26:30 +08:00
    大学有本书,叫计算机网络!
    Betacoefficient
        13
    Betacoefficient  
       2017-07-08 13:32:25 +08:00
    看书都不仔细,当然有可能是记性不好。多去背一下计算机网络及其相关的知识。
    AntonChen
        14
    AntonChen  
       2017-07-08 13:48:47 +08:00 via iPhone
    ROS 的 WinBox 能用 MAC 地址连接
    baicheng
        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 的,不过得自己写程序了。
    9RWBdC758updU311
        16
    9RWBdC758updU311  
       2017-07-08 15:31:24 +08:00 via iPhone
    很少有只用 mac 地址通信的应用软件,都是基于 ip 地址通信的,arp 协议负责转换 ip 与 mac 地址
    luoqeng
        17
    luoqeng  
       2017-07-08 15:32:56 +08:00
    楼主听说过 IPX/SPX 协议没
    bravecarrot
        18
    bravecarrot  
       2017-07-08 16:16:47 +08:00 via iPhone
    没太看懂楼主的意思,也没看到需要设置 ip 的地方。
    原则上你可以操纵每一层的通信内容。操纵对应的硬件设备即可

    通常说的 A-交换机-B 是为了帮助大家理解其真实过程。在用户使用的时候,还是对网络层的内容设置比较方便即 a 的 ip-a 的 mac-网线-交换机-网线-b 的 mac-b 的 ip
    jtsai
        19
    jtsai  
    OP
       2017-07-08 16:36:20 +08:00
    @baicheng
    @bravecarrot 感谢,没看懂意思 请看二楼 我的补充。

    其实我已经弄明白了。哈哈,二层不是可以直接通过 mac 通信吗? 为什么设置 ip,因为通信的程序要 ip。

    日常使用的软件是没有直接使用二层交流的。纯粹的二层通信、直过 mac 地址通信是可以实现的。但是更高层的通信更强大,所以软件们就直接使用更高层的了。

    理解如果有误导,请帮忙指正。
    feather12315
        20
    feather12315  
       2017-07-08 17:18:47 +08:00 via Android
    需要搞明白:IP 的作用是什么?
    俩个字概括:寻路。
    总线型的网络拓扑,任何连接在总线上的设备,都可以监听并收到这条链路上任何设备发出的包(网卡需要设置成混杂模式才可以收到)。而且,NIC (网络接口卡)的地址(以太网是 MAC )是一般是唯一的(虽说一般,但可以认为是唯一的),也可以唯一确定一个局域网的设备。

    那为什么还需要 IP 呢?

    世界上不止一个局域网呀,许许多多的局域网,怎么路由这些数据包?网络号便是这个作用。(关键词:域间路由)。自治系统都有一个网络号,内部再划分好多小的自治域。每个自治域都有唯一的网络号。每一个局域网内的所有 IP 构成这个网络。
    chinawrj
        21
    chinawrj  
       2017-07-08 17:42:28 +08:00 via Android
    @jtsai 是的。ARP 也是可以在以太网上的。还有很多,具体看以太网帧的 type 定义。我记得 IP 是 0806 ?忘了
    billlee
        22
    billlee  
       2017-07-08 17:55:05 +08:00
    你用过拨号宽带吗?你用网卡连 MODEOM 走 PPPoE 拨号的时候,电脑的以太网卡和 MODEM 都是不需要配置 IP 地址的。
    pigzilla
        23
    pigzilla  
       2017-07-09 00:02:39 +08:00
    lz 还是太年轻,去搜索下 NetWare 和 IPX 吧。
    关于     帮助文档     自助推广系统     博客     API     FAQ     Solana     781 人在线   最高记录 6679       Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 24ms UTC 21:16 PVG 05:16 LAX 13:16 JFK 16:16
    Do have faith in what you're doing.
    ubao msn snddm index pchome yahoo rakuten mypaper meadowduck bidyahoo youbao zxmzxm asda bnvcg cvbfg dfscv mmhjk xxddc yybgb zznbn ccubao uaitu acv GXCV ET GDG YH FG BCVB FJFH CBRE CBC GDG ET54 WRWR RWER WREW WRWER RWER SDG EW SF DSFSF fbbs ubao fhd dfg ewr dg df ewwr ewwr et ruyut utut dfg fgd gdfgt etg dfgt dfgd ert4 gd fgg wr 235 wer3 we vsdf sdf gdf ert xcv sdf rwer hfd dfg cvb rwf afb dfh jgh bmn lgh rty gfds cxv xcv xcs vdas fdf fgd cv sdf tert sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf shasha9178 shasha9178 shasha9178 shasha9178 shasha9178 liflif2 liflif2 liflif2 liflif2 liflif2 liblib3 liblib3 liblib3 liblib3 liblib3 zhazha444 zhazha444 zhazha444 zhazha444 zhazha444 dende5 dende denden denden2 denden21 fenfen9 fenf619 fen619 fenfe9 fe619 sdf sdf sdf sdf sdf zhazh90 zhazh0 zhaa50 zha90 zh590 zho zhoz zhozh zhozho zhozho2 lislis lls95 lili95 lils5 liss9 sdf0ty987 sdft876 sdft9876 sdf09876 sd0t9876 sdf0ty98 sdf0976 sdf0ty986 sdf0ty96 sdf0t76 sdf0876 df0ty98 sf0t876 sd0ty76 sdy76 sdf76 sdf0t76 sdf0ty9 sdf0ty98 sdf0ty987 sdf0ty98 sdf6676 sdf876 sd876 sd876 sdf6 sdf6 sdf9876 sdf0t sdf06 sdf0ty9776 sdf0ty9776 sdf0ty76 sdf8876 sdf0t sd6 sdf06 s688876 sd688 sdf86