第三章 TCP/IP
目录
扉页
TCP/IP的模型:
L7-L4被统称为协议层(Protocol),详分两层:
应用层(Application):OSI的L7应用层+L6表示层+L5会话层;
传输层(transport);OSI的L4传输层;
L3-L1被统称为网络(Network),详分两层:
Internet服务层(Internet):OSI的L3网络层;
网络协议层(Network Access):OSI的L2链路层+L1物理层;
结论:OSI模型是按照数据的变化分层,TCP/IP按照网络的结构分层。
端口 服务名称与内容
20 FTP-data,文件传输协议所使用的主动数据传输端口口
21 FTP,文件传输协议的命令通道
22 SSH,较为安全的远程联机服务器
23 Telnet,早期的远程联机服务器软件
25 SMTP,简单邮件传递协议,用在作为 mail server 的埠口
53 DNS,用在作为名称解析的领域名服务器
80 WWW,这个重要吧!就是全球信息网服务器
110 POP3,邮件收信协议,办公室用的收信软件都是透过他
443 https,有安全加密机制的WWW服务器
TCP/IP简介
要点
描述网络是如何工作的
l 描述在OSI和TCP模型中协议的作用和基本功能
l 使用分层模型的方法,识别并纠正第1、第2、第3和第7层常见的网络问题
实现IP寻址方式和IP服务来满足中等规模企业的分支办公网中的网络要求
l 描述使用私有和公共IP地址寻址的性能和好处
传输控制协议/因特网协议(TCP/IP)组是由美国国防部(DoD)所创建的,主要用来确保数据的完整性及在毁灭性战争中维持通信。
3.1、TCP/IP简史
TCP/IP于1973年面世,并于1978年被划分成两个协议:TCP和IP。1983年,TCP/IP取代了NCP(Network Control Protocol,网络控制协议),并被批准成为官方数据传输方式,用于任何连接到ARPnet的网络。
大部分TCP/IP开发工作都是由位于加州北部的加州大学伯克利分校完成的。
3.2、TCP/IP和DOD模型
DoD模型基本上是OSI模型的一个浓缩版本,它只有4个层次,而不是7个,它们是:
l 过程/应用层
l 主机到主机层
l 因特网层
l 网络接入层
DoD模型和OSI模型的比较
DoD模型 |
OSI模型 |
过程/应用层 |
应用层 |
表示层 |
|
会话层 |
|
主机到主机层 |
传输层 |
因特网层 |
网络层 |
网络接入层 |
数据链路层 |
物理层 |
注:当在IP栈中来描述不同的协议时,OSI模型和DoD模型中的层是可以互换的。换句话说,因特网层和网络层描述的是相同的事情,主机到主机层和传输层也是同样的。
过程/应用层定义了结点到结点的应用通信协议以及对用户界面规范的控制。
主机到主机层的功能类似于OSI模型中传输层的功能,它所定义的协议为应用程序提供了在传输层面上的服务。它主要解决了如何创建可靠的端到端的通信,并确保对数据传送是无差错的。它保证了数据包的顺序传送及数据的完整性。
因特网层对应于OSI模型的网络层,,它所包含的协议涉及数据包在整个网络上的逻辑传输。它注重通过赋予主机一个IP(因特网协议)地址来完成对主机的寻址,它还负责数据包在多种网络中的理由。
在DoD模型的底部是网络接入层,它负责监视数据在主机和网络之间的交换。它等价于OSI模型的数据链路层和物理层,网络接入层检查硬件地址并定义数据的物理传输协议。
l FTP
l TFTP
l NFS
l SMTP
l LPD
l X Window
l SNMP
l DNS
l DHCP/BootP
OSI 7层参考模型 |
DoD层次结构 |
TCP/IP协议组件 |
|
|||||
应用层 |
过程/应用层 |
Telnet |
FTP |
LPD |
SNMP |
|
||
表示层 |
||||||||
TFTP |
SMTP |
NFS |
X Window |
|||||
会话层 |
|
|||||||
传输层 |
主机到主机层 |
TCP |
UDP |
|
||||
网络层 Internet层 |
因特网层 |
ICMP |
ARP |
RARP |
||||
IP |
||||||||
数据链路层 |
网络接入层 |
Ethernet |
Fast Ethernet |
Token Ring |
FDDI |
|
||
物理层 |
|
|||||||
|
Telnet
Telnet是协议中的变色龙,它的特别之处在于它对终端的仿真。它允许一个用户在远程客户端(被称为Telnet客户)访问另一台机器(称为Telnet服务器)上的资源。Telnet是通过在Telnet服务器上运行并且在客户端显示操作结果来实现控制的,就好像是一个本地连接在本地网络上的操作终端。这个显示结果实际上是一个软件处理的映像,即一个虚拟终端,一个可以同远程被选择主机进行交互控制的虚终端。
这些仿真终端是一些基于文本模式类型的终端,它可以执行一些精心编制的程序,如带有可以给用户提供多种选项菜单的程序,并且它还可以在登录的服务器上访问一些应用程序。用户可以通过运行Telnet客户端软件来打开一个Telnet会话,并且登录到Telnet服务器上。
FTP
文件传输协议(FTP)实际上就是传输文件的协议,它可以应用在任意两台主机之间。但是FTP不仅仅是一个协议,它同时也是一个程序。作为协议,FTP是被应用程序所使用的;而作为程序,用户需要通过手动方式来使用FTP并完成文件的传送。FTP允许执行对目录和文件的访问,并且可以完成特定类型的目录操作,例如将文件重新定位到不同的目录中。显然,FTP是与Telnet合作一同来完成对FTP服务器的登录操作,并在这之后再开始提供文件传送服务的。
然而,通过FTP访问主机这只是第一步。随后,用户必须通过一个由系统管理员为保护系统资源而设置的安全登录认证,这个认证需要输入正确的口令和用户名。但是也可以通过使用用户名“anonymous”来尝试登录,当然,通过这种方式完成登录后,所能访问的内容将会受到某些限制。
即使FTP可以被用户以应用程序的方式来使用,FTP的功能也只限于列表和目录操作、文件内容输入,以及在主机间进行文件拷贝,它不能远程执行程序文件。
简单文件传输协议(TFTP)
简单文件传输协议(TFTP)是FTP的简化版本,只有在你确切地知道想要得到的文件名及它的准确位置时,才可有选择地使用TFTP。TFTP是一个非常易用的、快捷的程序!TFTP并不提供像FTP那样的强大功能。TFTP不提供目录浏览的功能,它只能完成文件的发送和接收操作。这个紧凑的小协议在传送的数据单元上也是节省的,它发送比FTP更小的数据块,同时它也没有FTP所需要的传送确认,因而它是不可靠的。正是由于这个内在的安全风险,事实上只有很少的站点支持TFTP服务。
网络文件系统(NFS)
网络文件系统(NFS)在文件共享中是一个特殊的协议珍宝。它允许两个不同类型的文件系统实现互操作。它的工作机理是这样的:假设NFS服务器软件运行在NT服务器上,而NFS客户端软件则运行在一台UNIX主机上。NFS允许在NT服务器上划分出一部分RAM来透明地存放UNIX文件,而这些文件可以被一些UNIX用户使用。即使NT文件系统和UNIX文件系统是完全不同的(它们有不同的大小写敏感性、文件名长度、安全保障等),UNIX用户和NT用户也依然可以以他们习惯的方式来使用他们常用的文件系统,访问同一个文件。
简单邮件传输协议(SMTP)
简单邮件传输协议(SMTP)对应于我们普遍使用的被称为E-mail的应用,它描述了邮件投递中的假脱机、排列及方法。当某个邮件被发往目的端时,它将先被存放在某个设备上,通常是一个磁盘。目的端的服务器软件负责定期检查信件的存放队列。当它发现有信件来时,会将它们投递到目的方。SMTP用来发送邮件,POP3又来接收邮件。
行式打印机守护进程(LPD)
行式打印机守护进程(LPD)协议设计用于实现打印机共享。LPD和LPR(行式打印机程序)允许将打印任务发送到打印池中,再使用TCP/IP发送到网络打印机上。
X Window
为客户/服务器操作而设计,X Window定义了一个编写基于图形化用户界面(GUI)的客户/服务器应用程序的协议。它允许在一台计算机上运行一个被称为客户的程序,并使它可以在另一台计算机上显示一个所谓窗口服务器的程序。
简单网络管理协议(SNMP)
简单网络管理协议(SNMP)采集并使用一些有价值的网络信息。它通过从管理站定期或不定期地轮询网络上的设备来获取数据,并要求这些设备透露某些与管理有关的信息。当所有设备工作正常时,SNMP会接收到被称为基线的信息,即一个界定健康网络运转特性的报告。这个协议也可以被描述为整个网络的看门狗,它可以很快地通告管理人员任何突然事件的发生。这些网络看门狗被称为代理,并且当一个故障发生时,这些代理会发送一个称为陷阱的警告给管理站。
域名服务(DNS)
域名服务(DNS)可以解析主机名,特别是Internet名,如www.routersim.com。不一定非要使用DNS,完全可以通过只输入任一设备的IP地址来与之进行通信。网络中的IP地址用来标识网络中的某台主机,这在因特网中也是同样的。然而,DNS的设计会使我们的生活变得更轻松。想象一下,假如有一天你想将自己的Web页迁移到另一个不同的服务提供商那里,这时会发生什么呢?这个Web页面的IP地址将会发生变化,没有人会知道新的IP地址是什么。DNS允许你使用域名来指定某个IP地址。这样,就可以在需要时经常变更这个IP地址,并且没有人会感觉到这中间的不同。
DNS是用于解析完全合格域名(FQDN),例如:www.lanmle.com或todd.lammle.com。FQDN是一个分层的结构,它可以基于域标识符来逻辑定位一个系统。
如果要解析名称“Todd”,必须要输入todd.lammle.com这样一个完整的FQDN,或者需要一个像PC或路由器这样的设备来负责添加这个前缀。例如:在Cisco路由器上,可以使用命令ip domain name lammel.com来为每个请求附加lammle.com域。如果不这样做,将不得不输入FQDN来让DNS解析这个名字。
关于使用DNS需要记住的是,如果可以使用IP地址ping到某个设备,但却不能使用它的FQDN来完成同样的工作,那么,很可能存在着某种DNS配置上的失误。
动态主机配置协议(DHCP)/引导协议(BootP)
动态主机配置协议(DHCP)可以为主机分配IP地址。它可以工作在小型甚至超大型网络环境中,并使得对这些网络的管理和操作更为简单、更为容易。几乎所有类型的硬件都可以被用作DHCP服务器,其中也包括Cisco路由器。
DHCP与BootP的不同点在于,BootP也可以完成给主机分配IP地址的任务,但它要求主机的硬件地址必须被手工输入到BootP表中。可以将DHCP看成是一个动态的BootP。但是,要记住的是,BootP还可以将用来引导主机的操作系统发送给主机。而DHCP却不能。
然而,当主机从DHCP服务器请求分配一个IP地址时,DHCP可以为这个主机提供多种不同的服务信息。DHCP提供的信息列表:
l IP地址
l 子网掩码
l 域名
l 默认网关(路由器)
l DNS
l WINS信息
DHCP服务器可以给我们提供比这更多的信息,这里列出是最常用的。
为了收到一个IP地址,发送DHCP发现信息的客户会发送给出第2层和第3层上的广播。第2层的广播是十六进制的全F,即看上去是FF:FF:FF:FF:FF:FF。第3层上的广播是255.255.255.255,指向所有网络和所有主机。DHCP是无连接的,它在传输层(即主机到主机层)使用用户数据报协议(UDP)
主机到主机层协议
主机到主机层协议主要目的是将上层的应用程序从网络传输的复杂性中分离出来。在这一层可以对它的上层说:“只需给我你的数据流,它的结构可以是任意的,让我来负责这些数据的发送准备。”
两个协议:
l 传输控制协议(TCP)
l 用户数据报协议(UDP)
此外,我们还将了解一些主机到主机层协议的概念,如端口号。
记住这里仍然被视为第4层,并且Cisco也愿意以这一方式来看待它,这样,就可以使用确认、序号和流量控制等概念
传输控制协议(TCP)
传输控制协议(TCP)通常从应用程序中得到大段的信息数据,然后将它分割成若干个数据段。TCP会为这些数据段编号并排序,这样,在目的方的TCP协议栈才可以将这些数据段再重新组成原来应用数据的结构。由于TCP采用的虚电路连接方式,这些数据段在被发送出去后,发送方的TCP会等待接收方TCP给出一个确认性应答,那些没有收到确认应答的数据段将被重新发送。
当发送方主机开始沿分层模型向下发送数据段时,发送方的TCP协议会通知目的方的TCP协议去建立一个连接,也就是所谓的虚电路。这种通信方式被称为是面向连接的。在这个初始化的握手协商期间,双方的TCP层需要对接收方在返回确认应答之前,可以连续发送多少数量的信息达成一致。随着协商过程的深入,用于可靠传输的信道就被建立起来。
TCP是一个全双工的、面向连接的、可靠的并且是精确控制的协议,但是要建立所有这些条件和环境并附加差错控制,并不是一件简单的事情。所以,毫无疑问,TCP是复杂的,并在网络开销方面是昂贵的。然而,由于如今的网络传输同以往的网络相比,已经可以提供更高的可靠性,因此,TCP所附加的可靠性就显得不是那么重要了。
TCP的数据段格式
由于上层只发送一个数据流到传输层的协议中,这里将说明TCP是如何将一个数据流进行分段的,以及它是如何为因特网层进行数据组织的。当因特网层收到该数据流时,会将数据段作为数据包通过互联网络传送。最终这个数据包传递给接收方主机上的主机到主机层协议,在那里数据会被重建为数据流并传递给上层的应用程序或协议。
TCP报头是一个20字节长的段,在带有选型时可以长达24字节。需要了解TCP数据段中的每个字段是什么。
位0 位15位16 位31
|
|||
源端口号(16) |
目的端口号(16) |
||
序列号(32) |
|||
确认应答号(32) |
|||
头长度(4) |
保留(6) |
代码位(6) |
窗口(16) |
校验和(16) |
紧急(16) |
||
选项(0或32,若有的话) |
|||
数据可变 |
|||
24字节
源端口号 主机发送数据应用的端口号
目的端口号 在目的主机上请求应用程序的端口号
序列号 一个由TCP用于将数据编排回原来正确的顺序或用于对丢失或损坏的数据进行重传的编号,这样的处理过程称为顺序控制(排序)
确认应答号 用于说明下一个所期望接收的TCP八位组数据
头长度 在TCP头中包含的32位字的数量。用来指明数据的起始位置。TCP头的长度(即使包含有选项)是一个32位的整数倍。
保留 总是被设置为零
代码位 用于建立及结束会话的控制功能
窗口 是发送方将被允许的发送窗口尺寸,用八进制形式表示
校验和 循环冗余校验(CRC),由于TCP不相信它的低层,因此会检验所有的数据。此CRC用于检验报头和数据字段。
紧急 当紧急指针代码位被设置时为有效字段,如果有效,这个值指明了当前序列号的八位组的偏移值,即第一个非紧急数据的起始位置。
选项 在需要时,可以是0或32位的倍数。也就是说,没有选项存在时,选项的大小为0.然而,如果所使用的选项所占用字段不是32位的整倍数,则需要填充若干个0来确保数据位于32位的边界上。
数据 被传送到传输层的TCP协议的数据,它包含有上层数据的报头。
TCP导致了很大的传输开销。应用程序开发人员可以在满足效率还是可靠性之间选择,以决定如何减少开销,因此,被定义在传输层上的用户数据报协议也可作为一种可供选择的替代方案。
用户数据报协议(UDP)
如果将用户数据报协议(UDP)与TCP做比较,可以认为UDP基本是一个缩小规模的经济化模式,有时也称为瘦协议。瘦协议不会占据太大的空间,从这种意义讲,在网络上UDP不会要求太多的网络带宽。
UDP并不像TCP那样可以提供所有的功能,但它在传送不要求可靠传输的信息方面的确做了很大的贡献,它在完成传输工作时只需要非常少的网络资源(请注意UDP是在RFC768中被定义的)
征求意见文件(RFC)由一系列关于因特网(即最初的ARPAnet)的意见和建议所组成,它起始于1969年。这些意见和建议涉及到计算机通信的许多方面,包括网络协议、规程、程序和概念,同时也包含了一些会议的通知、观点、有时甚至是幽默。
在有些情况下,应用程序开发者会明智的选择UDP而不是TCP。工作在过程/应用层的看门狗SNMP监视网络的运行情况,并发送间歇的数据和有关状态的更新和告警,形成了相对稳定的数据流,在一个大型的网络运作中,情况更会是这样。
如果为每一个短小信息都使用TCP连接,那么这个连接的建立、管理和关闭诸如此类的管理性开销,也将是非常巨大的,减少这样的开销会有益于网络的健康,有效率的网络应该可以及时控制灾难的发生!
另一个要求使用UDP取代TCP的场合是在传输的可靠性已经由过程/应用层来负责时。网络文件系统(NFS)负责它自己的可靠性问题,这时,再使用TCP将是不必要的和多余的。但是最终使用UDP还是TCP的选择取决于应用程序开发者,而不是那些想加快数据传送的用户。
UDP不排序所要发送的数据段,而且不关心这些数据段到达目的方时的顺序。UDP在发送完数据后,就忘记它们。它不去进行这些后续工作,如去核对它们,或者产生一个安全抵达的确认,它完全放弃了可以保障传送可靠性的操作。正因为这样,UDP被称为是一个不可靠的协议。但这并不意味着UDP就是无效率的,它仅表明,UDP是一个不处理传送可靠性的协议。
更进一步讲,UDP不去创建虚电路,并在数据传送前也不联系目的方。正因为这点,又被称为是无连接的协议。由于UDP假定应用程序会保证数据传送的可靠性,因而它不需要对此做任何的工作。这给应用程序开发者在使用因特网协议栈时多提供了一个选择:使用传输可靠的TCP,还是使用传输更快的UDP。
因此,使用语音IP(VoIP),就不再会使用UDP,因为如果数据段未按顺序到达(在IP网络中这是很常见的),那么这些数据段将只会以它们被接收到的顺序传递给下一个OSI(DOD)层面。而与之不同的,TCP则会以正确的顺序来重组这些数据段,以保证秩序上的正确,UDP是不能做到这一点的。
UDP数据段的格式
UDP同TCP的“饥饿”用法相比,UDP明显降低了开销。UDP在其格式中没使用窗口,也没有在UDP头中提供确认应答。
位0 位15位16 位31
UDP数据段的格式 |
|
源端口号(16) |
|
长度(16) |
校验和(16) |
数据(若有的话) |
8字节
源端口号 发送数据主机上应用程序的端口号
目的端口号 目的主机上请求应用程序的端口号
长度 UDP报头和UDP数据的长度
校验和 UDP报头和UDP数据字段两者的校验和
数据 上层数据
同TCP一样,UDP并不信任低层上的操作,它使用自己的CRC检验。记住,帧校验序列(FCS)是用来放置CRC值的字段。
主机到主机层协议的主要概念
TCP和UDP的重要功能 |
|
TCP |
UDP |
排序 |
无序 |
可靠 |
不可靠 |
面向连接 |
无连接 |
虚电路 |
低开销 |
确认 |
无确认 |
窗口流量控制 |
没有窗口或流量控制 |
端口号
TCP和UDP都必须使用端口号来与其上层进行通信,因为它们需要跟踪同时使用网络进行不同的会话过程。发送站的源端口号是由源主机动态指定的,这个端口号将起始于1024。1023及其下面的号码是由RFC 3232所定义的(或只需要浏览www.iana.org),这些端口号通常被称为众所周知的端口号。
不使用带有众所周知端口号的应用程序的虚电路,要从一个指定的范围中随机指定端口号。这些端口号用于在TCP段中区分源主机和目的方主机中的应用程序或进程。
应用层 |
FTP |
Telnet |
Doom |
DNS |
TFTP |
POP3 |
News |
端口号 |
21 |
23 |
666 |
53 |
69 |
110 |
119 |
传输层 |
TCP |
|
UDP |
使用不同的端口号:
l 低于1024的端口号被称为众所周知的端口号,它们是由RFC3232所定义
l 大于等于1024的端口号被上层用来建立与其他主机的会话,并且在TCP数据段中被TCP用来作为源方和目的方的地址。
使用TCP和UDP的主要协议
TCP |
UDP |
Telnet 23 |
SNMP 161 |
SMTP 25 |
TFTP 69 |
HTTP 80 |
DNS 53 |
FTP 21 |
|
DNS 53 |
|
HTTPS 443 |
|
TCP是通过使用序列号、确认和流量控制(窗口)技术来获得可靠性的。而UDP则没有可靠性保证的。
因特网协议
在DoD模型中,设置因特网层有两个主要理由——路由选择和为上层提供一个简单的网络接口。
因特网协议:
l 因特网协议(IP)
l 因特网控制报文协议(ICMP)
l 地址解析协议(ARP)
l 逆向地址解析协议(RARP)
l 代理ARP
因特网协议(IP)
IP是在RFC 791中讨论的
构成IP报头的字段如下:
版本 IP版本号
报头长度 32位字的报头长度(HLEN)
优先级和服务类型 服务类型描述数据报将如何被处理。前3位表示优先级位。
总长度 包括报头和数据的数据包长度
标识 唯一的IP数据包值
标志 说明是否有数据被分段
分段偏移 如果数据包在装入帧时太大,则需要进行分段和重组。分段功能允许在因特网上存在有大小不同的最大传输单元(MTU)。
存活期(TTL) 存活期是在数据包产生时建立在其内部的一个设置。如果这个数据包在这个TTL到期时仍没有到达它要去的目的地,那么它将被丢弃。这个设置将防止IP包在寻找目的地的时候在网络中不断循环。
协议 上层协议的端口(TCP是端口6;UDP是端口17(十六进制))同样也支持网络层协议,如ARP何ICMP。在某些分析器中被称为类型字段。
报头校验和 只针对报头的循环冗余校验(CRC)
源IP地址 发送站的32位IP地址
目的IP地址 数据包目的方站点的32位IP地址
选项 用于网络检测、调试、安全以及更多的内容
数据 在IP选项字段后面的就是上层数据
位0 位15位16 位31
IP报头 |
|||||
版本(4) |
报头长度(4) |
优先级和服务类型(8) |
|
||
标识(16) |
标志(3) |
分段偏移(13) |
|||
存活期(8) |
协议(8) |
报头校验和(16) |
|||
源IP地址(32) |
|||||
目的IP地址(32) |
|||||
选项(0或32,若有的话) |
|||||
数据(可变) |
|||||
20字节
在IP报头的协议字段中可能发现的协议
协议 |
协议号 |
ICMP |
1 |
IP in IP(隧道) |
4 |
IGRP |
9 |
EIGRP |
88 |
OSPF |
89 |
IPv6 |
41 |
GRE |
47 |
第2层隧道(L2TP) |
115 |
因特网控制报文协议(ICMP)
RFC 1256是对ICMP的一个附加说明,它提供了主机可以发现到网关路由的扩展能力。
特性:
l 能为主机提供有关网络故障的信息
l 被封装在IP数据报内
目的不可达 如果路由器不能再向前转发某个IP数据报,这时路由器会使用ICMP传送一条信息返回给发送端来通告这一情况。
缓冲区满 如果路由器用于接收输入数据报的内存缓冲区已经满了,它将会使用ICMP向外发送这个信息,直到拥塞解除
跳 每个数据报都被分配了一个所允许经过路由器个数的数值,被称为跳(hop)
Ping Ping(即数据包的因特网探测)使用ICMP请求及请求回应信息在互联网络上检查计算机间物理和逻辑连接的连通性。
Traceroute 通过使用ICMP的超时机制来发现一个数据包在穿越互联网络时所经历的路径。
说明:Ping 和Traceroute(也被称为Trace,在微软的windows中为tracert命令)都允许在互联网络中验证地址配置的情况。
地址解析协议(ARP)
可以由已知主机的IP地址在网络上查找它的硬件地址。
逆向地址解析协议(RARP)
可以通过发送一个包含有无盘主机MAC地址的数据包来发现该IP地址的身份,并询问与此MAC地址相对应的IP地址。
代理地址解析协议(代理ARP)
只是路由器上运行的一个代表某些其他设备(通常是PC)的服务,尽管主机会以为它们与这些设备共享同一个子网,但实际上这些设备是被某个路由器所分隔开的。
3.3 IP寻址
IP术语
位 一位就是一个数字,要么是1,要么0。
字节 一个字节可以有7位或8位,取决于是否使用了检验位。一直将一个字节假定为8位。
八位位组 就是8位,一个最基本的8位二进制数,术语字节和八位位组是完全可以互换的。
网络地址 将数据包发送到远程网络的路由中使用的名称,例如,10.0.0.0、172.16.0.0和192.168.10.0
广播地址 被应用程序和主机用来将信息发送给网络上所有结点的地址,我们称为广播地址。例如,255.255.255.255用于指向所有网络,所有结点;172.16.255.255,指向网络172.16.0.0上的所有子网和主机;而10.255.255.255,指向网络10.0.0.0上的所有子网和主机。
分层的IP寻址方案
一个IP地址包含有32位信息。这些位通常被分割为4个部分,被称为八位位组或字节,每一部分包含一个字节(8位)。可以用3种方式来描述IP地址:
l 点分十进制,如172.16.30.56
l 二进制,如10101100.00010000.00011110.00111000
l 十六进制,如AC.10.1E.38
分层化寻址优点在于可以处理数量巨大的地址空间,几乎是43亿(32位的地址空间,每一位上可以使用0或1这两种取值,它可以带给你2^32或4294967296种不同的地址表示空间)
网络地址
网络地址(也可以称为网络号)唯一指定了每个网络。同一网络中的每台计算机都共享相同的IP地址,并用它作为自己IP地址的一部分。例如,在IP地址172.16.30.56中,172.16就是这个网络的地址。
结点地址是在一个网络中用来标识每台计算机,它是一个唯一的标识符。这个地址结点部分必须唯一,因为相对于网络(可以把它理解为一个组)而言它是用来独立标识指定计算机。这个结点部分的编号也称为主机地址。在IP地址为172.16.30.56的这个例子中国,30.56就是这个主机的地址。
|
8位 |
8位 |
8位 |
8位 |
A类 |
网络 |
主机 |
主机 |
主机 |
B类 |
网络 |
网络 |
主机 |
主机 |
C类 |
网络 |
网络 |
网络 |
主机 |
D类 |
组播 |
|
|
|
E类 |
研究 |
|
|
|
网络地址范围:A类
格式:网络.结点.结点.结点
全“0”的地址是默认路由,地址“127”用于诊断的,实际可用的网络地址是“2^7-2=128-2=126”
地址中全“0”或全“1”的地址是被保留的,所以实际可用结点地址是“2^24-2=16777214”
00000000=0
011111111=127
0和127在A类地址是不合法的,因有保留地址。
A类中有效的主机ID
l 将所有的主机位都置为off,网络地址10.0.0.0
l 将所有的主机位都置为on,广播地址10.255.255.255
合法的主机号在10.0.0.1到10.255.255.254之间的地址
注意,中间的那些0和255也都是合法的主机ID,需要注意的是主机位的值是不可以同时被全部置为off或全部置为on的。
网络地址范围:B类
格式:网络.网络.结点.结点
实际可用的网络地址是2^(16-2)=2^14=16384
地址中全“0”或全“1”的地址是被保留的,实际可用结点地址2^16-2=65534
B类中有效的主机ID
l 将所有的主机位都置为off,网络地址172.16.0.0
l 将所有的主机位都置为on,广播地址172.16.255.255
合法的主机号在172.16.0.1到172.16.255.254之间的地址
10000000=128
101111111=191
网络地址范围:C类
格式:网络.网络.网络.结点
实际可用的网络地址是2^(24-3)=2^21=2097152
地址中全“0”或全“1”的地址是被保留的,实际可用结点地址2^8-2=256-2=254
C类中有效的主机ID
l 将所有的主机位都置为off,网络地址192.168.100.0
l 将所有的主机位都置为on,广播地址192.168.100.255
l 合法的主机号在192.168.100.0到192.168.100.254之间的地址
11000000=192
110111111=223
网络地址范围:D类和E类
224~255
D类是用于组播的地址(224到239)
E类用于科学实验(240到255)
网络地址:用于特殊目的
保留的IP地址 |
|
网络地址全部为0的地址 |
意指“这个网络或分段” |
网络地址全部为1的地址 |
意指“全部网络” |
网络127.0.0.1 |
被保留用于环回测试。指向本地结点,并且允许该站点发送测试数据包给自己而不产生网络流量。 |
结点地址全部为0的地址 |
意指“网络地址”或指定网络中的任一主机 |
结点地址全部为1的地址 |
意指指定网络上的“所有结点”,例如,128.2.255.255意指指定128.2网络上的“所有结点” |
整个IP地址设置为全0的地址 |
被Cisco路由器用来指向默认路由,也可以指“任意网络” |
整个IP地址设置为全1的地址 (如255.255.255.255) |
在当前网络上对所有结点的广播,有时被称为“全文广播”或受限广播 |
私有IP地址
网络地址转换(NAT)技术,即主要负责获取私有IP地址并将它转换成可在因特网上使用的地址。
被保留的IP地址空间 |
|
地址类 |
被保留的地址空间 |
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 |
广播地址
4种不同类型的广播(即通常的广播术语)
第2层广播 用于局域网上向所有的结点发送数据
广播(第3层) 用于在这个网络向所有的结点发送数据
单播 用于向单一目标主机发送数据
组播 用于将来自单一源的数据包传送给在不同网络上的多台设备
要点
熟记过程/应用层协议 Telnet是一个终端仿真程序,它允许你登录到远程主机并在其上运行程序。文件传输协议(FTP)是一个面向连接的服务,它允许你进行文件传送。简单FTP(TFTP)是一个我无连接的文件传送程序。简单邮件传输协议(SMTP)是一个发送邮件的程序。
熟记主机到主机层协议 传输控制协议(TCP)是一个面向连接的协议,它通过使用确认应答和流量控制提供了可靠的网络服务。用户数据报协议(UDP)是一个无连接协议,它提供了较低的网络开销并被认为是不可靠的。
熟记因特网层协议 因特网协议(IP)是一个无连接协议,它提供了通过互联网络的网络地址和路由。地址解析协议(ARP)可以从已知的IP地址查找硬件地址。逆向ARP(RARP)是从已知的硬件地址查找IP地址。因特网控制报文协议(ICMP)提供了诊断和目的不可达信息。
熟记A类网络地址 IP范围是1-126。默认时它提供了8位的网络寻址和24位的主机寻址。
熟记B类网络地址 IP范围是128-191.默认时它提供了16位的网络寻址和16位的主机寻址。
熟记C类网络地址IP范围是192-223.默认时它提供了24位的网络寻址和8位的主机寻址。
熟记私有地址的范围:
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