精华内容
下载资源
问答
  • 以太网帧,IP,TCP,UDP首部结构

    万次阅读 2016-10-13 18:31:37
    1.以太网帧的格式以太网封装格式2.IP报头格式 IP是TCP/IP协议簇中最为重要的协议。所有的TCP,UDP, ICMP和IGMP数据都以IP数据报格式传输。IP提供的是不可靠、无连接的协议。  普通的IP首部长为20个字节,除非含有...

    其它可参考http://www.cnblogs.com/BlueTzar/articles/811160.html

    1.以太网帧的格式

    eth

    以太网封装格式

    2.IP报头格式

      IP是TCP/IP协议簇中最为重要的协议。所有的TCP,UDP, ICMP和IGMP数据都以IP数据报格式传输。IP提供的是不可靠、无连接的协议。

    ip
      普通的IP首部长为20个字节,除非含有选项字段。

    4位版本:目前协议版本号是4,因此IP有时也称作IPV4.

    4位首部长度:首部长度指的是首部占32bit字的数目,包括任何选项。由于它是一个4比特字段,因此首部长度最长为60个字节。

    服务类型(TOS):服务类型字段包括一个3bit的优先权字段(现在已经被忽略),4bit的TOS子字段和1bit未用位必须置0。4bit的TOS分别代表:最小时延,最大吞吐量,最高可靠性和最小费用。4bit中只能置其中1比特。如果所有4bit均为0,那么就意味着是一般服务。

    总长度:总长度字段是指整个IP数据报的长度,以字节为单位。利用首部长度和总长度字段,就可以知道IP数据报中数据内容的起始位置和长度。由于该字段长16bit,所以IP数据报最长可达65535字节。当数据报被分片时,该字段的值也随着变化。

    标识字段:标识字段唯一地标识主机发送的每一份数据报。通常每发送一份报文它的值就会加1。

    生存时间:T T L(time-to-live)生存时间字段设置了数据报可以经过的最多路由器数。它指定了数据报的生存时间。T T L的初始值由源主机设置(通常为 3 2或6 4),一旦经过一个处理它的路由器,它的值就减去 1。当该字段的值为 0时,数据报就被丢弃,并发送 I C M P报文通知源主机。

    首部检验和:首部检验和字段是根据 I P首部计算的检验和码。它不对首部后面的数据进行计算。 I C M P、
    I G M P、U D P和T C P在它们各自的首部中均含有同时覆盖首部和数据检验和码。

    3.TCP首部格式

      尽管T C P和U D P都使用相同的网络层( I P),T C P却向应用层提供与U D P完全不同的服务。T C P提供一种面向连接的、可靠的字节流服务。

      如果不计任选字段,它通常是 2 0个字节。

    tcp

    源端口号和目的端口号:用于寻找发端和收端应用进程。这两个值加上I P首部中的源端I P地址和目的端I P地址唯一确定一个T C P连接。

    序号字段:序号用来标识从T C P发端向T C P收端发送的数据字节流,它表示在这个报文段中的的第一个数据字节。如果将字节流看作在两个应用程序间的单向流动,则 T C P用序号对每个字节进行计数。序号是32 bit的无符号数,序号到达 232-1后又从0开始。

         当建立一个新的连接时,SYN标志变1。序号字段包含由这个主机选择的该连接的初始序号ISN(Initial Sequence Number)。该主机要发送数据的第一个字节序号为这个ISN加1,因为SYN标志消耗了一个序号(将在下章详细介绍如何建立和终止连接,届时我们将看到 F I N标志也要占用一个序号)

    确认序号:既然每个传输的字节都被计数,确认序号包含发送确认的一端所期望收到的下一个序号。因此,确认序号应当是上次已成功收到数据字节序号加 1。只有ACK标志(下面介绍)为 1时确认序号字段才有效。发送ACK无需任何代价,因为 32 bit的确认序号字段和A C K标志一样,总是T C P首部的一
    部分。因此,我们看到一旦一个连接建立起来,这个字段总是被设置, ACK标志也总是被设置为1。TCP为应用层提供全双工服务。这意味数据能在两个方向上独立地进行传输。因此,连接的每一端必须保持每个方向上的传输数据序号。

    首都长度:首部长度给出首部中 32 bit字的数目。需要这个值是因为任选字段的长度是可变的。这个字段占4 bit,因此T C P最多有6 0字节的首部。然而,没有任选字段,正常的长度是 2 0字节。

    标志字段:在T C P首部中有 6个标志比特。它们中的多个可同时被设置为1.
        URG紧急指针(u rgent pointer)有效(见2 0 . 8节)。
        ACK确认序号有效。
        PSH接收方应该尽快将这个报文段交给应用层。
        RST重建连接。
        SYN同步序号用来发起一个连接。这个标志和下一个标志将在第 1 8章介绍。
        FIN发端完成发送任务。

    窗口大小:T C P的流量控制由连接的每一端通过声明的窗口大小来提供。窗口大小为字节数,起始于确认序号字段指明的值,这个值是接收端正期望接收的字节。窗口大小是一个 16 bit字段,因而窗口大小最大为 65535字节。

    检验和:检验和覆盖了整个的 T C P报文段:T C P首部和T C P数据。这是一个强制性的字段,一定是由发端计算和存储,并由收端进行验证。

    紧急指针:只有当URG标志置1时紧急指针才有效。紧急指针是一个正的偏移量,和序号字段中的值相加表示紧急数据最后一个字节的序号。 T C P的紧急方式是发送端向另一端发送紧急数据的一种方式。

    选项:最常见的可选字段是最长报文大小,又称为 MSS (Maximum Segment Size)。每个连接方通常都在通信的第一个报文段(为建立连接而设置 S Y N标志的那个段)中指明这个选项。它指明本端所能接收的最大长度的报文段。

    4. UDP首部

    UDP是一个简单的面向数据报的运输层协议:进程的每个输出操作都正好产生一个UDP数据报,并组装成一份待发送的 I P数据报。这与面向流字符的协议不同,如 T C P,应用程序产生的全体数据与真正发送的单个 I P数据报可能没有什么联系。

    udp

    端口号:用来表示发送和接受进程。由于 I P层已经把I P数据报分配给T C P或U D P(根据I P首部中协议字段值),因此T C P端口号由T C P来查看,而 U D P端口号由UDP来查看。T C P端口号与UDP端口号是相互独立的。

    长度:UDP长度字段指的是UDP首部和UDP数据的字节长度。该字段的最小值为 8字节(发送一份0字节的UDP数据报是 O K)。

    检验和:UDP检验和是一个端到端的检验和。它由发送端计算,然后由接收端验证。其目的是为了发现UDP首部和数据在发送端到接收端之间发生的任何改动。

    参考:http://www.cnblogs.com/vincently/p/4638195.html

    展开全文
  • 以太网帧,IP,TCP,UDP首部结构

    千次阅读 2018-01-24 22:03:57
    1.以太网帧的格式2.IP报头格式IP是TCP/IP协议簇中最为重要的协议。所有的TCP,UDP, ICMP和IGMP数据都以IP数据报格式传输。IP提供的是不可靠、无连接的协议。普通的IP首部长为20个字节,除非含有选项字段。4位版本:...

    1.以太网帧的格式

    这里写图片描述

    2.IP报头格式

    IP是TCP/IP协议簇中最为重要的协议。所有的TCP,UDP, ICMP和IGMP数据都以IP数据报格式传输。IP提供的是不可靠、无连接的协议。

    这里写图片描述

    普通的IP首部长为20个字节,除非含有选项字段。

    4位版本:目前协议版本号是4,因此IP有时也称作IPV4.

    4位首部长度:首部长度指的是首部占32bit字的数目,包括任何选项。由于它是一个4比特字段,因此首部长度最长为60个字节。

    服务类型(TOS):服务类型字段包括一个3bit的优先权字段(现在已经被忽略),4bit的TOS子字段和1bit未用位必须置0。4bit的TOS分别代表:最小时延,最大吞吐量,最高可靠性和最小费用。4bit中只能置其中1比特。如果所有4bit均为0,那么就意味着是一般服务。

    总长度:总长度字段是指整个IP数据报的长度,以字节为单位。利用首部长度和总长度字段,就可以知道IP数据报中数据内容的起始位置和长度。由于该字段长16bit,所以IP数据报最长可达65535字节。当数据报被分片时,该字段的值也随着变化。

    标识字段:标识字段唯一地标识主机发送的每一份数据报。通常每发送一份报文它的值就会加1。

    生存时间:T T L(time-to-live)生存时间字段设置了数据报可以经过的最多路由器数。它指定了数据报的生存时间。T T L的初始值由源主机设置(通常为 3 2或6 4),一旦经过一个处理它的路由器,它的值就减去 1。当该字段的值为 0时,数据报就被丢弃,并发送 I C M P报文通知源主机。

    首部检验和:首部检验和字段是根据 I P首部计算的检验和码。它不对首部后面的数据进行计算。 I C M P、
    I G M P、U D P和T C P在它们各自的首部中均含有同时覆盖首部和数据检验和码。

    3.TCP首部格式

      尽管T C P和U D P都使用相同的网络层( I P),T C P却向应用层提供与U D P完全不同的服务。T C P提供一种面向连接的、可靠的字节流服务。

      如果不计任选字段,它通常是 2 0个字节。

    这里写图片描述

    源端口号和目的端口号:用于寻找发端和收端应用进程。这两个值加上I P首部中的源端I P地址和目的端I P地址唯一确定一个T C P连接。

    序号字段:序号用来标识从T C P发端向T C P收端发送的数据字节流,它表示在这个报文段中的的第一个数据字节。如果将字节流看作在两个应用程序间的单向流动,则 T C P用序号对每个字节进行计数。序号是32 bit的无符号数,序号到达 232-1后又从0开始。

    当建立一个新的连接时,SYN标志变1。序号字段包含由这个主机选择的该连接的初始序号ISN(Initial Sequence Number)。该主机要发送数据的第一个字节序号为这个ISN加1,因为SYN标志消耗了一个序号(将在下章详细介绍如何建立和终止连接,届时我们将看到 F I N标志也要占用一个序号)

    确认序号:既然每个传输的字节都被计数,确认序号包含发送确认的一端所期望收到的下一个序号。因此,确认序号应当是上次已成功收到数据字节序号加 1。只有ACK标志(下面介绍)为 1时确认序号字段才有效。发送ACK无需任何代价,因为 32 bit的确认序号字段和A C K标志一样,总是T C P首部的一
    部分。因此,我们看到一旦一个连接建立起来,这个字段总是被设置, ACK标志也总是被设置为1。TCP为应用层提供全双工服务。这意味数据能在两个方向上独立地进行传输。因此,连接的每一端必须保持每个方向上的传输数据序号。

    首都长度:首部长度给出首部中 32 bit字的数目。需要这个值是因为任选字段的长度是可变的。这个字段占4 bit,因此T C P最多有6 0字节的首部。然而,没有任选字段,正常的长度是 2 0字节。

    标志字段:在T C P首部中有 6个标志比特。它们中的多个可同时被设置为1.
        URG紧急指针(u rgent pointer)有效。
        ACK确认序号有效。
        PSH接收方应该尽快将这个报文段交给应用层。
        RST重建连接。
        SYN同步序号用来发起一个连接。这个标志和下一个标志将在第 1 8章介绍。
        FIN发端完成发送任务。

    窗口大小:T C P的流量控制由连接的每一端通过声明的窗口大小来提供。窗口大小为字节数,起始于确认序号字段指明的值,这个值是接收端正期望接收的字节。窗口大小是一个 16 bit字段,因而窗口大小最大为 65535字节。

    检验和:检验和覆盖了整个的 T C P报文段:T C P首部和T C P数据。这是一个强制性的字段,一定是由发端计算和存储,并由收端进行验证。

    紧急指针:只有当URG标志置1时紧急指针才有效。紧急指针是一个正的偏移量,和序号字段中的值相加表示紧急数据最后一个字节的序号。 T C P的紧急方式是发送端向另一端发送紧急数据的一种方式。

    选项:最常见的可选字段是最长报文大小,又称为 MSS (Maximum Segment Size)。每个连接方通常都在通信的第一个报文段(为建立连接而设置 S Y N标志的那个段)中指明这个选项。它指明本端所能接收的最大长度的报文段。

    4. UDP首部

    UDP是一个简单的面向数据报的运输层协议:进程的每个输出操作都正好产生一个UDP数据报,并组装成一份待发送的 I P数据报。这与面向流字符的协议不同,如 T C P,应用程序产生的全体数据与真正发送的单个 I P数据报可能没有什么联系。

    这里写图片描述

    端口号:用来表示发送和接受进程。由于 I P层已经把I P数据报分配给T C P或U D P(根据I P首部中协议字段值),因此T C P端口号由T C P来查看,而 U D P端口号由UDP来查看。T C P端口号与UDP端口号是相互独立的。

    长度:UDP长度字段指的是UDP首部和UDP数据的字节长度。该字段的最小值为 8字节(发送一份0字节的UDP数据报是 O K)。

    检验和:UDP检验和是一个端到端的检验和。它由发送端计算,然后由接收端验证。其目的是为了发现UDP首部和数据在发送端到接收端之间发生的任何改动。

    展开全文
  • 实验二 以太网帧分析 实验目的:掌握以太网首部格式,理解其功能与含义。 原理概述: 在有线局域网中,目前只有一种,即以太网。下图是以太网帧格式。 实验内容步骤: IP地址用于标识因特网上每台主机,而...

    实验二 以太网帧分析

    实验目的:掌握以太网的帧首部格式,理解其功能与含义。
    原理概述:
    在有线局域网中,目前只有一种,即以太网。下图是以太网的帧格式。
    在这里插入图片描述

    实验内容步骤:
    IP地址用于标识因特网上每台主机,而端口号则用于区别在同一台主机上运行的不同网络应用程序。在链路层,有介质访问控制(Media Access Control,MAC)地址。在局域网中,每个网络设备必须有唯一的MAC地址。设备监听共享通信介质以获取目标MAC地址与自己相匹配的分组。 Wireshark能把MAC地址的组织标识转化为代表生产商的字符串,例如,00:06:5b:e3:4d:1a也能以Dell:e3:4d:1a显示,因为组织唯一标识符00:06:5b属于Dell。地址ff:ff:ff:ff:ff:ff是一个特殊的MAC地址,意味着数据应该广播到局域网的所有设备。 
    在因特网上,IP地址用于主机间通信,无论它们是否属于同一局域网。同一局域网间主机间数据传输前,发送方首先要把目的IP地址转换成对应的MAC地址。这通过地址解析协议ARP实现。每台主机以ARP高速缓存形式维护一张已知IP分组就放在链路层帧的数据部分,而帧的目的地址将被设置为ARP高速缓存中找到的MAC地址。如果没有发现IP地址的转换项,那么本机将广播一个报文,要求具有此IP地址的主机用它的MAC地址作出响应。具有该IP地址的主机直接应答请求方,并且把新的映射项填入ARP高速缓存。  发送分组到本地网外的主机,需要跨越一组独立的本地网,这些本地网通过称为网关或路由器的中间机器连接。网关有多个网络接口卡,用它们同时连接多个本地网。最初的发送者或源主机直接通过本地网发送数据到本地网关,网关转发数据报到其它网关,直到最后到达目的主机所在的本地网的网关。
    发送分组到本地网外的主机,需要跨越一组独立的本地网,这些本地网通过称为网关或路由器的中间机器连接。网关有多个网络接口卡,用它们同时连接多个本地网。最初的发送者或源主机直接通过本地网发送数据到本地网关,网关转发数据报到其它网关,直到最后到达目的主机所在的本地网的网关。 
    1、俘获和分析以太网帧  
    (1)选择 工具->Internet 选项->删除文件 
    (2)启动Wireshark 分组嗅探器 
    (3)在浏览器地址栏中输入如下网址:  http://www.sina.com.cn 。 
    (4)停止分组俘获。在俘获分组列表中(listing of captured packets)中找到HTTP GET 信息和响应信息,如图1所示。(如果你无法俘获此分组,在Wireshark下打开文件名为ethernet–ethereal-trace-1的文件进行学习)。 
    HTTP GET信息被封装在TCP分组中,TCP分组又被封装在IP数据报中,IP数据报又被封装在以太网帧中)。在分组明细窗口中展开Ethernet II信息(packet details window)。
    回答下面的问题:
    1、你所在的主机48-bit Ethernet 地址是多少?
    在这里插入图片描述

    2、以太网帧中报文类型字段的值是多少?代表什么含义?如果网络层是一个arp协议的数据包,该字段取值应为多少?
    2字节 字段的类型
    在这里插入图片描述
    3、住一个目的IP地址为自己的报文,它的源物理地址字段和目的物理地址字段分别取值多少,分别是那个IP地址的MAC地址?
    在这里插入图片描述
    在这里插入图片描述

    4、抓到一个源IP地址是自己,目的IP地址是新浪服务器的报文,这个目的物理地址是www.sina.com.cn的Ethernet 地址吗?若不是,它应是谁的地址?截图证明。
    在这里插入图片描述

    5、Ethernet 帧中目的地址是多少?在网络课程学习中,EthernetV2规定以太网的MAC层的报文格式分为7字节的前导符、1字节的帧首定界、6字节的目的MAC地址、6字节的源MAC地址、2字节的类型、46~1500字节的数据字段和4字节的帧尾校验字段。分析一个Ethernet V2帧。查看这个帧由几部分组成,缺少了哪几部分组成,缺少了哪几部分?为什么?
    Ethernet 帧中目的地址为14-14-4b-81-92-8b
    Ethernet V2帧头结构为 6bytes的源地址 + 6bytes的目标地址 + 2Bytes的协议类型字段 + 数据
    缺少了7字节的前导符,1字节的帧首定界,4字节的帧尾校验字段
    这是因为sniffer的设计原理,能捕捉数据链路层上的包,是已经校验正确的,就不再显示帧尾的4字节的FCS校验。

    展开全文
  • “如果错过太阳时你流了泪,那么你也要错过群星了。”--- 泰戈尔前导码(Preamble):最前面时8个字节的前导码,表示一个...以太网帧的本体部分:本体的前端是数据的首部,总共14个字节,包括目标6字节的mac地址,...

    “如果错过太阳时你流了泪,那么你也要错过群星了。--- 泰戈尔


    前导码(Preamble):


    最前面时8个字节的前导码,表示一个以太网帧的开始。 另外,前导码的最后两个比特是“11”,称为SFD(Start Frame Delimiter). 在SFD之后就是 以太网帧的本体啦。


    以太网帧的本体部分:


    本体的前端是数据的首部,总共14个字节,包括目标6字节的mac地址,6字节的源mac地址,以及2个字节的上一层(互联网层)协议类型(例如IP,ARP)。紧随首部之后的是数据(这里的数据的首部是互谅网层搞上的首部了),一个数据帧的数据范围是46--1500字节(比46小行吗?),末尾是4字节的FCS(frame check sequence).

    IEEE802.3规定的格式稍微有些不同,先不用管。

    协议类型标志举例:



    Ref:

    《图解TCP/IP》--竹下隆史

    转载于:https://www.cnblogs.com/butterflybay/p/10347973.html

    展开全文
  • 我们传输的数据进入TCP/IP协议栈后根据不同的应用程序所使用的协议要经过层层包装,加上各种首部,最终形成一个名字叫以太网帧的一串数据,其封装组成过程如下图: 1 以太网帧结构 以太网帧包含主要以太网首部...
  • 目录抓包过程以太网帧(也叫MAC帧)首部分析IP数据包首部分析 抓包过程 使用了 Wireshark 进行抓包,用两个最常用 curl 和 ping 命令来演示抓包情况,开启抓包。 ## 先访问我自己网站首页 curl ...
  • Linux提供了 packet 套接字,使得应用层可以从设备驱动层(链路层)接收以太网帧或者发送以太网帧到设备驱动层。 packet_socket = socket(AF_PACKET, int socket_type, int protocol); socket_type参数为SOCK_RAW...
  • 以太网最大和最小、MTU

    千次阅读 2016-07-23 14:32:38
    根据rfc894说明,以太网封装IP数据包最大长度是1500字节,也就是说以太网最大长应该是以太网首部加上1500,再加上7字节前导同步码和1字节的帧开始定界符,具体就是:7字节前导同步码 + 1字节开始定界符 + ...
  • shouldChangeCharactersInRange(微信设置昵称也是这么处理) if (_model.titleMaxCount) { if (string.length>0) { NSInteger len = (range...
  • 根据rfc894说明,以太网封装IP数据包最大长度是1500字节,也就是说以太网最大长应该是以太网首部加上1500,再加上7字节前导同步码和1字节的帧开始定界符,具体就是:7字节前导同步码 + 1字节开始定界符 + ...
  • (转载)以太网最大和最小、MTU .

    千次阅读 2013-07-04 08:13:54
    根据rfc894说明,以太网封装IP数据包最大长度是1500字节,也就是说以太网最大长应该是以太网首部加上1500,再加上7字节前导同步码和1字节的帧开始定界符,具体就是:7字节前导同步码 + 1字节开始定界符 + ...
  • 1、ISO开放系统有以下几层:7应用层6表示层5会话层4传输层...通信过程中,每层协议都要加上一个数据首部(header),称为封装(Encapsulation),如下图所示 不同协议层对数据包有不同称谓,在传输层叫做段(se...
  • IP首部

    2013-04-18 17:19:13
    以太网帧中,IPv4包首部紧跟着以太网帧首部,同时以太网帧首部协议类型值设置为080016。 IPv4提供不同,大部分是很少用选项,使得IPv4包首部最长可扩展到60字节(总是4个字节4个字节扩展) 0 ...
  • IP首部格式

    2012-03-07 23:16:28
    以太网帧中,IPv4包首部紧跟着以太网帧首部,同时以太网帧首部协议类型值设置为080016。 IPv4提供不同,大部分是很少用选项,使得IPv4包首部最长可扩展到60字节(总是4个字节4个字节扩展) 0...
  • 以太网的扩展

    千次阅读 2017-04-03 16:47:17
    先简单了解一下以太网中的数据链路层中MAC层再进入我们的主题 提到MAC层我们就不得不提到一个名词,MAC地址(又... 接下来我们来提下MAC帧的格式.这里介绍的是基于以太网V2标准的MAC帧.它由三各部分组成:首部,数据部,尾
  • IP包首部格式

    2012-04-07 09:31:04
    以太网帧中,IPv4包首部紧跟着以太网帧首部,同时以太网帧首部协议类型值设置为080016。 IPv4提供不同,大部分是很少用选项,使得IPv4包首部最长可扩展到60字节(总是4个字节4个字节扩展) 0 4 8...
  • IP首部格式[转载]

    2017-03-27 10:03:00
    TCP 传输首部是 IP首部,所以把IP首部格式 拿过来研究下,看IP首部解码过程; ... 原文如下: ...IP包首部格式 ...在以太网帧中,IPv4包首部紧跟着以太网帧首部,同时以太网帧首部协议类型值设置为080...
  • OSI模型中数据链路层与物理层,在TCP...帧首部和尾部是特定控制字符(特定比特流),帧首部(SOH)使用00000001,尾部(EOT)使用00000100。 透明传输 假如数据中刚好存在帧首部尾部比特流,那该怎么..
  • 下图是UDP段格式:相比TCP段格式,UDP要简单...下面分析一基于UDPTFTP协议以太网首部0000: 00 05 5d 67 d0 b1 00 05 5d 61 58 a8 08 00 IP首部0000: 45 000010: 00 53 93 25 00 00 80 11 25 ec c0 a8 00 37
  • IP通信基础 4.8

    2019-04-08 21:39:00
    VLAN标准的以太网格式扩展: ...以太网的以太网帧的首部增加了4个字节,以太网的最大长度从1518变为1522,最小字节不变 以太网拓展方式: 扩展方式:在物理层把以太网扩展;在数链层把以太网扩展;在网络层...

空空如也

空空如也

1 2 3 4 5 ... 18
收藏数 342
精华内容 136
关键字:

以太网帧的首部