这非常好理解,生活里这样的故事每天都在发生 。男生给异地的女友快递一个包裹,记下快递单号123456,过两天女友回复一个消息,快递单号123456已收到!
有同学会说,确认机制可以理解,TCP发数据就发数据,但为何TCP发数据之前需要连接?
在互联网上可以找到各种各样的解释,而我的观点是:
双方通过TCP连接,分享彼此的应用数据块第一个字节的原点序号 。如果不是第一个包,接收方的TCP却将该数据包提交给应用程序,应用程序压根无法理解 。
如果TCP没有提前分享,接收方不知道接收的数据是否是第一个包 。
为何无法理解?
应用程序以为是第一个包,其实并不是,应用程序的小翻译(HTTP/FTP/SMTP)瞬间懵逼,风雨中瑟瑟发抖 。。。
分享了原点序列号,即使第二个、第三个数据包先到达目的地,而第一个数据包姗姗来迟的情况,接收方的TCP可以耐心等待第一个数据包的到来,然后按序将数据包提交给应用程序 。这样应用程序的小翻译就会秒懂 。。。
有了TCP协议的帮助,即使老张的网线拔掉了一段时间,稍后再插入,恢复了网络连通性,老张中断的文件下载任务可以继续工作,而无需老张重新下载 。
UDP协议UDP有点像街头的邮筒,应用程序的数据包扔进邮筒就好了,就耐心地等待数据包到达目的地 。但扔进邮筒之前,需要写好以下信息:
· 收件人的地址(目的IP)IP司机会瞬间地将邮筒里的信件,运往世界各个角落 。
· 收件人的姓名(目的端口号)
· 寄件人地址(源IP)
· 寄件人姓名(源端口号)
比较奢侈的是,一个IP司机运一件信件 。
文章开头的老张,其实一直在使用UDP协议,只是UDP协议不和老张直接打交道,老张觉察不到而已 。
但老张使用的浏览器、邮件客户端却一直和UDP协议直接打交道 。老张要下载文件,首先要域名解析获得服务器的IP地址,而完成域名解析任务的是DNS协议 。
DNS协议DNS协议将自己的域名解析请求报文扔到UDP邮筒里,被IP司机运输到域名服务器家中,服务器返回域名解析应答,同样通过UDP邮筒邮寄服务 。
那么你现在是不是了解各种协议的作用和区别了?如果你还有疑问,欢迎私信回复【协议】添加客服小姐姐,拉你加入安界网安全大咖学习交流群,一起学习,一起进步哦!
小白入行网络安全、混迹安全行业找大咖,以及更多成长干货资料,欢迎关注@安界人才培养计划
我是安仔,一名刚入职网络安全圈的网安萌新,欢迎关注我,跟我一起成长 。
本文转载来源:
https://zhuanlan.zhihu.com/p/58117320,如需转载,请联系原作者授权!
推荐阅读
- kali新手常见工具分享:OSNIT跟踪工具——Trape
- 常见的普洱茶拼配方法,拼配之源
- 请问平时常见的茶叶中,哪些是红茶,哪些是绿茶呢?[红茶]
- Java集合的常见用法你知道多少?
- 分布式存储协议或加速边缘计算技术演进
- 茶叶摇青遵循的原则,常见茶叶品质缺陷的原因分析
- 冬季开车的5个“毁车”操作,个个都很常见,不仅伤车还伤人
- 天猫转让的店铺后续有多可怕 淘宝店铺转让协议
- 初级入门IT网络工程师?收下这份关于NTP网络时间协议解读 纯干货
- 常见茶疗方芦荟茶,自制芦荟茶的做法