您当前的位置:首页 > 电脑百科 > 网络技术 > 网络技术

网络安全常见协议解析:TCP、UDP、HTTP、FTP、SMTP等之间的区别

时间:2020-06-05 11:37:40  来源:  作者:

了解网络安全行业的都知道,网络安全协议是营造网络安全环境的基础,是构建安全网络的关键技术。常见的网络协议如HTTP协议、TCP/IP协议、FTP协议等。

如果你想进入网安行业,这些协议都是需要重点要学习和了解的,这也将是决定你的安全技术瓶颈高低的一个重要因素。

那么今天安仔就跟大家简单介绍下,我们在做网络安全工作中,常见到的几个协议;

网络安全常见协议解析:TCP、UDP、HTTP、FTP、SMTP等之间的区别

 

HTTP协议

举个栗子,老张喜欢看岛国小片,时常泡在论坛上和网友交流最新资讯,老张是通过浏览器浏览网页的,而浏览器就是借助HTTP协议与论坛服务器沟通交流。

FTP协议

还是老张,老张购买了该网站的会员,可以无限制下载高清小片,老张是通过浏览器下载影音文件的,浏览器是借助FTP协议与文件下载服务器沟通交流。

SMTP协议

近10个G的高清文件,老张心潮澎湃打开文件,傻了,“孙悟空大战白骨精”映入眼帘。。。老张怒了,打开电子邮件客户端写投诉邮件,怒斥不良网站的欺诈行为!而电子邮件客户端是借助SMTP协议与邮件服务器沟通交流。

通常称与人类直接打交道的协议,叫应用层(Application)协议,或者业务层协议

网络安全常见协议解析:TCP、UDP、HTTP、FTP、SMTP等之间的区别

 

上文的三个协议对应三种业务:

· 浏览网页 --HTTP

· 下载文件 --FTP

· 发送邮件 --SMTP

通俗地说,应用层协议,如同人类的小秘书兼翻译,用服务器可以听得懂的语言与服务器沟通。

假设服务器只会SMTP语言,老张使用只会FTP语言的小翻译来和服务器唠嗑,就会呈现一幅“鸡同鸭讲”的滑稽画面。而老张使用会SMTP语言的小翻译就可以顺畅地沟通。

但应用层协议,不过是人类的小翻译,只擅长翻译工作,其它的啥也不会!

HTTP、FTP、SMTP三个小翻译,能把老张的需求翻译成由“0”、“1”组成的小串串,简称应用数据块。

那么,问题来了,

1. 应用数据块如何在浩瀚的互联网准确无误找到目的地?

2. 服务器回应数据块如何在浩瀚的互联网准确无误地返回?

3. 应用数据块在到达目的地之前丢失了,如何处理?

4. 服务器回应数据块旅途中丢失了,如何处理?

这些问题在TCP/IP协议面前,都不再是问题!

TCP/IP协议就是为了解决这些问题而诞生的!!!

IP协议

在应用数据块的外层写上目的地IP地址,使得应用数据块可以找到目的地,这样就解决问题1。

还会在应用数据块的外层写上源IP地址,使得服务器回应数据块返回源主机,这样就解决问题2。

网络安全常见协议解析:TCP、UDP、HTTP、FTP、SMTP等之间的区别

 

抬杠的同学会说,应用数据块外层写上目的IP地址,就一定可以到达目的地?不一定吧!

把老张的网线拔了、无线关了、移动网络4G也关了,把老张的所有访问互联网的通道全关闭了,应用数据块还能到达目的地哇?

那肯定不能到达,神仙来了也爱莫能助!

所以在这里这种强调两点:

· 底层物理网络的连通性是IP能否正常工作的前提

· IP路由表在全球路由器里完成了同步

即使有了这两个前提条件,也不能100%保证IP报文能够到达目的地!

信号传输过程失真造成丢包、网络发生拥堵而丢包。。。

我们还需要一个协议,这个协议需要有以下特质:

· 当丢包发生时,能够自动修复丢包,而无需人的手动干预

· 能够智能感知网络的拥堵情况,网络空闲时,尽最大速率发包;网络拥堵时,降低速率发包,不给互联网添堵

满足这个特质的协议,它的名字叫TCP协议

TCP协议

TCP协议也不是什么大神,不过是一个任劳任怨的流量调度员。说到底它就有一个本事:

确认机制!

凭着这个看家本领,TCP可以保证应用数据的可靠传输。

也正是这个确认机制,让千千万万个学习TCP协议的同学,苦苦挣扎痛不欲生!

但愿有同学读完这篇文章,快速脱离苦海。。。

