数据传输_数据传输速率 - CSDN
精华内容
参与话题
  • 数据传输过程详解

    千次阅读 2016-06-16 19:06:18
    一、FTP客户端发送数据到FTP服务器端,详述其工作过程。两台机器的连接情况如下图所示:       详细解答如下   1.1、假设初始设置如下所示: 客户端FTP端口号为:32768 服务器端FTP端口号为:21 设备

    具体参见http://wenku.baidu.com/view/847cc0c689eb172ded63b752.html


    一、FTP客户端发送数据到FTP服务器端,详述其工作过程。两台机器的连接情况如下图所示:

     

     

     

    详细解答如下

     

    1.1、假设初始设置如下所示:

    客户端FTP端口号为:32768       服务器端FTP端口号为:21

    设备

    设置

    PC1(客户端):

    MAC地址(MAC1):A01

    IP地址(IP1):192.168.1.1

    子网掩码:255.255.255.0

    默认网关:192.168.1.2

    PC2(服务器端):

    MAC地址(MAC2):A02

        IP地址(IP2):192.168.2.1

        子网掩码:255.255.255.0

        默认网关:192.168.2.2

    Switch1MAC地址列表

    端口

    MAC地址

    1

    A01

    2

    A03

    Switch2MAC地址列表

    端口

    MAC地址

    1

    A02

    2

    A04

    Router

    端口S0设置

    MAC地址(MAC3):A03

    IP地址(IP1):192.168.1.2

    端口S1设置

    MAC地址(MAC4):A04

    IP地址(IP1):192.168.2.2

    路由表

    网络号

    端口号

    192.168.1.0

    S0

    192.168.2.0

    S1

     

     

    1.2、不同网络段上的两台计算机通过TCP/IP协议通讯的过程如下所示

    协议是水平的,服务是垂直的。


     

     

    物理层,指的是电信号的传递方式,透明的传输比特流。 

    链路层,在两个相邻结点间的线路上无差错地传送以帧为单位的数据。

    网络层,负责为分组交换网上的不同主机提供通信,数据传送的单位是分组或包。

    传输层,负责主机中两个进程之间的通信,数据传输的单位是报文段。

    网络层负责点到点(point-to-point)的传输(这里的“点”指主机或路由器),而传输层负责端到端(end-to-end)的传输(这里的“端”指源主机和目的主机)。



    1.3、数据包的封装过程

     








    不同的协议层对数据包有不同的称谓,在传输层叫做段(segment),在网络层叫做数据报(datagram),在链路层叫做帧(frame)。数据封装成帧后发到传输介质上,到达目的主机后每层协议再剥掉相应的首部,最后将应用层数据交给应用程序处理。两台计算机在不同的网段中,那么数据从一台计算机到另一台计算机传输过程中要经过一个或多个路由器。

     

    1.4、工作过程

    1)在PC1客户端,将原始数据封装成帧,然后通过物理链路发送给Switch1的端口1。形成的帧为:

     



    注:发送方怎样知道目的站是否和自己在同一个网络段?每个IP地址都有网络前缀,发送方只要将目的IP地址中的网络前缀提取出来,与自己的网络前缀比较,若匹配,则意味着数据报可以直接发送。也就是说比较二者的网络号是否相同。本题中,PC1PC2在两个网络段。

    2Switch1收到数据并对数据帧进行校验后,查看目的MAC地址,得知数据是要发送给PC2,所以Switch1就对数据帧进行存储转发,查看自己的MAC地址列表后,从端口2将数据转发给路由器的S0端口。

    3Router收到数据后,先对数据进行校验,然后对IP数据报进行分析,重新对数据进行封装,查看路由表后,从S1端口将数据发送出去,此时得到新的数据帧如下:



     

    注:目的IP和源IP地址不会被改的,改变的是MAC,路由器会把远端的源MAC地址改成下一跳的MAC地址,然后就发送出去

    4Switch2接收到Router给它发送的数据后,进行校验后直接存储转发,查看自己的MAC地址列表后,将数据帧从端口1发送给PC2服务器端。

    5PC2服务器端收到数据后,先进行校验,然后进行拆分,得到TCP报文段,由此可以知道目的端口号是21,然后把数据交付给相应的FTP应用进程进行处理。

     

    二、在数据的传输中会出现以下一些问题,该如何解决?

    1、针对数据链路层,传输的数据会出现差错或者丢失的问题,也有两端传输速度不同的问题,如何解决这些问题?

    答:首先我们假设主机A向主机B发送数据

    1)差错控制

    差错控制方法分两类,一类是自动请求重发ARQ,另一类是前向纠错FEC,也叫前向纠错码(Forward Error Correction简称FEC)。  

    在ARQ方式中,当接收端发现差错时,就设法通知发送端重发,直到收到正确的码字为止,ARQ方式只使用检错码。

    在FEC方式中,接收端不但能发现差错,而且能确定二进制码元发生错误的位置,从而加以纠正,FEC方式必须使用纠错码。常用的纠错码有奇偶校验码、循环冗余码和海明码等

     

    例如:在数据帧中加上CRC,这样主机B就可以检验所接收的数据是否有差错,如果有差错,那么主机B可以向主机A发送一个否认帧NAK,以表示主机A应当重传出现差错的那个数据帧。

     

    2)丢失的解决办法

    超时重传。如果主机A在发送完数据给主机B之后,若到了超时计时器所设置的重传时间而还没有收到主机B的任何确认帧ACK,则主机A就重传前面所发送的这一数据帧。

     

    3)流量控制

    ①假设主机A向主机B传输的数据是无差错的,那么,最简单的流量控制方法就是:发送方每发送一帧数据就暂时停下来,接收方收到数据帧之后就交付给主机,然后发一信息给发送方,表示接收的任务已经完成,这时,发送方再接着发送下一个数据帧。在这种情况下,接收方的接收缓存的大小只要能够装得下一个数据帧即可。

    ②滑动窗口:分别在发送端和接收端设置发送窗口和接收窗口

    发送窗口用来对发送端进行流量控制,为发送窗口的大小WT就是代表在还没有收到对方确认信息的情况下发送端最多可以发送多少个数据帧。每收到对一个帧的确认,发送窗口就向前滑动一个位置。由此也可以知道,第一种流量控制发法中,WT=1

    在接收端设置接收窗口时为了控制可以接收哪些数据而不可以接收哪些数据,在接收端只有当收到的数据帧的发送序号落入接收窗口内才允许将该数据帧收下。每收到一个序号正确的帧,接收窗口就向前滑动一个位置。

     

    2IP数据报有它的长度,而数据传输过程中,一些中间设备也有一个相关的设置MTU(最大传输单元),如果现在假设IP数据报的长度是5000字节,而MTU设置是1500字节,那么该怎么办?

    答:解决的办法是对IP数据报进行分片与重组。详细过程如下:

    2.1 IP v4数据报格式

    一个IP v4数据报由报头和数据两部分组成,其中数据包括高层需要传输的数据,而报头是为了正确传输高层数据而增加的控制信息。报头的前一部分是固定长度,共20字节,是所有IP数据报必须具有的。在报头的固定部分的后面是一些可选字段,其长度是可变的。下图给出了IPv4数据报的格式义。

     




    IP数据报的格式

    2.2、不同数据链路层协议的MTU值 

     

    协议

    MTU(字节)

    Hyperchannel

    65535

    令牌环(16Mbps)

    17914

    令牌环(4Mbps)

    4464

    FDDI

    4352

    以太网

    1500

    X.25

    576

    PPP

    296

    一个路由器可能连接不同MTU的网络,如下图

     

    2.3IP数据报分片

    数据报分片时,每个分片前都要加上相应的IP报头,形成新的IP数据报,除包含一些分片控制域(如标志、偏移量)外,分片的报头和原IP数据报的报头基本一样。

    标识符、标志、偏移量3个字段在IP报头中的作用是:

    ●标识:占16bit,标识数据报。当数据报长度超出网络最大传输单元(MTU)时,必须要进行分割,并且需要为分割段(fragment)提供标识。所有属于同一数据报的分割段被赋予相同的标识值。

       ●标志:占3bit,指出该数据报是否可分段。目前只有前两个比特有意义。

       标志字段中的最低位记为MFMore Fragment)。MF=1即表示后面“还有分片”的数据报。MF=0表这已是若干数据报片中的最后一个。

       标志字段中间的一位记为DFDon’t Fragment。只有当DF=0时才允许分片。

    ●片偏移:占13bit,若有分段时,用以指出该分段在数据报中的相对位置,也就是说,相对于用户数据字段的起点,该片从何处开始。片偏移以8字节为偏移单位,即每个分片的长度一定是8字节(64Bit)的整数倍。

     

    2.4IP数据报重组

    在最终的目的主机上将接收到的所有分片进行重新组装的过程就是IP数据报重组。这时要根据数据报的标识、标志、偏移量等字段将分段的各个IP数据报重新组装成完整的原始数据报。

     

    2.5本题的详解过程

    数据报的数据部分为5000字节长(使用固定首部),需要分片长度不超过1500字节的数据报片。因固定首部长度为20字节,因此每个数据报片的长度不能超过1480字节。于是分为4个数据报片,其数据报片的数据部分长度分别为1480字节、1480字节、1480字节和560字节。原始数据报首部被复制为各数据报片的首部,但必须修改有关字段的值。分片结果如下图所示:

     


     

     

    3、两个主机的应用进程,也会出现差错和丢失,两端的缓存也不同,如何控制流量?应用进程如何与端口号进行匹配?

    答:因为运输层提供的功能是应用进程之间的逻辑通信,所以面向连接的传输控制协议TCP就保证了全双工的可靠交付的服务。具体的有关差错控制和流量控制如下面的详细解释:

    3.1、运输层为相互通信的应用进程提供了逻辑通信,如下图所示:

     


     

    3.2TCP发送报文段的示意图如下:

     

     

    3.3TCP的数据编号与确认

    n TCP 协议是面向字节的。TCP将所要传送的报文看成是字节组成的数据流,并使每一个字节对应于一个序号。

    n 在连接建立时,双方要商定初始序号。TCP 每次发送的报文段的首部中的序号字段数值表示该报文段中的数据部分的第一个字节的序号。

    n  TCP 的确认是对接收到的数据的最高序号表示确认。接收端返回的确认号是已收到的数据的最高序号加1。因此确认号表示接收端期望下次收到的数据中的第一个数据字节的序号。  

    3.4TCP的流量控制与拥塞控制

    1)滑动窗口(进行流量控制)

    n TCP 采用大小可变的滑动窗口进行流量控制。窗口大小的单位是字节。

    n 在 TCP 报文段首部的窗口字段写入的数值就是当前给对方设置的发送窗口数值的上限。

    n 发送窗口在连接建立时由双方商定。但在通信的过程中,接收端可根据自己的资源情况,随时动态地调整对方的发送窗口上限值(可增大或减小)。  

     



     

     

     

     

     

     

     

     

     

    上图(a表示发送端要发送900 字节长的数据,划分为9 100 字节长的报文段,而发送窗口确定为500 字节。发送端只要收到了对方的确认,发送窗口就可前移。发送TCP 要维护一个指针。每发送一个报文段,指针就向前移动一个报文段的距离。

    上图(b)表示发送端已发送了400 字节的数据,但只收到对前200 字节数

    据的确认,同时窗口大小不变。现在发送端还可发送 300 字节。

    上图(c)表示发送端收到了对方对前400 字节数据的确认,但对方通知发送端必须把窗口减小到400 字节。现在发送端最多还可发送400 字节的数据。

     

     

    利用可变窗口大小进行流量控制双方确定的窗口值是 400,如下图所示:

     

     


    2)拥塞控制

    为了更好地进行拥塞控制,因特网标准推荐使用一下三种技术,慢启动(slow_start)加速递减(multiplicative decrease)拥塞避免(congestion avoidance)

    “拥塞避免”并非指完全能够避免了拥塞。利用以上的措施要完全避免网络拥塞还是不可能的。“拥塞避免”是说在拥塞避免阶段把拥塞窗口控制为按线性规律增长,使网络比较不容易出现拥塞。

     

    3.5、端口号的识别

    1)端口的概念:

    n 端口就是运输层服务访问点 TSAP

    n 端口的作用就是让应用层的各种应用进程都能将其数据通过端口向下交付给运输层,以及让运输层知道应当将其报文段中的数据向上通过端口交付给应用层相应的进程。

    n 从这个意义上讲,端口是用来标志应用层的进程。

    2)端口在进程之间的通信中所起的作用

     

     

    3)端口号

    n 端口用一个 16 bit 端口号进行标志。

    n 端口号只具有本地意义,即端口号只是为了标志本计算机应用层中的各进程。在因特网中不同计算机的相同端口号是没有联系的

    端口号分为两类:

    n 一类是熟知端口,其数值一般为 01023。当一种新的应用程序出现时,必须为它指派一个熟知端口。

    n 另一类则是一般端口,用来随时分配给请求通信的客户进程。

    端口的作用可用下图来表示:

     

     

     

    4)插口

    TCP 使用“连接”(而不仅仅是“端口”)作为最基本的抽象,同时将TCP 连接的端点称为插口(socket),或套接字、套接口。插口包括IP地址(32bit)和端口号(16bit),共48bit。插口和端口、IP地址的关系是:  

     

     


    展开全文
  • 互联网学习(一):网络数据传输

    千次阅读 2018-11-23 00:59:19
    数据传输需要确定源头和目的地 第一种情况:直接通过MAC寻址 每台主机都会有物理机的唯一MAC地址。想给其他主机发数据,源主机直接通过网线传送出数据,所有其他连着网线的主机都能收到数据(相当于广播),对比...

    1. 数据传输需要确定源头和目的地(寻址)

    第一种情况:直接通过MAC寻址
    每台主机都会有物理机的唯一MAC地址。想给其他主机发数据,源主机直接通过网线传送出数据,所有其他连着网线的主机都能收到数据(相当于广播),对比数据中的目的MAC地址标识,如果是发给自己的就接收,这样就实现了多个主机之间的数据交互。
    图1:主机之间互连(不足:发送的数据被其他所有主机收到,其一造成不必要的数据传输,其二干扰了其他非目的主机的正常接收)
    在这里插入图片描述

    图2:主机之间通过交换机连接(优点:交互机保存一张维护主机MAC地址的表,数据请求到交换机后,通过查表直接定位目的主机;如果表查不到,广播所有主机,更新MAC地址表)
    在这里插入图片描述

    PS:MAC地址为一个6位十六进制的串,如FF-FF-FF FF-FF-FF

    第二种情况:通过ARP表(IP=>MAC)寻址
    随着主机越来越多,直接通过MAC寻址定位不再方便。通过更有规律可循的IP地址(表示为四个段255.255.255.255)区分主机将会是更好的选择。每个主机都分配一个独立IP作为标识,主机之间的通讯通过源IP和目标IP的互连。主机的IP是可变的,维护一张IP和MAC地址对应关系的ARP表,就可以通过访问目的IP从而直接找到目的主机。当主机的IP被更换时ARP表也会刷新缓存,通过这层关系,从而只需要关心更适合互联网访问的IP协议内容。
    PS:ARP欺骗,比如修改别人的IP映射自己MAC,就能接收到别人的数据。

    第三种情况:通过路由表寻址
    当网络过于庞大,两个IP之间得寻址会变得更加困难。路由表根据目的IP地址和子区掩码确定IP的网段和主机号,从而确定数据的下一个传输目的地址(一个网段相当于一个局域网)。
    在这里插入图片描述
    通过路由表的层层传递之后,最终进入目的IP所在的局域网关,此时可以直接访问到目的IP主机。
    PS:从一个路由到另一个路由的访问跟IP地址访问类似,目的路由也是一个目的中转IP,有自己的MAC,可通过上一个路由的ARP表找到MAC。

    2. 数据传输需要确定可实现的传输方式(协议)

    源地址和目的地址之间的数据传输,目前有多种传输协议。传输根据什么协议,这又跟网络划分的七层结构有关。
    

    先看下网络的七层结构:
    搬图:
    在这里插入图片描述
    我的理解是:
    1、物理层:直接的物理信号传输,中继器、集线器、双绞线等物理设备,受实际物理传输介质的制约。
    2、数据链路层:物理MAC地址对应的层,基于物理层传送可靠的数据帧,负责数据的可靠传达。
    3、网络层:对IP进行解析,还有ARP的IP与MAC映射解析,收发IP数据包和解析,负责ip之间的路由,源和目的之间的连接。
    4、传输层:TCP、UDP协议可以封装和解析传输层数据。在这层,屏蔽了底层具体的数据封装传输手段,直接为上层提供看似端直接到端的数据传输。socket套接字应该就是以此为基础。
    7、应用层:最高的层,建立在传输层之上,直接关注应用数据、报文的交互,比如http请求和相应内容,远程调用协议的载体等。

    数据的传输应该是,把高层的数据包封装到低层的数据帧中通过物理信道传输,如果包太大会通过相应规则分包分片分帧来处理,传输完毕后再组合成完整的数据包。
    搬图:每一层的双方看似是在自己层对接,实际还是需要向下封装和向上解析的过程(刚好封装的协议和解析的协议是相反的)。
    在这里插入图片描述

    在每层,都有相应的协议,定义数据的传输方式。
    如物理层,其实就相当于物理设备接口之间的一套数据交互协议。
    如数据链路层,以太网协议,以太网帧将网络层交付的数据添加报头信息后,以帧的形式传递。
    如网络层之间的传输,从本层来看是IP之间的数据传输,但是最终数据还是要走底层。
    如传输层,在高级语言编程中实际也最多关注的层,直接调用,无需关注底层实现!

    太过底层的协议用高级语言没法实现,高级语言也是调用了底层封装好的协议接口。但是如传输层TCP、UDP协议,HTTP协议,RPC远程调用,soap协议等等,都是可以用高级语言编程的,后面根据这些协议的原理,自己也来玩玩实现数据交互。

    展开全文
  • HTTP协议--几种数据传输方式

    千次阅读 2019-03-11 15:04:49
    1)无状态 ... 这种设置的好处是:更快的处理更多的请求事务,确保协议的可伸缩性 不过随着web的不断发展,有时候,需要将这种状态进行保持,随即,就引入了cookie技术,cookie技术通过在请求和响应报文中写入cookie...

    1)无状态

    http协议是一种自身不对请求和响应之间的通信状态进行保存的协议,即无状态协议。

    这种设置的好处是:更快的处理更多的请求事务,确保协议的可伸缩性

    不过随着web的不断发展,有时候,需要将这种状态进行保持,随即,就引入了cookie技术,cookie技术通过在请求和响应报文中写入cookie信息来控制客户端的状态。

    有关cookie的内容后面我们再说。。。

    2)持久性

    正常在发送http时,都需要建立TCP的连接,再发送报文。

     

    如果每次想要发送http报文都需要经过这个过程,那么时间大部分都会消耗在建立和断开连接的过程中。

    因此http中使用了connection属性,用于指定连接的方式。

    当设置成keep-alive,http就会建立一条持久化的连接,不需要每次都建立连接,再中断。

    这样做的好处是:减轻了服务器端的负载,减少开销的那部分时间,使http请求和响应都能更快的结束,相应的,web页面显示速度也就相对提升了。

    3)管线化

    如果一个http请求,请求了大量的图片等大文件,那么其他的http请求怎么办呢?

    现在,管线化技术的出现,使得http请求比持久性连接更要快;特点在于:请求数越多,时间差越明显。

    4)内容编码

    由于某些报文的内容过大,因此在传输时,为了减少传输的时间,会采取一些压缩的措施。

    例如上面的报文信息中,Accept-Encoding就定义了内容编码的格式:gzip

    有下面几种方式:

    gzip:GNU压缩格式

    compress:UNIX系统的标准压缩格式

    deflate:是一种同时使用了LZ77和哈弗曼编码的无损压缩格式

    identity:不进行压缩

    5)多部分对象集合

    有的时候传输的内容,不仅仅是一些字符串,还有可能是一些图片,字符,音乐二进制等混杂的内容。

    这就需要使用多部分对象集合,multipart,例如在使用java编写web上传文件的代码时,需要在form中指定form的编码格式。

    设置form的enctype属性的值为multipart/form-data。

    这是因为默认的情况下form使用的编码格式是:applicatin/x-www-form-urlencoded,这种编码格式会把所有的内容进行编码,不适合上传文件这种情况。

    这两种编码格式的区别主要是:

    multipart/form-data 会以控件为基准,编码form中的内容。

    application/x-www-form-urlencoded 会把form中的内容编码成键值对的形式。

    6)范围请求

    有些场景下,http报文请求一些很大的图片,但是加载过程很慢。

    比如我们登录一些大图片的网址,会发现有时候图片是一块一块加载的。

    这就是因为设置了http请求的长度,这样就可以分块的加载资源文件。

    在请求报文中使用Range属性,在响应报文中使用Content-Type属性都可以指定一定字节范围的http请求。

     

    接下来,说说几种http协议的数据传输方式

    http协议的传输方式有很多种,处于安全考虑,常用的一般都是GET和POST两种,先来介绍下这两种

    1)GET:获取资源

    GET方法用来请求访问已被URL识别的资源

    2)POST:传输实体主体

    POST方法用来请求服务器传输信息实体的主体

    GET和POST的区别:

    首先,使用目标不同:GET方法只是用来查询,不会对浏览器上的信息产生影响,每次GET的方法都是相同的

    其次,大小不同:GET是放在URL首部,因此大小随着浏览器而定,而POST则是在报文中,只要没有具体限制,文件的大小是没限制的

    然后,安全性不同:GET采用的是明文传输,而POST是放在报文内部,无法看到

    从使用场景的角度来说,一般像用户注册登录这种信息都是私密的,采用POST,而针对查询等,为了快速,大多采用GET传输。

    (关于关于GET和POST的区别,最近重新看了很多别人写的博客啊资料什么的,发现上面的解释比较模糊,我就在下面的评论区里面将区别清晰的描述一下,当然,后面的博客也会详细的解释)

     

    接下来介绍其他几种数据传输方式:

    3)PUT:传输文件

    PUT要求在请求报文的主体中包含文件内容,然后保存到请求URL指定的位置

    处于安全考虑,一般web网站不使用此方法,若配合web的安全验证机制,或者架构采用REST标准的网站,就可能开放使用此方法

    4)HEAD:获得报文首部

    HEAD和GET方法一样,只不过不返回报文主体部分,用于确认URI的有效性及资源更新的日期时间等

    5)DELETE:删除文件

    DELETE是与PUT相反的方法,是按请求URI删除指定的资源

    处于安全考虑,一般web网站不使用此方法,若配合web的安全验证机制,或者架构采用REST标准的网站,就可能开放使用此方法

    6)OPTIONS:询问支持的方法

    用来查询针对请求URI指定的资源支持的方法

    7)TRACE:追踪路径

    是让web服务器端将之前的请求通信还回给客户端的方法

    发送请求时,在Max-Frowards首部字段中填入数值,每经过一个服务器端就-1,当数值为0时,停止传输,最后收到服务器返回状态码200 OK的响应

    但是,这种方法基本很少使用,而且很容易引起XST(跨站追踪)攻击,就更不会用到了。

    8)CONNECT:要求采用隧道协议连接代理

    该方法要求在于代理服务器通信时建立隧道,实现用隧道协议进行TCP通信,主要使用SSL(安全套接层)和TLS(传输层安全)协议把通信内容加密后经过网络传输。

     

    最后,附上一张http1.1和http1.0版本各自支持的方法,另外,注意用大写。。。。。。

    其中,LINK和UNLINK已被HTTP1.1废弃,不再支持!

     

    转载请注明出处:https://blog.csdn.net/frank_ldw/article/details/88394063

    展开全文
  • 数据传输三种格式

    万次阅读 2018-09-06 10:28:02
    一般在使用接口传输数据时通常会使用三种数据格式:JSON、XML、YAML 下面详细介绍一些这些数据格式: JSON (JavaScript Object Notation) 以下是JSON的具体表现形式: JSON是一种轻量级的文本数据交换格式,在...

    一般在使用接口传输数据时通常会使用三种数据格式:JSON、XML、YAML
    下面详细介绍一些这些数据格式:

    JSON (JavaScript Object Notation)

    以下是JSON的具体表现形式:
    这里写图片描述
    JSON是一种轻量级的文本数据交换格式,在语法上与创建JavaScript对象的代码相同,由key|value(键|值)构成。
    JSON的优点是:
    a.具有自我描述性,易于阅读编写,也易于机器解析与生成
    b.使用 Javascript语法来描述数据对象,但是 JSON 仍然独立于语言和平台。JSON 解析器和 JSON 库支持许多不同的编程语言。 目前非常多的动态(PHP,JSP,.NET)编程语言都支持JSON
    c.非常适用于服务器与JavaScript交互

    XML(eXtensible Markup Language)

    以下是XML数据的表现形式:
    这里写图片描述
    XML是可扩展标记语言,标准通用标记语言的子集,是一种用于标记电子文件使其具有结构性的标记语言。
    使用XML:
    a.读取XML文档
    b.使用XML DOM循环遍历文档
    c.读取值并存储与变量

    YAML(Yet Another Markup Language)

    YAML是一种直观的能够被电脑识别的的数据序列化格式
    以下是YAML数据的具体表现形式:
    这里写图片描述
    YAML的适用范围:
    a.由于实现简单,解析成本低,特别适合在脚本语言中使用
    b.YAML比较适合做序列化。因为它是宿主语言数据类型直转的。
    c.YAML做配置文件也不错。比如Ruby on Rails的配置就选用的YAML。

    展开全文
  • 数据传输安全

    千次阅读 2018-07-25 22:26:06
    数据传输安全的要求 首先我们先明确我们在数据传输时对于安全到底有什么具体要求: 消息的发送方能够确定消息只有预期的接收方可以解密(不保证第三方无法获得,但保证第三方无法解密)。 消息的接收方可以确定消息...
  • 计算机网络数据是如何传输的?

    千次阅读 2019-05-28 17:38:49
    简介 计算机网络是个非常复杂的系统,两个相互通信的计算机必须要能高度协调工作。而且不同网络体系结构的用户都需要通信,而且要做到在全世界范围的计算机都可以高效进行通信。于是OSI(Open Systems ...
  • 数据传输方式(零拷贝)

    千次阅读 2018-09-22 09:06:19
    在介绍零拷贝之前我想说下在计算机系统中数据传输的方式。   早期阶段: 分散连接,串行工作,程序查询。 在这个阶段,CPU就像个保姆一样,需要手把手的把数据从I/O接口从读出然后再送给主存。    这个阶段...
  • 网络中数据传输的过程

    万次阅读 多人点赞 2018-05-31 11:26:44
    1. 数据传输的背景(1) 现在互联网中使用的是基于OSI七层模型的TCP/IP模型。TCP/IP模型包括五层,即物理层,数据链路层,网络层,传输层,应用层;其中数据链路层又可以分为两个子层,即LLC(逻辑链路控制层)和MAC...
  • 应用系统之间数据传输的几种方案

    万次阅读 2017-11-21 11:49:44
    应用系统之间数据传输的几种方式 第一种方案:socket方式 Socket方式是最简单的交互方式。是典型才C/S交互模式。一台客户机,一台服务器。 服务器提供服务,通过IP地址和端口进行服务访问。而客户机通过连接...
  • socket网络编程入门篇之客户端socket网络编程入门篇之客户端1、网络编程入门篇——前章1.1、网络数据传输过程1.2、什么是socket套接字1.3、网络结构体1.4、网络字节序 (Network Byte Order)和本机转换2、网络编程...
  • USB传输类型

    万次阅读 2012-11-15 13:49:13
    控制传输总共三个阶段,setup阶段、数据阶段和状态阶段,其中数据阶段是可选的,而每个阶段都包含三个过程,即令牌过程、数据过程和握手过程。每个USB设备都必须具有控制传输功能,控制传输用于主机同设备的控制端点...
  • HTTP协议传输数据,大小有上限吗?

    万次阅读 2015-09-09 17:25:47
    “post 理论上讲是没有大小限制的,HTTP协议规范也没有进行大小限制,但实际上post所能传递的数据量大小取决于服务器的设置和内存大小” 摘自:http://www.phpernote.com/php-string/895.html
  • USB传输方式的一些总结

    万次阅读 2015-06-24 18:11:39
    BULK:块数据传输  追求数据完整性,CRC校验,故该种传输方式,虽然可以做大数据的传输,但是并不适合实时传输; Interrupt:中断传输 也是实时传输,对数据准确性有一定保证; ISO:同步传输  追求实时性,...
  • 传输速率与吞吐量

    万次阅读 2016-03-05 15:54:57
    传输速率又称作带宽,在数据传输的过程中,两个设备之间数据流动的物理速度称为传输速率,单位bps。各种传输媒介中信号的流动速度是恒定的,即使数据链路的传输速率不同,也不会出现忽快忽慢的情况。传输速率不是指...
  • 数据传输速率与带宽之间的关系

    万次阅读 多人点赞 2018-06-20 14:50:20
    在补习通信原理相关知识时,经常遇到数据传输速率以及带宽的说法,自己也仅仅知道二者是1/2的关系,可并不理解为什么?如果不懂的话,很难继续理解下去,于是今天刨根问底,求助于网络资源,整合此方面的相关解释,...
  • USB 四种传输方式详解

    万次阅读 2019-11-14 14:00:59
    传输方式 USB,有四种的传输方式,控制(Control),同步(isochronous),中断(interrupt),大量(bulk)。如果你是从硬件开始来设计整个的系统,你还要正确选择传输的方式,而作为一个驱动程序的书写者,就只需要弄...
  • 1.物理层PhysicalLayer:原始比特流的传输 (比特bit)  (1)提供传输数据的物理通路   (2)传输数据   主要设备:中继器、集线器 2.数据链路层DataLinkLayer:建立相邻节点数据链路传输 (帧frame) ...
  • FTP文件传输协议

    万次阅读 2018-07-24 11:28:48
    FTP工作在TCP/IP模型的应用层,基于的传输协议是TCP,FTP客户端和服务器之间的连接是可靠的,面向连接的,为数据的...传输数据可以发生在服务器数据传输过程DTP和客户DTP之间,也可以发生在两个服务器的DTP之间。 ...
  • USB传输模式(控制传输、批量传输、中断传输、同步传输)介绍    控制传输、批量传输、中断传输、同步传输    USB 有上述四种传输类型。枚举期间外设告诉主机每个端点支持哪种传输类型。    USB设备驱动向...
  • USB四种传输模式

    万次阅读 2013-03-14 11:23:51
    USB四种传输模式 当USB插入USB总线时,USB控制器会自动为该USB设备分配一个数字来标示这个设备。另外,在设备的每个端点都有一个数字来表明这个端点。 USB设备驱动向USB控制器驱动请求的每次传输被称为一个事务...
1 2 3 4 5 ... 20
收藏数 1,308,438
精华内容 523,375
关键字:

数据传输