区别:Flow指一对端点(endpoint)之间双向传输的数据包的集合形成Flow。在互联网领域,有时flow是指五元组<协议类型、源IP地址、目的IP地址、源端口号、目的端口号>相同的数据包。Stream指成对的主机之间独立的IP会话(可以基于TCP也可以基于UDP)。
Flow
Flow指一对端点(endpoint)之间双向传输的数据包的集合形成Flow。这里端点即可以是主机,也可以是网络;在互联网领域,有时flow是指五元组<协议类型、源IP地址、目的IP地址、源端口号、目的端口号>相同的数据包,但更精确的称呼为microflow。RFC2711将traffic flow定义为“对一次通话或一条连接的人为的逻辑定义”。RFC3697将traffic flow定义为“由特定源发送到特定单播、任播或组播目的一条包序列”。
五元组是通信术语。通常是指源IP地址,源端口,目的IP地址,目的端口和传输层协议
源IP地址,源端口,目的IP地址,目的端口,和传输层协议这五个量组成的一个集合。 例如:192.168.1.1 10000 TCP 121.14.88.76 80 就构成了一个五元组。其意义是,一个IP地址为192.168.1.1的终端通过端口10000,利用TCP协议,和IP地址为121.14.88.76,端口为80的终端进行连接。
五元组能够区分不同会话,并且对应的会话是少数的。
Stream
Stream指成对的主机之间独立的IP会话(可以基于TCP也可以基于UDP);在C++,C#,java等编程语言中,有一个stream这个类,所有的I/O都以这个“流”类为基础的,包括我们要认识的文件I/O,stream这个类有两个重要的运算符:
插入器(<<)
向流输出数据。比如说系统有一个默认的标准输出流(cout),一般情况下就是指的显示器,所以,cout<<“Write Stdout”<<‘n’;就表示把字符串”Write Stdout”和换行字符(‘n’)输出到标准输出流。
析取器(>>)
从流中输入数据。比如说系统有一个默认的标准输入流(cin),一般情况下就是指的键盘,所以,cin>>x;就表示从标准输入流中读取一个指定类型(即变量x的类型)的数据。
在C++中,对文件的操作是通过stream的子类fstream(file stream)来实现的,所以,要用这种方式操作文件,就必须加入头文件fstream.h。下面就把此类的文件操作过程一一道来。
延伸阅读:
什么是计算机网络?
计算机网络是指将地理位置不同的具有独立功能的多台计算机及其外部设备,通过通信线路连接起来,在网络操作系统,网络管理软件及网络通信协议的管理和协调下,实现资源共享和信息传递的计算机系统。
计算机网络主要是由一些通用的、可编程的硬件互连而成的,而这些硬件并非专门用来实现某一特定目的(例如,传送数据或视频信号)。这些可编程的硬件能够用来传送多种不同类型的数据,并能支持广泛的和日益增长的应用。
计算机网络也称计算机通信网。关于计算机网络的最简单定义是:一些相互连接的、以共享资源为目的的、自治的计算机的集合。若按此定义,则早期的面向终端的网络都不能算是计算机网络,而只能称为联机系统(因为那时的许多终端不能算是自治的计算机)。但随着硬件价格的下降,许多终端都具有一定的智能,因而“终端”和“自治的计算机”逐渐失去了严格的界限。若用微型计算机作为终端使用,按上述定义,则早期的那种面向终端的网络也可称为计算机网络。
文章标题:计算机网络中,Flow和Stream有什么区别,发布者:小编,转载请注明出处:https://worktile.com/kb/p/38328