TCP确认机制

通俗地说,TCP会对发出的数据包(以下简称包裹)进行编号,如同快递的快递单号一样。对方TCP收到包裹,会回复一个确认消息,确认收到了该编号的包裹了。

这非常好理解,生活里这样的故事每天都在发生。男生给异地的女友快递一个包裹,记下快递单号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,如需转载,请联系原作者授权!



Tags:网络 协议   点击:()  评论:()
声明:本站部分内容及图片来自互联网,转载是出于传递更多信息之目的,内容观点仅代表作者本人,如有任何标注错误或版权侵犯请与我们联系(Email:2595517585@qq.com),我们将及时更正、删除,谢谢。
▌相关推荐
了解网络安全行业的都知道,网络安全协议是营造网络安全环境的基础,是构建安全网络的关键技术。常见的网络协议如HTTP协议、TCP/IP协议、FTP协议等。如果你想进入网安行业,这些...【详细内容】
2020-06-05  Tags: 网络 协议  点击:(91)  评论:(0)  加入收藏
▌简易百科推荐
写一个shell获取本机ip地址、网关地址以及dns信息。经常会遇到取本机ip、网关、dns地址,windows一个命令ipconfig /all全部获取到,但linux系统却并非如此。linux系统都自带ifc...【详细内容】
2021-12-27  K佬食古    Tags:shell   点击:(2)  评论:(0)  加入收藏
步骤1、配置 /etc/sysconfig/network-scripts/ifcfg-eth0 里的文件。it动力的CentOS下的ifcfg-eth0的配置详情:[root@localhost ~]# vim /etc/sysconfig/network-scripts/ifc...【详细内容】
2021-12-24  忆梦如风    Tags:网卡   点击:(10)  评论:(0)  加入收藏
1、查找当前目录下所有以.tar结尾的文件然后移动到指定目录find . -name “*.tar” -execmv {}./backup/ ;注解:find –name 主要用于查找某个文件名字,-exec 、xargs可...【详细内容】
2021-12-17  郭主任    Tags:运维   点击:(20)  评论:(0)  加入收藏
对于经常上网的朋友来说,除了手机购物上网,pc端玩网页游戏还是很多小伙伴首选的,但是有时候明明宽带链接上了,打开浏览器却出现上不了网的现象,下面小编要来跟大家说说电脑有网络...【详细内容】
2021-12-16  小白系统    Tags:网页无法打开   点击:(28)  评论:(0)  加入收藏
在访问像github、gitlab这样的外国网站时,很有可能会出现页面加载不出来或找不到页面的错误。这时候有的朋友就会以为是网络的问题,于是把Wifi断掉连上自己手机的热点,结果却还...【详细内容】
2021-12-15  启施技术IT狼叔    Tags:外网   点击:(16)  评论:(0)  加入收藏
网络地址来源:获取公网IP地址 https://ipip.yy.com/get_ip_info.phphttp://pv.sohu.com/cityjson?ie=utf-8http://www.ip168.com/json.do?view=myipaddress...【详细内容】
2021-12-15  韦廷华12    Tags:外网ip   点击:(15)  评论:(0)  加入收藏
准备好软件IPOP、用ENSP模拟一下华为交换机 启动交换机 <Huawei>sysEnter system view, return user view with Ctrl+Z.[Huawei]sysname FTPClient[FTPClient]interface vla...【详细内容】
2021-12-15  思源Edward    Tags:交换机   点击:(24)  评论:(0)  加入收藏
我们经常用到netstat命令查看主机连接状况,包括连接ip、端口、状态等,今天就练习下shell分析netsat结果。描述假设netstat命令运行的结果我们存储在nowcoder.txt里,格式如下:Pro...【详细内容】
2021-12-14  K佬食古    Tags:netstat   点击:(19)  评论:(0)  加入收藏
什么是滑动窗口?窗口是操作系统开辟的一块缓存空间,发送方在收到接收方ACK应答之前,必须在缓冲区保留已发送的数据,如果按期收到确认应答,数据就可以从缓冲区移除。什么是滑动窗...【详细内容】
2021-12-14  DifferentJava    Tags:TCP   点击:(30)  评论:(0)  加入收藏
概述日常管理华为路由设备过程中,难为会忘记设备登录密码,那么该如何重置设备登录密码吗?本期文章将全面向各位小伙伴总结分享。重置华为设备登录密码思路先行 采用console登录...【详细内容】
2021-12-10  onme0    Tags:   点击:(27)  评论:(0)  加入收藏
最新更新
栏目热门
栏目头条