层次概述
TCP/IP协定不是TCP和IP这两个协定的合称,而是指因特网整个TCP/IP协定族。
从协定分层模型方面来讲,TCP/IP由四个层次组成:网路接口层、网路层、传输层、套用层。
TCP/IP协定并不完全符合OSI的七层参考模型,OSI(Open System Interconnect)是传统的开放式系统互连参考模型,是一种通信协定的7层抽象的参考模型,其中每一层执行某一特定任务。该模型的目的是使各种硬体在相同的层次上相互通信。这7层是:物理层、资料链路层(网路接口层)、网路层(网路层)、传输层、会话层、表示层和套用层(套用层)。而TCP/IP通讯协定採用了4层的层级结构,每一层都呼叫它的下一层所提供的网路来完成自己的需求。由于ARPANET的设计者注重的是网路互联,允许通信子网(网路接口层)採用已有的或是将来有的各种协定,所以这个层次中没有提供专门的协定。实际上,TCP/IP协定可以通过网路接口层连线到任何网路上,例如X.25交换网或IEEE802区域网路。
TCP/IP | OSI |
|---|---|
套用层 | 套用层 表示层 会话层 |
主机到主机层(TCP)(又称传输层) | 传输层 |
网路层(IP)(又称互联层) | 网路层 |
网路接口层(又称链路层) | 资料链路层 |
物理层 |
网路接口层
物理层是定义物理介质的各种特徵:
1、机械特徵;
2、电子特徵;
3、功能特徵;
4、规程特徵。
资料链路层是负责接收IP封包并通过网路传送,或者从网路上接收物理帧,抽出IP封包,交给IP层。
常见的接口层协定有:
Ethernet 802.3、Token Ring 802.5、X.25、Frame relay、HDLC、PPP ATM等。
网路层
负责相邻电脑之间的通信。其功能包括三方面。
一、处理来自传输层的分组传送请求,收到请求后,将分组装入IP资料报,填充报头,选择去往信宿机的路径,然后将资料报发往适当的网路接口。
二、处理输入资料报:首先检查其合法性,然后进行寻径--假如该资料报已到达信宿机,则去掉报头,将剩下部分交给适当的传输协定;假如该资料报尚未到达信宿,则转发该资料报。
三、处理路径、流控、拥塞等问题。
网路层包括:IP(Internet Protocol)协定、ICMP(Internet Control Message Protocol)
控製报文协定、ARP(Address Resolution Protocol)地址转换协定、RARP(Reverse ARP)反向地址转换协定。
IP是网路层的核心,通过路由选择将下一条IP封装后交给接口层。IP资料报是无连线服务。
ICMP是网路层的补充,可以回送报文。用来检测网路是否通畅。
Ping命令就是传送ICMP的echo包,通过回送的echo relay进行网路测试。
ARP是正向地址解析协定,通过已知的IP,寻找对应主机的MAC地址。
RARP是反向地址解析协定,通过MAC地址确定IP地址。比如无盘工作站还有DHCP服务。
传输层
提供应用程式间的通信。其功能包括:一、格式化信息流;二、提供可靠传输。为实现后者,传输层协定规定接收端必须发回确认,并且假如分组丢失,必须重新传送,即耳熟能详的"三次握手"过程,从而提供可靠的资料传输。
传输层协定主要是:传输控製协定TCP(Transmission Control Protocol)和使用者资料报协定UDP(User Datagram protocol)。
套用层
向使用者提供一组常用的应用程式,比如电子邮件、档案传输访问、远程登录等。远程登录TELNET使用TELNET协定提供在网路其它主机上注册的接口。TELNET会话提供了基于字元的虚拟终端。档案传输访问FTP使用FTP协定来提供网路内机器间的档案拷贝功能。
套用层协定主要包括如下几个:FTP、TELNET、DNS、SMTP、RIP、NFS、HTTP。
FTP(File Transfer Protocol)是档案传输协定,一般上载下载用FTP服务,资料连线埠是20H,控製连线埠是21H。
Telnet服务是使用者远程登录服务,使用23H连线埠,使用明码传送,保密性差、简单方便。
DNS(Domain Name Service)是域名解析服务,提供域名到IP地址之间的转换。
SMTP(Simple Mail Transfer Protocol)是简单邮件传输协定,用来控製信件的传送、中转。
RIP (Router Information Protocol)是路由信息协定,用于网路设备之间交换路由信息。
NFS (Network File System)是网路档案系统,用于网路中不同主机间的档案共享。
HTTP(Hypertext Transfer Protocol)是超文本传输协定,用于实现网际网路中的WWW服务。
OSI中的层 | 功能 | TCP/IP协定族 |
|---|---|---|
套用层 | 档案传输,电子邮件,档案服务,虚拟终端 | TFTP,HTTP,SNMP,FTP,SMTP,DNS,Telnet 等等 |
表示层 | 资料格式化,代码转换,资料加密 | 没有协定 |
会话层 | 解除或建立与别的接点的联系 | 没有协定 |
传输层 | 提供端对端的接口 | TCP,UDP |
网路层 | 为封包选择路由 | IP,ICMP,OSPF,EIGRP,IGMP,RIP |
资料链路层 | 传输有地址的帧以及错误检测功能 | SLIP,CSLIP,PPP,MTU,ARP,RARP |
物理层 | 以二进位资料形式在物理媒体上载输资料 | ISO2110,IEEE802,IEEE802.2 |
网路层中的协定主要有IP,ICMP,IGMP等,由于它包含了IP协定模组,所以它是所有基于TCP/IP协定网路的核心。在网路层中,IP模组完成大部分功能。ICMP和IGMP以及其他支持IP的协定帮助IP完成特定的任务,如传输差错控製信息以及主机/路由器之间的控製电文等。网路层掌管着网路中主机间的信息传输。
传输层上的主要协定是TCP和UDP。正如网路层控製着主机之间的资料传递,传输层控製着那些将要进入网路层的资料。两个协定就是它管理这些资料的两种方式:TCP是一个基于连线的协定;UDP则是面向无连线服务的管理方式的协定。
TCP/IP模型的主要缺点有:
第一,它在服务、接口与协定的区别上就不是很清楚。一个好的软体工程应该将功能与实现方法区分开来,TCP/IP恰恰没有很好地做到这点,就使得TCP/IP参考模型对于使用新的技术的指导意义是不够的。TCP/IP参考模型不适合于其他非TCP/IP协定簇。
第二,主机-网路层本身并不是实际的一层,它定义了网路层与资料链路层的接口。物理层与资料链路层的划分是必要和合理的,一个好的参考模型应该将它们区分开,而TCP/IP参考模型却没有做到这点。
资料格式
资料帧:帧头+IP封包+帧尾 (帧头包括源和目标主机MAC地址及类型,帧尾是校验字)
IP封包:IP头部+TCP资料信息(IP头包括源和目标主机IP地址、类型、生存期等)
TCP资料信息:TCP头部+实际资料 (TCP头包括源和目标主机连线埠号、顺序号、确认号、校验字等)
产生背景
在阿帕网(ARPA)产生运作之初,通过接口信号处理机实现互联的电脑并不多,大部分电脑相互之间不兼容。在一台电脑上完成的工作,很难拿到另一台电脑上去用,想让硬体和软体都不一样的电脑联网,也有很多困难。当时美国的状况是,陆军用的电脑是DEC系列产品,海军用的电脑是Honeywell中标机器,空军用的是IBM公司中标的电脑,每一个军种的电脑在各自的系裏都运行良好,但却有一个大弊病:不能共享资源。
当时科学家们提出这样一个理念:所有电脑生来都是平等的。为了让这些生来平等的电脑能够实现资源共享就得在这些系统的标準之上,建立一种大家共同都必须遵守的标準,这样才能让不同的电脑按照一定的规则进行谈判,并且在谈判之后能握手。
在确定今天因特网各个电脑之间谈判规则过程中,最重要的人物当数瑟夫(Vinton G.Cerf)。正是他的努力,才使今天各种不同的电脑能按照协定上网互联。瑟夫也因此获得了与克莱因罗克(因特网之父)一样的美称网际网路之父。
瑟夫从小喜欢标新立异,坚强而又热情。中学读书时,就被允许使用加州大学洛杉矶分校的电脑,他认为为电脑编程式是个非常激动人心的事,…只要把程式编好,就可以让电脑做任何事情。1965年,瑟夫从斯坦福大学毕业到IBM的一家公司当系统工程师,工作没多久,瑟夫就觉得知识不够用,于是到加州大学洛杉矶分校攻读博士,那时,正逢阿帕网的建立,接口信号处理机(IMP)的研试及网路测评中心的建立,瑟夫也成了着名科学家克莱因罗克手下的一位学生。瑟夫与另外三位年轻人(温菲尔德、克罗克、布雷登)参与了阿帕网的第一个节点的联接。此后不久,BBN公司对工作中各种情况发展有很强判断能力、被公认阿帕网建成作出巨大贡献的鲍伯·卡恩(Bob Kahn)也来到了加州大学洛杉矶分校。在那段日子裏,往往是卡恩提出需要什麽软体,而瑟夫则通宵达旦地把符合要求的软体给编出来,然后他们一起测试这些软体,直至能正常运行。
当时的主要格局是这样的,罗伯茨提出网路思想设计网路布局,卡恩设计阿帕网整体结构,克莱因罗克负责网路测评系统,还有众多的科学家、研究生参与研究、试验。69年9月阿帕网诞生、运行后,才发现各个IMP连线的时候,需要考虑用各种电脑都认可的信号来开启通信通路,资料通过后还要关闭通道。否则这些IMP不会知道什麽时候应该接收信号,什麽时候该结束,这就是我们现在所说的通信协定的概念。70年12月製定出来了最初的通信协定由卡恩开发、瑟夫参与的网路控製协定(NCP),但要真正建立一个共同的标準很不容易,72年10月国际电脑通信大会结束后,科学家们都在为此而努力。
包切换理论为网路之间的联接方式提供了理论基础。卡恩在自己研究的基础上,认识到只有深入理解各种作业系统的细节才能建立一种对各种作业系统普适的协定,73年卡恩请瑟夫一起考虑这个协定的各个细节,他们这次合作的结果产生了目前在开放系统下的所有网民和网管人员都在使用的传输控製协定(TCP,Transmission-Control Protocol)和因特网协定(IP,Internet Protocol)即TCP/IP协定。
通俗而言:TCP负责发现传输的问题,一有问题就发出信号,要求重新传输,直到所有资料安全正确地传输到目的地。而IP是给因特网的每一台电脑规定一个地址。1974年12月,卡恩、瑟夫的第一份TCP协定详细说明正式发表。当时美国国防部与三个科学家小组签定了完成TCP/IP的协定,结果由瑟夫领衔的小组捷足先登,首先製定出了通过详细定义的TCP/IP协定标準。当时作了一个试验,将信息包通过点对点的卫星网路,再通过陆地电缆,再通过卫星网路,再由地面传输,贯串欧洲和美国,经过各种电脑系统,全程9.4万公裏竟然没有丢失一个资料位,远距离的可靠资料传输证明了TCP/IP协定的成功。
1983年1月1日,运行较长时期曾被人们习惯了的NCP被停止使用,TCP/IP协定作为因特网上所有主机间的共同协定,从此以后被作为一种必须遵守的规则被肯定和套用。
开发过程
在构建了阿帕网先驱之后,DARPA开始了其他资料传输技术的研究。NCP诞生后两年,1972年,罗伯特·卡恩(Robert E. Kahn)被DARPA的信息技术处理办公室僱佣,在那裏他研究卫星封包网路和地面无线封包网路,并且意识到能够在它们之间沟通的价值。在1973年春天,已有的ARPANET网路控製程式(NCP)协定的开发者文顿·瑟夫(Vinton Cerf)加入到卡恩为ARPANET设计下一代协定而开发开放互连模型的工作中。
到了1973年夏天,卡恩和瑟夫很快就开发出了一个基本的改进形式,其中网路协定之间的不同通过使用一个公用网际网路络协定而隐藏起来,并且可靠性由主机保证而不是像ARPANET那样由网路保证。(瑟夫称赞Hubert Zimmerman和Louis Pouzin(CYCLADES网路的设计者)在这个设计上发挥了重要影响。)
由于网路的作用减少到最小的程度,就有可能将任何网路连线到一起,而不用管它们不同的特点,这样就解决了卡恩最初的问题。(一个流行的说法提到瑟夫和卡恩工作的最终产品TCP/IP将在运行两个罐子和一根弦上,实际上它已经用在信鸽上。一个称为网关(后来改为路由器以免与网关混淆)的电脑为每个网路提供一个接口并且在它们之间来回传输封包。
这个设计思想更细的形式由瑟夫在斯坦福的网路研究组的1973年–1974年期间开发出来。(处于同一时期的诞生了PARC通用包协定组的施乐PARC早期网路研究工作也有重要的技术影响;人们在两者之间摇摆不定。)
DARPA于是与BBN、斯坦福和伦敦大学签署了协定开发不同硬体平台上协定的运行版本。有四个版本被开发出来--TCP v1、TCP v2、在1978年春天分成TCP v3和IP v3的版本,后来就是稳定的TCP/IP v4--目前因特网仍然使用的标準协定。
1975年,两个网路之间的TCP/IP通信在斯坦福和伦敦大学(UCL)之间进行了测试。1977年11月,三个网路之间的TCP/IP测试在美国、英国和挪威之间进行。在1978年到1983年间,其他一些TCP/IP原型在多个研究中心之间开发出来。ARPANET完全转换到TCP/IP在1983年1月1日发生。[1]
1984年,美国国防部将TCP/IP作为所有电脑网路的标準。1985年,因特网架构理事会举行了一个三天有250家厂商代表参加的关于计算产业使用TCP/IP的工作会议,帮助协定的推广并且引领它日渐成长的商业套用。
2005年9月9日卡恩和瑟夫由于他们对于美国文化做出的卓越贡献被授予总统自由勛章。
运作机製
1.IP
IP层接收由更低层(网路接口层例如乙太网设备驱动程式)发来的封包,并把该封包传送到更高层---TCP或UDP层;相反,IP层也把从TCP或UDP层接收来的封包传送到更低层。IP封包是不可靠的,因为IP并没有做任何事情来确认封包是按顺序传送的或者没有被破坏。IP封包中含有传送它的主机的地址(源地址)和接收它的主机的地址(目的地址)。
高层的TCP和UDP服务在接收封包时,通常假设包中的源地址是有效的。也可以这样说,IP地址形成了许多服务的识别基础,这些服务相信封包是从一个有效的主机传送来的。IP确认包含一个选项,叫作IP source routing,可以用来指定一条源地址和目的地址之间的直接路径。对于一些TCP和UDP的服务来说,使用了该选项的IP包好像是从路径上的最后一个系统传递过来的,而不是来自于它的真实地点。这个选项是为了测试而存在的,说明了它可以被用来欺骗系统来进行平常是被禁止的连线。那麽,许多依靠IP源地址做确认的服务将产生问题并且会被非法入侵。
2.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传送有关单个主机的信息。
3.UDP
UDP是面向无连线的通讯协定,UDP封包括目的连线埠号和源连线埠号信息,由于通讯不需要连线,所以可以实现广播传送。
UDP通讯时不需要接收方确认,属于不可靠的传输,可能会出丢包现象,实际套用中要求在程式员编程验证。
UDP与TCP位于同一层,但它不管封包的顺序、错误或重发。因此,UDP不被套用于那些使用虚电路的面向连线的服务,UDP主要用于那些面向查询---应答的服务,例如NFS。相对于FTP或Telnet,这些服务需要交换的信息量较小。使用UDP的服务包括NTP(网路时间协定)和DNS(DNS也使用TCP)。
欺骗UDP包比欺骗TCP包更容易,因为UDP没有建立初始化连线(也可以称为握手)(因为在两个系统间没有虚电路),也就是说,与UDP相关的服务面临着更大的危险。
4.ICMP
ICMP与IP位于同一层,它被用来传送IP的的控製信息。它主要是用来提供有关通向目的地址的路径信息。ICMP的'Redirect'信息通知主机通向其他系统的更準确的路径,而'Unreachable'信息则指出路径有问题。另外,如果路径不可用了,ICMP可以使TCP连线'体面地'终止。PING是最常用的基于ICMP的服务。
通讯连线埠
TCP和UDP服务通常有一个客户/伺服器的关系,例如,一个Telnet服务进程开始在系统上处于空闲状态,等待着连线。使用者使用Telnet客户程式与服务进程建立一个连线。客户程式向服务进程写入信息,服务进程读出信息并发出回响,客户程式读出回响并向使用者报告。因而,这个连线是双工的,可以用来进行读写。
两个系统间的多重Telnet连线是如何相互确认并协调一致呢?TCP或UDP连线唯一地使用每个信息中的如下四项进行确认:
源IP地址 传送包的IP地址。
目的IP地址 接收包的IP地址。
源连线埠 源系统上的连线的连线埠。
目的连线埠 目的系统上的连线的连线埠。
连线埠是一个软体结构,被客户程式或服务进程用来传送和接收信息。一个连线埠对应一个16比特的数。服务进程通常使用一个固定的连线埠,例如,SMTP使用25、Xwindows使用6000。这些连线埠号是'广为人知'的,因为在建立与特定的主机或服务的连线时,需要这些地址和目的地址进行通讯。
IP地址
在Internet上连线的所有电脑,从大型机到微型电脑都是以独立的身份出现,我们称它为主机。为了实现各主机间的通信,每台主机都必须有一个唯一的网路地址。就好像每一个住宅都有唯一的门牌一样,才不至于在传输资料时出现混乱。
Internet的网路地址是指连入Internet网路的电脑的地址编号。所以,在Internet网路中,网路地址唯一地标识一台电脑。
我们都已经知道,Internet是由几千万台电脑互相连线而成的。而我们要确认网路上的每一台电脑,靠的就是能唯一标识该电脑的网路地址,这个地址就叫做IP(Internet Protocol的简写)地址,即用Internet协定语言表示的地址。
目前,在Internet裏,IP地址是一个32位的二进位地址,为了便于记忆,将它们分为4组,每组8位,由小数点分开,用四个位元组来表示,而且,用点分开的每个位元组的数值範围是0~255,如202.116.0.1,这种书写方法叫做点数表示法。
地址分类
IP地址可确认网路中的任何一个网路和电脑,而要识别其它网路或其中的电脑,则是根据这些IP地址的分类来确定的。一般将IP地址按节点电脑所在网路规模的大小分为A,B,C三类,默认的网路禁止是根据IP地址中的第一个栏位确定的。
1. A类地址
A类地址的表示範围为:1.0.0.1~126.255.255.255,默认网路禁止为:255.0.0.0;A类地址分配给规模特别大的网路使用。A类网路用第一组数位表示网路本身的地址,后面三组数位作为连线于网路上的主机的地址。分配给具有大量主机(直接个人使用者)而区域网路络个数较少的大型网路。例如IBM公司的网路。
127.0.0.0到127.255.255.255是保留地址,用做迴圈测试用的。
0.0.0.0到0.255.255.255也是保留地址,用做表示所有的IP地址。
一个A类IP地址由1位元组(每个位元组是8位)的网路地址和3个位元组主机地址组成,网路地址的最高位必须是0,即第一段数位範围为1~127。每个A类地址理论上可连线16777214<256*256*256-2>;台主机(-2是因为主机中要用去一个网路号和一个广播号),Internet有126个可用的A类地址。A类地址适用于有大量主机的大型网路。
2. B类地址
B类地址的表示範围为:128.0.0.1~191.255.255.255,默认网路禁止为:255.255.0.0;B类地址分配给一般的中型网路。B类网路用第一、二组数位表示网路的地址,后面两组数位代表网路上的主机地址。
169.254.0.0到169.254.255.255是保留地址。如果你的IP地址是自动获取IP地址,而你在网路上又没有找到可用的DHCP伺服器,这时你将会从169.254.0.0到169.254.255.255中临时获得一个IP地址。
一个B类IP地址由2个位元组的网路地址和2个位元组的主机地址组成,网路地址的最高位必须是10,即第一段数位範围为128~191。每个B类地址可连线65534(2^16-2,因为主机号的各位不能同时为0,1)台主机,Internet有16383(2^14-1)个B类地址(因为B类网路地址128.0.0.0是不指派的,而可以指派的最小地址为128.1.0.0[COME06])。
3. C类地址
C类地址的表示範围为:192.0.0.1~223.255.255.255,默认网路禁止为:255.255.255.0;C类地址分配给小型网路,如一般的区域网路,它可连线的主机数量是最少的,採用把所属的使用者分为若干的网段进行管理。C类网路用前三组数位表示网路的地址,最后一组数位作为网路上的主机地址。
一个C类地址是由3个位元组的网路地址和1个位元组的主机地址组成,网路地址的最高位必须是110,即第一段数位範围为192~223。每个C类地址可连线254台主机,Internet有2097152个C类地址段(32*256*256),有532676608个地址(32*256*256*254)。
RFC 1918留出了3块IP地址空间(1个A类地址段,16个B类地址段,256个C类地址段)作为私有的内部使用的地址。在这个範围内的IP地址不能被路由到Internet骨干网上;Internet路由器将丢弃该私有地址。
IP地址类别 RFC 1918内部地址範围
A类 10.0.0.0到10.255.255.255
B类 172.16.0.0到172.31.255.255
C类 192.168.0.0到192.168.255.255
使用私有地址将网路连至Internet,需要将私有地址转换为公有地址。这个转换过程称为网路地址转换(Network Address Translation,NAT),通常使用路由器来执行NAT转换。
实际上,还存在着D类地址和E类地址。但这两类地址用途比较特殊,在这裏只是简单介绍一下:
D类地址不分网路地址和主机地址,它的第1个位元组的前四位固定为1110。D类地址範围:224.0.0.1到239.255.255.254。D类地址用于多点播送。D类地址称为组播地址(或称多播地址),供特殊协定向选定的节点传送信息时用。
E类地址保留给将来使用。
连线到Internet上的每台电脑,不论其IP地址属于哪类都与网路中的其它电脑处于平等地位,因为只有IP地址才是区别电脑的唯一标识。所以,以上IP地址的分类只适用于网路分类。
在Internet中,一台电脑可以有一个或多个IP地址,就像一个人可以有多个通信地址一样,但两台或多台电脑却不能共享一个IP地址。如果有两台电脑的IP地址相同,则会引起异常现象,无论哪台电脑都将无法正常工作。
顺便提一下几类特殊的IP地址:
1. 广播地址目的端为给定网路上的所有主机,一般主机段为全1
2. 单播地址目的端为指定网路上的单个主机地址
3. 组播地址目的端为同一组内的所有主机地址
4. 环回地址127.0.0.1在环回测试和广播测试时会使用
网关地址
若要使两个完全不同的网路(异构网)连线在一起,一般使用网关,在Internet中两个网路也要通过一台称为网关的电脑实现互联。这台电脑能根据使用者通信目标电脑的IP地址,决定是否将使用者发出的信息送出在地网路,同时,它还将外界传送给属于在地网路电脑的信息接收过来,它是一个网路与另一个网路相联的通道。为了使TCP/IP协定能够定址,该通道被赋予一个IP地址,这个IP地址称为网关地址。
注意事项
内部地址和外部地址在区域网路的IP地址分配中,并没有区别,都可以使用。
在区域网路的IP地址分配中,子网禁止的1部分只要和对应的IP地址分类规定的前几个二进位数一致即可。
子网划分
若公司不上Internet,那一定不会烦恼IP地址的问题,因为可以任意使用所有的IP地址,不管是A类或是B类,这个时候不会想到要用子网,但若是上Internet那IP地址便弥足珍贵了,目前全球一阵Internet热,IP地址已经愈来愈少了,而所申请的IP地址目前也趋饱和,而且只有经申请的IP地址能在Internet使用,但对某些公司只能申请到一个C类的IP地址,但又有多个点需要使用,那这时便需要使用到子网,这就需要考虑子网的划分,下面简介子网的原理及如何规划。
子网掩码
设定任何网路上的任何设备不管是主机、个人电脑、路由器等皆需要设定IP地址,而跟随着IP地址的是所谓的子网掩码(NetMask,Subnet Mask),这个子网掩码主要的目的是由IP地址中也能获得网路编码,也就是说IP地址和子网掩码合作而得到网路编码,如下所示:
IP地址
192.10.10.6 11000000.00001010.00001010.00000110
子网掩码
255.255.255.0 11111111.11111111.11111111.00000000
AND
-------------------------------------------------------------------
Network Number
192.10.10.0 11000000.00001010.00001010.00000000
子网掩码有所谓的默认值,如下所示
类 IP地址範围 子网掩码
A 1.0.0.0-126.255.255.255 255.0.0.0
B 128.0.0.0-191.255.255.255 255.255.0.0
C 192.0.0.0-223.255.255.255 255.255.255.0
在预设的子网掩码(Net Mask)都只有255的值,在谈到子网掩码(Subnet Mask)时这个值便不一定是255了。在完整一组C类地址中如203.67.10.0-203.67.10.255 子网掩码255.255.255.0,203.67.10.0称之网路编码(Network Number,将IP 地址和子网掩码作和),而203.67.10.255是广播的IP地址,所以这两者皆不能使用,实际只能使用203.67.10.1--203.67.10.254等254个IP地址,这是以255.255.255.0作子网掩码的结果,而所谓Subnet Msk尚可将整组C类地址分成数组网路编码,这要在子网掩码上作手脚,若是要将整组C类地址分成2个网路编码那子网掩码设定为255.255.255.128,若是要将整组C类分成8组网路编码则子网掩码要为255.255.255.224,这是怎麽来的,由以上知道网路编码是由IP地址和子网掩码作AND而来的,而且将子网掩码以二进位表ADJLIO1',而为0的去掉
192.10.10.193--11000000.00001010.00001010.11000001
255.255.255.0--11111111.11111111.11111111.00000000
--------------------------------------------------------------
192.10.10.0--11000000.00001010.00001010.00000000
以上是以255.255.255.0为子网掩码的结果,网路编码是192.10.10.0,若是使用255.255.255.224作子网掩码结果便有所不同
192.10.10.193--11000000.00001010.00001010.11000001
255.255.255.224--11111111.11111111.11111111.11100000
--------------------------------------------------------------
192.10.10.192--11000000.00001010.00001010.11000000
此时网路编码变成了192.10.10.192,这便是子网。那要如何决定所使用的子网掩码,255.255.255.224以二进位表示法为11111111.11111111.11111111.11100000,变化是在最后一组,11100000便是224,以三个位(Bit)可表示2的3次方便是8个网路编码
子网掩码二进位表示法可分几个网路
255.255.255.011111111.11111111.11111111.000000001
255.255.255.128
11111111.11111111.11111111.100000002
255.255.255.192
11111111.11111111.11111111.110000004
255.255.255.224
11111111.11111111.11111111.111000008
255.255.255.240
11111111.11111111.11111111.1111000016
255.255.255.248
11111111.11111111.11111111.1111100032
255.255.255.252
11111111.11111111.11111111.1111110064
以下使用255.255.255.224将C类地址203.67.10.0分成8组网路编码,各个网路编码及其广播IP地址及可使用之IP地址序号网路编码广播可使用之IP地址
(1)203.67.10.0--203.67.10.31
203.67.10.1--203.67.10.30
(2)203.67.10.32--203.67.10.63
203.67.10.33--203.67.10.62
(3)203.67.10.64--203.67.10.95
203.67.10.65--203.67.10.94
(4)203.67.10.96--203.67.10.127
203.67.10.97--203.67.10.126
(5)203.67.10.128--203.67.10.159
203.67.10.129--203.67.10.158
(6)203.67.10.160--203.67.10.191
203.67.10.161--203.67.10.190
(7)203.67.10.192--203.67.10.223
203.67.10.193--203.67.10.222
(8)203.67.10.224--203.67.10.255
203.67.10.225--203.67.10.254
可验证所使用的IP地址是否如上表所示
203.67.10.115--11001011.01000011.00001010.01110011
255.255.255.224--11111111.11111111.11111111.11100000
--------------------------------------------------------------
203.67.10.96--11001011.01000011.00001010.01100000
203.67.10.55--11001011.01000011.00001010.00110111
255.255.255.224--11111111.11111111.11111111.11100000
--------------------------------------------------------------
203.67.10.32--11001011.01000011.00001010.00100000
其它的子网掩码所分成的网路编码可自行以上述方法自行推演出来。
子网作用
使用子网是要解决只有一组C类地址但需要数个网路编码的问题,并不是解决IP地址不够用的问题,因为使用子网反而能使用的IP地址会变少,子网通常是使用在跨地域的网路互联之中,两者之间使用路由器连线,同时也上Internet,但只申请到一组C 类IP地址,过路由又需不同的网路,所以此时就必须使用到子网,当然二网路间也可以远程桥接(Remote Bridge,字面翻译)连线,那便没有使用子网的问题。
概念区分
协定阐述IP申请的术语
IP申请的术语:
网路地址:在申请IP地址或是阐述TCP/IP协定的IP地址分类时,用到这个术语。它表示IP地址的代码序列中不可根据需要改变的部分。
主机地址:在申请IP地址或是阐述TCP/IP协定的IP地址分类时,用到这个术语。它表示IP地址的代码序列中能够根据需要来改变的部分。
子网禁止:在阐述TCP/IP协定的IP地址分类时,用到这个术语。在申请IP地址时,由它表示所申请到的IP地址的网路地址和主机地址。
子网划分
区域网路搭建的术语:
网路编码(网路号):经过子网划分后,子网掩码序列中1对应的IP地址部分。一个网路编码,对应一个网域(或网段)。包括申请到的网路地址的全部和主机地址的部分。
主机编码(主机号):经过子网划分后,子网掩码序列中0对应的IP地址部分。一个主机编码,对应一个网域(或网段)的一台电脑。包括申请到主机地址的部分。
子网掩码:用于子网划分,它将能够改变的主机地址分为主机编码和网路编码的一部分。同时,它将网路地址全部确定为网路编码。
协定测试
全面的测试应包括区域网路和网际网路两个方面,因此应从区域网路和网际网路两个方面测试,以下是在实际工作中利用命令行测试TCP/IP配置步骤:
1. 单击开始/运行,输入CMD按回车,开启命令提示符视窗。
2.首先检查IP地址、子网掩码、默认网关、DNS伺服器地址是否正确,输入命令ipconfig /all,按回车。此时显示了你的网路配置,观查是否正确。
3.输入ping 127.0.0.1,观查网卡是否能转发资料,如果出现Request timed out,表明配置差错或网路有问题。
4.Ping一个网际网路地址,看是否有封包传回,以验证与网际网路的连线性。
5. Ping 一个区域网路地址,观查与它的连通性。
6.用nslookup测试DNS解析是否正确,输入如nslookup ,查看是否能解析。
如果你的电脑通过了全部测试,则说明网路正常,否则网路可能有不同程度的问题。在此不展开详述。不过,要注意,在使用 ping命令时,有些公司会在其主机设定丢弃ICMP封包,造成你的ping命令无法正常返回封包,不防换个网站试试。
主要特点
(1)TCP/IP协定不依赖于任何特定的电脑硬体或作业系统,提供开放的协定标準,即使不考虑Internet,TCP/IP协定也获得了广泛的支持。所以TCP/IP协定成为一种联合各种硬体和软体的实用系统。
(2)TCP/IP协定并不依赖于特定的网路传输硬体,所以TCP/IP协定能够集成各种各样的网路。使用者能够使用乙太网(Ethernet)、令牌环网(Token Ring Network)、拨号线路(Dial-up line)、X.25网以及所有的网路传输硬体。
(3)统一的网路地址分配方案,使得整个TCP/IP设备在网中都具有惟一的地址
(4)标準化的高层协定,可以提供多种可靠的使用者服务。
协定优势
在长期的发展过程中,IP逐渐取代其他网路。这裏是一个简单的解释。IP传输通用资料。资料能够用于任何目的,并且能够很轻易地取代以前由专有资料网路传输的资料。下面是一个普通的过程:
一个专有的网路开发出来用于特定目的。如果它工作很好,使用者将接受它。
为了便利提供IP服务,经常用于访问电子邮件或者聊天,通常以某种方式通过专有网路隧道实现。隧道方式最初可能非常没有效率,因为电子邮件和聊天只需要很低的频宽。
通过一点点的投资IP 基础设施逐渐在专有资料网路周边出现。
用IP取代专有服务的需求出现,经常是一个使用者要求。
IP替代品过程遍布整个因特网,这使IP替代品比最初的专有网路更加有价值(由于网路效应)。
专有网路受到压製。许多使用者开始维护使用IP替代品的复製品。
IP包的间接开销很小,少于1%,这样在成本上非常有竞争性。人们开发了一种能够将IP带到专有网路上的大部分使用者的不昂贵的传输媒介。
大多数使用者为了削减开销,专有网路被取消。
协定重置
如果需要重新安装 TCP/IP 以使TCP/IP 堆叠恢复为原始状态。可以使用NetShell 实用程式重置TCP/IP 堆叠,使其恢复到初次安装作业系统时的状态。具体操作如下:
1.单击 开始--> 运行,输入CMD 后单击确定;
2.在命令行模式输入命令
netsh int ip reset C:\resetlog.txt
(其中,Resetlog.txt记录命令结果的日志档案,一定要指定,这裏指定了Resetlog.txt 日志档案及完整路径。)
运行结果可以查看C:\resetlog.txt (咨询中可根据使用者实际操作情况提供)
运行此命令的结果与移除并重新安装TCP/IP 协定的效果相同。
注意
本操作具有一定的风险性,请在操作前备份重要资料,并根据操作熟练度酌情使用。
版本更新
IPV4
IPv4,是网际网路协定(Internet Protocol,IP)的第四版,也是第一个被广泛使用,构成现今网际网路技术的基石的协定。1981年Jon Postel 在RFC791中定义了IP,Ipv4可以运行在各种各样的底层网路上,比如端对端的串列资料链路(PPP协定和SLIP协定) ,卫星链路等等。区域网路中最常用的是乙太网。
传统的TCP/IP协定基于IPV4属于第二代网际网路技术,核心技术属于美国。它的最大问题是网路地址资源有限,从理论上讲,编址1600万个网路、40亿台主机。但採用A、B、C三类编址方式后,可用的网路地址和主机地址的数目大打折扣,以至目前的IP地址已经枯竭。其中北美佔有3/4,约30亿个,而人口最多的亚洲只有不到4亿个,中国截止2010年6月IPv4地址数量达到2.5亿,落后于4.2亿网民的需求。虽然用动态IP及Nat地址转换等技术实现了一些缓沖,但IPV4地址枯竭已经成为不争的事实。在此,专家提出IPV6的网际网路技术,也正在推行,但IPV4的使用过度到IPV6需要很长的一段过渡期。目前中国主要用的就是ip4,在win7中已经有了ipv6的协定不过对于中国的使用者们来说可能很久以后才会用到吧。
传统的TCP/IP协定基于电话宽频以及乙太网的电器特徵而製定的,其分包原则与检验佔用了封包很大的一部分比例造成了传输效率低,现在网路正向着全光纤网路和超高速乙太网方向发展,TCP/IP协定不能满足其发展需要。
1983年TCP/IP协定被ARPAnet採用,直至发展到后来的网际网路。那时只有几百台电脑互相联网。到1989年联网电脑数量突破10万台,并且同年出现了1.5Mbit/s的骨干网。因为IANA把大片的地址空间分配给了一些公司和研究机构,90年代初就有人担心10年内IP地址空间就会不够用,并由此导致了IPv6 的开发。
IPv6
IPv6是Internet Protocol Version 6的缩写,其中Internet Protocol译为网际网路协定。IPv6是IETF(网际网路工程任务组,Internet Engineering Task Force)设计的用于替代现行版本IP协定(IPv4)的下一代IP协定。
与IPV4相比,IPV6具有以下几个优势:
一、IPv6具有更大的地址空间。IPv4中规定IP地址长度为32,即有2^32-1(符号^表示升幂,下同)个地址;而IPv6中IP地址的长度为128,即有2^128-1个地址。
二、IPv6使用更小的路由表。IPv6的地址分配一开始就遵循聚类(Aggregation)的原则,这使得路由器能在路由表中用一条记录(Entry)表示一片子网,大大减小了路由器中路由表的长度,提高了路由器转发封包的速度。
三、IPv6增加了增强的组播(Multicast)支持以及对流的支持(Flow Control),这使得网路上的多媒体套用有了长足发展的机会,为服务质量(QoS,Quality of Service)控製提供了良好的网路平台。
四、IPv6加入了对自动配置(Auto Configuration)的支持。这是对DHCP协定的改进和扩展,使得网路(尤其是区域网路)的管理更加方便和快捷。
五、IPv6具有更高的安全性。在使用IPv6网路中使用者可以对网路层的资料进行加密并对IP报文进行校验,极大的增强了网路的安全性。













