用户数据报协议UDP
1、UDP协议功能
为了在给定的主机上能识别多个目的地址,同时允许多个应用程序在同一台主机上工作并能独立地进行数据报的发送和接收,设计用户数据报协议UDP。
使用UDP协议包括:TFTP、SNMP、NFS、DNS
UDP使用底层的互联网协议来传送报文,同IP一样提供不可靠的无连接数据报传输服务。它不提供报文到达确认、排序、及流量控制等功能。
2、UDP的报报文格式
每个UDP报文分UDP报头和UDP数据区两部分。报头由四个16位长(8字节)字段组成,分别说明该报文的源端口、目的端口、报文长度以及校验和。
3、UDP协议的分层与封装
在TCP/IP协议层次模型中,UDP位于IP层之上。应用程序访问UDP层然后使用IP层传送数据报。IP层的报头指明了源主机和目的主机地址,而UDP层的报头指明了主机上的源端口和目的端口。
4、UDP的复用、分解与端口
UDP软件应用程序之间的复用与分解都要通过端口机制来实现。每个应用程序在发送数据报之前必须与操作系统协商以获得协议端口和相应的端口号。
UDP分解操作:从IP层接收了数据报之后,根据UDP的目的端口号进行分解操作。
UDP端口号指定有两种方式:由管理机构指定的为著名端口和动态绑定的方式。
可靠的数据流传输TCP
1、TCP/IP的可靠传输服务五个特征:面向数据流、虚电路连接、有缓冲的传输、无结构的数据流、全双工的连接。
2、TCP采用了具有重传功能的肯定确认技术作为可靠数据流传输服务的基础。
3、为了提高数据流传输过程的效率,在上述基础上引入滑动窗口协议,它允许发送方在等待一个确认之前可以发送多个分组。滑动窗口协议规定只需重传未被确认的分组,且未被确认的分组数最多为窗口的大小。
4、TCP功能
TCP定义了两台计算机之间进行可靠的传输而交换的数据和确认信息的格式,以及计算机为了确保数据的正确到达而采取的措施。
5、TCP连接使用是一个虚电路连接,连接使用一对端点来标识,端点定义为一对整数(host,port)其中host是主机的IP地址,port是该主机上TCP端口号。
6、TCP使用专门的滑动窗口协议机制来解决传输效率和流量控制这两个问题,TCP采用的滑动窗口机制解决了端到端的流量控制,但并未解决整个网络的拥塞控制。
7、TCP允许随时改变窗口小,通过通告值来说明接收方还能再接收多少数据,通告值增加,发送方扩大发送滑动窗口;通告值减小,发送方缩小发送窗口。
8、TCP的报文格式
报文分为两部分:报头和数据,报头携带了所需要的标识和控制信息。
确认号字段指示本机希望接收下一个字节组的序号;
顺序号字段的值是该报文段流向上的数据流的位置,即发送序号;
确认号指的是与该报文段流向相反方向的数据流。
9、TCP使用6位长的码位来指示报文段的应用目的和内容
URG紧急指针字段可用;ACK确认字段可用;PSH请求急近操作;RST连接复位;SYN同步序号;FIN发送方字节流结束。
10、TCP的三次握手
为了建立一个TCP连接,两个系统需要同步其初始TCP序号ISN。序号用于跟踪通信顺序并确保多个包传输时没有丢失。初始序号是TCP连接建立时的起始编号。
同步是通过交换携带有ISN和1位称为SYN的控制位的数据包来实现的。
握手可由一方发起也可以双方发起,建立就可以实现双向对等地数据流动,没有主从关系。
相关推荐:
北京 | 天津 | 上海 | 江苏 | 山东 |
安徽 | 浙江 | 江西 | 福建 | 深圳 |
广东 | 河北 | 湖南 | 广西 | 河南 |
海南 | 湖北 | 四川 | 重庆 | 云南 |
贵州 | 西藏 | 新疆 | 陕西 | 山西 |
宁夏 | 甘肃 | 青海 | 辽宁 | 吉林 |
黑龙江 | 内蒙古 |