精华内容
下载资源
问答
  • 以太网数据包如何发送

    千次阅读 2013-10-12 17:23:20
    以太网数据包是如何发送的?ip和MAC有什么关系呢?下面所讲的数据传送只设计网络层和数据链路层。在linux下。 在局域网内,一台主机H1(192.168.1.110)想发送数据给主机H2(192.168.1.111)时。数据是怎样过去...
    在以太网中数据包是如何发送的?ip和MAC有什么关系呢?下面所讲的数据传送只设计网络层和数据链路层。在linux下。
    在局域网内,一台主机H1(192.168.1.110)想发送数据给主机H2(192.168.1.111)时。数据是怎样过去的呢?
    首先H1会查看自己的route table(命令route查看):

    Destination        Gateway                Genmask                Flags Metric Ref      Use Iface
    192.168.1.0                                  255.255.255.0                              0 eth0
    default                192.168.1.1        0.0.0.0                UG                          0 eth0

    确定H2在同一局域网内,将数据包直接从网卡eth0发出。再查看arp table,获取H2的MAC地址(命令arp查看):

    Address                                  HWtype  HWaddress                    Flags Mask                      Iface
    192.168.1.1                          ether    00:1d:0f:3e:95:46                                          eth0

    当arp中没有H2的IP到MAC映射时,H1需要广播一个frame,包含下面的几个值:

    H1MAC  ||  广播MAC  ||  H1IP  ||  H2IP

    局域网内所有主机都接受这个frame,因为是广播MAC(广播MAC为: FF-FF-FF-FF-FF-FF),所以都需解析它的数据内容,获得其中的目标IP。与自己的IP不匹配的主机直接忽略frame。匹配的主机发回一个frame,包含:

    本机IP  ||  本机MAC  ||  H1IP  ||  H1MAC

    这样H1就获得了H2的IP与MAC映射了。接着就进行frame的之间传输了(其他的主机无需解析出frame的IP,只要查看它的MAC是否与自己的匹配就行。也就是说无需提交到网络层,节省运算时间和资源)。
    展开全文
  • 第1部分:以太网数据包发送程序 该作业具有一个客户端程序,该程序发送一个数据包并等待响应,而一个服务器程序则等待一个数据包,显示其内容并发送回执。 一些数据编码选项可用。 汇编 在项目的T1文件夹中打开一个...
  • 两个工具可以兼容,而且都非常好用。本人切身体验过,非常爽!做以太网软件开发必备的两个工具!
  • 以太网数据包结构

    千次阅读 2020-07-09 11:44:35
    发送网络上的数据也是在添加完各种协议头(封装),才开始发送到网络上,下面我们来看一下网络上数据包的IP–TCP结构。以便我们更好的分析解析出真正的数据。 应用层 应用层直接和应用程序接口并提供常见的网络应用...

    TCP/IP不是一个单一协议,而是一个协议族的统称。里面包括了IP协议,IMCP协议,TCP协议,以及我们更加熟悉的HTTP、FHP协议等等。
    在这里插入图片描述
    在这里插入图片描述特别说明:上面的目的地址和源地址是MAC,不是IP!!!!

    几个常用的协议的功能我们通过一个形象的说法来展现
    IP:I want to send data to 192.168.0.127
    UDP:I want to send a datagram on the port N
    TCP:I want to send data in a reliable way on the port N (reliable:可靠的)
    ARP:who knows 192.168.0.127’s MAC address?
    RARP:who knows 21.21.12.21.21.12’s IP address?
    ICMP:I send or receive queries or error message
    DHCP/BOOTP:I want to get an IP address
    DNS:what is the IP address of www.st.com?

    从网络上传来的数据。我们一层层扒去它的外层(各种协议做的封装),得到真正我们需要的数据。发送网络上的数据也是在添加完各种协议头(封装),才开始发送到网络上,下面我们来看一下网络上数据包的IP–TCP结构。以便我们更好的分析解析出真正的数据。
    在这里插入图片描述

    1. 应用层
      应用层直接和应用程序接口并提供常见的网络应用服务。应用层是开放系统的最高层,是直接为应用进程提供服务的。其作用是在实现多个系统应用进程相互通信的同时,完成一系列业务处理所需的服务。应用层使用最为广泛,需要的协议标准也是最多的。在应用层可以实现运输、访问和管理,收发电子邮件以及虚拟终端目录服务远程作业录入信息通信等等。例如DNS、HTTP、FTP等协议都是应用在这一层。

    2. 传输层
      传输层是最关键的一层,也是唯一负责总体的数据传输和数据控制的一层。传输层提供端到端的交换数据的机制。传输层对应用层提供可靠的传输服务,对网络层提供可靠的目的地站点信息。TCP是最常用的的传输层协议,它的主要功能是:对一个进行的对话或连接提供可靠的传输服务,在通向网络的单一物理连接上实现该连接的复用,在单一连接上提供端到端的序号与流量控制、差错控制及恢复等服务。

    3. 网络层
      TCP/IP协议体系中的网络层功能由IP协议规定和实现,故又称IP层。网络层介于运输层和数据链路层之间,它在数据链路层提供的两个相邻端点之间的数据帧的传送功能上,进一步管理网络中的数据通信,将数据设法从源端经过若干个中间节点传送到目的端,从而向运输层提供最基本的端到端的数据传送服务。
      网络层的目的是实现两个端系统之间的数据透明传送,具体功能包括寻址和路由选择、连接的建立、保持和终止等。它提供的服务使传输层不需要了解网络中的数据传输和交换技术。IP定义了在TCP/IP互联网上数据传送的基本单元和数据格式,完成路由选择功能,选择数据传送的路径并且包含了一组不可靠分组传送的规则,指明了分组处理、差错信息发生以及分组的规则。IP协议的主要功能有:无连接数据报传输、数据报路由选择和差错控制。与IP协议配套使用实现其功能的还有地址解析协议ARP、逆地址解析协议RARP、因特网报文协议ICMP、因特网组管理协议IGMP。

    4. 数据链层
      数据链路层在物理层提供的服务的基础上向网络层提供服务,其最基本的服务是将源自网络层来的数据可靠地传输到相邻节点的目标机网络层。为达到这一目的,数据链路必须具备一系列相应的功能,主要有:如何将数据组合成数据块,在数据链路层中称这种数据块为帧(frame),帧是数据链路层的传送单位;如何控制帧在物理信道上的传输,包括如何处理传输差错,如何调节发送速率以使与接收方相匹配;以及在两个网络实体之间提供数据链路通路的建立、维持和释放的管理。

    5. 物理层
      物理层(Physical Layer)是TCP/IP协议栈中最低的一层,它直接面向实际承担数据传输的物理媒体(即通信通道),物理层的传输单位为比特(bit),即一个二进制位(“0"或"1”)。实际的比特传输必须依赖于传输设备和物理媒体,但是,物理层不是指具体的物理设备,也不是指信号传输的物理媒体,而是指在物理媒体之上为上一层(数据链路层)提供一个传输原始比特流的物理连接。物理层规定:为传输数据所需要的物理链路创建、维持、拆除,而提供具有机械的,电子的,功能的和规范的特性。简单的说,物理层确保原始的数据可在各种物理媒体上传输。包括网线的制式,网卡的定义等,这一层无协议的编写。

    展开全文
  • 最大最小帧的大小是以太网规定的,对于过小的帧,在发送时要填充。  TPSR为发送起始寄存器,将StartPage写入TPSR寄存器,高字节写入TBCRH(TBCR1),低字节写入TBCRL(TBCR0)。当写发送命令时,RTL8019AS将从TPSR...
  • 以太网数据包、ip数据包、udp数据包 【以太网数据包】 即“帧”,每一帧分成两个部分:标头(Head)和数据(Data)。“标头”包含数据包的一些说明项,比如发送者、接受者、数据类型等等; "数据"则是数据包的具体...

    以太网数据包、ip数据包、udp数据包

    搭配这篇博文服用,效果更好:数据封装 和 数据拆封:https://blog.csdn.net/u011754972/article/details/117946968


    【以太网数据包】

    “帧”(frame),每一帧分成两个部分:标头(Head)数据(Data)“标头”包含数据包的一些说明项,比如发送者MAC地址接受者MAC地址数据类型等等;

    "数据"则是数据包的具体内容。“标头”的长度,固定为18 字节"数据"的长度,最短为 46 字节,最长为1500 字节。因此,整个"帧"最短为64 字节,最长为1518 字节

    如果数据很长,就必须分割成多个帧进行发送。


    【IP数据包】

    根据IP 协议发送的数据,就叫做 IP 数据包。不难想象,其中必定包括IP 地址信息以太网数据包只包含MAC地址并没有 IP 地址的栏位。

    IP 数据包直接放进以太网数据包“数据”部分,因此完全不用修改以太网的规格。

    IP 数据包 也分为“标头”“数据”两个部分。“标头”部分主要包括版本长度IP 地址等信息,“数据”部分则是 IP 数据包的具体内容。

    IP数据包“标头” 部分的长度为 2060 字节,整个数据包的总长度最大为65,535字节。因此,理论上,一个 IP 数据包“数据”部分,最长为 65,515字节

    前面说过,以太网数据包“数据”部分,最长只有 1500 字节。因此,如果 IP 数据包超过了 1500 字节,它就需要分割成几个以太网数据包,分开发送了。


    【UDP数据包】

    UDP数据包,也是由“标头”“数据”两部分组成。“标头”部分主要定义了发出端口接收端口“数据”部分就是具体的内容。

    然后,把整个 UDP 数据包放入 IP 数据包“数据”部分,而前面说过,IP 数据包又是放在以太网数据包之中的.


    以太网数据包中存放 IP数据包;

    IP数据包 中存放 UDP数据包

    展开全文
  • 以太网数据包架构

    千次阅读 2018-02-28 14:40:04
    以太网数据包架构如果您想要了解相关内容,可以点击跳转本文所在的系列的检索目录,点击跳转 互连网早期的时候,主机间的互连使用的是NCP协议。这种协议本身有很多缺陷,如:不能互连不同的主机,不能互连不同的操作...

    目录

    1、概述

    02、TCP/IP四层模型

    1、主机到网络层

    2、网络互联层

    3、传输层

    4、应用层


    1、概述

    以太网这个术语一般是指数字设备公司(Digital Equipment Corp.)、英特尔公司(IntelCorp.)和Xerox公司在1982年联合公布的一个标准。它是当今TCP/IP采用的主要的局域网技术。几年后,IEEE(电子电气工程师协会)802委员会公布了一个稍有不同的标准集,其中802.3针对整个CSMA/CD网络,802.4针对令牌总线网络,802.5针对令牌环网络。

    互联网早期的时候,主机间的互连使用的是NCP协议。这种协议本身有很多缺陷,如:不能互连不同的主机,不能互连不同的操作系统,没有纠错功能。为了改善这种缺点,大牛弄出了TCP/IP协议。现在几乎所有的操作系统都实现了TCP/IP协议栈。TCP/IP不是一个单一协议,而是一个协议族的统称。里面包括了IP协议,IMCP协议,TCP协议,以及我们更加熟悉的HTTP、FHP协议等等。

    首先我们看一下以太网数据结构

    注意数据长度为46~1500

    从物理层上看,一个完整的以太网帧有7个字段,事实上前两个字段(前同步码和SFD码)并不能算是真正的以太网数据帧,它们是网卡在物理层上发送以太网数据时添加上的,是为了实现底层的正确传输。上图中的目的地址,源地址,长度/类型属于以太网首部的部分。

    特别说明:上面的目的地址和源地址是MAC,不是IP!!!!

    关于OSI七层模型:应用层、表示层、会话层、传输层、网络层、数据链路层、和物理层,如下图

    02、TCP/IP四层模型

    ISO制定的OSI参考模型的过于庞大、复杂招致了许多批评。与此对照,由技术人员自己开发的TCP/IP协议栈获得了更为广泛的应用。下图,是TCP/IP参考模型和OSI参考模型的对比示意图

    TCP/IP参考模型分为四个层次:应用层、传输层、网络互连层和主机到网络层

    在TCP/IP参考模型中,去掉了OSI参考模型中的会话层和表示层(这两层的功能被合并到应用层实现)。同时将OSI参考模型中的数据链路层和物理层合并为主机到网络层。下面,分别介绍各层的主要功能。

    1、主机到网络层

    实际上TCP/IP参考模型没有真正描述这一层的实现,只是要求能够提供给其上层-网络互连层一个访问接口,以便在其上传递IP分组。由于这一层次未被定义,所以其具体的实现方法将随着网络类型的不同而不同。  

    2、网络互联层

    网络互联层是整个TCP/IP协议栈的核心。它的功能是把分组发往目标网络或主机。同时,为了尽快地发送分组,可能需要沿不同的路径同时进行分组传递。因此,分组到达的顺序和发送的顺序可能不同,这就需要上层必须对分组进行排序。

    网络互联层定义了分组格式和协议,即IP协议(InternetProtocol)。

    网络互联层除了需要完成路由的功能外,也可以完成将不同类型的网络(异构网)互连的任务。除此之外,网络互联层还需要完成拥塞控制的功能。

    3、传输层

    在TCP/IP模型中,传输层的功能是使源端主机和目标端主机上的对等实体可以进行会话。在传输层定义了两种服务质量不同的协议。即:传输控制协议TCP(transmissioncontrol protocol)和用户数据报协议UDP(userdatagram protocol)。

    TCP协议是一个面向连接的、可靠的协议。它将一台主机发出的字节流无差错地发往互联网上的其他主机。在发送端,它负责把上层传送下来的字节流分成报文段并传递给下层。在接收端,它负责把收到的报文进行重组后递交给上层。TCP协议还要处理端到端的流量控制,以避免缓慢接收的接收方没有足够的缓冲区接收发送方发送的大量数据。

    UDP协议是一个不可靠的、无连接协议,主要适用于不需要对报文进行排序和流量控制的场合。  

    4、应用层

    TCP/IP模型将OSI参考模型中的会话层和表示层的功能合并到应用层实现。  

    应用层面向不同的网络应用引入了不同的应用层协议。其中,有基于TCP协议的,如文件传输协议(FileTransfer Protocol,FTP)、虚拟终端协议(TELNET)、超文本链接协议(HyperText Transfer Protocol,HTTP),也有基于UDP协议的。

    各行信息分别为:

    Frame:   物理层的数据帧概况

    Ethernet II: 数据链路层以太网帧头部信息

    Internet Protocol Version 4: 互联网层IP包头部信息

    Transmission ControlProtocol:  传输层T的数据段头部信息,此处是TCP

    Hypertext Transfer Protocol:  应用层的信息,

    几个常用的协议的功能我们通过一个形象的说法来展现

    IP:I want to send data to 192.168.0.127

    UDP:I want to send a datagram on the port N

    TCP:I want to send data in a reliable way onthe port N (reliable:可靠的)

    ARP:who knows 192.168.0.127's MAC address?

    RARP:who knows 21.21.12.21.21.12's IP address?

    ICMP:I send or receive queries or error message

    DHCP:I want to get an IP address

    DNS:what is the IP address of www.baidu.com?

     

    点击查看本文所在的专辑,STM32F207网络开发

     

    关注公众号,第一时间收到文章更新

    展开全文
  • 以太网 数据包速率计算方法

    千次阅读 2018-09-10 23:15:49
    以太网 数据包速率计算方法 2017年02月25日 20:24:24 阅读数:2520更多 个人分类: 网络安全 我们知道1个千兆端口的线速包转发率是1.4881MPPS, 百兆端口的线速包转发率是0.14881MPPS,这是国际标准,但是如何...
  • 以太网数据包协议格式MAC层ARP层IP层ICMPUDPTCP、UDP数据包大小的限制 MAC层 帧格式: 帧介绍: 帧间隙(IFG): 网络设备和组件在接收一个帧之后,需要一段短暂的时间来恢复并为接收下一帧做准备。 不管 10M/100M/...
  • C#利用SharpPcap发送以太网报文(以太网原始帧),软件基本流程:从文件读取要发送的帧内容,然后找到电脑上的以太网卡,接下来利用SharpPcap来循环发送。 vs2008工程,全部源代码,可编译和测试。 以太网帧内容...
  • 以太网报文发送工具

    2012-06-29 09:38:02
    以太网 网络 数据 发送 工具 利用winpcap的库和vc的网络发包小工具 需要事先安装winpcap
  • 以太网数据包长度限制

    千次阅读 2020-06-21 19:13:10
    我们使用以太网进行数据传输(UDP、TCP),数据包的大小是有限制的,并不是多长都可以。 TCP/IP协议从下到上包含:链路层、IP层、传输层、应用层。 链路层: 链路层的数据交互是基于数据帧, 一帧数据包的最大...
  • 以太网数据包如下表结构所示:     目地地址( 6B )  原地址     ( 6B )  类型     ( 2B )  数据     ( 46~1500B )  校验和     ( 4B )   ...
  • ![图片说明](https://img-ask.csdn.net/upload/201608/04/1470295313_883599.png)
  • IP层接收由更低层(网络接口层例如以太网设备驱动程序)发来的数据包,并把该数据包发送到更高层---TCP或UDP层;相反,IP层也把从TCP或UDP层接收来的数据包传送到更低层。IP数据包是不可靠的,因为IP并没有做任何...
  • 以太网数据包】微信数据包

    千次阅读 2016-09-19 21:04:25
    以太网数据结构】系列文章链接 ...sync协议:(大量)在发送微信消息的时候会发现大量该协议的数据包 http协议:(大量)在访问微信朋友圈的时候会发现大量该协议的数据包,以及微信支付的时候(不要怀疑,在填写
  • 以太网发送自定义协议数据包java

    千次阅读 2016-08-05 11:38:34
    //1枚举网卡并打开设备  jpcap.NetworkInterface[] devices = JpcapCaptor.getDeviceList();  NetworkInterface device = devices[2];...原始类型数据包,这种包没有首部字节。UDPPacket、IPPacket有首部字节
  • 网络数据包发送接收全过程

    千次阅读 2019-05-29 06:22:27
    发送: 应用程序调用系统调用,将数据发送给socket socket检查数据类型,调用相应的send函数 send函数检查socket状态、协议类型,传给传输层 tcp/udp(传输层协议)为这些数据创建数据结构,加入协议头部,比如端口...
  • 前言: 讲述以太网传输中各个层的结构 内容 一、数据传输封装过程: ...(3)以太网帧中的数据长度规定最小46 字节,最大1500 字节,ARP 和RARP 数据包的长度不够46 字节,要在后面补填充位...
  • 网络数据包发送接收详细过程

    千次阅读 2018-09-21 09:47:23
    原文链接:...  Linux的网络接口分为四部分:网络设备接口,网络接口核心,网络协议族,网络接口socket层。 ... 网络设备接口部分主要负责从物理介质接收和发送数据,实现的文件在linu/d...
  • 本文首先讲述了嗅探器的基本原理和软件实现方式,接着利用winpcap这个windows平台下免费、公共的网络访问系统,演示了进行网络数据包捕获编程的基本步骤,并总结了该方法的优点和存在的局限性。
  • 以太网,IP,TCP,UDP数据包分析

    千次阅读 2016-10-25 16:15:20
    1、ISO开放系统有以下几层:7应用层6表示层5会话层4传输层3...通信过程中,每层协议都要加上一个数据首部(header),称为封装(Encapsulation),如下图所示 不同的协议层对数据包有不同的称谓,在传输层叫做段(se
  • 以太网数据包、IP包、TCP/UDP 包结构

    万次阅读 2011-09-22 14:48:56
    以太网数据包如下表结构所示: 目地地址(6B) 原地址  (6B) 类型  (2B) 数据  (46~1500B) 校验和  (4B) IP数据包结构如下页表: 版本号(4位) 头...
  • 以太网数据包】OICQ数据包(QQ)

    千次阅读 2015-12-21 20:22:23
    以太网数据结构】系列文章链接 http://blog.csdn.net/u012819339/article/category/5849175OICQ数据包格式协议字段解释: 标识:固定为0x02 版本号:协议版本 命令: 命令字 解释 命令字 解释 1 log out ...
  • 以太网首部 目地MAC地址(8字节) 源MAC地址(8字节) 类型(2字节)     1、IP头的结构 版本(4位) 头长度(4位) 服务类型(8位) 封包
  • Windows下底层数据包发送实战

    千次阅读 2018-03-14 10:26:23
    最近发现IPPROTO_IP的SOCK_RAW不能够获取... a)无法使用Raw Socket发送TCP包。 b)无法使用Raw Socket发送源IP地址不正确的UDP包。(意思是不能用它伪造源地址) c)无法在一个类型为IPPROTO_TCP的Raw Socket上调...
  • 如题,用winpcap编程发送数据包要有以太网头,但是这个以太网头内有源mac地址、目的mac地址和协议号,那么目的mac地址怎么写?是全写0xff吗?

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 53,277
精华内容 21,310
关键字:

以太网数据包发送方式