TCP/IP于1973年面世,并于1978年被划分成两个协议,TCP和IP。1983年取代了NCP(Network Control Protocol,网络控制协议)。
3.1 TCP/IP和DoD模型
DoD是美国国防部设计的一个网络模型;是OSI模型的精简版,它包含4层:
- 进程/应用层:-----对应OSI模型的 “ 应用层、表示层、会话层 ”(协议:Telnet、FTP、LPD、SNMP、TFTP、SMTP、NFS、Xwindow)
- 主机到主机层:-----对应OSI模型的 “ 传输层 ”(协议:TCP、UDP)
- 因特网层:-----对应OSI模型的 “ 网络层 ”(协议:ICMP、ARP、RARP、IP)
- 网络接入层:-----对应OSI模型的 “ 数据链路层、物理层 ” (协议:以太网、快速以太网、令牌环、FDDI)
3.1.1 进程/应用层协议
常见协议:
- Telnet(23端口):让远程客户端机器(Telnet客户端)的用户能够访问另一台机器(Telnet服务器)的资源。
- FTP(20、21端口):(File Transfer Protocol,文件传输协议)是协议,亦是程序;功能有:列出和操作目录、输入文件内容以及在主机之间复制文件,不能远程执行程序。需要身份验证登录。使用FTP传输数据时,将随文件请求以明文方式发送用户名和密码,没有加密!!!
TFTP(69端口,UDP):(Trivial File Transfer Protocol,简单文件传输协议)是FTP的简化版。只能发送和接收文件,不需要进行身份验证。
NFS:(Network File System,网络文件系统)是一种致力于文件共享的协议,让两种不同的文件系统能够互操作。
SMTP(25端口):(Simple Mail Transfer Protocol,简单邮件传输协议)用于发送邮件;
POP(110端口):(Post Office Protocol,邮局协议)工作原理:客户端设备连接到POP3服务器后,可下载发送给它的邮件。它不允许选择性地下载邮件。最新版本为POP3,用于接收邮件;
IMAP4:(Internet Message Access Protocol,因特网消息访问协议)可以控制邮件的下载方式,更安全。最新版本为IMAP4,用于接收邮件,它正逐渐取代POP3。
TLS:(Transport Layer Security,传输层安全)及其前身SSL(Secure Sockets Layer,安全套接字)都是加密协议,非常适合用于确保在线数据传输的安全,如Web浏览、即时通信、因特网传真等;
SIP(VoIP):(Session Initiation Protocol,会话发起协议)是一种非常流行的信令协议,用于建立和拆除多媒体通信会话,其应用广泛,可用于因特网上的语音和视频呼叫、视频会议、流媒体分发、即时通信、状态信息(presence information)、在线游戏等。
RTP(VoIP):(Real-time Transport Protocol,实时传输协议)是一种分组格式标准,用于通过因特网传输语音和视频。虽然它最初被设计为一种组播协议,但现在也被用于单播应用程序中。它常被用于流式媒体、视频会议和一键通(push to talk)系统,这使其成了VoIP(Voice over IP,IP语音)行业的事实标准。
LDP:(Line Printer Daemon,行式打印机守护进程)协议设计用于共享打印机。LPD和LPR(Line pinter,行式打印机)程序相互协作,使得能够将打印作业排队并使用TCP/IP将其发送给网络打印机。
X Window:是为客户端/服务器操作设计的,是一种基于GUI(Graphical User Interface,图形用户界面)的客户端/服务器应用程序的协议。其基本思想是,让运行在一台计算机上的客户端程序能够通过窗口服务器显示另一台计算机的内容。
SNMP(161get/162trap端口,UDP):(Simple Network Management Protocol,简单网络管理协议)收集并操作有价值的网络信息;(SNMP v1使用UDP,已经过时;SNMP v2在性能方面做了改进,添加了GET-BULK功能,让主机能够一次获取大量数据。SNMP v3是最新标准,它使用TCP和UDP,进一步提高了安全性和消息完整性、身份验证和加密。)
SSH(22端口):(Secure Shell,安全外壳协议)用于执行如下操作:登录系统、在远程系统中运行程序以及在系统间传输文件等。它在执行这些操作时都使用健壮的加密连接。用于替代rsh、rlogin和Telnet的新一代协议;
HTTP(80端口):(Hypertext Transfer Protocol,超文本传输协议)用于管理Web浏览器和Web服务器之间的通信;
HTTPS(443端口):(Hypertext Transfer Protocol Secure,安全超文本传输协议)使用SSL(Secure Socket Layer,安全套接字层);它是安全版的HTTP,提供了一系列安全工具,可确保Web浏览器和Web服务器之间的通信安全。
NTP(123端口):(Network Time Protocol,网络时间协议)用于将计算机时钟与标准时间源同步;
NNTP:(Network News Transfer Protocol,网络新闻传输协议)是在RFC977中定义的,用于访问Usenet新闻服务器,这种服务器存储了大量称为新闻组的留言板。
SCP:(Secure Copy Protocol,安全复制协议)通过SSH保护文件。它首先在发送主机和接收主机之间建立一条安全的加密连接,并一直保持这种状态,直到文件传输完毕。然而,在当今的网络中,更健壮的SFTP比SCP更常用。
LDAP:(Lightweight Directory Access Protocol,轻量级目录访问协议)该协议对如何访问目录进行了标准化,最新为LDAP v3,也是最常用的。RFC 3377中定义。
IGMP : Internet Group Management Protocol,因特网组管理协议;是一种用于管理IP组播会话的TCP/IP协议;
LPR:(Line pinter,行式打印机)在纯粹的TCP/IP环境中打印时,通常结合使用LPR和LPD来完成打印作业。LPD安装在所有打印设备上,负责处理打印机和打印作业。LPR运行于客户端(发送主机),用于将数据从主机发送到网络打印资源,让你能够得到打印输出。
DNS(53端口,TCP/UPD):Domain Name Service,域名服务;用于解析FQDN(Fully Qualified Domain Name,全限定域名;如www.cisco.com),FQDN是一种层次结构,可根据域名标识符查找系统。(在思科路由器中,可以使用命令# ip domain-name xxx. com 给每个请求加上域名xxx. com,否则必须输入完整域名。)
DHCP/BootP(UDP):(Dynamic Host Configuration Protocol/Bootstrap Protocol,动态主机配置协议/自举协议)DHCP用于给主机分配IP地址,适合各种规模的网络。DHCP与BootP的差别在于,BootP给主机分配IP地址,但必须手工将主机的硬件地址输入到BootP表中。BootP可用于发送操作系统,让主机使用它启动,而DHCP没有这样的功能。
下面是DHCP服务器可提供的信息列表:
· IP地址;
· 子网掩码;
· 域名;
· 默认网关(路由器);
· DNS服务器的地址;
· WINS服务器的地址;
为获得IP地址而发送DHCP发现消息的主机在第2层和第3层都发送广播:
· 第2层广播的地址在十六进制表示下为F,即FF:FF:FF:FF:FF:FF:FF:FF;
· 第3层广播的地址为255.255.255.255,这表示所有网络和所有主机。
- APIPA : Automatic Private IP Addressing,自动私有IP编址;较新的Windows操作系统才有;有了APIPA,客户端可以在DHCP服务器不可用时自动给自己配置IP地址和子网掩码。APIPA使用的IP地址范围为169.254.0.1~169.254.255.254,客户端还会给自己配置默认的B类子网掩码——255.255.0.0
Tips:
- 如果在有DHCP服务器的公司网络中,主机使用了169.254.0.1~169.254.255.254范围内的IP地址,则表明要么主机的DHCP客户端不正常,要么服务器停止运行了或因网络问题而不可达!!!
- FTP的21端口用于连接,20端口用于传输数据进行FTP文件传输,客户端首先连接到FTP服务器,进行用户的认证,认证成功后,要传输文件时,服务器会开一个端口为20来进行传输数据文件。也就是说,端口20才是真正传输所用到的端口,端口21只用于FTP的登陆认证。
- 如果能够使用IP地址ping某台设备,但使用其FQDN不管用,则可能是DNS配置有问题!!!
- 如果检测到地址冲突,相应的IP地址将从DHCP地址池中删除;且在管理员手工解决冲突前,该地址不会被分配给任何主机!!!
3.2 主机到主机层协议(传输层):
该层的两种协议:
· 传输控制协议(TCP)
· 用户数据报协议(UDP)
-
TCP
TCP(Transmission Control Protocol,传输控制协议)接收来自应用程序的大型数据块,并将其划分成数据段。
TCP是一种可靠的精确协议,它采用全双工模式,且面向连接。
发送主机开始沿分层模型向下发送数据段之前,发送方的TCP栈与目标主机的TCP联系,以建立连接。它们创建的是虚电路,这种通信被认为是面向连接的。
TCP数据段的格式
TCP报头长20B(在包含选项时为24B):
· 源端口:发送主机的应用程序的端口号。
· 目标端口:目标主机的应用程序的端口号。
· 序列号:一个编号,TCP用来将数据按正确的顺序重新排列(称为排序)、重传丢失或受损的数据。
· 确认号:TCP期待接下来收到的数据段。
· 报头长度:TCP报头的长度,以32位字为单位。它指出了数据的开始位置,TCP报头的长度为32位的整数倍,即使包含选项时亦是如此。
· 保留:总是设置为0。
· 编码位/标志:用于建立和终止会话的控制功能。
· 窗口大小:发送方愿意接受的窗口大小,单位为字节。
· 校验和:CRC(Cyclic Redundancy Check,循环冗余校验),由于TCP不相信底层,因此检查所有数据。CRC检查报头和数据字段。
· 紧急:仅当设置了编码位中的紧急指针字段时,该字段才有效。
· 选项:长度为0或32位的整数倍。
· 数据:传递给传输层的TCP协议的信息,包括上层报头。
Tips:
从包含的字段数量可知,TCP的开销很大。为节省开销,应用程序的开发人员可能优先考虑效率而不是可靠性,因此UDP可以作为一种替代品。
-
UDP
UDP(User Datagram Protocol,用户数据报协议)是TCP的简化版,也称为瘦协议;
UDP不对数据段排序,也不关心数据段到达目的地的顺序。将数据段发送出去后就不再管它们。它不检查数据段,也不支持表示安全到达的确认,而是完全放手。所以,UDP也被称为不可靠的协议,但这并不意味着UDP效率低下,只意味它根本不会处理可靠性的问题。 另外,UDP不建立虚电路,也不在发送信息前和接收方联系。因此被称为无连接的协议。
UDP数据段的格式
· 源端口号:发送主机的应用程序的端口号。
· 目标端口号:目标主机上被请求的应用程序的端口号。
· 长度:UDP报头和UDP数据的总长度。
· 校验和:UDP报头和UDP数据的校验和。
· 数据:上层数据。
Tips:
与TCP一样,UDP也不信任底层操作并运行自己的CRC。CRC结果存储在FCS(Fram Check Sequence,帧检验序列)字段中。
3.2.1 有关主机到主机层协议的概念
TCP和UDP的重要特征:
TCP:排序、可靠、面向连接、虚电路、确认、使用窗口技术控制流量;
UDP:不排序、不可靠、无连接、低开销、不确认、不使用窗口技术或其他流量控制方式;
Example:
TCP就像打电话,用电话与人通话前,必须首先建立到对方的连接——不管对方在什么地方。这类似于TCP协议使用虚电路。如果你在通话期间给对方提供了重要信息,你可能会问“你知道了吗?”或“你明白了吗?”这相当于TCP确认——设计它旨在让你核实。
相反,使用UDP类似于寄明信片。此时,你无需先与对方联系,而只需要写下要说的话并给明信片写上地址,然后寄出去。这类似于UDP的无连接模式。由于明信片上的话并非生死攸关,你不需要接收方进行确认。同样,UDP也不涉及确认。
3.2.2端口号
TCP和UDP使用端口号与上层通信,因为端口号跟踪通过网络同时进行的不同会话。源端口号是源主机动态分配的,其值不小于1024。
在TCP数据段中,端口号标识了源应用程序(进程)和目标应用程序(进程)。
可使用的各种端口号解释如下:
· 小于1024的端口号为知名端口号,是在RFC3232中定义的;
· 上层使用1024和更大的端口号建立与其他主机的会话,而在数据段中,TCP和UDP将它们用作源端口和目标端口。
- TCP会话:源端口
使用随机端口号(1024~65535),旨在区分与不同主机建立的会话。(如果发送主机与接收主机使用同样的端口号时,对方并不能知道信息来自何方。)
- TCP会话:目标端口
目标端口使用知名端口号(0~1023)。发送syn(同步)分组给目标设备,告诉远程设备,它想建立一个会话。
-
TCP会话:对同步分组的确认
Ack is valid表明目标设备接受了源端口,并同意建立一条到源主机的虚电路。
使用TCP和UDP的重要协议:
TCP | UDP | ||
---|---|---|---|
-协议- | 端口 | -协议- | 端口 |
Telnet | 23 | SNMP | 161 |
SMTP | 25 | TFTP | 69 |
HTTP | 80 | DNS | 53 |
FTP | 20、21 | BootP/DHCP | 67 |
DNS | 53 | ||
HTTPS | 443 | ||
SSH | 22 | ||
POP3 | 110 | ||
NTP | 123 | ||
IMAP4 | 143 |
Tips:
1. DNS可使用TCP和UDP,具体使用哪个取决于要做什么!
2. 让TCP可靠的是排序、确认和流量控制(窗口技术);UDP不可靠。
3. 数据链路层和网络层协议分别使用硬件地址和逻辑地址标识发送主机,TCP和上层协议使用端口号。
3.3 因特网协议
在DoD模型中,因特网层的作用有两个:路由选择以及提供单个到上层的网络标记。
在网络中,并非条条道路通罗马,而是条条道路通IP,因特网以及上层的所有协议都使用IP。(DoD模型中,所有路径都穿越IP。)
因特网层的协议有:
- 因特网协议(IP);
- 因特网控制消息协议(ICMP);
- 地址解析协议(ARP);
- 逆向地址解析协议(RARP);
- 代理ARP;
- 免费ARP。
-
IP
IP(Internet Protocol,因特网协议)相当于因特网层,该层的其他协议都只是为它提供支持。网络中的所有机器都有一个IP地址,所以它了解所有互联的网络。
IP接收来自主机到主机层的数据段,并在必要时将其划分成数据报(分组)。在接收端,IP将数据报重组成数据段。每个数据段都包含发送方和接收方的IP地址,路由器收到数据报后,将根据分组的目标IP地址做出选择决策。
IP报头包含如下字段:
· 版本:IP版本号;
· 报头长度:报头的长度,单位为32位字;
· 优先级和服务类型:服务类型指出应如何处理数据报。前3位为优先级位,当前称为区分服务位;
· 总长度:整个分组的长度,包括报头和数据;
· 标识:唯一的IP分组值,用于区分不同的数据报;
· 标志:指出是否进行了分段;
· 分段偏移:在分组太大,无法放入一个帧中时,提供了分段和重组功能。它还使得因特网上可有不同的MTU(Maximum Transmission Unit,最大传输单元);
· 存活时间:生成分组时给它指定存活时间。如果分组到达目的地之前TTL就已到期,分组将被丢弃。这可避免IP分组因寻找目的地不断在网络中传输。
· 协议:上层协议的端口(TCP为端口 6,UDP为端口 17)。还支持网络层协议,如ARP和ICMP(在有些分析器中,该字段为 “Type” 字段);
· 报头校验和:对报头执行CRC的结果;
· 源IP地址:发送方的32位IP地址;
· 目标IP地址:接收方的32位IP地址;
· 选项:用于网络测试、调试、安全等;
· 数据:位于选项字段后,为上层数据。
Tips:
类型(type)字段很重要,该字段通常为协议字段,但有些分析器会将其视为IP Type字段。这个类型字段告诉IP将数据段交给TCP还是UDP。(因为报头如果没有包含下一层的协议信息,IP将不知道如何处理分组中的数据。)
协议字段中指定的常见协议:
协议 | 协议号 |
---|---|
ICMP | 1 |
IP in IP(隧道技术) | 4 |
TCP | 6 |
IGRP | 9 |
UDP | 17 |
EIGRP | 88 |
OSPF | 89 |
IPv6 | 41 |
GRE | 47 |
L2TP(第2层隧道) | 115 |
-
ICMP
ICMP(Intertel Control Message Protocol,因特网控制消息协议)运行在网络层;
ICMP是一种管理协议,为IP提供消息收发服务,其消息是以IP数据报的形式传输的。
RFC 1256是一个ICMP附件,给主机提供了发现前往网关的路由的功能。
ICMP分组具有如下特征:
- 可向主机提供有关网络故障的信息;
- 封装在IP数据报中;
ICMP常见事件和消息:
- 目标不可达:如果路由器不能再向前转发IP数据报,它将使用ICMP向发送方发送一条消息,以通知这种情况。
- 缓冲区已满:如果用于接收数据报的路由器内存缓冲区已满,路由器将使用ICMP发送这种消息,直到拥塞解除。
- 超过跳数/时间:对于每个IP数据报,都指定了它可穿越的最大路由器数量(跳数)。如果数据报还未达到目的地就达到了该上限,最后一台收到该数据报的路由器将把它删除。然后,该路由器将使用ICMP发送一条讣告,让发送方知道其数据报已被删除。
- Ping: Packet Intertel Groper(Ping)使用ICMP回应请求和应答消息,以检查互联网络中机器的物理连接性和逻辑连接性。
- Traceroute: Traceroute使用ICMP超时来发现分组在互联网络中传输时经过的路径。
Tips:
1. Ping 和 Traceroute(也叫Trace,Microsoft Windows称之为tracert)都让你能够验证互联网络的地址配置。
2. 所有数据段或数据都必须通过IP传送。
-
ARP
ARP(Address Resolution Protocol,地址解析协议)将IP地址解析为以太网(MAC)地址。
当一个IP需要发送数据报时,它必须将目标端的硬件地址告知网络接入层协议(如以太网或无线;上层协议已经将目标端的IP地址告诉它。)如果IP在ARP缓存中没有找到目标主机的硬件地址,它将使用ARP获悉这种信息。
作为IP的侦探,ARP将对本地网络发送广播(此时目标为FF:FF:FF:FF:FF:FF),要求特定IP地址的机器使用其硬件地址进行应答。
-
RARP
RARP(Reverse Address Resolution Protocol,逆向地址解析协议)将以太网(MAC)地址解析为IP地址。
Tips:
如果IP主机为无盘计算机,它只知道自己的MAC地址,并不知道自己的IP地址,此时它将使用RARP来获悉其IP地址。(由RARP服务器的专用机器作出响应)
-
代理ARP
在网络中,我们不能给主机配置多个默认网关。当默认网关(路由器)发生故障,主机将不能自动将数据发送给另一台路由器,必须重新配置主机的默认网关;代理ARP可以帮助主机前往远程子网,而无需配置路由选择甚至默认网关。
代理ARP的优点:
可在网络中的一台路由器上启用它而不影响网络中的其他路由器的路由选择表。
代理ARP的缺点:
使用代理ARP将增加网段中的流量,而为处理所有的IP地址到MAC地址的映射,主机的ARP表比通常情况下大。
Tips:
1. 默认情况下,所有思科路由器都配置了代理ARP。
2. 代理ARP并非一种独立的协议,而是路由器代表其他设备(通常是PC)运行的一种服务。
3.4 IP编址
IP地址是分配给IP网络中每台机器的数据标识符,它指出了设备在网络中具体位置。
IP地址是软件地址,而不是硬件地址。硬件地址被硬编码到网络接口卡(NIC)中,用于在本地网络中寻找主机。IP地址让一个网络中的主机能够与另一个网络中的主机通信,而不管这些主机所属的LAN是什么类型的。
3.4.1 IP术语
比特:一个比特相当于一位,其取值为1或0;
字节:1 B为7或8位,这取决于是否使用奇偶校验;
八位组(Octet):由8位组成,是普通的8位二进制数;
网络地址: 在路由选择中,使用它将分组发送到远程网络,如10.1.1.2;
广播地址: 应用程序和主机用于将信息发送给网络中所有节点的地址;如:255.255.255.255表示所有网络中的所有节点;10.255.255.255表示网络10.0.0.0中的所有子网和主机;
3.4.2 层次型IP编址方案
IP地址长32位,这些位被划分成4组,每组8位(称为8位组)。
描述IP地址的三种方法:
点分十进制表示,如 172.16.30.56。
二进制,如 10101100.00010000.00011110.00111000。
十六进制,如AC.10.1E.38
为了高效的进行路由选择,IP地址使用包含2层或3层的层次型编址方案,即地址由网络部分和主机部分组成,或者网络部分、子网部分和主机部分组成。
网络地址(也叫网络号)唯一地标识网络。在同一个网络中,所有机器的IP地址都包含相同的网络地址。如172.16.30.56,172.16为网络地址;
网络中的每台机器都有节点地址(也叫主机地址),节点地址唯一地标识了机器。这部分IP地址必须是唯一的,因为它标识特定的机器(个体)而不是网络(群体)。如172.16.30.56中,30.56为节点地址。
-
A类网络地址范围
RFC规定,A类网络地址的第一个字节的第一位必须为0;
00000000 = 0
01111111 = 127
取值:0 ~ 127
-
B类网络地址范围
RFC规定,B类网络地址的第一个字节的第一位必须为1,第二位必须为0;
10000000 = 128
10111111 = 191
取值:128 ~ 191
-
C类网络地址范围
RFC规定,C类网络地址的第一个字节的前两位必须为1,而第三位必须为0。
11000000 = 192
11011111 = 223
取值:192 ~ 223
-
D类和E类网络地址范围
D类(224 ~ 239)用作组播地址;
E类(240 ~ 255)用于科学用途;
-
具有特殊用途的地址
· 网络地址全为0:表示当前网络或网段;
· 网络地址全为1:表示所有网络;
· 地址127.0.0.1:保留用于环回测试。表示当前节点,能够给自己发送 测试分组而不会生成网络流量;
· 节点地址全为0:表示网络地址或指定网络中的任何主机;
· 节点地址全为1:表示指定网络中的所有节点;如128.2.255.255,表示128.2这个B类地址中的所有节点;
· 整个IP地址全为0:思科路由器用它来指定默认路由,也可能表示任何网络
· 整个IP地址全为1:到当前网络中所有节点的广播,有时称为“全1广播”或限定广播;
- A类地址
在A类地址中,第一个字节为网络地址,余下的3B为节点地址。格式如下:
network . node . node . node
例如:49.22.102.70中,49为网络地址,22.102.70为节点地址。在该网络中,
每台机器的网络地址都为49;
其中全0网络地址(0000 0000)被保留用于指定默认路由。127被保留用于诊断,意味意着A类地址只有1 ~ 126能使用。
A类地址可用的节点数为:2的24次方 - 2 = 16777216;(减2的意思是全0和全1的保留地址,即一个A类网段可以有16777216台主机)
A类网络的合法主机ID
以10开头这个A类地址演示:
· 所有主机位都为0时,得到的是网络地址:10.0.0.0
· 所有主机位都为1时,得到的是广播地址:10.255.255.255
合法的主机ID为网络地址和广播地址之间的地址:10.0.0.1 ~ 10.255.255.254;(主机位不能都为0,也不能都为1)
- B类地址
前2B为网络地址,余下的2B为节点地址;
network . network . node . node
例如:172.16.30.56中,172.16为网络地址,30.56为节点地址;
B类地址可用的节点数为:2的14次方 - 2 = 16384
合法主机ID:172.16.0.1 ~ 172.16.255.254
- C类地址
前3B为网络地址,余下的1B为节点地址;
network . network . network . node
例如:192.168.100.102,192.168.100为网络地址,102为节点地址;
C类地址可用的节点数为:2的8次方-2=254
合法主机ID:192.168.100.1 ~ 192.168.100.254
3.4.3 私有IP地址
私有IP地址可用于私有网络,但在因特网中不可路由。
私有地址旨在提供一种亟需的安全措施,也可节省宝贵的IP地址空间。
需要使用NAT(Network Address Translation,网络地址转换)将私有地址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
3.5 IPv4地址类型
DCHP客户端通过广播来获取IP地址,路由器使用单播分组将该广播转发给DHCP服务器。在IPv4中,广播非常重要,而在IPv6则根本不需要发送广播。
定义的4种IPv4地址:
• 第2层广播地址:表示LAN中的所有节点;
• 广播(第3层):地址 表示网络中的所有节点;
• 单播地址:这是特定接口的地址,用于将分组发送给单个目标主机;
• 组播地址:用于将分组传输到不同网络中的众多设备,常用一对多来形容。
3.5.1 第2层广播
第2层广播地址也叫硬件广播,它们只在当前LAN内传输,而不会穿越LAN边界(路由器)。
典型的硬件地址长6B(48位),如 45:AC:24:E3:60:A5。使用二进制表示时,该广播地址全为1,而使用十六进制表示时全为F,即FF:FF:FF:FF:FF:FF。
3.5.2 第3层广播
广播消息是发送给广播域中所有的主机,其目标地址的主机位全为1,如172.16.0.0/16,其广播地址为172.16.255.255。广播也可以发送给所有网络中的主机,如255.255.255.255。
典型的广播消息是地址解析协议(ARP)请求;当主机需要发送分组,且知道目的地的逻辑地址(IP)。如果目的地位于另一个IP网络中,主机需要将分组转发给默认网关。如果目的地位于当前网络中,源主机将把分组直接转发到目的地。由于源主机没有转发帧所需的MAC地址,此时它将发送ARP广播询问目的地的MAC地址,当前广播域中的所有设备都将侦听该广播。(广播相当于在说:如果你拥有IP地址192.168.2.3,请将MAC地址告诉我。)
3.5.3 单播地址
单播地址是分配给网卡的IP地址,在分组中用作目标地址;(它将分组传输到特定的主机)
使用# ip helper-address 命令配置接口,可启用路由器的中继功能。
3.5.4 组播地址
组播让多个接收方能够接收消息,却不会将消息传递给广播域中的所有主机。(非默认,需要正确配置)
组播工作流程:
将数据发送给IP组播组地址,路由器将分组的副本从每个这样的接口转发出去,给订阅了该组播的主机。(即组播通信只会将分组副本发送给订阅主机。这不同于广播,路由器不转发广播)。理论上说,指的是主机将收到发送给224.0.0.10的组播分组(EIGRP分组,只有运行EIGRP协议的路由器才会读取它)。广播型LAN(以太网是一种广播型多路访问LAN技术)中的所有主机将接收这种帧,读取其目标地址,然后马上丢弃——除非它是组播组的成员。这节省了PC的处理周期,但没有节省LAN带宽。组播有时会导致严重的LAN拥塞。
组播地址范围为 224.0.0.0 ~ 239.255.255.255 (位于D类IP地址空间内)
Tips:
1. 32位的IP地址是一种结构化(层次型)地址。总数为2的32次方,即43亿个;
2. **IP地址127.0.0.1用于测试一个节点上的IP栈,不能用作主机地址。**
3. 公司组网建议使用A类私有地址,并使用/24的掩码(10.1.x.0),因为它提供了最大的灵活性和扩容空间。
4. 组播亦支持点到多点通信。
5. 用户和应用程序可加入多个组播组。