UDP |
TCP |
|
1 |
无连接的运输层协议 |
面向连接的运输层协议 |
2 |
支持一对一、一对多、多对一的交互通信 |
每条TCP连接只有点对点的即一对一通信 |
3 |
尽最大努力交付,不可靠 |
可靠交付 |
4 |
面向报文 |
面向字节流 |
5 |
无拥塞控制 |
|
6 |
首部开销小 |
|
7 |
全双工通信 |
第一点:
连接就是通信对象之间是否需要打招呼,就是提前说一声的意思,就像你要用你同学的东西,你要先跟人家说:“把你作业借我看下呗” ,得到别人的同意你才能用,对吧,UDP就是那种不会提前打招呼直接拿着就跑的同学,TCP就是要借你作业,软磨硬泡,百般求证,“作业借我下”,“嗯” ,“谢谢啊” ,比较下虽然UDP不是很礼貌,但是它快呀,如果你真的着急的话,UDP还是很节约时间的,尤其是你不知道你什么时候才会见到你同学的时候;TCP可能有点浪费时间,但是它是长远发展的,这么想啊,它这么礼貌,有作业的同学肯定乐意下次再把作业借给他,是吧
第二点:
一对一就是一问一答
一对多就像是一个人说话,很多人回复
多对一就是很多人对一个人说话
第三点:
尽最大努力交付,就像考试的时候你竭尽所能做试卷,但是考试成绩就不在你的控制范围内,这是考试的正常情况哈,但也有那么一些人做一道对一道,考完下来就知道自己多少分,这就是TCP这种啦,我是属于UDP的那种啦
第四点:
面向报文和面向字节流是指处理单位
报文是你一次要发送的内容
字节流是你这次发送内容的更小的单位,这么举例子,我要发送“小哥哥很帅”这段话,报文就是“小哥哥很帅”, 字节流就是这段话里面的每一个字;当然在计算机中一个汉字肯定是大于一个字节的。
当你用UDP的时候就要考虑下报文的长度是不是合适,太长可能记不住是不是,当用TCP的时候就要考虑,你发的字节能不能识别成你要表达的意思,可能它随意组合了呢
第五点:
拥塞控制:路上堵车了你该怎么办
发送数据也有可能发生拥堵的情况,你咋整呢
第六点:
UDP首部只有8字节,包括源端口、目的端口、长度、检验和,每部分两个字节。
TCP首部是20字节,有啥以后告诉你
比一下UDP还是很小哈
第七点:
TCP是一对一的嘛,全双工通信就是双方中的一方想啥时候跟另一方说话就啥时候说,不用等,不用分环境或者场合