UDP_第二章 传输层:TCP和UDP

本文介绍了TCP和UDP两种传输层协议的区别。TCP是一个复杂、可靠的字节流协议,提供连接建立、数据排序、流量控制和确认重传等机制。而UDP则是一个简单、不可靠的数据报协议,无连接,不保证数据到达。TCP通过三次握手建立连接,四次挥手终止连接,而UDP不建立连接。此外,讨论了TCP和UDP的端口号、数据传输和缓冲区管理等内容。
摘要由CSDN通过智能技术生成

2.1 概述

1) UDP是一个简单、不可靠的数据报协议;
2) TCP是一个复杂、可靠的字节流协议;

2.2 总图

1) IPv4: 32位地址(4X8)
2) IPv6:128位地址(8X16)
3) TCP:传输控制协议; 面向连接、全双工字节流、可靠。TCP 套接字是一种流套接字(SOCK_STREAM), TCP 关心确认、超时、重传等细节以保证数据传输的可靠性;——stream socket;
4) UDP: 用户数据报协议;无连接协议。UDP套接字是一种数据报套接字(SOCK_DGRAM);——datagram socket;

2.3 用户数据报协议(UDP)

1) 应用进程往一个UDP套接字中写入一个消息,这个消息会被封装成UDP数据报,该UDP数据报接着被封装为IP数据报,然后发生到目的地;
2) UDP是不可靠的,不保证数据到达目的地;
3) UDP数据报有一个长度,这个长度随数据一起传递给接收端应用进程;TCP是一个字节流协议, 没有长度、边界;
4) UDP是无连接到, UDP客户与UDP服务之间并不存在长期的连接;一个UDP客户可以创建一个套接字,使用这个公共的套接字将数据发送给多个服务器; 一个UDP服务器可以创建一个套接字,使用这个公共的套接字将数据发送给多个客户;

2.4 传输控制协议 TCP

1) 首先, TCP 先在客户和服务器之间建立连接;然后进行数据传输;最后终止这个连接;
2) TCP 提供可靠的数据传输, TC 发送数据后要求对端给一个确认, 如果没有收到确认, TCP 就自动重传数据并等待更长的时间;数次重传失败后, TCP 才放弃传输(4-10 分钟);
TCP 中的RTT算法动态估算客户和服务器之间的往返时间,以知道发送端等待一个接收端的确认需要多久时间;
3) TCP 对数据分配序号进行排序, 以保证传输可靠性;TCP 将数据分节, 分节是TCP传递给IP层的数据单元;数据在发送端被分解成分节传给IP, 在接收端IP将分节传给TCP协议,组合成原数据;
4) TC P提供流量控制, TCP 总是需要告知在任何时刻它一次能够从对端接受多少字节的数据,即通告窗口;通告窗口指出接收缓冲区当前的可用空间,保证发送端发送的数据不会在接收端溢出;通告窗口动态变化, 接收到数据时候,通告窗口减小;应用程序从TCP缓冲区读取数据时候, 通告窗口变大;当TCP对应的某个套接字的接受缓冲区已满, 此时TCP的就必须等待应用程序从该TCP缓冲区读取数据,才能从对端再接受数据;
5࿰

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值