TCP和UDP各有什么特点?(跟HTTP有什么区别呢?)
本文由世外云(www.shiwaiyun.com)小编为大家整理,本文主要介绍了TCP和UDP各有什么特点的相关知识,希望对你有一定的参考价值和帮助,记得关注和收藏网址哦!
1、TCP和UDP各有什么特点?
数据传输的——传输层协议原理在互联网上,每个网络数据包的传输遵循以下五层结构:
TCP(传输控制协议)和UDP(用户数据报协议)都是传输层协议。它们是互联网上使用的一组通信协议,用于在网络内部或网络之间提供服务或数据包。它通常被称为互联网协议族。
传输层提供网络连接,允许多个应用程序同时运行。就像街道名称和门牌号一样,传输层在每个网络连接中的计算机上创建65,000个端口。
计算机上的应用程序可以保留和使用这些端口。
一个应用程序可以根据需要同时使用多个端口。
传输层协议实现目的
例如,应用程序保留端口12437,以便向其他计算机上的端口80发送消息。每当应用层创建一条消息时,它都将在传输层上传递。在这一层,消息被包装在一个数据段中。该数据段包含一些其他信息,如源端口和目的端口。创建数据段后,它将被传送到网络层进行进一步处理。
当它从网络层传到传输层时,网段就会显示在接收端。
将检查网段以确定目标端口。
然后,拆开邮件并将其发送到80端口。
传输协议的重点是使通信独立于底层网络技术,只关注端到端的通信,不考虑路由或介质访问。
什么是TCP?TCP是一种面向连接的点对点传输通信协议,它将数据包作为非结构化的字节流以有序的顺序发送。TCP通过使用序列号和确认消息来提供关于从发送节点传输到目的节点的数据分组的传递的信息。确保TCP数据的可靠性、端到端传递、重排序和重传,直到达到超时条件或收到接收数据包的确认。
此外,TCP提供流量控制机制来维持通过高速网络传输的高数据分组,并且TCP协议通过触发数据分组的重传直到接收到无错误确认来提供错误检测和丢失数据功能。TCP与应用层协议保持通信,例如(FTP)文件传输协议、(SMTP)简单邮件传输协议和(HTTP)超文本传输协议。
什么是UDP?用户数据报协议(UDP)是一种无连接的传输层通信协议,用于建立具有低容限和丢失延迟的连接,以在网络内或网络间传递服务或数据包。它可以与互联网协议簇结合,取代TCP协议。
UDP构建一个数据报数据包,并使用IP端口号、数据包和可选的校验和函数对其进行寻址,以验证是否收到完整的数据到达。因为UDP是一种简单的协议,发送方可以决定是否重新发送数据包,从而以低延迟实现高可靠性。因为网络广播功能可以向同一网络上的一些计算机广播数据包,所以UDP减少了网络总流量,并且不需要在网络上重复。因为UDP是一种无连接协议,所以数据内容包的传送或顺序会有所不同。
UDP与更高层的协议(如琐碎文件传输协议、实时流协议、简单网络协议和域名系统查找)相结合,管理整个网络上的数据传输服务。
TCP UDP协议之间的类比(1)
UDP:有人给快递员送了一封信,快递员会想尽办法朝收件人的方向扔过去,然后才走开。
TCP:有人给快递员送一封信,然后在信笺上写下序号,做一份复印件,然后把原件尽量往收件人的方向扔,然后等回复,再递回寄信人。如果他们不 如果收不到回复,他们会复制一份发送出去。当他们收到回复时,把它交给发件人,扔掉它的复印件。如果答案不正确,他们会按照正确的顺序排列,然后交给发件人。
在UDP的情况下,发送者在邮件的传递中承担更多的责任。在TCP的情况下,快递员承担了更多的责任。在TCP的情况下,发送方必须 "支付更多 "对于记忆,延迟和快递员的开销。在某些情况下,为确保消息传递而增加的成本是不值得的。
(2)两者的区别。
(3)连接建立模式
TCP有一个类似的设置协议,称为 "三次握手 "。 "客户 "(有人要求连接)将发送 "SYN "(同步请求)消息发送到 "服务器 "那就是这些信息;如果服务器决定接受请求,它将发回一个 "SYN/ACK amp;"消息,以确认先前的请求,并请求自己的通信 "返回渠道和。然后,客户端发回一个 "ACK "确认服务器 请求并建立双向沟通渠道。
UDP可以看作是一个对讲机。按一个按钮,开始讲话。任何听过这个频率的人都会听到,除非他们也用同样的频率来说话。
(4)差异总结
数据传输功能
TCP支持在两台主机之间建立稳固的连接,以便在流中交换数据。TCP保证按照服务器发送给用户的顺序来传递数据,反之亦然。TCP是面向连接的协议。UDP是无连接的,非专有协议不检查接收主机的准备情况。
可靠性
TCP的可靠性比较高,因为它可以保证传输过程中数据部分丢失时的消息确认和数据重传。机器不会丢失任何丢失的数据。另一方面,UDP不提供消息确认、超时或重传的概念。没有关于分组是否已经到达接收器或者在传输中丢失的通信。
顺序
TCP数据包的传输顺序与接收顺序相同。如果数据包到达的顺序不对,TCP会重新排列它们。并且订单以正确的顺序传递。就UDP而言,以特定顺序发送的消息在传递到主机时可能会保留,也可能不会保留。传输的顺序或次序是不可预测的。
连接
TCP连接非常重要,它需要近三个数据包来进行适当的套接字连接,并且它可以处理拥塞控制和可靠的交付。另一方面,UDP连接是轻量级的,可以通过特定IP设计的层进行传输。没有连接正在跟踪或排序邮件。
数据流
传输协议以字节流的形式读取数据,并将消息传输到段边界。UDP消息包含一个接一个发送的数据包,在到达时检查其完整性。
传输速率
与UDP相比,TCP速度较慢,因为它会检查错误并重新传输数据包。
页眉尺寸
报头的TCP大小是20字节,而UDP是8字节。但是,它们有共同的报头字段,即源点、目的地点和校验和。
其他协议的使用
其他协议使用FTP、SMTP、HTTP、HTTP、Telnet、TCP和TFTP,SNMP、DNS、DHCP、RIP和VOIP使用UDP。
错误检测
传输协议通过校验和检测错误,并执行错误恢复。如果有任何包有错误,接收方不会确认它们,这将触发主机/发送方的重传。
这种机制称为PAR(带重传的肯定确认)。因为TCP比UDP慢,所以TCP适合于不需要高速或长传输时间的应用。
关于错误检测和错误恢复,UDP会尽力而为。该协议还支持错误检测。但是,校验和检测到错误的数据包将被丢弃。UDP不会尝试重新传输数据包。
UDP不尝试重发数据包的原因是它通常用于时间敏感的应用,如语音传输、游戏等。尝试重传的时候,恢复尝试是没有意义的,包收到了,就没用了。
总结TCP/UDP协议,这是传输层的标准协议。根据应用场景和需求决定使用哪种协议是网络编程的基本规律。根据不同的场景选择合适的协议。
TCP应用场景:
效率要求相对较低,但精度要求相对较高的场景。例如:文件传输、电子邮件、远程登录。
UDP应用场景:
要求效率相对较高,精度相对较低的场景。例如:视频会议等。
以上是我的粗浅看法,欢迎指正,谢谢!
2、跟HTTP有什么区别呢?
很乐意回答这个问题。什么?;HTTPS有什么用?什么?;HTTP和HTTP的区别是什么?
最近一直在做安全开发。我来回答一下。
HTTPS是一种使用安全技术的HTTP协议。HTTP的全称是超文本传输协议。高压TPS是以安全为目的的HTTP通道(安全套接字层上的超文本传输协议)。两者的区别在于一个网络传输不安全,另一个网络传输安全。
为什么用HTTPS?常见的HTTP协议采用明文传输,因此传输的消息容易泄露和被篡改,消息的可靠性和完整性无法验证。例如,传输到服务器的数据带有自己的银行帐户和密码。如果使用明文,只要第三方在传输过程中截获数据包,账号和明文就很容易被他人。或者服务器给你一个指令,这个指令被截取篡改为他的内容。当你的客户端收到后,会跟着篡改的内容走,非常不安全。然后,服务器向客户端发送消息。因为网络的原因,一半的数据丢失了。客户怎么知道这个情况?
HTTPS如何实现数据的安全传输?让 让我们简单介绍一些概念。
密钥是在将明文转换为密文或密文转换为明文的算法中输入的参数。它分为两部分,公钥和私钥。有了私钥,就可以导出公钥,反之亦然。可以简单理解为钥匙和锁的关系,即锁可以和钥匙匹配,但钥匙和锁很难匹配。
证书是公钥的载体,公钥包含证书有效性、颁发者信息等其他内容。除了公钥。
Abstract就是它的字面意思,对一个段落做一个简短的抽象。
加密和解密是指使用公钥将一段内容转换成另一段无法识别的内容,解密是指使用私钥将加密的内容恢复成原始内容。
签名验证签名可以理解为另一种形式的加密,使用私钥将原始内容转换为无法识别的内容。签名验证是持有原始内容和签名内容,并使用公钥验证它们是否一致。
让 让我们来谈谈安全流程。
生成消息摘要后,对摘要进行签名,以便客户端可以验证消息源的可靠性和完整性。服务器在向客户端发送消息之前,会先生成消息的摘要,然后用自己的私钥对摘要进行签名,最后将签名和私钥对应的证书附在消息的末尾发送给客户端。客户端收到消息后,第一验证证书的有效性,如果证书无效,则直接通过,保证消息的可靠性。然后对消息进行汇总,再将证书中的公钥与汇总结合起来验证签名是否有效,这样即使消息被篡改或破坏,签名也会因为生成的摘要不同而不同,可以保证消息的完整性,不被篡改。
通过加密消息,可以防止消息内容被他人解读。在传输消息之前,服务器和客户端交换双方的密钥,然后在传输过程中,一方用密钥加密消息,另一方用密钥解密消息。而且就算第三方截获了数据包,也会是因为没有秘密。钥匙罐 不要解读信息,以免具体内容泄露。
综上所述,与HTTP协议相比,虽然HTTPS的处理逻辑要复杂得多,但它已经成为当今最常用的网络传输协议 互联网安全越来越重要。
这些是HTTP和HTTPS的一些概念性介绍。更复杂详细的实现原理这里就不展开了。希望对你有帮助。谢谢你。
3、linux编程如何避免使用到已经被占用的端口号?
回答行业问题。Linux服务一般通过shell脚本启动程序或服务。当shell脚本启动时,可以使用命令来查询该服务或程序端口是否被其他程序占用,并且可以使用netstat命令。
例如,如果我们查询端口80是否被占用,命令如下:
[root@api ~]# netstat -anp|grep 80
从上面可以看出,端口80已经被nginx监控了。
netstat的具体参数如下:[-a]显示所有socket连接,[-n]按ip而不是域名显示,[-p]显示这个sock
4、有哪些没有十年以上网龄就不会知道的事情?
是最早接触电脑的人之一。他形容自己是一个没有凳子高的人,坐在上面双脚完全悬空。。第一是小霸王,然后玩街机游戏,然后玩类似Xbox的主机游戏,然后联系单机,然后拨号上网等等。关于这个过程
因为小学的班主任语文老师是个小伙子,长得帅,这在当时是不可想象的。其他班的同学都羡慕我们有个男老师。这个男老师的教育和女老师完全不同。当我们知道我们要去滑冰,让 走吧。It 多做运动是件好事。让 如果我们想玩电脑游戏,我们就谈谈,但是少玩游戏,多打字。感觉我们的思想被这个男老师解开了,以至于我到现在还在用电脑工作,而别人纯粹在玩游戏,我选择思考如何用电脑赚钱。
唐 不要谈论dos,it 这都是关于输入命令,操作它。我的整个心态就像一条死鱼,我 我不感兴趣。后来有了图形界面,整个人都变了,我一启动电脑就急得不行。在系统里输入一些命令,好像是win3.1。
后来,windows95不 t不需要输入命令,所以开机后可以直接进入屏幕。
小时候喜欢去黑吧,很安静。如果早上没有足够的人上网,老板就不会。;我不同意拨号。我想邀请我的好朋友通宵,但是老板想在人少的时候赶我们走。
后来我用的是windows98。这时,我对内存管理有了一点了解。Windows98好像根本没有内存管理。你开的东西会一直占据记忆。清理的方法就是重启电脑。。如果你在98 s,你得重启它。否则,所有的程序都卡住了,你可以 I don’我看不清楚接口是否有错。那时,99%的网络管理问题都可以通过简单的呼叫 "重启电脑 "。这个时候我开始破解网吧密码,恢复卡的密码。我植入了木马来获取成千上万的消息,我没有 不要在我面前偷任何5-6-7-8的数字。那时候我纯粹是为了找乐子。我的现在只有九位数,我的七位数是十几年前给我哥的。
然而,时代的 98也是单机游戏最火的时代。这个时代的游戏一直伴随着我们。如今,游戏质量杀死这些老游戏,但在这个金钱时代,游戏内容可以 不能和旧游戏相比。比如暗黑破坏神 s丰富的内容和细致的设定,地上的昆虫可以踩死等等。都令人惊讶。
发一些你小时候玩过的游戏。
三国志传↓
剑侠情缘↓
盟军敢死队↓
那时候,我没有。;我不知道战术是什么。当我看到人的时候,我就喝酒,总是。
魔男英雄无敌↓
魔法门↓
我第一次知道FPE是什么的时候,一个比我小很多的孩子跑过来教我如何用十六进制代码调整我的设备。我失去了理智,我仍然不 我不知道他是否是外星人。
暗黑破坏神1↓
我觉得它没有。;升级到第2代不需要很长时间,我 我没什么印象。
暗黑破坏神2↓
当年网吧智商稍微高一点的设备都很好,我等小学生也只玩1-2级。
决战Droiyan↓
当时觉得超科幻,反物质激光剑砍啊砍,就叫了几个朋友一起玩............
神奇1 ↓
我第一次在网上坠入爱河时,我仍然不 我不知道对方是男是女,但幸运的是我不知道。;我也不养他。。当时一天1-2块钱作为零花钱。。
这个游戏玩十年都不熟练,各种隐藏的价值观,强大的市场体系。我简直佩服日本人把数值算的这么清楚。
暴力摩托↓
(所有的顺序都乱了...)
红色预警↓
我 我玩了所有1-2,这是最无聊的游戏我 我玩过。各种mod下载玩几个小时。
CS1.5~1.6
最早好像是2000年?你得搜国外的服务器才能看到真人,不然只能用局域网。但是你可以。;根本打不到国外的网卡。
后来有了平台,就好了很多,但是作弊也很多。。。
玩1.5的时候一直觉得1.6换枪太慢。号码唐 t玩,坚持1.5。后来1.5的骗子太多了。体验了1.6,发现1.5太烂了,于是玩了几年1.6,网吧直接给我OP权限帮我管理。
盛大传奇
玩了传奇,才知道什么叫网吧一个月付费,电脑玩一个月。几个人轮流训练装备,狗书3500,裁决5-6000,屠龙者2万(当然跟我们没关系,只是听说)
那时候没钱就学会了抽烟。有大人留了四根烟要我在他们要回家吃饭的时候帮他们训练。这是最快乐的时光。有香烟和一些乐趣。哎,现在我觉得可以满足了...
家族
一个孩子说网吧人不够。我可以进去一起玩吗?玩了几次后,我真的不 I don’我不知道如何组合技巧。我被孩子欺负不玩了。但偶尔也会进去玩玩。
轩辕剑天痕
这是我唯一玩通关的单机游戏,也是唯一玩到哭的游戏。我 我三心二意,虽然玩了很多游戏,但这是唯一一个过关的。
三颗星缺一颗
被他们的语气吸引,我在这里学会了麻将。
疯狂街机
It 年代很晚的游戏,非主流的萌芽阶段,而我 我不参与非主流。那时,一个女孩 "保持 "当她看到我很帅的时候。她起跑前一整天都踢着旁边的位置,让我靠着她。这项技术比我的好得多...那时候,我是被技术而不是钱留住的...我
三角洲部队
我童年在局域网度过的最长时间就是这个游戏,画质差到我无法 I don’我想不起来。只要我在屏幕上看到一个黑点,我基本上就是敌人。这个黑点有白糖颗粒那么大,很明显。。。而且这个游戏还有弹道抛物线的原理。你要在很远的地方扛着老枪,你要预演跑来跑去的敌人。你可以看到子弹像流星一样飞过。
彩虹六号的早期版本
今日 s彩虹六号是一款画质一流的游戏,也是当年画质一流的游戏,从未被超越。
速度的需求
你一点加速感都没有。It 这是一个像死鱼一样的赛车游戏。当我第一次进入游戏,我不能 I don’我不懂英语,每次玩的时候,我都是点进去的。
坦克赛车
跑跑卡丁车的鼻祖?
帝国时代的罗马复兴
啪
e=mc2士兵
没有雾
让我铭记一生的秘密...《罗马复兴的秘密》好像有两个版本,我只记得这个。
星际争霸:育雏战争
谁为了虫族先得到小狗而战?经常有同学一开始看到虫族就要求重新开始。
后来大家玩硬了就下载rpg地图玩,一起玩防御电脑,可以说是现在塔防的鼻祖了。
疯狂赛车/卡丁车
第一批选手,打得不错。后来转到了一个实力很强的乐团,比较喜欢音乐和弹钢琴。不过好像弹钢琴的人不多,乐团一直不温不火。
金乐团
像V3,卡农,乐进超等等。
什么其他游戏?我可能已经忘记了,但我能 I don’我不会马上想到它们。