当前位置:首页 > 物联网 > 网络协议
[导读] 本文只是为了便于理解,做非常宽泛的描述,措辞不甚严谨,不当之处还望指正,感谢。 看本文章之前,建议对OSI模型已经TCP/IP不太了解的同学们,看看我之前写的 白话解释 OSI模型,TLS/SS

本文只是为了便于理解,做非常宽泛的描述,措辞不甚严谨,不当之处还望指正,感谢。 看本文章之前,建议对OSI模型已经TCP/IP不太了解的同学们,看看我之前写的 白话解释 OSI模型,TLS/SSL 及 HTTPS

一切为了传输 UDP vs TCP

互联网之所以伟大的原因之一是解决了远距离可靠传输信息的问题,既然要进行“互相”传输数据那么肯定是有一定的规则和协议的,TCP和UDP就是两种广泛应用的传输协议,在这里做一个简单的比较:

UDP (你把它想象成平邮信件),往往邮递员会集中把信件放在邮局,比如一个学校的邮政,但是这种方式不可靠啊,因为这种平邮的信件老是容易“丢包”,也就是说,这种传输方式没法确保收件人一定能收到信件。

这不行啊,所以,人们就想到了一种更为可靠的传输方式:  TCP(你把它想象成快递),快递员可以直接送货上门,即使不送货上门,可要给你打电话,检查你的身份证,让你签字等等,确保你的包裹不会被丢失。所以,这种方式更“可靠”。

TCP vs UDP 谁更可靠

上面的例子也已经很清楚的看到,TCP(快递)之所以可靠,是因为有种种的“检查”机制,当快递的“包裹”真正到达收件人手里的时候,这个”传输“过程才算完成,否则快递小哥就“重新投递“。那么”UDP“(平邮信件)就不管这一套,反正根据信件上的地址把”传输的信件包“扔在最近的邮件或者上面所写的信箱中就完事,至于随后包裹到底到没到收件人手中,这个UDP不管了。

所以,到现在,我们知道了,TCP传输数据比udp更加“可靠”!

TCP存在之于”互联网“的意义

我们现在能在互联网上看文章,直播,视频,娱乐,购物,甚至网上转账,当然,看直播的话,UDP协议还是不错滴,但是,如果涉及到金钱或者敏感数据,如果都像没有一套“可靠”的传输协议,谁还敢在网上“转账”,“存储信息”呢?

我们已经知道了,TCP存在的意义之一就是: ”可靠的传输“ ,但同时要进行远程通信, ”高效的传输“ 是必不可少的,最后,数据包在混沌险恶的互联网中穿梭, ”安全的传输“ 是必须的。

所以,小结一下,TCP存在之于”互联网“的意义有三点(重要的事情说三遍): - 让数据进行”可靠“,”高效“,”安全“的传输 - 让数据进行”可靠“,”高效“,”安全“的传输 - 让数据进行”可靠“,”高效“,”安全“的传输

请注意:这里所说的”高效”只是相对TCP自己而言,因为这个”高效“会和后面我们会说到三次握手其中的第二步合并的握手相关,所以我在这里提一下,其实,UDP会因为没有了一些检测机制会比TCP更加高效,快速。

一定的代价

都说”鱼和熊掌不能兼得“,对于TCP来说更是如此,既然选择了”可靠“,”高效“和”安全“作为己任,那么就必然要想一些办法让自己满足这些特征,那么TCP怎么办的呢?

可靠

数据的可靠性意味着接收方接收到了准确无误的信息,如果中间有丢包,要有一定的机制让发送方重新发送。TCP怎么办的呢?它是这么办的:

发送方通过一定方式告诉接收方,所传输的数据包有多大,然后分几次,比如:数据包总共100kb,然后分10次发送,这时候接收方就知道总共有10个数据包,同时发送方会在每个数据包上标记上号码,然后TCP从数据包1开始接受,逐次加一,知道接收到第十个结束,只有这10个全部确认收到了,接收方才确认这个通信完成,所以确保了数据的可靠性。

那么问题来了,接收方怎么知道数据包共100kb,然后又怎么知道什么时候开始算是接受这个包?什么时候接受完成呢?这个时候就是第一次握手的开始,也可以说是第一次交流的开始。

比如:张三(发送方)要发信息给李四(接收方)。

1. 张三:hi,李四,我想发送一个100kb的数据包,打算分10次发送,你那边能接一下么?

2. 李四:好的,收到,你发吧。

3. 张三:ok, 太棒了!

4. 张三:数据包1..2..3..4.。.5..6..7..8..9..10

本站声明: 本文章由作者或相关机构授权发布,目的在于传递更多信息,并不代表本站赞同其观点,本站亦不保证或承诺内容真实性等。需要转载请联系该专栏作者,如若文章内容侵犯您的权益,请及时联系本站删除。
换一批
延伸阅读

文件传输协议(File Transfer Protocol,FTP)是用于在网络上进行文件传输的一套标准协议,它工作在 OSI 模型的第七层, TCP 模型的第四层, 即应用层, 使用 TCP 传输而不是 UDP, 客户...

关键字: OSI tcp UDP

科普tcp协议栈对ping命令处理过程

关键字: level-ip ping tcp

在嵌入式行业网络编程使用相对较少,主流应用集中在NB-IOT、Lora、Mqtt这一块,原理上一般是通过加入硬件模块或者是使用第三方SDK来实现。

关键字: 网络编程 嵌入式 tcp

生活不止眼前的苟且,还有诗和远方的田野。新的一周又开始了,大白和小林是同事,平时俩人一起喝酒吃肉打游戏居多,当然有时候也讨论下学术和前沿技术。这不,小林听说了个新鲜玩意,然后和大白聊了起来。

关键字: tcp udp 互联网

TCP握手一定是三次?TCP 挥手一定是四次?为什么要有快速重传,超时重传不够用?为什么要有 SACK,为什么要有 D-SACK?Silly Window 又是什么?为什么有滑动窗口流控还需要拥塞控制?快速重传一定要依赖...

关键字: tcp 网络技术

    本文提出了一种TD-HSUPA系统的TCP优化方法:利用无线网络控制器RNC(Radio Network Controller)解析TCP连接链路上服务器的反馈包信息,

关键字: tcp td-hsupa

  Transmission Control Protocol/Internet Protocol的简写,中译名为传输控制协议/因特网互联协议,又名网络通讯协议,是Internet最基本的协议、

关键字: tcp ip协议

  门禁控制器是门禁系统的硬件核心,其质量与性能直接影响着整个门禁系统的稳定性。作为门禁系统的核心数据处理和存储部分,门禁控制器在整个门禁系统中承担包括设置卡片的读卡权限与进出权限、监控出入口的

关键字: 门禁系统 rtx tcp ip协议 门禁控制器

  “把中国的大型核磁共振设备做到欧洲、美国认证以后再出口欧美,我们是最早的那一批人。”曾在多家国内知名医疗器械公司就职过的牟晓勇有些羞怯的对记者说,如今年过而立的他已是

关键字: tcp 网络单片机 w7100a

  随着科技的飞速发展及生活水平的不断提高,人们对智能化家居生活的需求也逐渐增大;为了顺应市场发展的需求,满足人们的需求,众多厂家也纷纷研发并推出了各种各样的智能家居产品。   

关键字: ip tcp 智能家居
关闭
关闭