程序员应该了解的网络常识(一):网络协议
网络互联层:
IP:
网际协议IP是TCP/IP的心脏,也是网络层中最重要的协议。
IP层接收由更低层发来的数据包,并把该数据包发送到更高层---TCP或UDP层;相反,IP层也把从TCP或UDP层接收来的数据包传送到更低层。由于IP并没有做任何事情来确认数据包是按顺序发送的或者没有被破坏,所以IP数据包是不可靠的。IP数据包中含有发送它的主机的地址和接收它的主机的地址。
ARP:
地址解析协议用于将计算机的网络地址(IP地址32位)转化为物理地址(MAC地址48位)
RARP:
将局域网中某个主机的物理地址转换为IP地址,比如局域网中有一台主机只知道物理地址而不知道IP地址,那么可以通过RARP协议发出征求自身IP地址的广播请求,然后由RARP服务器负责回答。RARP协议广泛用于获取无盘工作站的IP地址。
ICMP:
用来传送IP的的控制信息。主要是用来提供有关通向目的地址的路径信息。
EGP:
是一种在自治系统的相邻两个网关主机间交换路由信息的协议。EGP 通常用来在因特网主机间交换路由表信息。
主机-主机层:
TCP协议:如果IP数据包中有已经封好的TCP数据包,那么IP将把它们向‘上’传送到TCP层。TCP将包排序并进行错误检查,同时实现虚电路间的连接。TCP数据包中包括序号和确认,所以未按照顺序收到的包可以被排序,而损坏的包可以被重传。所以TCP协议有着很高的可靠性。
UDP协议: UDP主要用于那些面向查询---应答的服务,例如NFS。欺骗UDP包比欺骗TCP包更容易,因为UDP没有建立初始化连接(也可以称为握手)(因为在两个系统间没有虚电路),也就是说,与UDP相关的服务面临着更大的危险。
进程层:
SMTP:
即简单邮件传输协议,是一种提供可靠且有效电子邮件传输的协议。SMTP是建立在FTP文件传输服务上的一种邮件服务,主要用于传输系统之间的邮件信息并提供与来信有关的通知。
TELNET:
是Internet远程登陆服务的标准协议和主要方式。它为用户提供了在本地计算机上完成远程主机工作的能力。
FTP:
完成两台计算机之间的拷贝,从远程计算机拷贝文件至自己的计算机上,称之为“下载”文件。若将文件从自己计算机中拷贝至远程计算机上,则称之为“上载”文件。在TCP/IP协议中,FTP标准命令TCP端口号为21,Port方式数据端口为20。
HTTP协议:
它是是万维网(worldwide web)交换信息的基础。允许将超文本标记语言 (HTML)文档从 Web 服务器传送到 Web 浏览器。HTML 是一种用于创建文档的标记语言,这些文档包含到相关信息的链接。您可以单击一个链接来访问其它文档、图像或多媒体对象,并获得关于链接项的附加信息