计算机网络-传输层(1)UDP协议

UDP协议基于Internet IP协议,只提供两个基础功能:

  • 分用/复用

分用:

主机接收到IP数据报(datagram),每个数据报携带源IP地址、目的IP地址且携带一个传输层的段(Segment)。

每个段携带源端口号和目的端口号,主机收到Segment之后,传输层协议提取IP地址和端口号信息,将Segment导向相应的Socket。

复用:

从多个Socket接收数据,为每块数据封装上头部信息,生成Segment,交给网络层

  • 简单的错误校验

检测UDP段在传输中是否发生错误(如位翻转)

发送方将段的内容视为16-bit整数,计算所有整数的和,进位加在和的后面,将得到的值按位求反,得到校验和,放入UDP报文段的校验和字段

接收方计算所收到段的校验和,将其与校验和字段进行对比。相等只是没有检测出错,仍可能有错误

UDP提供的是一种“尽力而为”服务,UDP段可能丢失、非按序到达

使用UDP的应用可通过在应用程序自身中建立可靠性机制来实现可靠数据传输,例如,可通过增加确认与重传机制来实现

UDP是无连接的

UDP发送方和接收方之间不需要握手

每个UDP段的处理独立于其他段

UDP为什么存在?

(1)无需建立连接(减少延迟)

(2)实现简单:无需维护连接状态

(3)头部开销少

(4)没有拥塞控制: 应用可更好地控制发送时间和速率

UDP报文段如图所示:

原文地址:https://www.cnblogs.com/yangyuliufeng/p/9268870.html

时间: 2024-11-09 03:05:01

计算机网络-传输层(1)UDP协议的相关文章

传输层:UDP协议

传输层:UDP 协议 一.传输层协议 从之前介绍的网络层协议来看,通信的两端是两台主机,IP 数据报首部就标明了这两台主机的 IP 地址.但是从传输层来看,是发送方主机中的一个进程与接收方主机中的一个进程在交换数据,因此,严格地讲,通信双方不是主机,而是主机中的进程.主机中常常有多个应用进程同时在与外部通信(比如你的浏览器和 QQ 在同时运行),下图中,A 主机的 AP1 进程在于 B 主机的 AP3 进程通信,同时主机 A 的 AP2 进程也在与 B 主机的 AP4 进程通信.两个主机的传输层

Linux内核--网络栈实现分析(五)--传输层之UDP协议(上)

本文分析基于Linux Kernel 1.2.13 原创作品,转载请标明出处http://blog.csdn.net/yming0221/article/details/7532512 更多请看专栏,地址http://blog.csdn.net/column/details/linux-kernel-net.html 作者:闫明 注:标题中的”(上)“,”(下)“表示分析过程基于数据包的传递方向:”(上)“表示分析是从底层向上分析.”(下)“表示分析是从上向下分析. 这里看看数据包从IP层是如何

传输层:UDP 协议

一.传输层协议 从之前介绍的网络层协议来看,通信的两端是两台主机,IP 数据报首部就标明了这两台主机的 IP 地址.但是从传输层来看,是发送方主机中的一个进程与接收方主机中的一个进程在交换数据,因此,严格地讲,通信双方不是主机,而是主机中的进程. 主机中常常有多个应用进程同时在与外部通信(比如你的浏览器和 QQ 在同时运行),下图中,A 主机的 AP1 进程在与 B 主机的 AP3 进程通信,同时主机 A 的 AP2 进程也在与 B 主机的 AP4 进程通信. 两个主机的传输层之间有一个灰色双向

传输层TCP/UDP协议

可靠的TCP协议(传输层) 1)  TCP封包结构如下图: 各字段的含义为: 封包序号:记录每个封包的序号,当TCP封包大于IP封包的长度时,TCP封包就需要拆分成更小的包,来下发给网络层,通过该字段可以让接收端重新将TCP数据组合起来. 回应序号:回传给客户端的响应码,当客户端收到这个确认码时,就能够确定之前传递的封包已经被正确的收下了. 资料补偿:由于Options字段是任意的,为了确认整个封包的大小,就用这个字段来说明整个封包区段的起始位置. 保留:保留字段,还未被使用. 控制标志码:用来

Linux内核--网络栈实现分析(九)--传输层之UDP协议(下)

本文分析基于Linux Kernel 1.2.13 原创作品,转载请标明http://blog.csdn.net/yming0221/article/details/7549340 更多请查看专栏,地址http://blog.csdn.net/column/details/linux-kernel-net.html 作者:闫明 注:标题中的”(上)“,”(下)“表示分析过程基于数据包的传递方向:”(上)“表示分析是从底层向上分析.”(下)“表示分析是从上向下分析. 上篇分析了应用层经过BSD s

实验:传输层:UDP协议 学习笔记

一.传输层协议 从之前介绍的网络层协议来看,通信的两端是两台主机,IP数据报首部就标明了这两台主机的IP地址.但是从传输层来看,是发送方主机中的一个进程与接收方主机中的一个进程在交换数据,因此,严格地讲,通信双方不是主机,而是主机中的进程. 主机中常常有多个应用进程同时在与外部通信(比如你的浏览器和QQ在同时运行),下图中,A主机的AP1进程在于B主机的AP3进程通信,同时主机A的AP2进程也在与B主机的AP4进程通信. 两个主机的传输层之间有一个灰色双向箭头,写着“传输层提供应用进程间的逻辑通

传输层之UDP

1.UDP的定义 跟tcp一样,我们把她定义为: 无连接的,不可靠的,用户数据报协议. 从中我们看到了:无连接和不可靠,这是它的缺点也是它的优点,因为他选择了性能,舍弃了部分安全,节约资源,速度快. 2.不可靠,无连接,不说了,说说用户数据报吧.其实看图就明白. 在UDP上,针对的是数据报编程的. 传输层之UDP

传输层:TCP 协议

传输层:TCP 协议 一.概述 TCP 和 UDP 处在同一层——运输层,但是它们有很多的不同.TCP 是 TCP/IP 系列协议中最复杂的部分,它具有以下特点: (1) TCP 提供 可靠的 数据传输服务,TCP 是 面向连接的 .应用程序在使用 TCP 通信之前,先要建立连接,这是一个类似“打电话”的过程,通信结束后还要“挂电话”. (2) TCP 连接是 点对点 的,一条 TCP 连接只能连接两个端点. (3) TCP 提供可靠传输,无差错.不丢失.不重复.按顺序. (4) TCP 提供 

传输层 TCP UDP

传输层 TCP UDP TCP:ip提供点到点的连接,通过ip可以找到目标主机,TCP 传输控制协议 提供可靠的面向连接的端到端的协议(确认端口.提供服务类型)(传输效率低) DUP:用户数据报协议,不可靠的 非面向连接的协议.(传输效率高) TCP封装格式 4.TCP的三次握手=建立连接. 四次断开 =结束通信发送完成之后断开连接=四次断开TCP计时器: 重传计时器--为了控制丢失的数据段 坚持计时器--为了防止零窗口死锁(信息不对成,双方都在等待) 保活计时器--防止两个TCP连接长时间的空