博客
关于我
mac/ip/TCP/udp报文格式与理论大小
阅读量:789 次
发布时间:2023-02-06

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

MAC地址与网络通信

MAC地址是乙太网卡的唯一标识符,主要用于局域网内通信。在这个地址中,6个字节的目的与来源位址是最关键的部分,这些位址由硬件配置而来,通常由厂商设定。Linux系统中,可以通过ifconfig命令查看MAC地址。

MAC地址在局域网内有效,但跨越不同网络时,MAC地址会随着网络卡的变化而改变。这是因为数据包经过路由器时,MAC地址会被修改,以适应目标网络的要求。

MAC地址结构

MAC地址由6个字节组成:

  • 前3字节表示厂商代号
  • 后3字节为设备唯一标识

IP封包

IP封包是网络通信的核心协议,其表头包含以下关键信息:

  • 来源IP地址
  • 目标IP地址
  • 存活时间(TTL)
  • 协议类型

IP表头的长度为32位,可分为多个字段:

  • 版本
  • Internet Header Length (IHL)
  • 服务类型
  • 总长度
  • 标识符
  • 标志
  • 分段偏移
  • 存活时间
  • 协议
  • 表头校验和
  • 目标地址
  • 选项
  • 填充

TCP协议

TCP是面向连接的可靠传输协议,用于确保数据包能按顺序可靠传输。TCP封包结构包括:

  • 源端口
  • 目标端口
  • 序列号
  • 确认号
  • 数据偏移
  • 保留
  • 控制位(URG、ACK、PSH、RST、SYN、FIN)
  • 窗口
  • 校验和
  • 紧急指针
  • 选项
  • 数据

TCP连接的建立通过三次握手完成:

  • 主机A向主机B发送SYN包
  • 主机B返回SYN-ACK包
  • 主机A发送ACK包确认连接
  • 网络通信概述

    网络通信涉及多个层次:

    • 链路层:处理数据帧传输,MAC地址和IP地址是核心标识。
    • 网络层:负责IP封包的路由和转发。
    • 传输层:通过TCP和UDP协议进行数据传输。

    传输层协议的选择(TCP/UDP)直接影响通信效率和可靠性。TCP提供可靠性和流量控制,而UDP适合实时应用。

    MTU与封包大小

    最大传输单元(MTU)决定了数据帧的最大大小。以太网的MTU通常为1500字节,减去协议头和尾部后,TCP封包最大为1460字节,UDP封包为1452字节。

    在实际网络中,MTU值通常由路由设备确定,编程时需遵循这些限制以确保高效传输。

    通过理解MAC地址、IP封包和TCP协议的结构,可以更好地掌握网络通信的核心原理。

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

    你可能感兴趣的文章
    lk部分没有msm8937相关目录原因(指向msm8952)
    查看>>
    LL(1),LR(0),SLR(1),LR(1),LALR(1)的 联系与区别
    查看>>
    Llama 越狱探索 Llama-3.1-8B-Instruct去除限制过程
    查看>>
    Llama3的传奇还在继续,网友手搓Llama3-12B-Chinese,Ollama轻松部署
    查看>>
    llm 从0开始学习大语言模型, transformer架构学习
    查看>>
    LLM:《第 1 部分》只是一个记忆技巧吗?
    查看>>
    LLM;超越记忆《第 2 部分 》
    查看>>
    LLVM 简介-ChatGPT4o作答
    查看>>
    LLVM简明安装教程(非常详细)从零基础入门到精通,看完这一篇就够了
    查看>>
    LM393双电压比较器集成电路引脚图及功能_工作原理及应用电路
    查看>>
    ln,创建软连接与硬连接
    查看>>
    ln: 创建符号链接 "/usr/bin/java": 文件已存在
    查看>>
    LNK2005: _DllMain@12 already defined in LIBCMTD.lib(dllmain.obj)
    查看>>
    LNK2019无法解析的外部符号 public: static struct cv::Ptr class cv::xfeatures2d::SURF问题解决
    查看>>
    LNMP
    查看>>
    lnmp mysql 10038_LNMP环境搭建MySQL篇_MySQL
    查看>>
    LNMPA1.6部署记录(Ubuntu)
    查看>>
    LNMP与LAMP的工作原理
    查看>>
    LNMP安装与配置
    查看>>
    LNMP安装了哪些软件?安装目录在哪?
    查看>>