多个网络相互连接组成范围更大的网络叫互联网。由于各种网络使用的技术不同,所以网络互联技术就是在不改变原来的网络体系结构的前提下,把一些异构型的网络互相连接构成统一的通信系统,实现更大范围的资源共享。
网络互联设备的作用时连接不同的网络,可以根据它们工作的协议层进行分类:中继器(Repeater)工作于物理层;网桥(Bridge)和交换机(Switch)工作于数据链路层;路由器(Router)工作于网络层;网关(Gateway)工作于网络层以上的协议层。
广域网的互联一般采用在网络层进行协议转换的办法实现,这里使用互联设备叫作网关,更确切的说,是路由器。
因特网中的主要协议是 TCP 和 IP,也称之为 TCP/IP 协议族。
与 OSI/RM 分层的原则不同,TCP/IP 协议族允许同层的协议实体间互相调用,从而完成复杂的控制功能,还允许上层过程直接调用不相邻的下层过程,甚至在有些高层协议中控制信息和数据分别传输,而不是共享同一个协议数据单元。
IP 地址采用点分十进制,其中分为网络位和主机位,一共 32 个字节。
IP 地址分为5类。A、B、C类是常用地址。IP 地址的编码规定全。 表示本地地址,即本地网络或本地主机;全1表示广播地址,任何网站都能接收。所以,除去全。和全1地址外,A 类有126个网络地址,1600 万个主机地址;B类有16382 个网络地址,64000 个主机地址;C类有200万个网络地址,254个主机地址。
五种 IP 地址范围如下:
A. 1.0.0.0~127.255.255.255
B. 128.0.0.0~191.255.255.255
C. 192.0.0.0~223.255.255.255
D. 224.0.0.0~239.255.255.255
E. 240.0.0.0~255.255.255.255
网络掩码与IP地址搭配使用,用于描述一个 IP 地址中的网络部分及主机部分。网络掩码32bits,与32bits的IP地址一一对应,掩码中为 1 的位对应 IP 地址中的网络位;掩码中为 0 的位对应 IP 地址中的主机位。
其中常用 3 种类型的 IP 地址对应的默认掩码地址:
A. 255.0.0.0
B. 255.255.0.0
C. 255.255.255.0
1. 单播(Unicast)
2. 广播(Broadcast)
3. 组播(Multicast)
一种更灵活的寻址方案引入了子网的概念,即把主机地址部分再划分为子网地址和主机地址,形成了三级寻址结构。
划分子网的原因主要是为了解决一些问题:
子网数量和每个子网可用的主机数量:
如何进行子网划分?假设有一个 B 类的地址:172.16.0.0/16,如下图网络位 16 位,主机位 16 位。
网络位借位:网络位向主机位借位,从而使得网络部分的位数加长。
示例 1:将 C 类地址 192.168.1.1/24 进行子网划分,网络位向主机位借1位。
则可以划分为两个子网网断:192.168.1.0~127/25 和 192.168.1.128~255/25。
如何计算:多借的一位可以为0和1,所有可以划分为2个网段。其中每个位段的最小值是网络号;最大值是广播号;如下图所示,并将2进制计算为10进制则可以得到最终的结果。
示例 2:计算 C 类地址 172.16.1.0/27 子网的网络号、广播号及可用 IP 地址。
解题思路:由 .0/27 可知向主机号借了 3 位且网络号都是 0,主机位最小值位网络号,最大值位广播号,除去广播号和网络号的位可用的IP 地址。
IPv4 地址空间中有一部分特殊的地址,为私有 IP 地址,私有 IP 地址不能直接访问公网(Internet),只能在本地使用。
IP 类型 | IP地址空间 | 地址范围 |
---|---|---|
A 类 | 10.0.0.0/8 | 10.0.0.0 ~ 10.255.255.255 |
B 类 | 172.16.0.0 /12 | 172.16.0.0 ~ 172.31.255.255 |
C 类 | 192.168.0.0/16 | 192.168.0.0 ~ 192.168.255.255 |
IP 协议数据报位格式如下:
无类别域间路由(Classless Inter-Domain Routing、CIDR)是一个用于给用户分配IP地址以及在互联网上有效地路由IP数据包的对IP地址进行归类的方法。
可以理解为是 VLSM 子网划分 的逆向过程,其工作原理便是:路由聚合。
CIDR 可以减少骨干路由表的压力、变相可以缓解 IP 地址耗尽。
如下图所示:
RouterB 的路由表是 200.200.192.0/22,而不是像Router A 那样是 4 条路由。
示例:某企业分配给产品部的I地址块为192.168.31.192/26,分配给市场部的IP地址块为192.168.31.160/27,分配给财务部的IP地址块为192.168.31.128/27,那么这三个地址块经过聚合后的地址为?
解题思路:
Interne t控制消息协议 ICMP (internet Control Message Protocol)) 是网络层的一个重要协议。ICMP协议用来在网络设备间传递各种差错和控制信息,并对于收集各种网络信息、诊断和排除各种网络故障等方面起着至关重要的作用。
ICMP 报文是封装在 IP 数据报中传送,因而不保证可靠的提交。
通过不停的发送TTL 从 0 开始递增的报文获取到目的地址间的每一跳路由。
地址解析协议,即 ARP(Address Resolution Protocol),是根据IP地址获取物理地址的一个TCP/IP协议。
主机发送信息时将包含目标 IP 地址的 ARP 请求广播到局域网络上的所有主机,目标主机接收返回消息,以此确定目标的物理地址;
收到返回消息后将该 IP 地址和物理地址存入本机 ARP 缓存中并保留一定时间,下次请求时直接查询ARP缓存以节约资源。
如主机A 想向主机C 通信,但是只知道主机C 得 IP 地址,还缺少 MAC 地址。故主机A 会发一个 ARP 的广播报文。
主机C 收到 ARP 报文,发现自己的 IP 是主机A 通信的目标IP,则会回复一个报文给主机A (此时使用单播),告诉自己的 MAC 地址。
地址解析协议是建立在网络中各个主机互相信任的基础上的,局域网络上的主机可以自主发送ARP应答消息,其他主机收到应答报文时不会检测该报文的真实性就会将其记入本机ARP缓存。
由此攻击者就可以向某一主机发送伪ARP应答报文,使其发送的信息无法到达预期的主机或到达错误的主机,这就构成了一个ARP欺骗。ARP命令可用于查询本机ARP缓存中IP地址和MAC地址的对应关系、添加或删除静态对应关系等。
在TCP/IP 协议族中有两个传输协议,即传输控制协议 (Transmission Control Protocol, TCP)和用户数据报协议 (User Datagram Protocol, UDP)。TCP 是面向连接的,而 UDP 是无连接的。
ICP 协议提供面向连接的、可靠的传输服务,适用于各种可靠的或不可靠的网络。TCP 用户送来的是字节流形式的数据,这些数据缓存在TCP 实体的发送缓冲区中。
一般情况下,TCP 实体自主地决定如何把字节流分段,组成TPDU 发送出去。在接收端,也是由TCP 实体决定何时把积累在接收缓冲区中的宇节流提交给用户。
分段的大小和提交的频度是由具体的实现根据性能和开销权衡决定的,TCP 规范中没有定义。显然,即使两个 TCP 实体的实现不同,也可以互操作。
TCP 的拥塞控制涉及重传计时器管理和窗口管理,其目的是有流控机制配合,缓解互联网的通信紧张问题。
1. 重传计数器管理
TCP 实体管理着多种定时器(重传定时器、放弃定时器等),用于确定网络传输时延和监
视网络拥塞情况。
定时器的时间界限涉及网络的端到端往返时延,静态计时方式不能适应网络通信瞬息万变的情况,所以大多数实现都是通过观察最近一段时间的报文时延来估算当前的往返时间。
2. 慢启动和拥塞控制
TCP 实体使用的发送窗口越大,在得到确认之前发送的报文数就越多,这样就可能造成网络的拥塞,特别在TCP 刚连接建立发送时对网络通信的影响更大。
可以采用的一种策是让发送方实体在接收到确认之前逐步扩展窗口的大小,而不是从一开始就采用很大的窗口,这种方法称为慢启动过程。
假设 PC2(右) 的缓存区为 3 ,当缓冲区没有满的情况下,PC1 才能继续发送。
UDP 也是常用的传输层协议,它对应用层提供无连接的传输服务,虽然这种服务是不可靠
的、不保证顺序的提交,但这并没有减少它的使用价值。
相反,由于协议开销少而在很多场合相当实用,特别是在网络管理方面,大多使用 UDP 协议。
UDP 运行在 IP 协议层之上,由于它不提供连接,所以只是在 IP 协议之上加上端口寻址能。
UDP 头包含源端口号和目标端口号。段长指整个 UDP 段的长度,包括头部和数据部分。校验和与TCP 相同,但是任选的,如果不使用校验和,则这个字段置 0。由于IP 的校验和只作用于 IP 头,并不包括数据部分,所以当 UDP 的校验和字段为 0时,实际上对用户数据不进行校验。
Internet 地址分为 3 级,可表示为“网络地址-主机地址-端口地址”的形式。网络地址-主机地址指 IP 地址;端口地址为 TCP 和 UDP 地址。
常见端口对应服务:
端口号 | 描述 | 口号 | 描述 |
---|---|---|---|
1 | TCP Port Service Multiplexer | 7 | ECHO 回声 |
18 | Message Send Protocol (MSP), 报文发送协议 | 20 | FTP - Data 文件传输协议 数据端口 |
22 | SSH Remote Login Protocol,远程登录协议 | 21 | FTP- Controller 文件传输协议 控制端口 |
23 | Telnet,远程登录 | 25 | SMTP,简单邮件传输协议 |
53 | DNS,域名系统 | 80 | HTTP |
109 | POP2,邮局协议版本2 | 110 | POP3,邮局协议版本3 |
115 | SFTP,简单文件传输协议 | 161 | SNMP,简单网络管理协议 |
179 | Border Gateway Protocol(BGP),边界网关协议 | 190 | Gateway Access Controller Protocol(GACP),网关访问控制协议 |
443 | HTTPS | 444 | Simple Network Paging Protocol(SNPP),简单网络分页协议 |
546 | DHCP Client 动态主机配置协议,客户端 | 547 | DHCP Server 动态主机配置协议,服务端 |
常见通用顶级域名:
Internet 中使用地址分解协议(Address Resolution Protocol,ARP)实现逻辑地址到物理地址的映射。
获取目标物理地址有两种方法。
代理 ARP
对于上诉第二种情况又可以分为两种请求,目标主机和源主机是否在用一个子网中。
反向 ARP 协议:RARP(Reverse Address Resolution Protocol)是反向的 ARP 协议,是通过物理地址查询逻辑地址(IP 地址)。
Internet 中路由器叫作 IP 网关。网关执行复杂的路由算法,需要大量且及时的路由信息。网关协议就是用于网关之间交换路由信息的协议。
网关协议也叫作路由协议(Routing Protocol),是路由器之间实现路由信息共享的一种机制,它允许路由器之间通过交换路由信息维护各自的路由表。
自治系用是由同构型的网关连接的英特网,往往由一个网络管理中心控制。自治系统内部的网关之间执行内部网关协议(Interior Gateway Protocol),相互交换路由信息。
一般来说,IGP 是自治系统内部专用的,为特定的应用服务,在自治系统之外是无效的。
不同的自治系统可能采用不同的路由表、不同的路由选择算法。在不同的自治系统之间用 (Exterior Gateway Protocol,EGP)交换路由信息。
EGP(Exterior Gateway Protocol),是一个比较老的外部网关协议。
最新的外部网关协议叫作:BGP(Border Gateway Protocol),BGP4 广泛用于不同 ISP 的网络之间,已成为 Internet 外部路由协议标准。
BGP4 是一种动态路由发现协议,支持无类别域间路由 CIDR。其主要功能是控制路由策略,如是否愿意转发过路的分组等。
BGP4 报文格式为 19个字节的固定长度头部,其中包括 16 个字节的标记(用于认证和同步)、2 个字节的报文长度和 1 个字节的类型字段。
常用内部路由协议如下:
采用 Bellman- Ford 距离矢量路由算法,适合于小型网络,最大允许跳步数为15。分为 RIPv1、RIPv2 两种。
注意:距离矢量协议是周期性地发布路由信息。
1. RIPv1
使用本地广播地址 255.255.255.255 发布路由协议,默认路由更新周期为 30s,持有时间(Hold- Down Time) 为 180s 。
RIP 路由器每 30s 向所有邻居发送一次路由更新报文,若 180s 内没有收到某个邻居的路由更新报文,则认为这个邻居已经不存在了。
使用 跳步计数(Hop Count) 来度量路由费用,超过最大跳数 15 的报文会被丢弃。
RIPv1 是有类别的协议(Classful Protocol),所以配置时候必须使用 A、B 或 C 类 IP 地址和子网掩码。
2. RIPv2
RIPv2 是增加了的 RIP 协议,使用组播而非广播传播路由更新报文,增加了触发更新(Triggered Update)加速路由收敛,即当路由变化时立即向邻居发送更新报文,不必等待更新周期是否到达。
**RIPv2 是无类别(Classless Protocol)的协议,可以使用可变长子网掩码(CLSM),也支持无类别域间路由(CIDR)。
3. 路由收敛和水平分割
使用 水平分割法(Split Horizon) 解决路由环路问题。
4. RIP 报文格式
RIPv2 报文封装在 UDP 数据报中发送,占用端口号为 520。
5. RIP 优缺点
OSPF 是一种采用 Dijkstra 算法的链路状态协议,用于在自治系统之间交换路由信息。具有支持大型网络、占用资源少、路由收敛快等优点。
OSPF 采用 TCP 连接发送报文,每个报文都要求应答,可靠性高。
注意:链路状态路由是在网络拓扑发生变化时候才发布路由信息。
1. OSPF 网络类型:
OSPF 将路由器连接的物理网络分为 4 种类型:
2. OSPF 报文 5 种类型:
OSPF 路由器启动后以固定的时间间隔泛洪传播 Hello 报文,采用目标地址 224.0.0.5 代表所有的 OSPF 路由器。
在点对点网络上每 10s 发送一次,在 NBMA 网络中每 30s 发送一次。
4. OSPF 优缺点
Internet 中有一个主干网,所有的自治系统都连接到主干网上。主干网中的网关叫核心网关,核心网关之间交换路由信息由信息时使用 核心网关协议(Gateway to Gateway Protocol,GGP)。
与外部网关协议(EGP)不同的是 GGP 是主干网中的网关协议,而 EGP 是用于两个不同的自治系统之间的网关交换路由信息。
当一个核心网关加入主干网时用 GGP 协议向邻机广播发送路由信息,各邻机更新路由表,并进一步传播新的路由信息。
internet 发展过程中有很多问题需要解决,其中两个问题是迫在眉睫的。 问题一是随着网络互联规模的扩大和信息流量的增加,路由器逐渐成为网络通信的瓶颈;其二是 IP 地址短缺的问题。
针对问题一可使用第三层交换技术。对于问题二长期办法是使用 IPv6 ,短期可以使用网络地址翻译(NAT),和无类别的域间路由(Classless Inter Domain Routing,CIDR)等。
NAT 技术主要解决 IP 地址短缺问题,最初提出的建议是在子网内部使用局部地址,而在子网外部使用少量的全局地址,通过路由器进行内部和外部地址的转换。
局部地址是在子网内部独立编址的,可以与外部地址重叠。这种想法的基础是假定在任何时候子网中只有少数计算机需要与外部通信,可以让这些计算机共享少量的全局 IP 地址。
最主要有两种应用:
CIDR 技术可以解决路由缩放问题。缩放问题包含两种含义即:第一是对于大多数中等规模的网络没有适合的地址空间,如拥有几千台主机下使用 C 类网络太小,使用 B 类则过于浪费;其二是路由表增长太快,路由表过大导致查找效率不高。
第三层交换是利用第二层交换的高带宽和低延迟优势尽快地传送网络层分组的技术。
其工作原理:一次路由,多次交换。 当三层交换机第一个收到一个数据包时必须通过路由功能寻找转发端口,同时记住目标 MAC 地址和源 MAC 地址,以及其他有关信息,当再次收到目标地址和源地址相同的帧时就直接进行交换,不再调用路由功能。所以三层交换机不但具有路由功能,而且比通常的路由器转发更快。
通常一个 IP 地址代表一个主机,但 D 类 IP 地址指向网络中一组主机。由一个源向一组主机发送信息的传输方式称之为组播(Multicast)。