应用层协议小结

之前总结HTTP的时候也顺便总结了DNS的工作原理,这里就不多说了,来看看其他常用的应用层协议吧。
FTP
FTP(文本传输协议)是因特网上使用得最狂饭的文件传送协议。FTP提供交互的访问,允许客户指明文件的类型与格式,并允许文件具有存取权限。它屏蔽了个计算机系统的细节,因而适合于在异构网络中任意计算机之间传送文件。

FTP提供的功能:
1)提供不同种类主机系统
2)以用户权限管理的方式提供用户对远程FTP服务器上的文件管理能力
3)以匿名FTP的方式提供公用文件共享能力

FTP采用客户/服务器工作方式,基于TCP可靠的传输服务。一个FTP服务器进程可同时为多个客户进程提供服务。FTP的服务器进程有两大部分组成:一个主进程,负责接收心得请求;若干从属进程,负责处理单个请求。

FTP工作原理:

在主动模式下,FTP客户端随机开启一个大于1024的端口N向服务器的21号端口发起连接,然后开放N+1号端口进行监听,并向服务器发出PORT N+1命令。服务器接收到命令后,会用其本地的FTP数据端口(通常是20)来连接客户端指定的端口N+1,进行数据传输。

在被动模式下,FTP客户端随机开启一个大于1024的端口N向服务器的21号端口发起连接,同时会开启N+1号端口。然后向服务器发送PASV命令,通知服务器自己处于被动模式。服务器收到命令后,会开放一个大于1024的端口P进行监听,然后用PORT P命令通知客户端,自己的数据端口是P。客户端收到命令后,会通过N+1号端口连接服务器的端口P,然后在两个端口之间进行数据传输。

主动模式的FTP是指服务器主动连接客户端的数据端口,被动模式的FTP是指服务器被动地等待客户端连接自己的数据端口。

被动模式的FTP通常用在处于防火墙之后的FTP客户访问外界FTP服务器的情况,因为在这种情况下,防火墙通常配置为不允许外界访问防火墙之后主机,而只允许由防火墙之后的主机发起的连接请求通过。因此,在这种情况下不能使用主动模式的FTP传输,而被动模式的FTP可以良好的工作。

NOTE:
(1)PORT其实是Standard模式的另一个名字,又称为Active模式。中文意思是“主动模式。
(2)PASV也就是Passive的简写。中文就是“被动模式。

FTP在工作时使用两个并行的TCP连接,一个是控制连接(21端口),一个是数据连接(20端口)。使用两个不同的端口号可使协议更加简单和容易实现。

当NAT(Network Address Translation)设备以主动模式访问FTP服务器时,由于NAT设备不会聪明的变更FTP包中的IP地址,从而导致无法访问服务器。

电子邮件

简单介绍下电子邮件的发送过程:
1)发信人调用用户代理来撰写和编辑要发送的邮件。用户代理用SMTP协议吧邮件传送给发送方邮件服务器。
2)发送方邮件服务器将邮件放入邮件缓存队列中,等待发送。
3)运行在发送方邮件服务器的SMTP客户进程,发现在邮件缓存中有待发送的邮件,就向运行在接收方邮件服务器的SMTP服务器进程发起建立TCP连接。
4)TCP连接建立后,SMTP客户进程开始向远程的SMTP服务器进程发送邮件。当所有的待发送邮件发完了,SMTP就关闭所建立的TCP连接。
5)运行在接收方邮件服务器中的SMTP服务器进程收到邮件后,将邮件放入收信人的用户邮箱中,等待收信人在方便时进行读取。
6)收信人在打算收信时,调用用户代理,使用POP3协议将自己的邮件从接收方邮件服务器的用户邮箱中的取回。

SMTP

SMTP,即简单邮件传送协议,所对应RFC文档为RFC821。同http等多数应用层协议一样,它工作在C/S模式下,用来实现因特网上的邮件传送。基于TCP连接,端口号是25.

SMTP通信(如发送端邮件服务器与接收端服务器的通信)的过程如下。
1)发送端邮件服务器(以下简称客户端)与接收端邮件服务器(以下简称服务器)的25号端口建立TCP连接。
2)客户端向服务器发送各种命令,来请求各种服务(如认证、指定发送人和接收人)。
3) 服务器解析用户的命令,做出相应动作并返回给客户端一个响应。
4)2)和3)交替进行,直到所有邮件都发送完或两者的连接被意外中断。

