1.报文(message)
我们将位于应用层的信息分组称为报文。报文是网络中交换与传输的数据单元,也是网络传输的单元。报文包含了将要发送的完整的数据信息,其长短不需一致。报文在传输过程中会不断地封装成分组、包、帧来传输,封装的方式就是添加一些控制信息组成的首部,那些就是报文头。

2.报文段(segment)

通常是指起始点和目的地都是传输层的信息单元。

3.分组/包(packet)
分组是在网络中传输的二进制格式的单元,为了提供通信性能和可靠性,每个用户发送的数据会被分成多个更小的部分。在每个部分的前面加上一些必要的控制信息组成的首部,有时也会加上尾部,就构成了一个分组。它的起始和目的地是网络层

4.数据报(datagram)
面向无连接的数据传输,其工作过程类似于报文交换。采用数据报方式传输时,被传输的分组称为数据报。通常是指起始点和目的地都使用无连接网络服务的网络层的信息单元。(指IP数据报)

5.帧(frame)
帧是数据链路层的传输单元。它将上层传入的数据添加一个头部和尾部,组成了帧。它的起始点和目的点都是数据链路层。

6.数据单元(data unit)

指许多信息单元。常用的数据单元有服务数据单元(SDU)、协议数据单元(PDU)。

SDU是在同一机器上的两层之间传送信息。PDU是发送机器上每层的信息发送到接收机器上的相应层(同等层间交流用的)。

应用层——消息

传输层——报文段(segment)/数据报(datagram) (注:TCP叫TCP报文段,UDP叫UDP数据报,也有人叫UDP段)

网络层——分组、数据包(packet)

链路层——帧(frame)

物理层——P-PDU(bit)

其实,segment,datagram,packet,frame是存在于同条记录中的,是基于所在协议层不同而取了不同的名字。我们可以用一个形象的例子对数据包的概念加以说明:我们在邮局邮寄产品时,虽然产品本身带有自己的包装盒,但是在邮寄的时候只用产品原包装盒来包装显然是不行的。必须把内装产品的包装盒放到一个邮局指定的专用纸箱里,这样才能够邮寄。这里,产品包装盒相当于数据包,里面放着的产品相当于可用的数据,而专用纸箱就相当于帧,且一个帧中通常只有一个数据包。
注:Datagram: This is used in 2 layers. If the network protocol is IP, the unit of data is called Datagram. At transport layer, if protocol is UDP, we use datagram there as well. Hence, we differentiate them as UDP DatagramIP Datagram. (参考链接:Definition of Network Units: Fragment, Segment, Packet, Frame, Datagram)

TCP数据流(TCP stream)

Wireshark中是这么定义的:相同四元组(源地址,源端口,目的地址,目的端口)的包就为一条TCP流,即一条流有很多个包。

[IP address A, TCP port A, IP address B, TCP port B]

All the packets for the same tcp.stream value should have the same values for these fields (though the src/dest will be switched for A->B and B->A packets).

the stream index is an internal Wireshark mapping to: [IP address A, TCP port A, IP address B, TCP port B]

All the packets for the same tcp.stream value should have the same values for these fields (though the src/dest will be switched for A->B and B->A packets)

see the Statistics/Conversations/TCP tab in Wireshark to show a summary of these streams.

以下用Wireshark实际抓包说明一下:

一个包就是一行记录,可看出是从No.1开始计数的。

点击Follow->TCP Stream可查看该包所属的流:

可看出wireshark中流是从0开始计数的,这个流序号没什么意义,只是为了唯一标识一条流(Stream indexes are Wireshark-internal. It just uses a number to uniquely identify a TCP stream.),该流有3个客户端包,40个服务端包,最左边的packet 2 表示鼠标点击的这个包在全部包序列中的序号。

点击Statistics->Conversations

(注:我的ipv4地址是公网ip,所以做了马赛克处理,ipv6是临时ip就无所谓了。)

可看到:TCP流有24条,UDP流有26条。IPv4流有19条,IPv6流有11条,为什么IPv4+IPv6流总数小于TCP+UDP流呢?

因为IP流没有端口,只考虑相同二元组(源ip,目的ip):

参考链接:https://stackoverflow.com/questions/6076897/follow-tcp-stream-where-does-field-stream-index-come-from

