6.1 网络互连设备
6.1.1 中继器
- 中继器工作于物理层
- 中继器的功能是对接收信号进行再生和发送
- 中继器不解释也不改变接收到的数字信息,它只是从接收信号中分离出数字数据,存储起来,然后重新构造它并转发出去
- 在以太网中限制最多使用4 个中继器,即最多由5个网段组成
- 集线器就是一个多端口中继器
6.1.2 网桥
- 网桥工作于数据链路层
- 网桥要分析帧地址字段,以决定是否把收到的帧转发到另一个网段上
- 网桥工作千MAC 子层,只要两个网络MAC 子层以上的协议相同,都可以用网桥互连
6.1.3 路由器
- 路由器工作于网络层
- 通常把网络层地址叫作逻辑地址,把数据链路层地址叫作物理地址
- 路由器根据网络逻辑地址在互连的子网之间传递分组
- 路由桥虽然能够运行路由选择算法,甚至能够根据安全性要求决定是否转发数据帧,但由千它不涉及第三层协议,所以还是属千工作在数据链路层的网桥设备,它不能像路由器那样用千连接复杂的广域网络
6.1.4 网关
- 📝网关是最复杂的网络互连设备,它用于连接网络层之上执行不同协议的子网,组成异构型的因特网
- 网关能对互不兼容的高层协议进行转换
6.2 广域网互连
6.2.1 OSI网络层内部结构
- OSI 把网络层划分为3 个子层
- 子网访问子层,对应于实际网络的第三层,不同则不能简单地互连
- 子网相关子层,增强实际网络的服务,
- 子网无关子层,提供标准的OSI 网络服务
- 网络层的3个子层结构对应于网络互连的3种策略
- 第一种策略建立在子网支待所有OSI 网络服务的假设上,这样的子网不需增强,在网络层可直接相连,并提供需要的网络服务
- 第二种策略是分别增强实际网络的功能,以便提供同样的网络服务,这种互连方法对应于面向连接的网际互连
- 第三种互连策略是采用统一的因特网协议,子网无关汇聚协议采用无连接的网络协议
6.2.2 面向连接的网际互联
- 实现面向连接的网际互连的前提是子网提供面向连接的服务
6.2.3 无连接的网际互联
- 网际地址通常采用“网络·主机”的形式,其中,网络部分是子网的地址编码,主机部分是子网中主机的地址编码
- 路由表可以是静态的或动态的
- 静态路由表也提供可选择的第二、第三最佳路由
- 动态路由表在应付网络的失效和拥挤方面更灵活
- 更复杂的路由表还可支待安全和优先服务
- 选择路由的另外一种技术是源路由法,即源端在数据报中列出要经过的一系列路由器。这种方法也可以提供安全服务
- 路由记录服务是一种与路由选择有关的特殊服务。数据报经过的每一个路由器都把自己的地址加入其中,这样,目标端就可以知道该数据报的旅行轨迹。
6.3 IP协议
- 由于ARPAnet的设计者注重的是网络互连,TCP/IP 协议允许通信子网采用已有的或将来的各种协议,所以这个层次结构中没有提供网络访问层的协议,可以通过网络访间层连接到任何网络上
- 与OSI/RM 分层的原则不同, TCP/IP 协议簇允许同层的协议实体间互相调用,从而完成复杂的控制功能,还允许上层过程直接调用不相邻的下层过程,甚至在有些高层协议中控制信息和数据分别传输,而不是共享同一个协议数据单元
- IP 协议是Internet 中的网络层协议
6.3.1 IP地址
- IP 网络地址采用“网络·主机”的形式,其中网络部分是网络的地址编码,主机部分是网络中一个主机的地址编码
- IP 地址分为5类
- A类,1.0.0.0~ 127.255.255.255,有126 个网络地址,1600 万个主机地址,用于点对点通信
- B类,128.0.0.0~ 191.255.255.255,有16382个网络地址,64000个主机地址,用于点对点通信
- C类,192.0.0.0~223 .255 .255.255,有200万个网络地址,254 个主机地址,用于点对点通信
- D类,224.0.0.0~239.255.255 .255,用于点对多通信,是组播地址
- E类,240.0.0.0~255.255.255.255,保留研究
- IP 地址由美国Internet 信息中心(InterNIC) 管理
- 一种更灵活的寻址方案引入了子网的概念,即把主机地址部分再划分为子网地址和主机地址,形成了三级寻址结构
- 子网地址对网络外部是透明的
- 当IP 分组到达目标网络后,网络边界路由器把32 位的IP地址与子网掩码进行逻辑“与“运算,从而得到子网地址,并据此转发到适当的子网中
- 可变长子网掩码,在IP 地址后面加上"I位数”来表示子网掩码中"1"的个数
- 在点对点通信( unicast) 中使用A 、B 和C 类地址,这类地址都指向某个网络中的一个主
机
6.3.2 IP协议的操作
1.数据报生存期
- 规定数据报有一定的生存期
2.分段和重装配
3.差错控制和流控
- 当路由器丢弃一个数据报时,要尽可能地向源点返回一些信息
- 路由器或接收站可以采用某种流控机制来限制发送速率
6.3.3 IP协议数据单元
- 用户数据: 以字节为单位的用户数据,和IP 头加在一起的长度不超过65535字节。
6.4 ICMP协议
- ICMP与IP协议同属于网络层,用于传送有关通信问题的消息,例如数据报不能到达目标站,路由器没有足够的缓存空间,或者路由器向发送主机提供最短通路信息等
- 目标不可到达(类型3)
- 超时(类型11)
- 源抑制(类型4)
- 参数问题(类型12)
- 路由重定向(类型5)
- 回声(请求/ 响应,类型8 /0)
- 时间戳(请求/响应,类型13/14)
- 地址掩码(请求/响应,类型17/18)
6.5 TCP和UDP协议
6.5.1 TCP服务
- 一般情况下,TCP实体自主地决定如何把字节流分段,组成TPDU 发送出去。在接收端,也是由TCP 实体决定何时把积累在接收缓冲区中的字节流提交给用户
- TCP也允许用户把字节流分成报文,用推进(PUSH) 命令指出报文的界限
6.5.2 TCP协议
- 端口编号用于标识TCP 用户,即上层协议,一些经常使用的上层协议,例如Telnet、FTP或SMTP等都有固定的端口号
- 发送顺序号和接收顺序号都是指字节流中的某个字节的顺序号,而不是指整个段的顺序号
- 同步标志SYN 用于连接建立阶段
- TCP 用三次握手过程建立连接
- 发起方发送一个SYN 标志置位的段,其中的发送顺序号为某个值X, 称为初始顺序号ISN
- 接收方以SYN 和ACK 标志置位的段响应,其中的接收顺序号应为X+1
- 发起端以ACK 标志置位,应答顺序号为Y+1的段回答,连接就正式建立了。
- 紧急数据,是指TCP 用户认为很重要的数据,例如键盘中断等控制信号
- 窗口字段表示从应答顺序号开始的数据字节数,即接收端期望接收的字节数,发送端根据这个数字扩大自己的窗口
- TCP 头和IP 头合在一起,代表了传送一个数据单元的开销,共40 个字节
6.5.3 TCP拥塞控制
1.重传计时器管理
2.慢启动和拥塞控制
- TCP 实体使用的发送窗口越大,在得到确认之前发送的报文数就越多,这样就可能造成网络的拥塞,特别在TCP 刚连接建立发送时对网络通信的影响更大
6.5.4 UDP协议
- UDP 协议由于协议开销少而在很多场合相当实用,例如网络管理方面
6.6 域名和地址
- Internet 地址分为3 级,可表示为“网络地址·主机地址· 端口地址”的形式
- 网络和主机地址即IP地址
- 端口地址就是TCP 或UDP 地址
端口号 | 描述 | 端口号 | 描述 |
---|---|---|---|
1 | TCP Port Service Multiplexer(TCPMUX) | 118 | SQL Services |
5 | Remote Job Entry(RJE),远程作业 | 119 | Newsgroup(NNTP) |
7 | ECHO,回声 | 137 | NetBIOS Name Service |
18 | Message Send Protocol(MSP),报文发送协议 | 139 | NetBIOS Datagram Service |
20 | FTP-Data , 文件传输协议 | 143 | Interim Mail Access Protocol (IMAP) |
21 | FTP-Control, 文件传输协议 | 150 | NetBIOS Session Service |
22 | SSH Remote Login Protocol, 远程登录 | 156 | SQL Server |
23 | Telnet, 远程登录 | 161 | SNMP, 简单网络管理协议 |
25 | Simple Mail Transfer Protocol (SMTP) | 179 | Border Gateway Protocol (BGP), 边界网关协议 |
29 | MSGICP | 190 | Gateway Access Control Protocol (GACP) |
37 | Time | 194 | Internet Relay Chat (IRC) |
42 | Host Name Server (Nameserv), 主机名字服务 | 197 | Directory Location Service (DLS) |
43 | WhoIs | 389 | Lightweight Directory Access Protocol(LDAP) |
49 | Login Host Protocol (Login) | 396 | Novell Netware over IP |
53 | Domain Name System (DNS), 域名系统 | 443 | HTTPS |
69 | Trivial File Transfer Protocol (TFTP) | 444 | Simple Network Paging Protocol (SNPP) |
70 | Gopher Services | 445 | Microsoft-DS |
79 | Finger | 458 | Apple QuickTime |
80 | HTTP 超文本传输协议 | 546 | DHCP Client, 动态主机配置协议,客户端 |
103 | X.400 Standard, 电子邮件标准 | 547 | DHCP Server, 动态主机配置协议,服务器端 |
108 | SNA Gateway Access Server | 563 | SNEWS |
109 | POP2 | 569 | MSN |
110 | POP3 | 1080 | Socks |
115 | Simple File Transfer Protocol (SFTP) |
6.6.1 域名系统
- DNS 的逻辑结构是一个分层的域名树, Internet 网络信息中心管理着域名树的根,称为根域
- 根域下面是顶级域
- 国家顶级域,如cn 代表中国, uk 代表英国
- 通用顶级域
- 顶级域下面是二级域,正式注册给组织和个人的唯一名称
- 在二级域之下,组织机构还可以划分子域
- 根域下面是顶级域
6.6.2 地址分解协议
- ARP,实现逻辑地址到物理地址映像
- 代理ARP,路由器“假装”目标主机来回答ARP 请求
- RARP,由硬件地址查找逻辑地址
6.7 网关协议
6.7.1 自治系统
- 自治系统是由同构型的网关连接的因特网
- 因特网也可能由不同的自治系统互连而成
6.7.2 外部网关协议
- 最新的外部网关协议叫作BGP,主要功能是控制路由策略
- BGP4 是一种动态路由发现协议
- BGP 的4种报文
- 打开(Open),建立邻居关系
- 更新(Update ),发送新的路由信息
- 保持活动状态(Keepalive),对Open 的应答/周期性地确认邻居关系
- 通告(Notification),报告检测到的错误
- BGP4 实现3 个功能过程
- 建立邻居关系
- 邻居可到达性
- 网络可到达性
6.7.3 内部网关协议
- 网关协议也叫作路由协议
- 路由信息协议
- 开放最短路径优先协议
- 中间系统到中间系统的协议
- 内部网关路由协议
- 增强的IGRP 协议
6.7.4 核心网关协议
- 核心网关协议的4类报文
- 路由更新报文:发送路由信息
- 应答报文:对路由更新报文的应答,分肯定、否定两种
- 测试报文:测试相邻网关是否存在
- 网络接口状态报文:测试本地网络连接的状态
6.8 路由器技术
6.8.1 NAT技术
- NAT 技术主要解决IP 地址短缺问题,最初提出的建议是在子网内部使用局部地址,而在子网外部使用少量的全局地址,通过路由器进行内部和外部地址的转换
- 动态地址翻译,把一个大的地址空间映像到一个小的地址空间
- 存根域,就是内部网络的抽象,这样的网络只处理源和目标都在子网内部的通信
- m:1 翻译/伪装,用一个路由器的IP 地址可以把子网中所有主机的IP地址都隐藏起来
- 动态地址翻译,把一个大的地址空间映像到一个小的地址空间
6.8.2 CIDR技术
- CIDR 技术可以解决路由缩放问题,它可以把若干个C 类网络分配给一个用户,并且在路由表中只占一行,这是一种将大块的地址空间合并为少量路由信息的策略
6.8.3 第三层交换技术
- 第三层交换,是指利用第二层交换的高带宽和低延迟优势尽快地传送网络层分组的技术
- 交换,硬件实现,速度快
- 路由,软件实现,速度慢
- 三层交换机的工作原理可以概括为:一次路由,多次交换
- 多协议标记交换把第2层的链路状态信息(带宽、延迟、利用率等)集成到第3 层的协议数据单元中,从而简化和改进了第3 层分组的交换过程
6.9 IP组播技术
- 通常,一个IP 地址代表一个主机,但D 类1P 地址指向网络中的一组主机
- 组播,由一个源向一组主机发送信息的传输方式
- 例如IPTV 、网络会议、远程教育、商业股票交易,以及在工作组成员之间实时交换文件、图片或消息等
6.9.1 组播模型概述
- 每一个组播组被指定了一个D 类地址作为组标识符
- IGMP,用于支待接收者加入或离开组播组
- 一旦有接收者加入了一个组,就要为这个组在网络中构建一个组播分布树
- 独立组播协议,用于生成和维护组播树
- IP组播模型是:你在一端注入分组,网络正好可以把分组提交给任何需要的接收者
- 实现IP组播的前提是组播源和组成员之间的下层网络必须支持组播
- 主机的TCP/IP 实现支持IP组播
- 主机的网络接口支待组播
- 需要一个组管理协议,使得主机能够自由地加入或离开组播组
- IP地址分配策略能够将第三层组播地址映射到第二层MAC 地址
- 主机中的应用软件应支持1P 组播功能
- 所有介千组播源和组成员之间的中间节点都支持组播路由协议
- IP 组播技术已经得到了软/硬件厂商的广泛支持,现在生产的以太网卡、路由器、常用的网络操作系统等都支持1P 组播功能
- 对于网络中不支待IP 组播的老式路由器可以采用IP隧道技术作为过渡的方案
6.9.2 组播地址
1.IP组播地址的分类
- D类地址是组播地址,范围是224.0.0.0~239.255.255.255,D 类地址被划分为3类
- 保留地址,224.0.0.0~224.0.0.255
- 本地子网中的所有主机,224.0.0.1
- 本地子网中的所有路由器,224.0.0.2
- 所有OSPF 路由器,224.0.0.5
- 所有RIP2 路由器,224.0.0.5(有问题)
- DHCP 服务器或中继代理,224.0.0.12
- 所有支持PIM 的路由器,224.0.0.13
- 全球范围的组播地址分配,224.0.1.0~238.255.255.255
- 管理权限范围内使用的组播地址,239.0.0.0~239.255.255.255,可以在本地子网中作为组播地址使用
- 保留地址,224.0.0.0~224.0.0.255
2.以太网组播地址
- MAC 组播地址的范围是0x010 0.5E00.0000~0x0100.5E7F.FFFF
6.9.3 因特网组管理协议
1.IGMP 报文
2.IGMP 操作
6.9.4 组播路由协议
- 建立组播树是实现组播传输的关键技术
1.组播树
- 建立组播树要使用组播路由协议
- 组播地址标识一个会话,而不是一个具体的主机
- 组播树分为两种
- 源专用树
- 共享分布树
- 限制组播树的扩展范围
- 利用IP数据报头中的TTL字段来限制组播树生长的高度
- 使用特殊的组播地址
2.密集模式路由协议
- 密集模式路由协议,假定组播成员密集地分布在整个网络中,而且网络有足够的带宽,允许周期性地通过泛洪传播来建立和维护分布树
- 距离矢量组播路由协议
- 组播开放最短路径优先协议
- 密集模式的独立组播协议
3.稀疏模式路由协议
- 稀疏模式路由协议,适用于带宽小、组播成员分布稀疏的互联网络
4.双向PIM协议
- 双向PIM协议这是密集模式和稀疏模式的混合方式
6.10 IPQoS技术
6.10.1 集成服务
- 集成服务工作组根据服务质量的不同,把Internet 服务分成了3 种类型
- 保证质量的服务: 对带宽、时延、抖动和丢包率提供定量的保证
- 控制负载的服务: 提供一种类似于网络欠载情况下的服务,这是一种定性的指标
- 尽力而为的服务: 这是Internet 提供的一般服务,基本上无任何质量保证
- IntServ 提议通过4 种手段来提供QoS传输机制
- 准入控制: IntServ 对一个新的QoS 通信流要进行资源预约。如果网络中的路由器确定没有足够的资源来保证所请求的QoS, 则这个通信流就不会进入网络
- 路由选择算法:可以基于许多不同的QoS 参数(而不仅仅是最小时延)来进行路由选择
- 排队规则:考虑不同通信流的不同需求而采用有效的排队规则
- 丢弃策略:在缓冲区耗尽而新的分组来到时要决定丢弃哪些分组以支持QoS 传输
6.10.2 区分服务
- 区分服务放弃了在通信流沿路节点上进行资源预约的机制,它将具有相同特性的若干业务流汇聚起来,为整个汇聚流提供服务,而不是面向单个业务流来提供服务
- 与IntServ 相比,DiffServ 定义了一个相对简单而粒度较粗的控制系统,DiffServ 为整个汇聚流提供服务,具有可扩展性,能够在大型网络上提供QoS 保障
6.10.3 流量工程
- 流量工程 是优化网络资源配置的技术,利用网络基础设施提供最佳服务的工具和方法,无论网络设备和传输线路处千正常或是部分失效状态,利用流量工程技术都可以提供最佳的网络服务
6.11 Internet应用
6.11.1 远程登录协议
- 远程登录,提供访问远程主机功能
6.11.2 文件传输协议
- 文件传输协议,用于主机间传送文件
6.11.3 简单邮件传输协议
6.11.4 超文本传输协议
6.11.5 P2P应用
- P2P 是一种对等通信的网络模型