对TCP/IP协议的一些看法(15):应用层协议

数据包从A传到B,其实是从A的应用层传到B'de应用层,因为我们用户不会去关注底层的数据包是怎么传输的,我们只要知道两者之间是否连通。因此可以说应用层是最接近用户的。首先介绍一下应用层的一个重要信息——端口。

每个应用程序都有一个端口,接收方根据端口号将数据包传递给正确的应用程序。一般端口号小雨256的定义为常用端口,0~1023的端口都被系统所占用,所以用户只能使用大于1023的端口。比较著名的应用层协议所占的端口为FTP占据21端口,HTTP占据80端口,TELNET占据23端口,SSH占据22端口等。平时我们说某某端口被封掉了,只是在IP层把带有这个IP号的IP数据包给过滤了。

上述著名的应用层协议还包括SNMP和SMTP,对他们的介绍可以参考其它文章,这里主要介绍下两个不常使用,但比较重要的应用层协议。

1.bootp协议:当一台无盘计算机加电后,它会向网络广播一个bootp请求包,一个bootp服务器在收到这个请求后,从客户机的bootp文件中查找这个MAC地址(存在于bootp请求中),若找到相应的项目,就做出响应,告诉该机的IP地址及应该使用的引导文件。所以bootp又称为引导程序协议。

bootp协议是一种基于UDP/IP的协议,可以让无盘站从一个中心服务器上获得IP,为局域网内的无盘工作站分配动态IP,包括了bootp请求包和bootp应答包。最后bootp服务器使用的端口为67,客户机使用的端口为68。

2.tftp协议:tftp又称为简单文件传输协议,由于其传输的都是小数据,因此也是基于UDP/IP协议。它的工作原理如下:发送完一个文件块后就等待对方的确认,确认时应指明所确认的块号。发送完数据后若在规定时间内收不到确认报文就重发数据PDU,发送确认PDU的一方若在规定时间内收不到下一个文件块,也要重发确认PDU。

总的来说,确定一次通信包括源端IP、目的IP、源端口号、目的端口号和协议号。

posted @ 2015-01-27 13:37  elnino10  阅读(316)  评论(0编辑  收藏  举报