3.2.1 Internet协议
1.TCP/IP体系结构
计算机网络是由许多计算机组成的,要实现网络计算机之间数据传输,必须要做两件事,确定数据传输目的地址和保证数据迅速可靠传输的措施,这是因为数据在传输过程中很容易丢失或传错,Internet使用一种专门的计算机协议TCP/IP,以保证数据安全、可靠地到达指定的目的地,TCP/IP主要由传输控制协议TCP(Transmission Control Protocol)和网间协议IP(Internet Protocol)组成。TCP/IP是一个四层协议体系结构,如图3.1所示。
Internet 对应的TCP/IP协议
图3.1 TCP/IP体系结构
在这个结构里,每一层负责不同的功能:
链路层,有时也称作数据链路层或网络接口层,通常包括操作系统中的设备驱动程序和计算机中对应的网络接口卡。它们一起处理与电缆(或其他任何传输媒介)的物理接口细节。
网间层,有时也称作互联网层,处理分组在网络中的活动,例如分组的路由选择。在TCP/IP协议组件中,网间层协议包括IP协议(网际协议)、ICMP协议(Internet互联网控制报文协议)等。
传输层主要为两台主机上的应用程序提供端到端的通信。在TCP/IP协议组件中,有两个互不相同的传输协议:TCP(传输控制协议)和UDP(用户数据报协议)。
TCP为两台主机提供高可靠性的数据通信。它所做的工作包括把应用程序交给它的数据分成合适的小块交给下面的网络层,确认接收到的分组,设置发送最后确认分组的超时时钟等。由于传输层提供了高可靠性的端到端的通信,因此应用层可以忽略所有这些细节。
而另一方面,UDP则为应用层提供一种非常简单的服务。它只是把称作数据报的分组从一台主机发送到另一台主机,但并不保证该数据报能到达另一端。任何所需的可靠性必须由应用层来提供。
应用层负责处理特定的应用程序细节。几乎各种不同的TCP/IP实现都会提供一些通用的应用程序,例如,Telnet 远程登录、FTP文件传输协议、SMTP 用于电子邮件的简单邮件传输协议和SNMP 简单网络管理协议。
2.TCP/IP数据传输过程
TCP/IP协议所采用的通信方式是分组交换方式。所谓分组交换,简单说就是数据在传输时分成若干段,每个数据段称为一个数据包,TCP/IP协议的基本传输单位是数据包,TCP/IP协议在数据传输过程中主要完成以下功能:
(1) 首先由TCP协议把数据分成若干数据包,给每个数据包写上序号,以便接收端把数据还原成原来的格式。
(2) IP协议给每个数据包写上发送主机和接收主机的地址,一旦写上源地址和目的地址,数据包就可以在物理网上传送数据了。IP协议还具有利用路由算法进行路由选择的功能。
(3) 这些数据包可以通过不同的传输途径(路由)进行传输,由于路径不同,加上其他的原因,可能出现顺序颠倒、数据丢失、数据失真甚至重复的现象。这些问题都由TCP协议来处理,它具有检查和处理错误的功能,必要时还可以请求发送端重发。
简言之,IP协议负责数据的传输,而TCP协议负责数据的可靠传输。
3.2.2 IP地址与域名
无论是从使用Internet的角度还是从运行Internet的角度看IP地址和域名都是十分重要的概念,当你与Internet上其他用户进行通信时,或者寻找Internet的各种资源时,都会用到IP地址或者域名。
1.IP地址
与Internet相连的任何一台计算机,不管是最大型的还是最小型的,都被称为主机。有些主机是为成千上万的用户提供服务的大型机或巨型机,有些是小型工作站或单用户PC机,还有一些是专用计算机(如用于将一个网络和另一网络连接起来的路由器)。但是从Internet这一角度来说,所有这些计算机都是主机。
IP地址是在Internet网络中为每一台主机分配的由32位二进制数组成的惟一标识符,它是由两部分构成,一部分是网络标识(netid),另一部分是主机标识(hostid)。
目前所使用的IP协议版本规定:IP地址的长度为32位。Internet的网络地址可分为三类(A类、B类、C类),每一类网络中IP地址的网络标识长度和主机标识长度都有所不同。
凡是以0开始的IP地址均属于A类网络,如图3.2所示。
凡是以10开始的IP地址都属于B类网络,如图3.3所示。
凡是以110开始的IP地址都属于C类网络,如图3.4所示。
由此可见A类网络IP地址的网络标识长度为7位,主机标识的长度为24位。B类网络IP地址的网络标识的长度为14位,主机标识长度16位。C类网络IP地址的网络标识长度为21位,主机标识长度为8位。这样大家可以容易地计算出Internet整个IP地址空间的各类网络数目和每个网络地址中可以容纳的主机数目。
表3.1 Internet的IP空间
第一组数字 网络地址数 网络主机数 主机总数
A类网络 1-127 126(全0、全1专用) 16387064 2064770064
B类网络 128-191 16256 64516 1048872096
C类网络 192-223 2064512 254(全0、全1专用) 524386048
总计 2080894 3638028208
从表3.1看出:A类网络地址数量最少,可以用于主机数多达1600多万台的大型网络,B类网络适用于中等规模的网络,C类网络地址适用于主机数不多的小型网络。
由于二进制不容易记忆,通常用四组三位的十进制数表示,中间用小数点分开,每组十进制数代表8位二进制数,其范围为0~255,但是0和255这两个地址在Internet有特殊用途(用于广播),因此实际上每组数字可以真正使用的范围1~254。
2.域名
前面讲到,IP地址是一种数字型网络标识和主机标识,数字型标识对计算机网络来讲自然是最有效的,但是对使用网络的人来说有不便记忆的缺点,为了解决这一问题,人们研究出一种字符型标识,即为每一个接入Internet的主机起一个用字母表示的名字称为域名,作为主机的地址。如用nju.edu.cn代替202.11932.12,这样就方便了记忆。
目前所使用的域名是一种层次型命名法。
第n级子域名 . ...... 第二级子域名. 第一级子域名.
这里一般: 2≤n≤5
域名可以以一个字母或数字开头和结尾,并且中间的字符只能是字母、数字和连字符,标号必须是小于255。经验表明为了简便并容易记住名字,每个标号小于或等于8个字符。
Internet主机名字需要从右至左破译,位置越靠左越具体。域名最右边的是一级域或顶级域,代表国家,如nju.edu.cn中cn表示该主机在中国,edu表示主机接在教育和科研网上,而nju是该主机的名字。由于Internet起源于美国,所以没有国家标志的域名表示该计算机在美国注册了国际域名。国际顶级域名是一种标准化的标号,如表3.2所示。
表3.2 国际顶级域名列表
域 名 意 义
COM 商业组织
EDU 教育机构
GOV 政府部门
MIL 军事部门
NET 主要网络支持中心
ORG 上述以外的机构
INT 国际组织
COUNTRY CODE 国家(采用国际通用两字符编码)
Internet地址中的第一级域名和第二级域名是由NIC管理,我国国家级域名(CN)由中国科学院计算机网络中心(NCFC)进行管理,第三级以下的域名由各个子网的NIC或具有NIC功能的节点自己负责管理。同时要注意以下几点:
域名在整个Internet中必须是惟一的,当高级子域名相同时,低级子域名不允许重复。
大小写字母在域名中没有区别。
一台计算机可以有多个域名(通常用于不同的目的),但只能有一个IP地址。
主机的IP地址和主机的域名对通信协议来说具有相同的作用,从使用的角度看,两者没有区别。但是,当你所使用的系统没有域名服务器,只能使用IP地址不能使用域名。
为主机确定域名时应尽量使用有意义的符号。
一般我们把域名翻译成IP地址的软件称为域名系统(DNS)。从功能上说,域名系统基本上相当于一本电话簿,已知一个姓名就可以查到一个电话号码,它与电话簿区别是可以自动完成查找过程,此时,完整的域名系统应该具有双向查找功能。