V2EX = way to explore
V2EX 是一个关于分享和探索的地方
Sign Up Now
For Existing Member  Sign In
jtsai
V2EX  ›  问与答

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

  •  
  •   jtsai · Jul 8, 2017 · 4322 views
    This topic created in 3217 days ago, the information mentioned may be changed or developed.

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

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

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

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

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

    那为什么还需要 IP 呢?

    世界上不止一个局域网呀,许许多多的局域网,怎么路由这些数据包?网络号便是这个作用。(关键词:域间路由)。自治系统都有一个网络号,内部再划分好多小的自治域。每个自治域都有唯一的网络号。每一个局域网内的所有 IP 构成这个网络。
    chinawrj
        21
    chinawrj  
       Jul 8, 2017 via Android
    @jtsai 是的。ARP 也是可以在以太网上的。还有很多,具体看以太网帧的 type 定义。我记得 IP 是 0806 ?忘了
    billlee
        22
    billlee  
       Jul 8, 2017
    你用过拨号宽带吗?你用网卡连 MODEOM 走 PPPoE 拨号的时候,电脑的以太网卡和 MODEM 都是不需要配置 IP 地址的。
    pigzilla
        23
    pigzilla  
       Jul 9, 2017
    lz 还是太年轻,去搜索下 NetWare 和 IPX 吧。
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Solana   ·   1006 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 68ms · UTC 22:19 · PVG 06:19 · LAX 15:19 · JFK 18:19
    ♥ Do have faith in what you're doing.