三十九、传输层概述和UDP协议

简介: 三十九、传输层概述和UDP协议

传输层是只有主机才有的层次。传输层为应用层提供通信服务,同时可以使用网络层提供的服务。



1、传输层的功能



(1) 传输层提供进程和进程之间的逻辑通信,区别于网络层提供主机和主机之间的逻辑通信。即网络层将信息从一个主机传递到另外一个主机之后,需要经过传输层将这些信息分发给不同的进程,或者同一个进程的不同线程中。


(2) 复用和分用,复用指的是将不同进程的数据(报文段)使用同一个传输层的协议进行传输;分用指的是传输层将传来的报文段送交给不同的进程。


(3) 传输层对收到的报文进行差错检测。


(4) 传输层有TCP和UDP两种协议。




2、传输层的两个协议


2.1 TCP协议


面向连接的传输控制协议,传送数据之前必须建立连接,数据传送结束之后要释放连接。不提供广播或者多播服务。由于TCP要提供可靠的面向连接的传输服务,因此不可避免增加了许多开销:确认,流量控制,计时器及连接管理等。可靠,面向连接,时延大,适用于大文件。


2.2 UDP协议


无连接的用户数据报协议,传送数据之前不需要建立连接,收到UDP报文之后也不需要给出任何确认。不可靠,无连接,时延小,适用于小文件。




3、传输层的寻址与端口



端口是传输层的SAP,标识主机中的应用进程,这里的端口是逻辑端口/软件端口。


端口号只有本地意义,在因特网中不同计算机中的相同端口是没有联系的。端口号长度为16bit,能表示65536个不同的端口号。端口号的分类如下所示:1add1f611b2a46eca7cff69536d1b9da.png


常见的熟知端口号应用程序如下所示:62482347b0954864b6bfada8134c14ae.png


在网络中采用发送方和接收方的套接字(Socket)组合来识别端点,套接字唯一标识了网络中的一个主机和它上面的一个进程。

Socket=(IP)




4、UDP协议



UDP只在IP数据报服务之上增加了很少的功能,即复用分用和差错检测的功能。


UDP的主要特点:


(1) UDP是无连接的,减少开销和发送数据之前的时延;


(2) UDP使用最大努力交付,即不保证可靠交付;


(3) UDP是面向报文的,适合一次性传输少量数据的网络应用;


(4) UDP无拥塞控制,适合很多实时应用;


(5) UDP的首部开销小,只有8Byte,TCP的首部有20Byte

e9f310aa5f8649679cdf6b986ad20f9d.png


4.1 UDP的首部格式

3f5400619f594843b589cf53a5879404.png

在分用时,若数据报找不到对应的目的端口号,就丢弃报文,并给发送方发送ICMP“端口不可达”差错报告报文。


4.2 UDP校验


e9b5ccbafff04ea99f2d24f812d00ebb.png


 


伪首部只有在计算校验和时候才会出现,不向下传递也不向上递交。伪首部中的17表示:封装UDP报文的IP数据包首部协议字段是17;伪首部中的首部长度:UDP首部8Byte+数据部分长度,不包括伪首部的长度。fb6692df45404d41a4cca501544c6960.png


在发送端校验处理过程:填上伪首部;全0填充检验和字段;全0填充数据部分(UDP数据报要看成许多4B的字串连起来0);伪首部+首部+数据部分采用二进制反码求和;把和求反码填入检验和字段;去掉伪首部,发送。


在接收端校验处理过程:填上伪首部;;伪首部+首部+数据部分采用二进制反码求和;结果全为1则无差错,否则丢弃数据报或者交给应用层并附上出差错的警告。











