博客
关于我
计算机网络MAC地址的作用
阅读量:396 次
发布时间:2019-03-05

本文共 2537 字,大约阅读时间需要 8 分钟。

MAC地址简介

Talk about MAC addresses, and IP addresses are never far behind. IP addresses operate in the TCP/IP reference model's network layer, responsible for forwarding data packets between networks. While IP addresses focus on network layer communication, MAC addresses operate at the data link layer, ensuring data frames are transmitted between nodes on the same network. Determining the location of a computer within a network is typically done using domain name addresses, IP addresses, or MAC addresses, each corresponding to different layers in the OSI model: application layer, network layer, and data link layer, respectively. Unlike IP addresses, which are dynamic, MAC addresses are fixed and uniquely assigned to a computer's network interface, much like a person's identification number.

MAC地址定义

MAC(Media Access Control,介质访问控制)地址也称为硬件地址,长度为48比特(6字节),由16进制数字组成,分为前24位和后24位。前24位称为组织唯一标志符(Organizationally Unique Identifier,OUI),是由IEEE的注册管理机构为不同厂家分配的唯一代码,用于区分不同的厂家。后24位由厂家自行分配,称为扩展标识符。同一厂家生产的网卡,其MAC地址的后24位通常会不同。MAC地址对应于OSI参考模型的数据链路层,交换机通过MAC地址维护节点和端口的数据库,在收到数据帧时根据目的MAC地址字段进行转发。

MAC地址作用

In a typical network communication process, IP addresses and MAC addresses work together to ensure data packets are layer-by-layer transmitted from client to server. For a better understanding, consider a client accessing a server. The data packet is transmitted through a series of nodes, such as A→B→C→F→G or A→B→E→F→G, as shown in the diagram. When a client accesses a server, it first resolves the domain name to an IP address, then sends data packets containing both the client's IP address and the server's IP address, along with the client's MAC address and the target MAC address. This process continues until the data packet reaches the destination server. Each network device, such as routers and switches, uses MAC addresses to forward data frames, ensuring seamless communication across the network.

数据帧传输过程

When the server receives a request, it processes the request and sends a response data packet back to the client. For example, if the server sends a data packet labeled A to the client, the client acknowledges receipt and then waits for the next data packet, labeled B, or resends acknowledgment for packet A. This process ensures reliable communication between client and server.

客户端到服务器整个流程

客户端请求服务器的过程可以分为以下几个阶段:

  • 客户端通过DNS服务器解析域名,获取目标服务器的IP地址。
  • 客户端发送包含客户端IP地址和服务器IP地址的数据包到目标网络。
  • 数据包通过层层传输,经过多个节点,最终到达服务器。
  • 服务器处理请求后,返回包含服务器IP地址和客户端IP地址的响应数据包。
  • 响应数据包从服务器出发,经过同样层层传输,最终到达客户端。
  • 在上述步骤2和4中,如果通信失败,系统会自动重试,直到数据包成功传输到目标节点并接收到成功响应。

    转载地址:http://dgnwz.baihongyu.com/

    你可能感兴趣的文章
    Netty工作笔记0020---Selectionkey在NIO体系
    查看>>
    Vue踩坑笔记 - 关于vue静态资源引入的问题
    查看>>
    Netty工作笔记0025---SocketChannel API
    查看>>
    Netty工作笔记0027---NIO 网络编程应用--群聊系统2--服务器编写2
    查看>>
    Netty工作笔记0050---Netty核心模块1
    查看>>
    Netty工作笔记0057---Netty群聊系统服务端
    查看>>
    Netty工作笔记0060---Tcp长连接和短连接_Http长连接和短连接_UDP长连接和短连接
    查看>>
    Netty工作笔记0063---WebSocket长连接开发2
    查看>>
    Netty工作笔记0070---Protobuf使用案例Codec使用
    查看>>
    Netty工作笔记0077---handler链调用机制实例4
    查看>>
    Netty工作笔记0084---通过自定义协议解决粘包拆包问题2
    查看>>
    Netty工作笔记0085---TCP粘包拆包内容梳理
    查看>>
    Netty常用组件一
    查看>>
    Netty常见组件二
    查看>>
    netty底层源码探究:启动流程;EventLoop中的selector、线程、任务队列;监听处理accept、read事件流程;
    查看>>
    Netty心跳检测机制
    查看>>
    Netty核心模块组件
    查看>>
    Netty框架内的宝藏:ByteBuf
    查看>>
    Netty框架的服务端开发中创建EventLoopGroup对象时线程数量源码解析
    查看>>
    Netty源码—2.Reactor线程模型一
    查看>>