TCP与UDP的区别
2014-04-24 20:27
316 查看
今天去阿里面试,面试官问了几个问题:
(1)C和C++的区别、以及内存管理上的区别?
(2)TCP、UDP协议的区别?
(3)C++中的集合,map与set的区别?
(4)C++中静态变量放在哪个内存区?
第一个题至今不知道有什么区别,map是key和value对应,set只有键没有值。C++中静态变量应该是放在全局数据区。
TCP与UDP都属于传输层协议,TCP是面向连接的协议,发送数据之前需要与接收端进行3次会话,建立有效的连接,
UDP协议时用户数据报协议,是面向非连接的,适用于少量数据传输对可靠性要求不高的场景,比如QQ。
在网上找了一些答案,记下来以便自己复习。
TCP:面向连接、传输可靠(保证数据正确性,保证数据顺序)、用于传输大量数据(流模式)、速度慢,建立连接需要开销较多(时间,系统资源)。
UDP:面向非连接、传输不可靠、用于传输少量数据(数据包模式)、速度快。
TCP与UDP的区别:
1。基于连接与无连接
2。对系统资源的要求(TCP较多,UDP少)
3。UDP程序结构较简单
4。流模式与数据报模式
5。TCP保证数据正确性,UDP可能丢包,TCP保证数据顺序,UDP不保证
1。TCP传输存在一定的延时,大概是1600MS(移动提供),UDP响应速度稍微快一些。
2。TCP包头结构
源端口16位
目标端口 16位
序列号 32位
回应序号 32位
TCP头长度 4位
reserved 6位
控制代码6位
窗口大小16位
偏移量16位
校验和16位
选项 32位(可选)
这样我们得出了TCP包头的最小大小.就是20字节.
UDP包头结构
源端口16位
目的端口16位
长度 16位
校验和 16位
UDP的包小很多.确实如此.因为UDP是非可靠连接.设计初衷就是尽可能快的将数据包发送出去.所以UDP协议显得非常精简.
(1)C和C++的区别、以及内存管理上的区别?
(2)TCP、UDP协议的区别?
(3)C++中的集合,map与set的区别?
(4)C++中静态变量放在哪个内存区?
第一个题至今不知道有什么区别,map是key和value对应,set只有键没有值。C++中静态变量应该是放在全局数据区。
TCP与UDP都属于传输层协议,TCP是面向连接的协议,发送数据之前需要与接收端进行3次会话,建立有效的连接,
UDP协议时用户数据报协议,是面向非连接的,适用于少量数据传输对可靠性要求不高的场景,比如QQ。
在网上找了一些答案,记下来以便自己复习。
TCP:面向连接、传输可靠(保证数据正确性,保证数据顺序)、用于传输大量数据(流模式)、速度慢,建立连接需要开销较多(时间,系统资源)。
UDP:面向非连接、传输不可靠、用于传输少量数据(数据包模式)、速度快。
TCP与UDP的区别:
1。基于连接与无连接
2。对系统资源的要求(TCP较多,UDP少)
3。UDP程序结构较简单
4。流模式与数据报模式
5。TCP保证数据正确性,UDP可能丢包,TCP保证数据顺序,UDP不保证
1。TCP传输存在一定的延时,大概是1600MS(移动提供),UDP响应速度稍微快一些。
2。TCP包头结构
源端口16位
目标端口 16位
序列号 32位
回应序号 32位
TCP头长度 4位
reserved 6位
控制代码6位
窗口大小16位
偏移量16位
校验和16位
选项 32位(可选)
这样我们得出了TCP包头的最小大小.就是20字节.
UDP包头结构
源端口16位
目的端口16位
长度 16位
校验和 16位
UDP的包小很多.确实如此.因为UDP是非可靠连接.设计初衷就是尽可能快的将数据包发送出去.所以UDP协议显得非常精简.
相关文章推荐
- TCP与UDP区别
- (转)TCP和UDP之间的区别
- TCP与UDP的区别(转载)
- TCP和UDP的区别?
- TCP与UDP的区别,以及它们各自的定义
- TCP和UDP区别
- TCP/UDP 区别
- (春招面经)TCP和UDP的区别
- tcp/ip和udp之间的区别
- TCP与UDP的区别(转)
- TCP与UDP的区别
- 常见通信协议区别——tcp、udp、rpc、http、socket
- TCP和UDP概念和区别
- TCP/IP、UDP、Http、Socket的区别
- 20170330_请说出TCP和UDP的区别--ARP的中文意思是什么?请简要的说出它的工作原理。
- udp与tcp数据模式区别-用代码解释
- TCP与UDP在socket编程中的区别
- TCP与UDP的区别
- TCP 与 UDP 的区别