目录
1.Internet的工作原理
1、Internet是一个分组交换系统
2、路由器是Internet实现互连的“标准件”
3、TCP/IP是Internet的核心协议
4、客户机/服务器的工作模式
2. IP地址
2.1 IP地址分类
2.2特殊IP地址
2.3路由器和IP编制原则
2.4子网的划分
2.5 IPV6
3.域名系统
4.统一资源定位器
前言导入:网络层次结果模型以及协议栈中的层
1.Internet的工作原理
在Internet中,如何将需要的信息从一台计算机传送到另一台计算机中?这个问题看起来比较简单,但实际上涉及到了Internet中的一些关键技术:
1、Internet是一个分组交换系统
在ARPAnet的研制初期,采用了线路交换技术。那时,虽然两台计算机实现了通信,但要独占一条实际的物理线路,造成通信线路浪费严重,资源便不容易为更多的用户共享。 为了减少对通信线路的浪费,在Internet中人们采用了分组交换的技术方案,即每一次只容许一个通信系统占据通信线路,并且规定每次通信传送的数据量为一个“分组单位”。因此Internet就是一个巨大的分组交换系统。分组交换容许多台计算机之间同时进行通信,当用户通过Internet传输数据的时候,发送方的网络软件会将数据划分成组,而由接收方的网络软件把收到的分组重新组装成数据。
2、路由器是Internet实现互连的“标准件”
很多人将Internet看成是一个单一的、庞大的、许许多多的计算机连在其上的计算机网络,但实际上并非如此。Internet是通过路由器将各种不同类型的网络互连在一起所组成的,而每台计算机均具体的连到其中一个网络上。这就体现了Internet的含义——“网际网”。当一个网络中的一台计算机与另一个网络中的计算机进行通信时,这两台计算机的分组就是通过路由器传送的。 路由器在Internet 中的主要任务是:将分组从一个网络向另一个网络传送。当路由器收到从一个网络传送来的分组之后,要将分组发送到另一个网络,直至达到目的地。当路由器连接多个网络时,就必须从这些网络中选出一个进行发送,这个过程叫做“路由选择”。
3、TCP/IP是Internet的核心协议
我们知道,硬件上互连起来的Internet 还需要相应的软件才能互相通信。在Internet上,要将各种类型的计算机网络互连起来,其难度是可想而知的。最终,TCP/IP协议的出现,对Internet的形成奠定了坚实的软件基础。
4、客户机/服务器的工作模式
计算机之间的通信实际上是程序之间的通信。Internet上参与通信的计算机可以分为两类,一类是提供服务的程序,叫做服务器(Server);另一类是请求服务的程序,我们称为客户机(Client)。Internet采用了客户机/服务器的模式,连接到Internet上的计算机不是客户机就是服务器。 使用Internet提供服务的用户要运行客户端的软件。例如,IE浏览器、Outlook电子邮件程序就是工作在客户端的软件。通常,Internet的用户利用客户软件与服务器进行交互,提出一个请求,并通过Internet 将请求发送到服务器,然后等待回答。
服务器则是由另一些更为复杂的软件组成,它在接收到客户机发送来的请求后,进行分析,并给与回答,然后通过网络发送到客户机。客户机在接到结果后显示给用户。一般情况下,服务器程序必须始终运行着,并且要有多个副本同时运行,以便响应不同的用户。 在Internet中,一个客户机可以同时向不同的服务器发出请求,一个服务器也可以同时为多个客户机提供服务。客户机向服务器发出请求和服务器接收、应答请求的各种方法就是协议。例如,在使用浏览器访问WWW服务器的过程中,WWW服务器运行支持HTTP协议的服务器软件,随时接收客户机的请求并做出回答。
2. IP地址
2.1 IP地址分类
如前所述,Internet是通过路由器将物理网络互连在一起的虚拟网络。在一个具体的物理网络中,每台计算机都有一个物理地址(Physical Address),物理网靠此地址来识别其中每一台计算机。在Internet中,为解决不同类型的物理地址的统一问题,在IP层采用了一种全网通用的地址格式,为全网中的每一台主机分配一个Internet地址,从而将主机原来的物理地址屏蔽掉,这个地址就叫IP地址。
在Internet中,IP地址所要处理的对象比局域网要复杂的多,所以必须采用层次型结构进行编址。Internet在概念上可分为三个层次,最高层是Internet,第二层是各个物理网络 ,第三层则是各个网络中的主机。 在网络层次结构中,由于Internet具有唯一性,所以在分配地址时没有必要给它留一席之地。这样一来,IP地址由网络号和主机号两部分构成。根据TCP/IP协议规定,IP地址由32比特组成,因此,如何将32比特的信息合理的分配给网络和主机作为编号,是一个很重要的问题。
虽然在Internet中网络数量是一个难以确定的因素,但是每个网络的规模却是比较容易确定的。按照网络规模的大小,可以将IP地址分为五种类型,其中A、B、C是三种主要的类型。除此之外,还有两种类型的网络,一种是专供多目的传送的多目地址D,另一种是扩展备用的地址E。
A类地址的格式见图所示。
由图可知,A类地址的有效网络数是126(除全0和全1外),主机的有效数目是16777214(除全0和全1外),此类地址一般分配给具有大量主机的网络用户,例如IBM公司等。
B类地址格式见图所示:
B类地址的有效网络数是16 384,主机的有效数目是65 534,此类地址一般分配给具有中等规模主机数的网络用户。
C类地址的格式见图所示:
C类地址的有效网络数是2 097 152,主机的有效数目是254,此类地址一般分配给小型的局域网用户。
在TCP/IP协议中,IP地址是以二进制的方式出现的,但这种形势非常不利于人的阅读习惯,因此,为了便于用户阅读和理解IP地址,Internet管理委员会决定用“点分十进制表示法”表示IP地址。32个比特正好是4个字节,每个字节作为一段,共4断,每断的大小用十进制表示,因此其形式为:a.b.c.d 例如,清华大学校园网的WWW服务器的IP地址为166.111.4.100,用二进制表示为:10100110.01101111.00000100.01100100 由此,我们可以看出,这是一个B类地址。
2.2特殊IP地址
前缀 | 后缀 | 地址类型 | 用途 |
全0 | 全0 | 本机 | 启动时使用 |
网络 | 全0 | 网络 | 标识一个网络 |
网络 | 全1 | 直接广播 | 在特定网上广播 |
全1 | 全1 | 有限广播 | 在本地网上广播 |
127 | 任意 | 回送 | 测试 |
2.3路由器和IP编制原则
2.4子网的划分
子网掩码(subnet mask)又叫网络掩码、地址掩码、子网络遮罩,它是一种用来指明一个IP地址的哪些位标识的是主机所在的子网以及哪些位标识的是主机的位掩码。子网掩码不能单独存在,它必须结合IP地址一起使用。子网掩码只有一个作用,就是将某个IP地址划分成网络地址和主机地址两部分。
子网的划分
一、利用子网数来计算
在求子网掩码之前必须先搞清楚要划分的子网数目,以及每个子网内的所需主机数目。
1)将子网数目转化为二进制来表示
2)取得该二进制的位数,为 N
3)取得该IP地址的类子网掩码,将其主机地址部分的的前N位置 1 即得出该IP地址划分子网的子网掩码。 如欲将B类IP地址168.195.0.0划分成27个子网:
1)27=11011
2)该二进制为五位数,N = 5
3)将B类地址的子网掩码255.255.0.0的主机地址前5位置 1,得到 255.255.248,即为划分成 27个子网的B类IP地址 168.195.0.0的子网掩码。
二、利用主机数来计算
1)将主机数目转化为二进制来表示
2)如果主机数小于或等于254(注意去掉保留的两个IP地址),则取得该主机的二进制位数,为 N,这里肯定 N<8。如果大于254,则 N>8,这就是说主机地址将占据不止8位。
3)使用255.255.255.255来将该类IP地址的主机地址位数全部置1,然后从后向前的将N位全部置为 0,即为子网掩码值。
如欲将B类IP地址168.195.0.0划分成若干子网,每个子网内有主机700台:
1) 700=1010111100
2)该二进制为十位数,N = 10
3)将该B类地址的子网掩码255.255.0.0的主机地址全部置 1,得到255.255.255.255,然后再从后向前将后 10位置0,即为: 11111111.11111111.11111100.00000000,即255.255.252.0。这就是该欲划分成主机为700台的B类IP地址 168.195.0.0的子网掩码。
值得注意的是,当前Internet上使用的IP地址是在1978年确立的协议,称为IPV4.尽管这个协议在理论上大约有43亿(232)个 IP地址,但并不是所有的IP地址都得到了充分的利用。由于历史形成的原因,美国的一些机构往往被划分成A类地址,但他们并没有充分利用其中的地址资源,而其他国家的Internet系统则厂被划分为C类地址而不够使用。因此,Internet工程部(IETF)又提出了新的IP协议版本IPV6,将IP地址空间扩展到128位。在未来的日子里,IPV4将以渐进的方式过渡到IPV6。
2.5 IPV6
IPv6在1998年12月被互联网工程任务小组(Internet Engineering Task Force,简称IETF)通过公布互联网标准规范(RFC 2460)的方式定义出台。 IPv6使用了128位的地址,具有比IPv4大得多的地址空间,支持2128(约3.4 ×1038)个地址。这一扩展提供了灵活的地址分配以及路由转发,并消除了对网络地址转换(NAT)的依赖。就以地球人口70亿人计算,每人平均可分得约4.86 x 1028个IPv6地址。
在很多场合,IPv6地址由两个逻辑部分组成:一个64位的网络前缀和一个64位的主机地址,主机地址通常根据物理地址自动生成,叫做EUI-64(或者64-位扩展唯一标识) IPv6二进位制下为128位长度,以16位为一组,每组以冒号":"隔开,可以分为8组,每组以十六进制方式表示。例如: 2001:0db8:85a3:08d3:1319:8a2e:0370:7344
IPv6分组由两个主要部分组成:头部和负载。 包头是包的前40字节并且包含有源和目的地址,协议版本,通信类别(8位,包优先级),流标记(20位,QoS服务质量控制),负载长度(16位),下一个头部(用于向后兼容性),和跳段数限制(8位,生存时间,相当于IPv4中的TTL)。后面是负载,至少1280字节长,或者在可变MTU(最大传输单元)大小环境中这个值为1500字节。负载在标准模式下最大可为65535字节,或者在扩展包头的"jumbo payload"选项进行设置
3.域名系统
在Internet中,由于采用了统一的IP地址,才使得网上任意两台主机能够相互通信。然而,IP地址是一个比较长的数字,对一般用户来说,记住这些抽象的数字式比较困难的。因此,Internet中采用了用字符表示主机地址的方法,这就是域名地址。IP地址与域名的关系,正如每个学生都有一个姓名和学号,人名比学号好记一样。
例如,清华大学校园网的WWW服务器的IP地址为166.111.4.100,其域名地址为:www.tsinghua.edu.cn 其中,www为清华大学的一台WWW服务器,tsinghua表示清华大学,edu表示教育科研网,cn表示中国。因此,从域名上我们大致可以看出主机所在的位置。 Internet中的域名系统采用了层次结构的命名机制
首先由InterNIC划分出若干顶级域名,例如cn(中国)、uk(英国)等地理类域名和美国的各种机构组织(由于Internet的主干网在美国,因此美国的机构域名和其他国家或地区的域名同级,都作为顶级域名),并将各部分域名的管理权交给相应的机构,例如,中国域cn交给国务院信息办公室,国务院信息办公室在负责分配下一级的域名,依次类推······就形成了域名的层次结构
顶级域名通常具有最一般或最普通的含义。顶级域名大体可以分为两类:机构组织类域名和地理类域名,其含义如表所示。 以下列出了一些常用的机构域名及其表示的含义
DNS域名解析过程
第一步:客户机提出域名解析请求,并将该请求发送给本地的域名服务器。
第二步:当本地的域名服务器收到请求后,就先查询本地的缓存,如果有该纪录项,则本地的域名服务器就直接把查询的结果返回。
第三步:如果本地的缓存中没有该纪录,则本地域名服务器就直接把请求发给根域名服务器,然后根域名服务器再返回给本地域名服务器一个所查询域(根的子域)的主域名服务器的地址。
第四步:本地服务器再向上一步返回的域名服务器发送请求,然后接受请求的服务器查询自己的缓存,如果没有该纪录,则返回相关的下级的域名服务器的地址。
第五步:重复第四步,直到找到正确的纪录。 第六步:本地域名服务器把返回的结果保存到缓存,以备下一次使用,同时还将结果返回给客户机。
4.统一资源定位器
统一资源定位器(Uniform Resource Locators)简称URL,是WWW使用的基本编址方法。URL是一种用于识别网络上资源的文本字符串。
URL有两种形式,绝对式和相对式。
绝对式URL的形式为: 协议://主机名[:端口号]/[绝对路径]
协议:所使用的应用协议
主机名:Internet主机域名或IP地址
绝对路径:文档或其他资源的完整路径和名称 相对URL不包括“协议”,在URL的起始处使用如下形式:
/相对路径名 相对路径名是指相对于服务器已知的某些基本路径资源的路径。
以下是一些统一资源定位符协议的例子:
http——超文本传输协议资源
https——用加密传送的超文本传输协议
ftp——文件传输协议 mailto——电子邮件地址
ldap——轻型目录访问协议搜索 file——当地电脑或网上分享的文件
news——Usenet新闻组
gopher——Gopher协议
统一资源定位符的日常使用
超文本传输协议(HTTP)的统一资源定位符将从因特网获取信息的五个基本元素包括在一个简单的地址中: 传送协议、服务器、端口号、(以数字方式表示,若为HTTP的默认值“:80”可省略) 路径(以“/”字符区别路径中的每一个目录名称)、 查询(GET模式的窗体参数,以“?”字符为起点,每个参数以“&”隔开,再以“=”分开参数名称与数据,通常以UTF8的URL编码,避开字符冲突的问题)
典型的统一资源定位符看上去是这样的: http://zh.wikipedia.org:80/w/index.php?title=Internet&printable=yes
其中: http,是协议; zh.wikipedia.org,是服务器; 80,是服务器上的网络端口号; /w/index.php,是路径; ?title=Internet&printable=yes,是查询。
统一资源定位符不但被用作网页地址,数据库终端也使用统一资源定位符服务器连接其服务器。实际上任何终端-服务器程序都可以使用统一资源定位符来连接。 以下是一个数据库的统一资源定位符 jdbc:datadirect:oracle://myserver:1521;sid=testdb
URI可被视为定位符(URL)、名称(URN)或两者兼备。统一资源名(URN)如同一个人的名称,而统一资源定位符(URL)代表一个人的住址。换言之,URN定义某事物的身份,而URL提供查找该事物的方法。
URL(定位符)和URN(名称)方案属于URI的子类,URI可以为URL或URN两者之一或同时是URI和URN。技术上讲,URL和URN属于资源ID;但是,人们往往无法将某种方案归类于两者中的某一个:所有的URI都可被作为名称看待,而某些方案同时体现了两者中的不同部分。