传输层:UDP协议

传输层向其上方的应用程序层提供通信服务。当应用程序层中的进程发送消息时,该消息将在应用程序层中添加控制信息。然后将其传递到其下面的传输层。传输层接收到消息后,将对其进行处理,然后将其传递到下层。...本节概述了下层传输层的相关知识,主要是总结了相关知识,例如UDP。对于最重要的TCP,将在单独的部分进行总结。

知识点

一、传输层协议1、进程之间的通信

([1)说明

当网络边缘的两台计算机使用网络核心部分的功能进行端到端通信时,只有主机的协议堆栈才具有传输层。在转发数据包时,位于网络核心的路由器仅在传输层以下使用协议(TCP / IP协议仅使用较低的两层,即Internet层和网络接口层。仅使用较低的三层)在五层网络协议中,分别是网络层,数据链路层,物理层。

([2)问题解决

如下图所示:IP协议可以根据标头中的目标地址将源主机A发送的数据包传递到目标主机B。那么,为什么我们需要一个传输层?

1、在ip层中,通信的两端是两个主机,并且ip数据报的标头也清楚地标记了这两个主机的IP地址。但这意味着两个主机之间的通信不够准确。因为真正的通信是两个主机上的进程之间的通信。例如,在上图中,主机A的AP1进程与主机B的AP3进行通信。因此,严格来说,两个主机之间的通信是两个主机之间的应用进程之间的通信。尽管IP协议可以将数据包发送到目标主机,但是该数据包仍然停留在主机的网络层,并且尚未将传输层传递到应用程序进程。

2、从传输层的角度来看,通信的真正终点不是主机,而是主机之间的过程,这意味着端到端通信是应用程序进程之间的通信。

3、实际上,两台计算机之间的通信通常不是单进程通信。计算机A上的多个进程可能与计算机B上的多个进程进行通信。实际上,传输层还具有解复用和复用的功能。

4、从图中可以看出,网络层(IP层)在主机之间提供逻辑通信(可以将其识别为向Internet发送消息,而另一主机将接收它),并且传输层是应用程序的过程提供逻辑通信。

5、传输层还需要对接收到的消息执行错误检测,而网络层需要对ip数据报的标头执行错误检测(仅检查标头而不检查数据部分,并且数据部分在传输层检查)

2、传输层的主要协议

([1)主要协议

根据应用程序的不同需求,传输层具有两种不同的传输协议。

([2)术语介绍

1、 OSI术语,两个对等传输实体在通信时传输的数据单元称为传输协议数据单元(TPDU)

2、在TCP / IP系统中,根据所使用的协议是TCP还是UDP,它们分别称为TCP段或UDP用户数据报。

([3)某些应用程序使用协议栗子

3、传输层的端口

(1)对重用和重用的重新认识

1、应用层中的所有应用进程都可以通过多路传输的传输层传输到IP层(网络层)。

2、传输层必须在从IP层接收到数据之后交付指定的应用程序进程。这是分裂。

显然,对应用程序层中的每个应用程序过程进行清晰的标记非常重要。

3、使用端口标识应用程序(请注意,该端口标识应用程序,而不是应用程序进程)

(2)端口的来源

1、端口:在计算机上运行的进程由进程标识符(pid)标识。为了使运行不同操作系统的计算机的应用程序进程能够相互通信,必须使用统一的方法来标记TCP / IP系统的应用程序进程。解决此问题的方法是使用协议端口号或传输层中的端口。尽管通信的结束是应用过程,但是只要将要发送的消息传递到目标主机的适当目标端口,其余工作(即最终传递到目标过程)就由以下过程完成: TCP / UDP。端口号仅具有本地含义,仅用于标记本地计算机应用程序层与传输层交互时每个进程的层间接口。

2、协议栈层之间的抽象协议端口是软件端口,与路由器或交换机上的硬件端口完全不同。硬件端口是不同硬件设备进行交互的接口,软件端口是应用层的各种协议进程与传输实体之间进行交互的地址。

参考:进程ID [PID(Process ID)]和端口号[[Port ID]]之间的连接

([3)应用层端口

1、应用程序层将数据传递到应用程序的端口,其余工作由传输层完成。

2、在稍后将提到的UDP和TCP的头格式中使用udp协议,我们将看到它们都有两个重要的字段:源端口和目标端口。当传输层接收到从IP层移交的传输层消息时,它可以根据其报头中的目标端口号将数据传递到应用层的目标应用程序进程。

3、 TCP / IP的传输层使用16位端口号来标识端口。但是请注意,端口号仅具有本地含义,仅用于在与传输层交互时标记计算机应用程序层中每个进程的层间接口。在Internet上的不同计算机中im体育在线官网 ,相同的端口号不相关。 16位端口号允许65 535(2到16的幂减去一)个不同的端口号,此数字对于计算机来说足够了。

4、可以看出榴莲影视App污下载 ,为了使两台计算机中的进程相互通信,它们不仅必须知道对方的IP地址(以便找到对方的计算机),而且还必须知道对方的端口号(为了找到对方的计算机的Application进程,根据IP层传递的消息的标头中的源端口或目标端口,传输层可以将数据传输到目标进程。)

([4)端口分类

1、服务器使用的端口

2、客户端使用的端口

客户端使用的端口号为49152〜65535。由于仅当客户端进程正在运行时才动态选择此类型的端口号,因此它也称为临时端口号。这种类型的端口号留给客户端进程选择临时使用。当服务器进程从客户端进程接收消息时,它知道客户端进程使用的端口号,因此可以将数据发送到客户端进程。通信结束后,刚才使用的客户端端口号不再存在,该端口号可被其他客户端进程使用。

二、 UDP协议1、 UDP功能

([1)对于无连接

在发送数据之前无需建立连接。当然,发送后没有要释放的连接。与tcp相比,减少了开销。减少发送数据之前的延迟。

(2)尽力提供

不能保证数据的可靠传递,并且主机不需要维护复杂的状态连接表(表中有很多数据)。

([3)面向消息

udp一次发送或传递一条完整的消息。只要应用程序层(ip层)发送(接收)消息,udp就会传递该消息。换句话说亚博APp买球首选 ,UDP一次传送完整的消息。换句话说,应用程序必须选择适当大小的消息。如果消息太长,则在UDP将其传递到IP层后,IP层可能必须在传输过程中分段,这将降低IP层的效率。相反,如果消息太短,则在UDP将其传递到IP层后,IP数据报报头的相对长度将太大,这也会降低IP层的效率。

([4) UDP没有拥塞控制

网络拥塞不会降低源主机的发送速率。这对于某些实时应用程序非常重要。许多实时应用程序要求源主机以恒定的速率发送数据,并在发生网络拥塞时允许丢失某些数据,但是不允许数据具有太大的延迟,仅UDP是合适的。

([5) UDP支持多种通信方法

一对一,一对多。

多对一使用udp协议,多对多。

([6) UDP标头开销很小

UDP的标头只有8个字节,但是TCP的标头有20个字节(比TCP短得多)

1、当许多源主机同时向网络发送高速实时视频流时,可能会发生网络拥塞,结果每个人都无法正常接收它,但是不使用UDP会导致更多问题。严重的交通堵塞。

2、某些实时应用程序可以适当地改进UDP以减少数据丢失。在这种情况下,应用程序进程本身可以添加一些措施来提高可靠性,而又不影响应用程序的实时性能,例如前向纠错或重传丢失的数据包。

2、 UDP标头格式

用户数据报UDP具有两个字段:

([1)源端口

需要对方应答时使用的源端口号,不需要时可以使用全0的端口号

([2)目标端口

是目标端口号,当端点传递消息时必须使用它。

([3)长度

UDP数据报的长度。最小值是8,这意味着只有标题。

([4)校验和

检查UDP用户数据报的传输中是否存在错误。如果您输入有误,请扔掉

1、在UDP用户数据报的报头中计算校验和的方法有些特殊。在计算校验和时,应在UDP用户数据报之前添加12个字节的伪头。所谓的“伪头”是因为该伪头不是UDP用户数据报的真实头。计算校验和时,它只是临时添加到UDP用户数据报的前面,并获得临时UDP用户数据报。校验和是根据此临时UDP用户数据报计算的。伪标头既不向下发送也不向上发送,仅用于计算校验和

2、 UDP校验和的计算方法类似于IP数据报头校验和的方法。但是不同之处在于:IP数据报的校验和仅检查IP数据报的报头,而UDP的校验和同时检查报头和数据部分

三、传输层:TCP协议结束

摘要:

上一篇 我已经练习S哈嘉瑜伽4年了,我感觉非常好。我推荐给大家