报文、报文段、分组、包、数据报、帧、数据流的概念区别相关推荐

  1. 交换机 链路层无法udp通讯_一文读懂计算机底层网络原理,包括TCP、UDP、header,什么是包、帧、段等关键问题...

    说到计算机网络原理,大家可能马上联想到,七层协议,传输层,链路层,三次握手四次挥手:前端的同学,还会想到我们用Crome F12的network里面的headers,状态码等.后端同学可能会联想到,抓 ...

  2. 用pppoe封装的ppp帧头部不包含标志_一文读懂计算机底层网络原理,包括TCP、UDP、header,什么是包、帧、段等关键问题...

    说到计算机网络原理,大家可能马上联想到,七层协议,传输层,链路层,三次握手四次挥手:前端的同学,还会想到我们用Crome F12的network里面的headers,状态码等.后端同学可能会联想到,抓 ...

  3. 帧、报文、报文段、分组、包、数据报的概念区别

    1.报文(message) 我们将位于应用层的信息分组称为报文.报文是网络中交换与传输的数据单元,也是网络传输的单元.报文包含了将要发送的完整的数据信息,其长短不需一致.报文在传输过程中会不断地封装成 ...

  4. 数据段、数据报、数据包、帧的区别与联系

    帧与数据包 首先不容易理解的是数据包和帧. 数据包,就是从最上层,一层一层封装,直到网络层的,最后借由数据链路层发送出去的数据单元. 帧,是数据链路层的传输单元. 这么一看,数据包和帧好像没什么不一样 ...

  5. ISIS路由协议详解(特征、与OSPF对比、拓扑结构、专业术语、路由器分类、网络类型、DIS、报文类型及抓包、邻居关系、路由渗透、路由过载OL位、ISIS认证分类、ISIS管理标签以及各种实验等)

    IS-IS特征: Isis:中间系统到中间系统 链路状态路由协议 IGP协议 SPF算法 ISIS采用TLV结构,因此扩展性很好(为支持新的协议和特性,只需要扩展新的TLV或子TLV:可以轻松扩展支持 ...

  6. TFTP协议(1)TFTP协议介绍(包括:TFTP的五种报文/报文字段扩展/TFTP的流量控制,差错控制/UDP sendto,recvfrom接口)

    TFTP协议(1)TFTP协议介绍(包括:TFTP的五种报文/报文字段扩展/TFTP的流量控制,差错控制/UDP sendto,recvfrom接口) 1. TFTP协议 1.1 TFTP 背景 1. ...

  7. eomj表情 mysql_mysql存储4字节的表情包数据报异常_Emoji表情包_Incorrect string value: #3...

    本文章转载自:https://www.cnblogs.com/coprince/p/7485968.html 原文如下: 问题描述:从新浪微博抓取消息保存到MySQL数据中,对应数据库字段为varch ...

  8. Java Stream Collectors.groupingBy()实现分组(单字段分组,多字段分组)

    1 User实体类 public class User {private Long userId;/*** 用户名(登录)*/private String username;/*** 年龄*/priv ...

  9. tcpdump抓包ftp协议_ftp传输不正常,请教tcpdump截取的一段ftp包所表达的意思

    ftp传输不正常,请教tcpdump截取的一段ftp包所表达的意思 (2012-04-10 00:41:22) 标签: 包 杂谈 ftp传输不正常,请教tcpdump截取的一段ftp包所表达的意思10 ...

最新文章

  1. Windows Server 2012 R2工作文件夹⑨:自动发现设置
  2. js平滑滚动到顶部,底部,指定地方
  3. 数组和lookup函数
  4. windows下wamp安装
  5. Java技术系列文章汇集(长期更新)
  6. python在人工智能应用锁_饮冰三年-人工智能-Python-35权限管理(万能的权限通用模块)...
  7. poj 1961 Period kmp基础
  8. 17. 维基百科的高性能架构设计分析
  9. 无线领夹式麦克风方案,专门为USB-C接口手机打造的直播方案
  10. 分布式文件系统的性能测试方法
  11. 使用phantomjs将网页转换成pdf或者长图片
  12. 达梦单机数据库服务器磁盘空间占满问题
  13. 2021虫虫百度域名URL批量采集工具【自动去重】
  14. Duilib嵌入cef3,实现浏览器功能
  15. 战舰帝国服务器维护,【图片】9月17日更新公告亲爱的司令官:《战舰帝国》于9月17日维护,成功更新后可以获得200个钻石的更新补偿_战舰帝国吧_百度贴吧...
  16. 大数据 MapReduce使用
  17. 【Procmon教程1】Procmon介绍
  18. 并发(Concurrent) 与并行(Parallel) 的区别
  19. UML实例(四):在线购物系统顺序图
  20. mongrel代码注解

热门文章

  1. 逆序对——P3054 [USACO12OPEN]跑圈Running Laps
  2. 如何快速发现及解决网络环路问题
  3. 三国演义告诉你的60条真理
  4. E_可怜小凡_模拟_lv4
  5. 为什么Java仍将是未来的主流语言?
  6. echarts 水球示例
  7. 真三改键工具 sWar3Key v1.5
  8. 亚马逊宣布与大自然保护协会合作,投资巴西基于自然的碳移除解决方案
  9. PHP反射ReflectionClass、ReflectionMethod
  10. 【生成报名号+缴费成功】不代表考研报名成功!