POP3
基于TCP连接,端口号是110.

用户从邮件服务器上接收邮件的典型通信过程如下。
1)用户运行用户代理(如Foxmail, Outlook Express)。
2)用户代理(以下简称客户端)与邮件服务器(以下简称服务器端)的110端口建立TCP连接。
3)客户端向服务器端发出各种命令,来请求各种服务(如查询邮箱信息,下载某封邮件等)。
4)服务端解析用户的命令,做出相应动作并返回给客户端一个响应。
5)3)和4)交替进行,直到接收完所有邮件转到步骤6),或两者的连接被意外中断而直接退出。
6)用户代理解析从服务器端获得的邮件,以适当地形式(如可读)的形式呈现给用户。

IGMP

IGMP(Internet Group Management Protocol)作为因特网组管理协议,是TCP/IP 协议族中负责IP 组播成员管理的协议,它用来在IP 主机和与其直接相邻的组播路由器之间建立、维护组播组成员关系。
IP 主机通过发送IGMP 报文宣布加入某组播组;本地组播路由器通过周期性的发送IGMP 报文轮询本地网络上的主机,确定本地组播组成员信息。

工作原理

IGMP 协议是IP 组播在末端网络上使用的主机对路由器的信令机制,分为两个功能部分:主机侧和路由器侧。IGMP 工作机制如下所述:
1) 接收者主机向所在的共享网络报告组成员关系。
2)处于同一网段的所有使能了IGMP 功能的组播路由器选举出一台作为查询器,查询器周期性地向该共享网段发送组成员查询消息。
3) 接收者主机接收到该查询消息后进行响应以报告组成员关系。
4) 网段中的组播路由器依据接收到的响应来刷新组成员的存在信息。如果超时无响应,组播路由器就认为网段中没有该组播组的成员,从而取消相应的组播数据转发。
5) 所有参与组播传输的接收者主机必须应用IGMP 协议。主机可以在任意时间、任意位置、成员总数不受限制地加入或退出组播组。
6)支持组播的路由器不需要也不可能保存所有主机的成员关系,它只是通过IGMP协议了解每个接口连接的网段上是否存在某个组播组的接收者,即组成员。而各主机只需要保存自己加入了哪些组播组。

主机加入组播组的基本过程如下:
1)IGMP 查询器(RouterB)周期性地向共享网段内所有主机以组播方式(目的地址为组播地址)发送普遍组Query 查询消息。该报文的目的地址为224.0.0.1,表示该网段上的所有主机和路由器。
2)网段内所有主机都接收到该普遍组查询消息。如果主机(如HostB 和HostC)希望加入某组播组G1,则以组播方式发送Report 报告。该报文的目的地址为224.0.0.1,报文中携带组播组G1 的地址信息。
3) 网段中所有主机和路由器都接收到该Report 报告,并获知组播组G1 地址信息,此时网段中其它也希望加入该组播组G1 的主机将不再发送针对相同组播组的Report 报告。同时,网段中预备加入另一组播组G2 的主机发送针对组播组G2 的Report 报告以响应普遍组查询消息。
4)经过查询和响应过程后,IGMP 路由器了解到本网段内存在组播组G1 对应的组播组成员,则由组播路由协议生成(*,G1)组播转发项并以此作为组播数据的转发依据。之后,组播路由协议将发起上游路由更新以维护组播转发树。
5)组播源发出的组播数据经过组播路由到达IGMP 路由器,如果IGMP 路由器上存在(*,G1)组播转发项,则转发该组播数据到此共享网段,G1 组播组成员主机接收该数据。
6)IGMPv1 中没有专门定义离开组播组的消息。当主机离开某组播组后,将不再发送以此组播组地址为目的地址的Report 报告。当网段中不再存在该组播组成员后,IGMP 路由器将不能收到任何针对此组播组的Report 报告,则IGMP 路由器删除该组播组对应的转发项。

  • 0
    点赞
  • 15
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值