相关文章
|
2月前
|
存储 网络协议 算法
UDP 协议和 TCP 协议
本文介绍了UDP和TCP协议的基本结构与特性。UDP协议具有简单的报文结构,包括报头和载荷,报头由源端口、目的端口、报文长度和校验和组成。UDP使用CRC校验和来检测传输错误。相比之下,TCP协议提供更可靠的传输服务,其结构复杂,包含序列号、确认序号和标志位等字段。TCP通过确认应答和超时重传来保证数据传输的可靠性,并采用三次握手建立连接,四次挥手断开连接,确保通信的稳定性和完整性。
88 1
UDP 协议和 TCP 协议
|
9天前
|
网络协议 SEO
TCP连接管理与UDP协议IP协议与ethernet协议
TCP、UDP、IP和Ethernet协议是网络通信的基石,各自负责不同的功能和层次。TCP通过三次握手和四次挥手实现可靠的连接管理,适用于需要数据完整性的场景;UDP提供不可靠的传输服务,适用于低延迟要求的实时通信;IP协议负责数据包的寻址和路由,是网络层的重要协议;Ethernet协议定义了局域网的数据帧传输方式,广泛应用于局域网设备之间的通信。理解这些协议的工作原理和应用场景,有助于设计和维护高效可靠的网络系统。
20 4
|
2月前
|
网络协议
UDP 协议
UDP 协议
119 58
|
1月前
|
网络协议 网络性能优化 C#
C# 一分钟浅谈:UDP 与 TCP 协议区别
【10月更文挑战第8天】在网络编程中,传输层协议的选择对应用程序的性能和可靠性至关重要。本文介绍了 TCP 和 UDP 两种常用协议的基础概念、区别及应用场景,并通过 C# 代码示例详细说明了如何处理常见的问题和易错点。TCP 适用于需要可靠传输和顺序保证的场景,而 UDP 适用于对延迟敏感且可以容忍一定数据丢失的实时应用。
28 1
|
1月前
|
网络协议 算法 数据格式
【TCP/IP】UDP协议数据格式和报文格式
【TCP/IP】UDP协议数据格式和报文格式
120 3
|
1月前
|
存储 网络协议 算法
更深层次理解传输层两协议【UDP | TCP】【UDP 缓冲区 | TCP 8种策略 | 三次握手四次挥手】
UDP和TCP各有所长,UDP以其低延迟、轻量级的特点适用于对实时性要求极高的应用,而TCP凭借其强大的错误检测、流量控制和拥塞控制机制,确保了数据的可靠传输,适用于文件传输、网页浏览等场景。理解它们的工作原理,特别是UDP的缓冲区管理和TCP的8种策略,对于优化网络应用的性能、确保数据的高效和可靠传输至关重要。开发者在选择传输层协议时,应根据实际需求权衡利弊,合理利用这两项关键技术。
63 5
|
1月前
|
JavaScript 安全 Java
谈谈UDP、HTTP、SSL、TLS协议在java中的实际应用
下面我将详细介绍UDP、HTTP、SSL、TLS协议及其工作原理,并提供Java代码示例(由于Deno是一个基于Node.js的运行时,Java代码无法直接在Deno中运行,但可以通过理解Java示例来类比Deno中的实现)。
68 1
|
2月前
|
监控 网络协议 网络性能优化
如何办理支持UDP协议的网络
在当今网络环境中,UDP(用户数据报协议)因传输速度快、延迟低而广泛应用于在线游戏、视频流媒体、VoIP等实时服务。本文详细介绍了办理支持UDP协议网络的方法,包括了解UDP应用场景、选择合适的ISP及网络套餐、购买支持UDP的设备并进行优化设置,以及解决常见问题的策略,帮助用户确保网络稳定性和速度满足实际需求。
|
2月前
|
网络协议
UDP协议在网络通信中的独特应用与优势
UDP(用户数据报协议)作为关键的传输层协议,在网络通信中展现出独特优势。本文探讨UDP的无连接性及低开销特性,使其在实时性要求高的场景如视频流、在线游戏中表现优异;其不保证可靠交付的特性赋予应用程序自定义传输策略的灵活性;面向报文的高效处理能力及短小的包头设计进一步提升了数据传输效率。总之,UDP适用于高速、实时性强且对可靠性要求不高的应用场景,为网络通信提供了多样化的选择。
|
21天前
|
网络协议 算法 网络性能优化