2017-02-11号 图解TCP/IP协议 第6章 TCP与UDP

2017-02-11 图解TCP/IP协议 第6章 TCP与UDP

简介:

    1:物理层-》数据链路层-》网络层-》传输层-》会话层-表示层-》应用层

    2:守护进程:如HTTP服务端程序在UNIX系统中常叫做守护进程

    3:传输协议TCP、UDP通过接收数据中的目标端口号识别目标处理程序。

    4:应用在使用TCP或UDP时,会用到操作系统提供的类库。这种类库一般被称为API(Application Programming Interface,应用编程接口)。

    5:数据链路和IP中的地址,分别指的是MAC地址IP地址。前者用来识别同一链路中不同的计算机,后者用来识别TCP/IP网络中互联的主机和路由器。在传输层中也有这种类似于地址的概念,那就是端口号。端口号用来识别同一台计算机中进行通信的不同应用程序。因此,它也被称为程序地址。

    6:传输层正是利用这些端口号识别计算机中正在进行通信的应用程序,并准确地将数据传输。通过IP地址、端口号、协议号进行通信识别。

    7:TCP/UDP通信中通常采用5个信息来识别一个通信:源IP地址、目标IP地址、协议号、源端口号、目标端口号。只要其中某一项不同,则被认为是其他通信。


端口号如何确定:

    1:标准既定的端口号:知名端口号(well-known port number),一般是0-1023。

    2:服务端有必要确定监听端口号,但是接受服务的客户端没必要确定端口号。

    3:端口号与协议:不同的传输协议可以使用相同的端口号。


UDP与TCP差别

    TCP与UDP的区别相当大。它充分地实现了数据传输时各种控制功能,可以进行丢包时的重发控制,还可以对次序乱掉的分包进行顺序控制。而这些在UDP中都没有。此外,TCP作为一种面相有连接的协议,只有在确认通信对端存在时才会发送数据,从而可以控制通信流量的浪费。


UDP:User Datagram Protocol

    1:UDP常被用于让广播和细节控制交给应用的通信传输

    2:由于UDP面向无连接,它可以随时发送数据。再加上UDP本身的处理即简单又高效,因此经常用于以下几个方面:包总量较少的通信、视频/音频等多媒体通信(即时通信)、限定于LAN等特定网络中的应用通信、广播通信(广播、多播)


TCP:Transmission Control Protocol

    1:TCP提供可靠性传输,实行“顺序控制”或“重发控制”,还具有“流量控制”、“拥塞控制”等提高网络利用率等众多功能。

    2:TCP通过检验和、序列号、确认应答、重发控制、连接管理以及窗口控制等机制实现可靠性传输。

    3:应答处理、重发控制以及重复控制等功能都可以通过序列号实现。序列号的初始值并非为0。而是在建立连接以后由随机数生成。而后面的计算则是每一字节加一。序列号是按顺序给发送数据的每一个字节都标上号码的编号。接收端查询接收数据TCP首部中的序列号和数据的长度,将自己下一步应该接受的序号作为确认应答返送回去。就这样,用过序列号和确认应答好,TCP可以实现可靠传输。


    重发超时如何确定:

        Round Trip Time也叫RIT是指报文段的往返时间。RTT时间波动的值、方差。有时也叫抖动。

        TCP在每次发包时都会计算往返时间及其偏差。将这个往返时间和偏差相加,重发超时的时间就是比这个总和稍大一点的值。

Pasted Graphic.tiff

        数据也不会被无限、反复重发。达到一定重发次数后,如果仍没有任何确认应答返回,就会判断为网络或对端主机发生了异常,强制关闭连接。并且通知应用通信异常强行终止。

        链接管理:TCP提供面相有连接的通信传输。面相有连接是指在数据通信开始之前先做好通信两端之间的准备工作。

        TCP连接的一个建立与断开,正常过程至少需要来回发送7个包才能完成

Pasted Graphic 1.tiff


    在建立TCP连接时,可以确认发送数据包的单位,称其为“最大消息长度”(MSS:Maximum Segment Size)。最理想的情况是,最大消息长度正好是IP中不会被分片处理的最大数据长度。

MSS是在三次握手的时候,在两端主机之间被计算得出。

Pasted Graphic 2.tiff



    利用窗口控制提高速度

        窗口大小就是指无需等待确认应答而可以继续发送数据的最大值。


Pasted Graphic 3.tiff

        当某一段报文丢失后,发送端会一直收到序号为1001的确认应答,这个确认应答好像在提醒发送端“我想接收的是1001开始的数据”。因此,在窗口比较大,又出现报文段丢失的情况下,同一个序号的确认应答将会被重复不断地返回。而发送端主机如果连续3次收到同一个确认应答,就会将其所对应的数据进行重发。这种机制比之前提到的超时管理更加有效,因此也被称为高速重发控制(Fast Retransmission)。


    控制流

        接收端主机向发送端主机通知自己可以接收数据的大小,于是发送端会发送不超过这个限度的数据。该大小限度被称为窗口大小。窗口大小的值是由接收端主机决定的。

Pasted Graphic 4.tiff



    拥塞控制:

        如果在TCP通信刚开始的时候就发送大量数据,可能会引发拥堵的问题,因此在通信一开始时就会通过一个叫做慢启动的算法打出的数值,对发送数据量进行控制。

Pasted Graphic 5.tiff

        当TCP通信开始以后,网络吞吐量会逐渐上升,但是随着网络拥堵的发生吞吐量会急速下降。于是会再次进入吞吐量慢慢上升的过程。因此所谓TCP的吞吐量的他点就好像是在逐步占领网络带宽的感觉。


    TCP首部格式

Pasted Graphic 6.tiff

猜你喜欢

转载自blog.csdn.net/u014222687/article/details/55002177