- 相关推荐
TCP/IP
TCP/IP协议,包含了一系列构成互联网基础的网络协议。这些协议最早发源于美国国防部的ARPA网项目。TCP/IP字面上代表了两个协议:TCP(传输控制协议)和IP(网际协议)。1983年1月1日,在因特网的前身ARPA网中,TCP/IP协议取代了旧的网络核心协议(NCP,Network Core Protocol),从而成为今天的互联网的基石。最早的TCP/IP由Vinton Cerf和Robert Kahn两位开发,慢慢地通过竞争战胜了其它一些网络协议的方案,比如国际标准化组织ISO的OSI模型。TCP/IP的蓬勃发展发生在上世纪的90年代中期。当时一些重要而可靠的工具的出世,例如页面描述语言HTML和浏览器Mosaic,导致了互联网应用的飞速发展。随着互联网的发展,目前流行的IPv4协议(网际协议版本四)已经接近它的功能上限。IPv4最致命的两个缺陷在与:
地址只有32位,IP地址空间有限
不支持服务等级(Quality of Service, QoS)的想法,无法管理带宽和优先级,故而不能很好的支持现今越来越多的实时的语音和视频应用。因此IPv6(网际协议版本六)浮出海面,用以取代IPv4。
TCP/IP成功的另一个因素在与对为数众多的低层协议的支持。这些低层协议对应与OSI模型 中的第一层(物理层)和第二层(数据链路层)。每层的所有协议几乎都有一半数量的支持TCP/IP,例如: 以太网(Ethernet),令牌环(Token Ring),光纤数据分布接口(FDDI),端对端协议(PPP),X.25,帧中继(Frame Relay),ATM,Sonet, SDH等。
TCP/IP协议栈组成
整个通信网络的任务,可以划分成不同的功能区块,即所谓的层级(layer) 。用于互联网的协议可以比照TCP/IP参考模型进行分类。TCP/IP协议栈起始于第三层协议IP(网际协议)。所有这些协议都在相应的RFC文档中讨论及标准化。重要的协议在相应的RFC文文件中均标记了状态: “必须”(required) ,“推荐”(recommended) ,“可选”(elective) 。其它的协议还可能有“试验”(experimental) 或“历史”(historic) 的状态。”
必须协议
所有的TCP/IP应用都必须实现IP和ICMP。对于一个路由器(router)而言,有这两个协议就可以运作了,虽然从应用的角度来看,这样一个路由器 意义不大。实际的路由器一般还需要运行许多“推荐“使用的协议,以及一些其它的协议。几乎所有连接到互联网上的计算机上都存在的IPv4协议出生在1981年,今天的版本和最早的版本并没有多少改变。升级版IPv6的工作始于1995年,目的在与取代IPv4。ICMP协议主要用于收集有关网络的信息查找错误等工作。[-(@_@)-]
推荐协议
每一个应用层(TCP/IP参考模型 的最高层) 一般都会使用到两个传输层协议之一: 面向连接的TCP传输控制协议和无连接的包传输的UDP用户数据报文协议 。其它的一些推荐协议有:
TELNET(Teletype over the Network, 网络电传),通过一个终端(terminal)登陆到网络(运行在TCP协议上)。
FTP(File Transfer Protocol, 文件传输协议),由名知义,用于文件传输,运行在TCP协议上。
SMTP (Simple Mail Transfer Protocol,简单邮件传输协议) ,用来发送电子邮件(运行在TCP协议上) 。
DNS (Domain Name Service,域名服务) ,用于完成地址查找,邮件转发等工作(运行在TCP和UDP协议上) 。
ECHO (Echo Protocol, 回绕协议) ,用于查错及测量应答时间(运行在TCP和UDP协议上) 。
NTP (Network Time Protocol,网络时间协议) ,用于网络同步(运行在UDP协议上) 。
SNMP (Simple Network Management Protocol, 简单网络管理协议) ,用于网络信息的收集和网络管理。
? BOOTP (Boot Protocol,启动协议) ,应用于无盘设备(运行在UDP协议上)。
可选协议
最常用的一些有
支撑万维网(WWW)的超文本传输协议HTTP,
动态配置IP地址的DHCP(Dynamic Host Configuration Protocol,动态主机配置协议),
收邮件用的POP3 (Post Office Protocol, version 3, 邮局协议) ,
用于加密安全登陆用的SSH (Secure Shell,用于替代安全性差的TELNET) ,
用于动态解析以太网硬件的地址的ARP (Address Resolution Protocol,地址解析协议) 。
范例: 不同计算机运行的不同协议
一个简单的路由器上可能会实现ARP, IP, ICMP, UDP, SNMP, RIP。
WWW用户端使用ARP, IP, ICMP, UDP, TCP, DNS, HTTP, FTP。
一台用户电脑上还会运行如TELNET, SMTP, POP3, SNMP, ECHO, DHCP, SSH, NNTP。
无盘设备可能会在固件比如ROM中实现了ARP, IP, ICMP, UDP, BOOT, TFTP (均为面向数据报的协议,实现起来相对简单)。