经验 83 分贝 0 家园分 71 在线时间: 0 小时 最后登录: 2008-5-23 帖子: 11 精华: 0 注册时间: 2008-3-13 UID: 219576
注册:2008-3-13
发表于 2008-3-24 13:05:00
| 显示全部楼层
1.1引言
TCPIP于60年代末起源于美国一个分组交换网络研究小组,90年代发展成最常用的组网形式;
1.2分层
网络协议经常按照不同功能分成不同层次,OSI分7层(物、链、网、传、会、表、应)。在TCPIP中,应用层和运输层使用端到端协议,而网络层提供逐跳协议,IP提供不可靠服务,TCP提供可靠服务。
1.3TCPIP的分层
分4层,分别是链路层、网络层(IP/ICMP/IGMP)、运输层(TCP/UDP)、应用层。其中ICMP是INTERNETk控制管理协议,IGMP是INTERNET组管理协议。网桥在链路层上对网络进行连接,路由器在网络层上对网络进行连接。在链路层上做地址转换的还有ARP以及RARP。
1.4互联网的地址
互联网地址长32位,分为5类,地址段如下:
A: 0.0.0.0 -127.255.255.255
B: 128.0.0.0-191.255.255.255
C: 192.0.0.0-223.255.255.255
D: 224.0.0.0-239.255.255.255
E: 240.0.0.0-247.255.255.255
互联网地址的分配由互联网络信息中心InterNIC完成,它只分配网络号,主机号分配由系统管理员完成。
InterNIC由三部分组成,注册服务(rs.internic.net)、目录和数据库服务(ds.internic.net)、信息服务(is.internic.net)。
IP地址分三类:单播、广播、组播。
1.5域名系统
它是一个分布式数据库,存放ip地址和主机的映射。
1.6封装
应用层的用户数据要经过底层协议转发,其中每一层都要对收到的数据加一些首部信息(有时还需要在尾部加)。由此产生TCP段、IP数据包、以太网帧(46-1500字节)。
1.7分用
当目的主机收到一个以太网数据帧时,数据就开始从协议栈中由底向上升,同时去掉各层协议加上的报文首部。每层协议盒都要去检查报文首部中的协议标识,以确定接收数据的上层协议。这个过程称作分用。
为协议ICMP和IGMP定位一直是一件很棘手的事情。把它们与IP放在同一层上,是因为事实上它们是IP的附属协议。但是,又把它们放在IP层的上面,是因为ICMP和IGMP报文都被封装在IP数据报中。
对于ARP和RARP,也遇到类似的难题。把它们放在以太网设备驱动程序的上方,是因为它们和IP数据报一样,都有各自的以太网数据帧类型。又把ARP作为以太网设备驱动程序的一部分,放在IP层的下面,其原因在逻辑上是合理的。
1.8客户-服务器模型
服务器可分成重复型和并发型2种,重复型服务器同时只能为一个客户服务,一般的TCP服务器是并发型,UDP服务器是重复型。
1.9端口号
TCP/UDP采用端口号识别应用程序,服务器一般都是通过知名端口号来识别的。例如,对于每个TCP/IP实现来说,FTP服务器的TCP端口号都是21,每个TELNET服务器的TCP端口号都是23,每个TFTP(简单文件传送协议)服务器的UDP端口号都是69。任何TCP/IP实现所提供的服务都用知名的1-1024之间的端口号。这些知名端口号由Internet号分配机构(Internet Assigned Numbers Authority, IANA)来管理。
到1992年为止,知名端口号介于1~255之间。256~1023之间的端口号通常都是由Unix系统占用,以提供一些特定的U n i x服务—也就是说,提供一些只有Unix系统才有的、而其他操作系统可能不提供的服务。现在IANA管理1~1023之间所有的端口号。
1.10标准化过程
有四个小组在负责Internet技术。
1) Internet协会(ISOC,Internet Society)是一个推动、支撑和促进Internet不断增长和发展的专业组织,它把Internet作为全球研究通信的基础设施。
2) Internet体系结构委员会(IAB,Internet Architecture Board)是一个技术监督和协调的机构。它由国际上来自不同专业的1 5个志愿者组成,其职能是负责Internet标准的最后编辑和技术审核。IAB隶属于ISOC。
3) Internet工程专门小组(IETF,Internet Engineering Task Force)是一个面向近期标准的组织,它分为9个领域(应用、寻径和寻址、安全等等)。IETF开发成为Internet标准的规范。为帮助IETF主席,又成立了Internet工程引导小组(IESG, Internet Engineering Steering Group)。
4) Internet研究专门小组(IRIF,Internet Research Task Force)主要对长远的项目进行研究。IRTF和IETF都隶属于IAB。文献[Crocker 1993]提供了关于Internet内部标准化进程更为详细的信息,同时还先容了它的早期历史。
1.11RFC
所有关于Internet的正式标准都以RFC(Request for Comment)文档出版。所有的RFC都可以通过电子邮件或用FTP从Internet上免费获取。如果发送下面这份电子邮件,就会收到一份获取RFC的方法清单:
To: rfc-info@ISI.EDU,
Subject: getting rfcs,
help:ways_to_get_rfcs。
RFC信息搜索索引有4类:
1)赋值RFC(Assigned Numbers RFC)列出了所有Internet协议中使用的数字和常数。
2)Internet正式协议标准,目前是RFC 1600[Postel 1994]。这个RFC描述了各种Internet协议的标准化现状。
)主机需求RFC,1122和1123[Braden 1989a,1989b]。RFC 1122针对链路层、网络层和运输层;RFC 1123针对应用层。
4) 路由器需求RFC,目前正式版是RFC 1009[Braden and Postel 1987],但一个新版已接近完成[Almquist 1993]。
1.12标准的简单服务
名字 TCP端口号 UDP端口号 RFC 描述
echo 7 7 862 服务器返回客户发送的所有内容
discard 9 9 863 服务器丢弃客户发送的所有内容
daytime 13 13 867 服务器以可读形式返回时间和日期
chargen 19 19 864 当客户发送一个数据报时,TCP服务器发送一串连续的字符流,直到客户中断连接。UDP服务器发送一个随机长度的数据报
time 37 37 868 服务器返回一个二进制形式的32 bit数,表示从UTC时间1900年1月1日午夜至今的秒数
如果仔细检查这些标准的简单服务以及其他标准的TCP/IP服务(如Telnet、FTP、SMTP等)的端口号时,大家发现它们都是奇数。这是有历史原因的,因为这些端口号都是从NCP端口号派生出来的(NCP,即网络控制协议,是ARPANET的运输层协议,是TCP的前身)。NCP是单工的,不是全双工的,因此每个应用程序需要两个连接,需预留一对奇数和偶数端口号。当TCP和UDP成为标准的运输层协议时,每个应用程序只需要一个端口号,因此就使用了NCP中的奇数。
1.13互联网
internet这个词第一个字母是否大写决定了它具有不同的含义。internet意思是用一个共同的协议族把多个网络连接在一起。而Internet指的是世界范围内通过TCP/IP互相通信的所有主机集合(超过100万台)。Internet是一个internet,但internet不等于Internet。
1.14实现
既成事实标准的TCP/IPApp实现来自于位于伯克利的加利福尼亚大学的计算机系统研究小组。从历史上看,App是随同4.x BSD系统(Berkeley Software Distribution)的网络版一起发布的。在本书中,大家将使用“伯克利派生系统”来指 SunOS 4.x、SVR4以及AIX 3.2等那些基于伯克利源代码开发的系统。
1.15应用编程接口
使用TCP/IP协议的应用程序通常采用两种应用编程接口(API):socket和TLI(运输层接口:Transport Layer Interface)。前者有时称作“Berkeley socket”,表明它是从伯克利版发展而来的。后者起初是由AT&T开发的,有时称作XTI(X/Open运输层接口),以承认X/Open这个自己定义标准的国际计算机生产商所做的工作。XTI实际上是TLI的一个超集。
1.16测试网络
搭建从略。
1.17小结
TCP/IP协议族分为四层:链路层、网络层、运输层和应用层,每一层各有不同的责任。在TCP/IP中,网络层和运输层之间的区别是最为关键的:网络层(IP)提供点到点的服务,而运输层(TCP和UDP)提供端到端的服务。一个互联网是网络的网络。构造互联网的共同基石是路由器,它们在IP层把网络连在一起。第一个字母大写的Internet是指分布在世界各地的大型互联网,其中包括1万多个网络和超过100万台主机。在一个互联网上,每个接口都用IP地址来标识,尽管用户习惯使用主机名而不是IP地址。域名系统为主机名和IP地址之间提供动态的映射。端口号用来标识互相通信的应用程序。服务器使用知名端口号,而客户使用临时设定的端口号。