常见的网络协议

TCP/IP 协议
传输控制协议/因特网互联协议,又名网络通讯协议,是Internet最基本的协议、Internet国际互联网络的基础,由网络层的IP协议和传输层的TCP协议组成。

TCP/IP 定义了电子设备如何连入因特网,以及数据如何在它们之间传输的标准。协议采用了4层的层级结构,每一层都呼叫它的下一层所提供的协议来完成自己的需求。通俗而言:TCP负责发现传输的问题,一有问题就发出信号,要求重新传输,直到所有数据安全正确地传输到目的地。而IP是给因特网的每一台联网设备规定一个地址。


IP
IP层接收由更低层(网络接口层例如以太网设备驱动程序)发来的数据包,并把该数据包发送到更高层—TCP或UDP层;相反,IP层也把从TCP或UDP层接收来的数据包传送到更低层。IP数据包是不可靠的,因为IP并没有做任何事情来确认数据包是否按顺序发送的或者有没有被破坏,IP数据包中含有发送它的主机的地址(源地址)和接收它的主机的地址(目的地址)。

高层的TCP和UDP服务在接收数据包时,通常假设包中的源地址是有效的。也可以这样说,IP地址形成了许多服务的认证基础,这些服务相信数据包是从一个有效的主机发送来的。IP确认包含一个选项,叫作IP source routing,可以用来指定一条源地址和目的地址之间的直接路径。对于一些TCP和UDP的服务来说,使用了该选项的IP包好像是从路径上的最后一个系统传递过来的,而不是来自于它的真实地点。这个选项是为了测试而存在的,说明了它可以被用来欺骗系统来进行平常是被禁止的连接。那么,许多依靠IP源地址做确认的服务将产生问题并且会被非法入侵。


TCP
TCP是面向连接的通信协议,通过三次握手建立连接,通讯完成时要拆除连接,由于TCP是面向连接的所以只能用于端到端的通讯。

TCP提供的是一种可靠的数据流服务,采用“带重传的肯定确认”技术来实现传输的可靠性。TCP还采用一种称为“滑动窗口”的方式进行流量控制,所谓窗口实际表示接收能力,用以限制发送方的发送速度。

如果IP数据包中有已经封好的TCP数据包,那么IP将把它们向‘上’传送到TCP层。TCP将包排序并进行错误检查,同时实现虚电路间的连接。TCP数据包中包括序号和确认,所以未按照顺序收到的包可以被排序,而损坏的包可以被重传。

TCP将它的信息送到更高层的应用程序,例如Telnet的服务程序和客户程序。应用程序轮流将信息送回TCP层,TCP层便将它们向下传送到IP层,设备驱动程序和物理介质,最后到接收方。

面向连接的服务(例如Telnet、FTP、rlogin、X Windows和SMTP)需要高度的可靠性,所以它们使用了TCP。DNS在某些情况下使用TCP(发送和接收域名数据库),但使用UDP传送有关单个主机的信息。


UDP 协议
UDP是面向无连接的通讯协议,UDP数据包括目的端口号和源端口号信息,由于通讯不需要连接,所以可以实现广播发送。

UDP通讯时不需要接收方确认,属于不可靠的传输,可能会出现丢包现象,实际应用中要求程序员编程验证。

UDP与TCP位于同一层,但它不管数据包的顺序、错误或重发。因此,UDP不被应用于那些使用虚电路的面向连接的服务,UDP主要用于那些面向查询—应答的服务,例如NFS。相对于FTP或Telnet,这些服务需要交换的信息量较小。使用UDP的服务包括NTP(网络时间协议)和DNS(DNS也使用TCP)。

欺骗UDP包比欺骗TCP包更容易,因为UDP没有建立初始化连接(也可以称为握手)(因为在两个系统间没有虚电路),也就是说,与UDP相关的服务面临着更大的危险。


HTTP 协议


FTP 协议
FTP协议:文件传输协议。


Telnet 协议
Telnet协议(远程登录),是 TCP/IP 协议族中应用最广泛的协议,是Internet远程登录服务的标准协议和主要方式。Telnet协议的目的是提供一个相对通用的,双向的,面向八位字节的通信方法,允许界面终端设备和面向终端的过程能通过一个标准过程进行互相交互。应用Telnet协议能够把本地用户所使用的计算机变成远程主机系统的一个终端。

使用 Telnet 协议进行远程登录时需要满足一些条件:

1、本地计算机上必须装有包含Telnet协议的客户程序;

2、必须知道远程主机的IP地址或域名;

3、必须知道登录标识与口令即登录账户与密码。

满足上述三个条件后,即可用 Telnet 远程登录服务:

1、本地与远程主机建立连接。该过程实际上是建立一个TCP连接,此时就需要用到远程主机的IP地址或域名;

2、在本地终端上输入用户名和口令,之后便可以输入一些命令与字符,用户名和口令及输入的任何命令或字符都将以NVT格式    传送到远程主机上。该过程实际上是从本地主机向远程主机发送一个IP数据包;

3、将远程主机输出的NVT格式的数据转换为本地所接受的格式送回本地终端,包括输入命令回显和命令执行结果;

4、执行完所有任务之后,本地终端对远程主机进行撤销连接。该过程就是撤销一个TCP连接。

在执行Telnet服务时有个重要的部分,即NVT(网络虚拟终端 Network Virtual Terminal)。它是一种虚拟终端设备,被客户和服务器采用,用来建立数据表示和解释的一致性。Telnet使用一种堆成的数据表示,当每个客户机发送数据时,把它的本地终端的字符表示影射到NVT的字符表示上,当接收数据时,又把NVT的表示影射到本地字符集合上。

Telnet有许多应用,例如远程桌面;客户机作为远程主机的仿真终端,使用远程高性能的计算机资源;客户机通过Telnet访问BBS、Archie服务器,查找软件等。但是Telnet的应用不仅方便了我们进行远程登录,也给hacker们提供了又一种入侵手段和后门。

现在对于Telnet的使用也在减少,主要有三方面原因:

1、个人计算机的性能越来越强,只是在别人计算机中运行程序的要求逐渐减弱;

2、Telnet服务器安全性欠佳,允许他人访问其操作系统和文件,是很大的漏洞;

3、Telnet使用起来不是很容易,特别是对初学者来说。

SMTP 协议
SMTP协议:简单邮件传输协议,是一个相对简单的基于文本的协议。在其之上指定了一条消息的一个或多个接收者(在大多数情况下被确认是存在的),然后消息文本会被传输。


NFS协议
NFS,即网络文件系统,是一种用于文件共享的协议,允许一个系统在网络上与它人共享目录和文件。通过使用NFS,用户和程序可以像访问本地文件一样访问远端系统上的文件。

NFS至少有两个主要部分:一台服务器和一台(或者更多)客户机。客户机远程访问存放在服务器上的数据。为了正常工作,一些进程需要被配置并运行。

你可能感兴趣的:(计算机网络,网络协议,网络,tcp/ip)