[toc]
因为我发现学这个课老是断断续续的,每次捡起来超级麻烦,所以趁这次来个大复习,把一些该有的知识点直接记下来好了
当今网络
网络组件
术语“主机”特指网络上为通信目的而分配了一个数字的设备。这个数字用来标识特定网络中的主机。这个数字称为互联网协议 (IP) 地址。IP 地址标识主机和主机所连接的网络。
服务器是装有特殊软件,可以为网络上其他终端设备提供信息(例如电子邮件或网页)的计算机。每项服务都需要单独的服务器软件。例如,服务器必须安装 Web 服务器软件才能为网络提供 Web 服务。安装有服务器软件的计算机可以同时向多个不同客户端提供服务。
客户端和服务器软件通常运行在单独的服务器上,但一台计算机也可以同时兼任两个角色。在小企业和家庭中,许多计算机在网络中既是服务器又是客户端。这种网络称为对等网络。
- 终端设备是指通过网络传输的消息的来源或目的地。
- 中间设备可以将单个终端连接到网络中。它们可以将多个独立的网络连接起来,形成互联网络。这些中间设备提供连接并确保数据在网络中传输。
- 现代网络主要使用三种介质来连接设备:
- 金属线电缆 - 数据被编码为电脉冲
- 玻璃或塑料光纤(光缆) - 数据被编码为光脉冲
- 无线传输 - 数据是通过调制特定频率的电磁波进行编码的。
常见表示方法:
除了这些表示之外,还使用专门的术语来描述这些设备和介质是如何相互连接的:
- 网络接口卡 (NIC) - 将设备从物理上连接到网络。
- 物理端口(physical port) - 网络设备上的接口或插口,介质通过它连接到终端设备或其他网络设备。
- 接口(interface) - 网络设备上连接到独立网络的专用端口。由于路由器连接了不同的网络,路由器上的端口称为网络接口。
但是port和interface经常混用
几个类型:
内部网,外联网,Intranets and Extranets
LAN WAN通常提供 LAN 之间的较慢链路。
互联网不属于任何个人或团体。要确保通过这种多元化基础设施有效通信,需要采用统一的公认技术和标准,也需要众多网络管理机构相互协作。为了维护互联网协议和进程的结构和标准化,人们建立了许多组织。
常用连接技术
家庭和小型办公室
- 有线电视 (Cable)- 通常由有线电视服务提供商提供,互联网数据信号在输送有线电视信号的同一电缆上进行传输。它提供了高带宽、高可用性和始终在线的互联网连接。
- DSL - 数字用户线也可提供高带宽、高可用性和始终在线的互联网连接。DSL 通过电话线路运行。通常小型办公室和家庭办公室用户会选择使用非对称 DSL (ADSL),这种方式的特点是下载速度高于上传速度。
- 蜂窝网(Cellular) - 蜂窝网互联网接入使用手机网络进行连接。只要您能收到蜂窝网信号,就能获得蜂窝网互联网接入。性能会受手机功能和手机基站的限制。
- 卫星(Satellite) - 对于根本没有互联网连接的地方来说,获得卫星互联网访问非常有用。卫星天线要求有到卫星的清晰视线。
- 拨号电话(Dial-up Telephone) - 使用电话线和调制解调器,费用相对较低。拨号调制解调器连接提供的低带宽不足以用于大型数据传输,但对旅行过程中的移动访问非常有用。
企业
- 专用租用线路(Dedicated Leased Line ) - 租用线路是服务提供商网络内连接地理位置分散的办公室的保留电路,提供个人语音和/或数据网络。电路按月或按年租用。
- 城域以太网(Metro Ethernet) -有时被称为以太网 WAN. 在本模块中,我们把它称为城域以太网。城域以太网将 LAN 访问技术扩展到 WAN 中。以太网是一种 LAN 技术,您将在后面的模块中学习。
- DSL(Business DSL) - 企业 DSL 提供各种格式。一种常见的选择是对称数字用户线路 (SDSL),它类似于 DSL 的普通用户版本,但是提供相同的上传和下载速度。
- 卫星 – 当有线解决方案不可用时,卫星服务可以提供连接。
今天,独立的数据、电话和视频网络融合在了一起。与专用网络不同,融合网络能够通过相同的网络基础设施,在许多不同类型的设备之间传输数据、语音和视频。此网络基础设施采用一组相同的规则、协议和实施标准。融合数据网络在一个网络中传送多种服务。
可靠网络
容错能力-提供冗余的多条路径
可拓展性-设计人员可以遵循广为接受的标准和协议
服务质量 (QoS)-通过各种协议和优先级
网络安全-设备安全,网络安全:
机密性 - 数据机密性意味着只有预定和授权收件人可以访问并读取数据。
完整性 - 数据完整性表示保证信息在从源到目的地的传输过程中不会被更改。
可用性 - 数据可用性表示保证授权用户及时可靠地访问数据服务。
病毒、蠕虫和特洛伊木马 Viruses, worms, and Trojan horses- 这些包括在用户设备上运行的恶意软件或代码。
间谍软件和广告软件 Spyware and adware-这些是安装在用户设备上的软件类型。这些软件会秘密收集有关用户的信息。
零日攻击(也称零小时攻击)****Zero-day attacks - 在出现漏洞的第一天发起的攻击。
威胁发起者攻击 Threat actor attacks-恶意人员攻击用户设备或网络资源。
拒绝服务攻击 Denial of service attacks- 使网络设备上的应用和进程减缓或崩溃的攻击。
数据拦截和盗窃****Data interception and theft - 通过公司网络捕获私人信息的攻击。
身份盗窃****Identity theft - 窃取用户的登录凭证来访问私人数据的攻击。
一些趋势
BYOD 意味着设备由任何使用者在任意地点使用。
云计算
智能家庭技术(物联网)
电力网:
使用标准电源适配器,只要有电源插座,设备就可以连接到 LAN。无需安装数据线,也几乎不需要额外的电力。通过使用供电的同一线路,电力线网络通过按一定频率发送数据来发送信息。
当无线接入点无法到达家里的所有设备时,电力线网络特别有用。电力线网络不会取代数据网络中的专用布线。但是,当有线数据网络或无线通信不可行时,电力线网络可以备用。
无线互联网服务提供商 (WISP) 是使用类似家庭无线局域网 (WLAN) 的无线技术
配置交换机/终端
访问方法
默认情况下,交换机将转发流量,无需配置即可工作。连接到同一新交换机的两个已配置了的主机能够进行通信。
无论新交换机的默认特性如何,都应配置并保护所有交换机。
方法 | 描述 |
---|---|
控制台 (Console) | 这是一种物理管理端口,可通过该端口对思科设备进行带外访问。带外访问是指通过仅用于设备维护的专用管理通道进行访问。使用控制台端口的优势在于,即使没有配置任何网络服务,也可以访问设备,例如执行初始配置时。控制台连接需要运行终端仿真软件的计算机和用于连接设备的特殊控制台电缆。 |
安全外壳(SSH) | SSH 是一种带内且被推荐的方法,它使用虚拟接口通过网络远程建立安全的 CLI连接。不同于控制台连接,SSH 连接需要设备上具有有效的网络服务,包括配置了地址的有效接口。大部分思科 IOS 版本配备了 SSH 服务器和 SSH 客户端,可用于与其他设备建立 SSH 会话。 |
Telnet | Telnet 使用虚拟接口通过网络远程建立 CLI 会话,这种带内方法并不安全。与 SSH 不同,Telnet 不提供安全的加密连接,只能在实验室环境中使用。用户身份验证、密码和命令通过网络以明文形式发送。最好的做法是使用 SSH 而不是 Telnet。思科 IOS 包括 Telnet 服务器和 Telnet 客户端。 |
注意: 某些设备,比如路由器,还可以支持传统辅助端口,这种辅助端口可使用调制解调器通过电话连接远程建立 CLI 会话。类似于控制台连接,AUX 端口也是带外连接,且不需要配置或提供网络服务。
配置模式
作为一项安全功能,思科 IOS 软件将管理访问分为以下两种命令模式:
- 用户 EXEC 模式(user) - 该模式功能有限,但可用于有效执行基本操作。它只允许有限数量的基本监控命令,不允许执行任何可能改变设备配置的命令。用户 EXEC 模式由采用 > 符号结尾的 CLI 提示符标识。
- 特权 EXEC 模式(privileged) - 要执行配置命令,网络管理员必须访问特权 EXEC 模式。较高级别的配置模式,比如全局配置模式,只能通过特权 EXEC 模式访问。特权 EXEC 模式由采用# 符号结尾的提示符标识。
要配置设备,用户必须进入全局配置模式。
在全局配置模式下, CLI 配置所做的更改将影响整个设备的运行。全局配置模式由在设备名称之后加(config)#结尾的提示符标识,比如Switch(config)#。
访问全局配置模式之后才能访问其他具体的配置模式。在全局配置模式下,用户可以进入不同的子配置模式。其中的每种模式可以用于配置 IOS 设备的特定部分或特定功能。两个常见的子配置模式包括:
- 线路配置模式 - 用于配置控制台、SSH、Telnet 或 AUX 访问。
- 接口配置模式 - 用于配置交换机端口或路由器网络接口。
当使用 CLI 时,每种模式由该模式独有的命令提示符来标识。默认情况下,每个提示符都以设备名称开头。命令提示符中设备名称后的部分用于表明模式。
例如,线路配置模式的默认提示符是 Switch(config-line)#
默认的接口配置模式提示符是 **Switch(config-if)#**。interface
- startup-config(启动配置文件) -存储在 NVRAM 中的配置文件。它包含在启动时或重启时用到的所有命令。当设备断电后,其中的内容不会消失。
- running-config(运行配置文件) -存储在随机存取存储器(RAM)中。它反映了当前的配置。修改运行配置会立即影响思科设备的运行。RAM 是易失性存储器。如果设备断电或重新启动,则它会丢失所有内容。
学习命令
约定 | 描述 |
---|---|
粗体 | 粗体文本表示您需要原样输入的命令和关键字, 如显示的那样。 |
斜体 | 斜体文本指示由您提供值的参数。 |
[x] | 方括号表示可选元素(关键字或参数)。 |
{x} | 大括号表示必需元素(关键字或参数)。 |
**[**x **{**y | z }] | 方括号中的大括号和垂直线表示 可选元素中的必填选项。空格用于清楚地描述 命令的各个部分。 |
enable / disable
configure terminal / exit (子配置—>上一级)
end / Ctrl+Z (任何子配置->特权)
子配置模式间可以随意转换:
line console 0
interface FastEthernet 0/1
line vty 0 15 两个数字说明是0-15一起设置
(注意全是小写,草)
用户模式只能查看配置,且只能查看部分配置,不能配置交换机;特权模式只能查看配置,且只能查看部分配置,不能配置交换机;全局模式可以修改配置,且对全局生效,但是默认不能查看;而端口模式所做的配置都是针对接口所设定的。
用户特权
show running-config/startup-config
copy running-config startup-config。
reload 清除未保存的running-config 但在一段很短的时间内设备将会离线,导致网络中断。
erase start 删除启动设置,之后需重新加载设备来恢复出厂
show + 子模式 仅查看子模式的信息
show arp 交换机等设备显示MAC地址信息
show mac address-table 查看mac地址表
clear mac address-table dynamic 清除mac地址表
show ip arp 查看arp表
show ipv6 neighbors 检查路由器是否发现了邻居
clear ipv6 neighbors
show flash 查看闪存
show ip(ipv6) interface brief 检查接口的正确数量和标识
命令 | 说明 |
---|---|
show ip interface brief show ipv6 interface brief |
所有接口的输出显示,它们的IP地址和 当前的状态已配置和连接的接口的 状态和协议均会显示“up”; 显示任何其他内容都可能表示配置或 布线出现了问题。 |
show ip route show ipv6 route |
显示存储在 RAM 中的 IP 路由表的内容。也可以检验连接性 |
show interfaces | 显示设备上所有接口的统计信息。然而,这个命令将只显示 IPv4 编址信息。 |
show ip interface(后面可以加特定的线路) | 显示路由器上所有接口的 IPv4 统计信息。 |
show ipv6 interface | 显示路由器上所有接口的 IPv6 统计信息。 |
全局指令
hostname name 主机名字仅使用字母、数字和破折号
no hostname 清空主机名字
enable secret (password) 保护特权访问
service password-encryption(全局配置指令+加密所有)
security passwords min-length 8 指定密码的最小长度为8
login block-for 120 attempts 3 within 60 在 60 秒内有 3 次登录尝试失败时阻止vty登录尝试 120 秒。
**banner motd #当日消息#**(其实#可以换别的,向访问设备的人展示)
ip default-gateway 设置默认网关
ip route (远程网址+子网掩码)(下一跳路由器的IP地址)配置静态路由表
no ip directed-broadcasts 关闭定向广播
ipv6 unicast-routing 启用ipv6路由
子模式
password …. 特定线路设置密码,如控制台
login 启用登录,不启用就根本进不去
mdix auto 启用Auto-MDIX,可以忽视另一端的设备类型使用铜缆(接口配置指令)
transport input {ssh | telnet}或者俩都加上 保护远程Telnet | SSH访问
ip address a b 192.168.1.20 255.255.255.0设置ipv4地址和子网掩码
(GUA)ipv6 address 地址/前缀长度,e.g. ipv6 address 2001:db8:acad:10::1/64
(LLA)ipv6 address 链路本地地址 link-local
no shutdown 启用虚拟接口
description xxx 设置说明,比如第三方连接和联系信息(<=240字符)
no ip domain-lookup 禁用DNS解析(特权模式)
description description-text 设置接口说明
ip default-gateway ip-address为交换机配置默认网关
ipv6 unicast-routing 启用 IPv6 路由
exec-timeout 分 秒 在x分x秒后自动断开非活动用户
主机端
ipconfig (/all)
arp -a 显示所有arp表
arp -d 清除 ARP 表
ping … 测试链接,一般要两遍,第一遍是自动配置arp所以一般失败
route print或命netstat -r令可以显示主机路由表(windows主机),会列出
- 接口列表 - 列出主机上的介质访问控制 (MAC) 地址和每个网络接口的已分配接口编号,包括以太网、 Wi-Fi 和蓝牙适配器。
- IPv4 路由表 - 列出所有已知的 IPv4 路由,包括直接连接、本地网络和本地默认路由。
- IPv6 路由表 - 列出所有已知的 IPv6 路由,包括直接连接、本地网络和本地默认路由。
netstat可列出正在使用的协议、本地地址和端口号、外部地址和端口号以及连接的状态。
默认情况下,netstat命令会试图将 IP 地址解析为域名,将端口号解析为公认应用程序。使用**-n**选项能够以数字形式显示 IP 地址和端口号
nslookup 程序手动查询域名服务器,来解析给定的主机名。
该实用程序也可以用于检修域名解析故障,以及验证域名服务器的当前状态。
好多缩写
interface = int
FastEthernet = f
running-config = run
startup-config = start
address == add
热键
?:
直接输入则显示当前模式可用
指令输入一般会显示补全可能
缺参数可以显示参数
主要Ctrl+A/E
c+s+6
c+r返回被打扰的命令行
键盘输入 | 描述 |
---|---|
Tab | 补全部分输入的命令项。 |
Backspace | 删除光标左边的字符。 |
Ctrl-D | 删除光标所在的字符。 |
Ctrl-K | 删除从光标到命令行尾的所有字符。 |
Esc D | 删除从光标到词尾的所有字符。 |
Ctrl+U 或 Ctrl+X | 删除从光标到命令行首的 所有字符。 |
Ctrl-W | 删除光标左边的单词。 |
Ctrl-A | 将光标移至行首。 |
向左箭头 或 Ctrl+B | 将光标左移一个字符。 |
Esc B | 将光标向后左移一个单词。 |
Esc F | 将光标向前右移一个单词。 |
向右箭头 或 Ctrl+F | 将光标右移一个字符。 |
Ctrl-E | 将光标移至命令行尾。 |
向上箭头 或 Ctrl+P | 调出历史记录缓冲区中的命令, 从最近输入的命令开始。 |
Ctrl+R 或 Ctrl+I 或 Ctrl+L | 收到控制台消息后重新显示系统提示符和 命令行。 |
注意: 虽然 Delete 键通常用于删除提示符右侧的字符,但 IOS 命令结构无法识别 Delete 键。
当命令输出产生的文本超过终端窗口中可以显示的文本时,IOS 将显示一个 “–More–” 提示。下表描述了显示此提示时可以使用的键盘输入。
键盘输入 | 描述 |
---|---|
回车 键 | 显示下一行。 |
空格键 | 显示下一屏。 |
任何其他按键 | 结束显示字符串,返回特权模式。 |
此表列出了用于退出操作的命令。
键盘输入 | 描述 |
---|---|
Ctrl-C | 处于任何配置模式下时,用于结束该配置模式并返回 特权模式。处于设置模式下时,用于中止并返回命令 提示符。 |
Ctrl-Z | 处于任何配置模式下时,用于结束该配置模式并返回 特权模式。 |
Ctrl-Shift-6 | 通用中断序列用于中止 DNS lookup、traceroutes、 pings等 |
协议和模型
基础概念
常用的计算机协议包含以下要求:
消息编码-将信息转换成可传输和解码的
编码是将信息转换为另一种广为接受的形式的过程
消息格式和封装(encapsulation)-
当消息从源发送到目的地时,必须使用特定的格式或结构。取决于消息类型和传递信道
消息大小
消息时序(timing)
- 流量控制(flow control)- 这是管理数据传输速率的过程。流量控制定义了可以发送多少信息以及传递信息的速率。例如,如果一个人讲话太快,对方就难以听清和理解。
- 响应超时(responce timeout) -如果一个人提问之后在合理的时间内没有得到回答,就会认为没有获得回答并作出相应的反应。此人可能会重复这个问题,也可能继续谈话。网络上的主机会使用网络协议来指定等待响应的时长,以及在响应超时的情况下执行什么操作。
- 访问方法 -这决定人们可以发送消息的时间。如果两个人同时讲话,就会发生信息冲突,两个人必须作出让步,重新开始的动画演示。同样,当设备想要在无线局域网上传输时,有必要使用 WLAN 网络接口卡 (NIC) 来确定无线介质是否可用。
消息传输方式
网络协议定义了用于设备之间交换消息的通用格式和规则集。协议由软件、硬件或两者中的终端设备和中间设备实现。每个网络协议都有自己的功能、格式和通信规则。
该表列出了在一个或多个网络上通信所需的各种协议类型。
协议类型 | 描述 |
---|---|
网络通信协议 | 这类协议使两个或多个设备能够在一个或多个 网络上通信。以太网技术家族涉及多种协议, 例如IP,传输控制协议(TCP), 超文本传输协议(HTTP)等。 |
网络安全协议 | 这类协议保护数据以提供身份验证、数据完整性和 数据加密。安全协议的示例包括安全外壳协议 (SSH)、安全套接字层协议 (SSL) 和传输层安全协议 (TLS)。 |
路由(routing)协议 | 这类协议使路由器能够交换路由信息,比较路径 信息,然后选择到达目标网络的 最佳路径。路由协议的示例包括开放最短路径优先协议 (OSPF)和边界网关协议 (BGP)。 |
服务发现协议。 | 这类协议用于设备或服务的自动检测。 服务发现协议的示例包括发现用于IP地址分配 服务的动态主机配置协议(DHCP), 和用于执行域名到IP地址转换的 域名系统(DNS)。 |
协议的功能包括:编制、可靠性、流量控制、排序、差错检验、应用接口。
在许多情况下,协议必须能够与其他协议配合使用,以便让在线体验为您提供网络通信所需的一切。协议簇旨在相互无缝协作。
执行某种通信功能所需的一组内在相关协议称为协议簇。
要形象地表现协议簇中的协议如何互动,最佳方法之一就是将这种互动看成一个堆栈。协议栈展示了协议簇中的单个协议是如何实施的。协议显示为分层结构,每种上层服务都依赖于其余下层协议所定义的功能。协议栈的下层负责通过网络传输数据和向上层提供服务,而上层则负责处理发送的消息内容。
当年多种协议簇,只剩下TCP/IP(互联网协议簇)和一点点OSI(开放系统互连协议)
*TCP/IP
免费 且 标准,图中只是较为常用的一些协议。
在一项工作中,每一层都有某个或多个协议参与。
4 - 应用层 | 向用户提供数据,以及编码和对话控制。 |
---|---|
3 - 传输层 | 支持各种设备之间通过不同网络通信。 |
2 - 互联网层 | 确定通过网络的最佳路径。 |
1 - 网络接入层 | 控制组成网络的硬件设备和介质。 |
OSI 5/6/7层供应用程序开发者参考
而底层通常使用OSI的1/2层
#应用层#(Applicaton Layer)
域名系统
DNS - 域名系统(Domain Name System)。将域名(例如 cisco.com)转换为 IP 地址。
主机配置
DHCPv4 - IPv4动态主机配置协议(Dynamic Host Configuration Protocol for IPv4)。DHCPv4 服务器在启动时动态地将 IPv4 编址信息分配给 DHCPv4 客户端,并允许在不再需要时重新使用这些地址。
DHCPv6 - IPv6动态主机配置协议。DHCPv6类似于DHCPv4。
SLAAC -无状态地址自动配置(Stateless Address Autoconfiguration)。一种允许设备在不使用DHCPv6服务器的情况下获得其IPv6编址信息的方法。
邮件
SMTP -简单邮件传输协议(Simple Mail Transfer Protocol)。使客户端能够将邮件发送到邮件服务器,并使服务器能够将邮件发送到其他服务器。
POP3 -邮局协议第 3 版(Post Office Protocol version 3)。使客户端能够从邮件服务器检索电子邮件并将电子邮件下载到客户端本地邮件应用程序。
IMAP -互联网消息访问协议(Internet Message Access Protocol)。使客户端能够访问存储在邮件服务器上的电子邮件,并在服务器上维护电子邮件。
文件传输
FTP - 文件传输协议(File Transfer Protocol)。它设置规则,使得一台主机上的用户能够通过网络访问另一台主机或向其传输文件。FTP是一种可靠、面向连接且进行确认的文件传输协议。
SFTP - SSH文件传输协议(SSH...)。作为安全外壳 (SSH)协议的扩展,SFTP可用于建立安全的文件传输会话,在该会话中对文件传输进行加密。SSH 是一种安全远程登录的方法,通常用于访问设备的命令行。
TFTP -简单文件传输协议(Trivial...)。这是一个简单的,无连接的文件传输协议,使用尽最大努力、无需确认的文件传输方式。它使用的开销比FTP少。
Web和Web服务
HTTP(Hybertext Transfer Protocol) -超文本传输协议。这是有关在万维网上交换文本、图形图像、音频、视频以及其他多媒体文件的一组规则集。
HTTPS -安全 HTTP(HTTP Secure)。这是一种安全的HTTP形式,它对在万维网上交换的数据进行加密。
REST -具象状态传输协议(Representational State Transfer)。它使用应用程序编程接口 (API) 和 HTTP 请求创建 Web 应用程序的 Web 服务。前后端交接!!
#传输层#(Transport layer)
面向连接
TCP -传输控制协议(Transmission Control Protocol)。它使运行在不同主机上的进程之间能够进行可靠的通信,并提供可靠的、需要确认的传输,以确保传输成功。
无连接
UDP -用户数据报协议(User Datagram Protocol)。它允许一台主机上运行的进程向另一台主机上运行的进程发送数据包。但是,UDP不会确认数据报传输是否成功。
#互联网层#(Internet Layer)
Internet 协议
IPv4 -互联网协议第 4 版(Internet Protocol version 4)。它接收来自传输层的消息段,将消息打包成数据包,并为通过网络进行端到端传递的数据包进行地址分配。IPv4 使用 32 位地址。
IPv6 - 互联网协议第 6 版。与 IPv4 类似,但使用 128 位地址。
NAT -网络地址转换(Network Address Translation)。将私有网络 IPv4 地址转换为全球唯一的公有 IPv4 地址。
消息传送
ICMPv4 - IPv4 互联网控制消息协议(Internet Control Message Protocol for IPv4)。目的主机针对数据包传输中出现的错误,向源主机提供反馈。
ICMPv6 -用于 IPv6 的ICMP。与 ICMPv4 类似的功能,但用于 IPv6 数据包。
ICMPv6 ND -IPv6 邻居发现(IPv6 Neighbor Discovery)。包括用于地址解析和重复地址检测的四个协议消息。
路由协议
OSPF -开放最短路径优先协议(Open Shortest Path First)。它使用基于区域的分层设计的链路状态路由协议。OSPF是一种开放式标准内部路由协议。
EIGRP — 增强型内部网关路由协议(Enhanced Interior Gateway Routing Protocol)这是一种思科开发的开放标准路由协议,使用基于带宽、延迟、负载和可靠性的复合度量。
BGP -边界网关协议(Border Gateway Protocol)。这是一种开放标准的外部网关路由协议,用于互联网服务提供商(ISP)之间。BGP 还通常用于 ISP 与其大型私有客户端之间来交换路由信息。
#网络接入层#(Network Access Layer)
地址解析
ARP -地址解析协议(Address Resolution Protocol)。提供 IPv4 地址与硬件地址之间的动态地址映射。
注意:您可能会看到其他文档声明 ARP 在互联网层(OSI 第 3 层)运行。但是,在本课程中,我们声明 ARP 在网络接入层(OSI 第 2 层)运行,因为它的主要目的是发现目标的 MAC 地址。MAC 地址是第 2 层地址。
数据链路协议
Ethernet -为网络接入层的布线和信令标准定义规则。
WLAN -无线局域网(Wirelee Local Area Network)。定义 2.4 GHz 和 5 GHz 无线电频率的无线信号规则。
OSI 模型层 | 描述 |
---|---|
7 - 应用层 | 应用层包含用于进程间通信 的协议。 |
6 - 表示层 | 表示层用常用方式表示数据 在应用层服务之间的传输。 |
5 - 会话层 | 会话层向表示层提供服务,组织对话并 管理数据交换。 |
4 - 传输层 | 传输层定义服务以对数据进行分段,传输和 重组,以进行终端设备之间的单独 通信。 |
3 - 网络层 | 网络层为所标识的终端设备之间通过网络 交换独立的数据的片段提供服务。 |
2 - 数据链路层 | 数据链路层协议描述了设备之间通过 公共介质交换数据帧的方法。 |
1 - 物理层 | 物理层协议描述了机械的、电气的、功能的 和程序化的方法,以激活,维护和解除物理连接, 实现与网络设备之间的位 设备。 |
数据封装
理论上来说,可以将一次通信的内容(如音乐视频或有很多很大的附件的电子邮件)作为一大块连续的高容量比特流,通过网络从源发送到目的地。但是,这会给其他需要使用相同通信通道或链路的设备带来问题。这种大型数据流会导致严重的延迟。而且,一旦互联网络基础架构中的任何链路在传输期间出现故障,那么整个消息都会丢失,必须全部重传。
所以,更好的办法是先将数据划分为更小、更易于管理的片段,然后再通过网络发送。分段是将数据流划分成更小的单元,以便在通过网络传输的过程。
好处:
- 提高速度 - 由于将大数据流分段成为数据包,因此可以在不独占通信链路的情况下,通过网络发送大量数据。这允许许多不同的会话在称为多路复用的网络上交错。
- 提高效率 - 如果单个数据段由于网络故障或网络拥塞而无法到达其目的地,则只需要重新传输该段,而不需要重新发送整个数据流。
PDU协议数据单元
Data 数据
Segment 段 Datagram 报
Packet 包
Frame 帧
Bits 位
这个图一开始忽略掉了,各层关注的地址
IP 地址包含两部分:
- 网络部分(IPv4)或前缀(IPv6) – 地址最左边的部分,表示 IP 地址是哪个网络的成员。同一网络中所有设备的地址都有相同的网络部分。
- 主机部分(IPv4)或接口ID(IPv6) - 地址的其余部分,用于识别网络上的特定设备。这部分对于网络中的每个设备或接口都是唯一的。
具体mac和ip的方式等后面吧。
物理层
网络接口卡 (NIC) 将设备连接到网络。以太网网卡用于有线连接、,而无线局域网(WLAN)网卡用于无线连接。最终用户设备可能包括一种或两种类型的网卡。
在连接网络时,所有物理连接的性能水平并不是相等的。
OSI 物理层通过网络介质传输构成数据链路层帧的比特(位)。该层从数据链路层接收完整的帧,并将这些帧编码为一系列信号,传输到本地介质上。帧由经过编码的比特(位)构成,这些位可以被终端设备或中间设备接收。
物理层特征
由以下组织定义和管理:
- 国际标准化组织 (ISO)
- 电信工业协会/电子工业协会 (TIA/EIA)
- 国际电信联盟 (ITU)
- 美国国家标准学会 (ANSI)
- 电气电子工程师协会 (IEEE)
- 国家级电信管理局包括美国联邦通信委员会 (FCC) 和欧洲电信标准协会 (ETSI)。
除了这些组织之外,通常还有地方性布线标准组织,例如 CSA(加拿大标准协会)、CENELEC(欧洲电工标准化委员会)和 JSA/JIS(日本标准协会),开发本地规范。(放在这里谨表敬意,绝对不记!!)
物理层标准管理三个功能区:
- 物理组件 - 电子硬件设备、介质和其他连接器,组件均按照物理层的相关标准进行规定路由器上的各种端口和接口也属于物理组件,根据标准使用特定连接器和引脚。
- 编码 - 将数据位流转换为预先定义“代码”的方法,这些代码就是位的编组,用于提供一种可预测模式,以便发送者和接收者均能识别。换句话说,编码是用于表示数字信息的方法或模式。(比如曼切斯特)
- 信令 - 表示位的方法称为信令方法,在介质上生成代表“1”和“0”的电信号、光信号或无线信号,而哪种类型的信号代表“0”。这可以简单到只是改变电信号或光脉冲的级别。长脉冲可能代表 1,而短脉冲可能代表 0。
信令是方式,是编码的基础,编码是抽象的逻辑,借由信令这个媒介加以实现(我猜的)
带宽
不同的物理介质所支持的位传输速率不同。数据传输的讨论通常都会提及带宽。带宽是介质承载数据的能力。数字带宽可以测量在给定时间内从一个位置流向另一个位置的数据量。
延迟
延迟是指数据从一个给定点传送到另一给定点所用的时间,包括时延。
在拥有多个网段的网际网络或网络中,吞吐量不能超过从源到目的地之间路径的最低链路。纵使这些网段全部或多数具备高速带宽,它也只使用那段低速率路径的吞吐量,这就会造成整个网络的吞吐量瓶颈。
吞吐量
吞吐量是给定时段内通过介质传输的位的量度。
由于各种因素的影响,吞吐量经常与物理层实施中指定的带宽不符。吞吐量通常低于带宽。影响吞吐量的因素
- 流量大小
- 流量类型
- 从源通往目的地的过程中遇到的网络设备数量所造成的延时。
实际吞吐量
用于评估可用数据传输的第三个测量标准称为实际吞吐量。实际吞吐量是在给定时间段内传输的有用数据的衡量标准。实际吞吐量就是吞吐量减去建立会话、确认、封装和重传所产生的流量开销。实际吞吐量总是低于吞吐量,而吞吐量通常低于带宽。
介质
铜缆
有三种不同类型的铜缆布线,每一种都用于特定的情况。
价格低廉、易于安装、对电流的电阻低。但是,铜介质受到距离和信号干扰的限制。
信号传输的距离越远,信号下降就越多。这称为信号衰减。
- 电磁干扰 (EMI) 或射频干扰 (RFI) - EMI 和 RFI 干扰信号会扭曲和损坏通过铜介质承载的数据信号。EMI 和 RFI 的潜在来源包括无线电波和电磁设备(如荧光灯或电动机)。
- 串扰 - 串扰是一根电线中信号的电场或磁场对邻近电线中的信号造成的干扰。在电话线上,串扰会由相邻电路中另一语音会话的接听部分引起。具体而言,当电流流经电线时,会在电线周围产生一个较小的环形磁场,而相邻电线可能接收到该磁场。
为了应对 EMI 和 RFI 的负面影响,某些类型的铜缆会用金属屏蔽套包裹,并要求适当的接地连接。
为了应对串扰的负面影响,某些类型的铜缆将相反电路线对绞合在一起以有效消除串扰。(物理学hh)
使用以下建议也可以限制电子噪音对铜缆的影响:
- 选择的电缆类型或类别要适合特定的网络环境。
- 设计电缆基础设施时应规避建筑结构中已知和潜在的干扰源。
- 使用包括正确处理和端接电缆的布线技术。
UTP非屏蔽双绞线 Unshielded twisted-pair
最常用的网络介质。通过 RJ-45 连接器端接的 UTP 布线用于网络主机与中间网络设备的互连,例如交换机和路由器。四对用颜色标记的电线组成
<img src=”https://cdn.jsdelivr.net/gh/Darren-greenhand/Darren-greenhand-image//img/20210801172405.png" “ style=”zoom:50%;” />
STP屏蔽双绞线 Shielded twisted-pair
比 UTP 布线提供更好的噪声防护。但是,与 UTP 电缆相比,STP 电缆更加昂贵而且不易安装。和 UTP 相同,STP 也使用 RJ-45 连接器。为了充分利用屏蔽的优势,STP 电缆使用特殊屏蔽 STP 数据连接器进行端接。如果电缆接地不正确,屏蔽就相当于一个天线,会接听多余信号。
多了金属编制和金属箔
<img src=”https://cdn.jsdelivr.net/gh/Darren-greenhand/Darren-greenhand-image//img/20210801172356.png" “ style=”zoom:50%;” />
Coaxial cable
同轴电缆,或简称同轴,由于它的两根导线共享同一个中轴而得名
同轴电缆使用许多不同类型的连接器
<img src=”https://gitee.com/darren-greenhand//picture/raw/master/image-20210314182735686.png" “ style=”zoom:67%;” />
虽然 UTP 电缆在现代以太网安装中最终取代了同轴电缆,但在以下情形中仍采用同轴电缆设计:
- 无线安装 - 用同轴电缆将天线连接到无线设备。同轴电缆可传送天线和无线电设备之间的射频 (RF) 能量。
- 有线电视互联网安装 - 有线电视服务提供商为其客户提供互联网连接,他们会使用光缆替换同轴电缆和支撑放大元件部分。但是,客户所在地的布线 仍采用同轴电缆。
UTP布线
UTP 布线遵循由 TIA/EIA 共同制定的标准。具体而言,TIA/EIA-568 规定了 LAN 安装的商业布线标准,它是 LAN 布线环境中最常用的标准。定义的一些要素如下:
- 电缆类型
- 电缆长度
- 连接器
- 电缆端接
- 测试电缆的方法
IEEE 按照它的性能对 UTP 布线划分等级。电缆分类的依据是它们承载更高速率带宽的能力。例如,5类电缆通常用于 100BASE-TX 快速以太网安装。其他类别包括增强型 5类电缆、6类电缆 和 6a 类电缆。
为了支持更高的数据传输速率,人们设计和构造了更高类别的电缆。随着新的千兆位以太网技术的开发和运用,如今已经很少采用 5e 类电缆,新建筑安装推荐使用 6 类电缆。
-3 类电缆最初用于语音线路的语音通信,但后来用于数据传输。 -5 类和5e 类电缆用于数据传输。5类电缆支持 100Mbps,5e 类电缆支持 1000 Mbps -6类电缆在每对线之间增加了一个分隔器以支持更高的速度。 6类电缆支持高达 10 Gbps。 -7类电缆也支持 10 Gbps。 -8类电缆支持 40 Gbps。
UTP 电缆的端头通常为 RJ-45 连接器。TIA/EIA-568 标准描述为以太网电缆进行引脚分配(引出线)的电线颜色标记。
<img src=”https://gitee.com/darren-greenhand//picture/raw/master/image-20210314200028243.png" “ style=”zoom:50%;” />
<img src=”https://gitee.com/darren-greenhand//picture/raw/master/image-20210314200013783.png" “ style=”zoom:50%;” />
直通和交通
- 以太网直通电缆 -最常见的网络电缆类型。它通常用于主机到交换机和交换机到路由器的互连。
- 以太网交叉电缆 -用于互连相似设备的电缆。例如,交换机到交换机、主机到主机或路由器到路由器的连接。但是,由于网卡使用介质相关接口交叉(auto-MDIX)来自动检测电缆类型并进行内部连接,因此现在已将交叉电缆视为传统电缆。
- 但是主机链接路由器竟然也是用交叉线!
注意: 另一种类型的电缆是思科专有的全反电缆。它用于连接路由器或交换机的控制台端口。
在设备间错误使用交叉电缆或直通电缆不会损坏设备,但也无法连通设备并进行通信
电缆类型 | 标准 | 应用 |
---|---|---|
以太网直通线 | 两端均为 T568A 或两端均为 T568B | 将网络主机连接到交换机或集线器之类的网络设备 |
以太网交叉线 | 一端为 T568A,另一端为 T568B | 连接两个网络主机或连接两台网络中间设备 (交换机到交换机或路由器到路由器) |
全反电缆 | 思科专有 | 使用适配器连接工作站串行端口与路由器 控制台端口。 |
光纤
- 单模光纤 (SMF) Single-mode fiber
- 多模光纤 (MMF) Mulitimode fiber
单模光纤包含一个极小的芯,使用昂贵的激光技术来发送单束光,如图所示。单模光纤在跨越数百公里的长距离传输情况下很受欢迎,例如应用于长途电话和有线电视中的光纤。
多模光纤包含一个稍大的芯,使用 LED 发射器发送光脉冲。具体而言,LED 发出的光从不同角度进入多模光纤,t有多条光路,普遍用于 LAN 中,因为它们可以由低成本的 LED 提供支持。它可以通过长达 550 米的链路提供高达 10 Gb/s 的带宽。
多模和单模光纤之间的主要区别之一就是色散的数量。色散是指光脉冲在时间上的分布。色散增加意味着信号强度损失增加。多模光纤具有比单模光纤更大的色散。这就是为什么多模光纤在信号丢失之前只能传播 500 米。
- 企业网络 - 用于主干布线和基础设施设备互连。
- 光纤到户 (FTTH) - 用于为家庭和小型企业提供不间断宽带服务。
- 长距离传输网络 - 由服务提供商用于连接国家/地区与城市。
- 水下有线网络 - 用于提供可靠高速、高容量的网络解决方案,使其在深度与横跨海洋的距离相当的严酷海下环境中仍能生存。在互联网上搜索“海底电缆电信地理地图”,以在线查看各种地图。
连接器:
直通式ST Straight-tip
用户连接器SC Subscriber Connector
朗讯连接器LC单工 Lucent Connector Simplex Connectors
双工多模LC连接器 Duplex Multimode
直到最近,光还只能在光纤上沿一个方向传播。因此,需要两根光纤来支持全双工操作。因此,光纤跳线是将两根光纤线缆捆绑在一起,并通过一对标准的单光纤接头端接。有些光纤连接器可以在单个连接器上同时传送和接收光纤,称为双工连接器,其实就是连接了俩线
需要使用光纤接插线(即光纤跳线)互连基础设施设备。人们使用不同颜色来区分单模和多模接插线。黄色表皮的是单模光缆,橙色(或浅绿色)的是多模光缆。
有SC-SC多模 LC-LC 单模 ST-LC多模 SC-ST单模 。。。
无线
无线介质使用无线电或微波频率来承载代表数据通信二进制数字的电磁信号。
以下是无线网络的一些局限性:
- 覆盖面积 - 无线数据通信技术非常适合开放环境。但是,在楼宇和建筑物中使用的某些建筑材料以及当地地形将会限制它的有效覆盖。
- 干扰 - 无线电易受干扰,可能会受到家庭无绳电话、某些类型的荧光灯、微波炉和其他无线通信装置等常见设备的干扰。
- 安全性 - 无线通信覆盖无需进行介质的物理接线。因此,未获得网络访问授权的设备和用户可以访问传输。所以网络安全是无线网络管理的重要组成部分。
- 共享介质 - WLAN 以半双工模式运行,意味着一台设备一次只能发送或接收。无线介质由所有无线用户共享。许多用户同时访问WLAN会导致每个用户的带宽减少。
标准规定了:
- 数据到无线电信号编码
- 传输频率和功率
- 信号接收和解码要求
- 天线的设计和施工
这些是无线标准:
- Wi-Fi (IEEE 802.11) - 无线 LAN (WLAN) 技术,通常称为 Wi-Fi。WLAN 使用一种称为“载波侦听多路访问/冲突避免 (CSMA/CA)”的争用协议。无线 NIC 在传输数据之前必须先侦听,以确定无线信道是否空闲。如果其他无线设备正在传输,则 NIC 必须等待信道空闲。Wi-Fi 是 Wi-Fi 联盟的标记。Wi-Fi 与基于 IEEE 802.11 标准的认证 WLAN 设备结合使用。
- 蓝牙 (IEEE 802.15) - 这是一个无线个人局域网 (WPAN) 标准,通常称为 “蓝牙”。它采用设备配对过程进行通信,距离为 1 到 100 米。
- WiMAX (IEEE 802:16) - 通常称为微波接入全球互通 (WiMAX),这个无线标准采用点到多点拓扑结构,提供无线带宽接入。
- Zigbee (IEEE 802.15.4) - Zigbee是一种用于低数据速率、低功耗通信的规范。它适用于需要短距离、低数据速率和长电池寿命的应用。Zigbee 通常用于工业和物联网 (IoT) 环境,如无线照明开关和医疗设备数据采集。
WLAN 要求具备下列网络设备:
- 无线接入点 (AP) Wireless Access Point - 集中用户的无线信号,并连接到现有基于铜介质的网络基础设施,如以太网。如图所示,家庭和小型企业无线路由器将路由器、交换机和接入点的功能整合到了一起。
- 无线网卡适配器Wireless NIC adapters - 能够为每台网络主机提供无线通信
以太网网卡用于有线连接,而 WLAN(无线局域网)网卡用于无线连接。
地址plus
IPV4每一个地址包含一串 32 位字符串,并分为四个部分,每个部分称为二进制八位组。每一个二进制八位组包含 8 位(或 1 个字节),用句点分隔。
<img src=”https://cdn.jsdelivr.net/gh/Darren-greenhand/Darren-greenhand-image//img/20210801173248.png" “ style=”zoom:50%;” />
IPv4 地址通常表达为点分十进制记法
<img src=”https://cdn.jsdelivr.net/gh/Darren-greenhand/Darren-greenhand-image//img/20210801173306.png" “ style=”zoom:50%;” />
<img src=”https://cdn.jsdelivr.net/gh/Darren-greenhand/Darren-greenhand-image//img/20210801173439.png" “ style=”zoom:80%;” />
十六进制数制系统在网络中用于表示以太网 MAC 地址和 IP V6 地址。
IPv6地址长度为128位,每 4 位以一个十六进制数字表示,共 8个十六进制数(或者说32 个十六进制值)。IPv6 地址不区分大小写,可用大写或小写书写。首选格式为 x:x:x:x:x:x:x:x
,
每个“x”称为一个十六进制数,包括四个十六进制值
数据链路层
与 TCP/IP 的上层协议不同,数据链路层协议通常不是由征求意见 (RFC) 文档定义的。互联网工程任务组 (IETF) 虽然维护着 TCP/IP 协议簇上层的工作协议和服务,但它没有定义TCP/IP模型的网络接入层的功能和操作。
OSI模型的数据链路层(第2层)为物理网络准备网络数据。数据链路层负责网络接口卡 (NIC) 到网络接口卡的通信。数据链路层执行以下操作:
- 允许上层访问介质。上层协议完全不知道用于转发数据的介质类型。
- 接受数据,通常是第 3 层数据包(即 IPv4 或 IPv6),并将它们封装到第 2 层帧中。
- 控制数据在介质上的放置和接收方式,
- 通过网络介质在终端之间交换帧。
- 接收封装的数据,通常是第 3 层数据包,并将它们定向到适当的上层协议。
- 执行错误检测并拒绝任何损坏的帧。
如果没有数据链路层,则网络层协议(如 IP)必须提供连接到传输路径中可能存在的各种类型介质所需的连接。此外,每当开发出一种新的网络技术或介质时,IP 必须做出相应调整。而这些交给数据链路层来考虑,IP只需考虑更加抽象的架构
IEEE 802 LAN/MAN
IEEE 802 LAN/MAN 标准专用于以太网局域网、无线局域网 (WLAN)、无线个人区域网 (WPAN) 和其他类型的局域网和城域网。IEEE 802 LAN/MAN 数据链路层由以下两个子层组成:
- 逻辑链路控制 (LLC) - 这个 IEEE 802.2 子层在上层的网络软件与下层的设备硬件之间进行通信。它放入帧中的信息用于确定帧所使用的网络层协议。此信息允许多个第 3 层协议(如 IPv4 和 IPv6)使用相同的网络接口和介质。不必让每个协议自己研究这些
- 介质访问控制 (MAC) - 在硬件上实现这个子层(IEEE 802.3、802.11 或 802.15)。它负责数据封装和介质访问控制。它提供数据链路层寻址,并与各种物理层技术集成。
LLC 子层获取网络协议数据(通常是 IPv4 或 IPv6数据包)并加入第2层控制信息,帮助将数据包传送到目的节点。
MAC子层控制网卡和负责在有线或无线LAN/MAN介质上发送和接收数据的其他硬件。
MAC 子层提供数据封装:
- 帧定界 - 在成帧过程中提供重要的定界符,用来标识帧中的字段。这些定界符位可以在发送节点与接收节点之间提供同步。
- 编址 - 提供源和目的编址,用于在同一共享介质上的设备之间传输第 2 层帧。
- 错误检测 - 包含一个帧尾,用于检测传输错误。
MAC 子层还提供介质访问控制,允许多个设备通过共享(半双工)介质进行通信。全双工通信不需要访问控制。
介质访问
在数据包从本地主机传送到远程主机的过程中,其遇到的各种网络环境可能具有不同的特性。例如,以太网 LAN 通常由许多争用网络介质访问的主机组成。MAC 子层解决了这个问题。对于串行链路,访问方法可能只包括两个设备之间的直接连接,通常是两个路由器。因此,它们不需要 IEEE 802 MAC 子层所使用的技术。
路由器接口将数据包封装到适当的帧中。使用合适的介质访问控制方法来访问每个链路。在任意指定的网络层数据包交换过程中,可能存在多次数据链路层和介质的转换。
在路径上的每一跳,路由器都执行以下第 2 层功能:
- 从介质接受帧
- 解封帧
- 将数据包重新封装到新帧中
- 从适合该物理网络网段的介质转发新帧
拓扑
- 物理拓扑 - 标识物理连接,以及终端设备和中间设备(即,路由器、交换机和无线接入点)如何互连。这个拓扑还可能包括特定的设备位置,如房间号和设备机架上的位置。物理拓扑通常是点对点拓扑或星型拓扑。
- 逻辑拓扑 - 是指网络将帧从一个节点传输到另一节点的方法。此拓扑使用设备接口和第 3 层 IP 寻址方案识别虚拟连接。
在控制对介质的数据访问时,数据链路层“看见”的是网络的逻辑拓扑。正是逻辑拓扑在影响网络成帧和介质访问控制的类型。
WAN拓扑
点对点:在这种布局中,两个节点无需与其他主机共享介质。此外,当使用串行通信协议,如点对点协议(PPP)时,节点无需判定收到的帧是指向它还是指向另一节点。因此,逻辑数据链路协议将非常简单,因为介质中的所有帧都只去往或来自这两个节点。节点将帧放置到一端的介质上,然后点对点线路另一端的节点从介质取走帧。
在网络中使用物理设备并不会影响逻辑拓扑
中心辐射:这是星型拓扑的 WAN 版本,在该拓扑中一个中心站点使用点对点链路互连分支机构站点。如果不经过中心站点,分支站点就不能与其他分支站点交换数据。
网状:该拓扑可用性高,但要求每个终端系统都与其他各个系统互连。因此管理成本和物理成本都会非常高。每条链路实质上是另一节点的点对点链路。
混合拓扑(任意拓扑的变体和组合)
LAN拓扑
在多路访问局域网中,终端设备(即节点)使用星型或扩展星型拓扑相互连接,如图所示。在这种类型的拓扑中,终端设备连接到一个中央中间设备,在本例中是一个以太网交换机。扩展星型(扩展星型)通过连接多个以太网交换机来扩展此拓扑。星型和扩展星型拓扑安装简单、扩展性好(易于添加和删除终端设备),而且故障排除容易。早期的星型拓扑使用以太网集线器互连终端设备。
传统LAN拓扑
早期的以太网和传统令牌环局域网技术包括另外两种拓扑结构:
- 总线 - 所有终端系统都相互连接,并在两端以某种形式端接。终端设备互连时不需要基础设施设备(例如交换机)。传统的以太网络中会使用采用同轴电缆的总线拓扑,因为它价格低廉而且安装简易。
- 环 - 终端系统与其各自的邻居相连,形成一个环状。与总线拓扑不同,环拓扑不需要端接。传统的光纤分布式数据接口 (FDDI) 和令牌环网络使用环拓扑。
半双工
两台设备都可以通过该介质发送和接收,但无法同时执行这两个操作。WLAN和带有以太网集线器的传统总线拓扑使用半双工模式。
全双工
两台设备都可以在共享介质上同时发送和接收,现代Ethernet
双工不匹配会导致效率严重下降!重要错误
访问控制方法
如今,以太网网络以全双工方式运行,不需要访问方法。
多路访问网络是指可能有两个或多个终端设备同时试图访问网络的网络。
以太网 LAN 和 WLAN 都是多路访问网络的示例
对于共享介质,有两种基本的访问控制方法:
- 基于竞争的访问
- 受控访问
受控访问
在基于控制的多路访问网络中,每个节点都有自己的时间来使用介质。这种确定性的传统网络类型效率很低,因为设备必须等到轮到自己才能访问介质。使用受控访问的多路访问网络的示例包括:
- 传统令牌环
- 传统ARCNET
基于竞争的访问
在基于竞争的多路访问网络中,所有节点都工作在半双工方式,争夺介质的使用。然而,一次只有一台设备能够发送。因此,当多台设备同时传输时,会使用一个处理过程。基于竞争的访问方法示例如下:
- 在传统总线拓扑/使用集线器的以太网局域网上使用载波侦听多路访问/冲突检测(CSMA/CD)
- 在无线局域网上使用载波侦听多路访问/冲突避免(CSMA/CA)
基于竞争的系统在介质使用率高的情况下都无法很好地扩展。
CSMA/CD
如果两台设备同时传输,则会发生冲突。对于传统以太网局域网,两台设备将会检测到网络上的冲突。这就是 CSMA/CD 的冲突检测 (CD) 部分。网卡通过比较传输的数据与接收的数据,或通过识别介质中的信号振幅是否高于正常状况来实现。两台设备发送的数据会损坏且需重新发送。
集线器例子:
在某主机给集线器发了个帧后,所有主机都会接受这个帧,此时抑制这些主机发送,都接受到后只有拥有 PC3 的目的数据链路地址的设备才会复制该帧
它还提供了一种回退重传算法。
CSMA/CA
在无线环境中,设备可能无法检测到冲突。CMSA/CA 不检测冲突,但会通过在传输之前等待来尝试避免冲突。每台设备发送时都会包含传输所需的持续时间。所有其他无线设备都会收到此信息,知道介质将有久不可用。
帧
附加到帧的信息由正在使用的协议决定。
数据链路协议负责同一网络中的网卡间通信。虽然有许多描述数据链路层帧的不同数据链路层协议,但每种帧均有三个基本组成部分:
- 帧头
- 数据
- 帧尾
没有一种帧结构能满足通过所有类型介质的全部数据传输需求。根据环境的不同,帧中所需的控制信息量也相应变化,以匹配介质和逻辑拓扑的访问控制需求。例如,WLAN帧必须包含避免冲突的过程,因此与以太网帧相比需要额外的控制信息。在脆弱的环境下,需要更多控制才能确保送达。由于所需控制信息较多,因此帧头和帧尾字段都较大。(一个特征)
<img src=”https://gitee.com/darren-greenhand//picture/raw/master/image-20210314213324158.png" “ style=”zoom:67%;” />
发送节点会创建帧内容的逻辑摘要,称为循环冗余校验 cyclic redundancy check (CRC) 值。此值将放入帧校验序列 (FCS) 字段 frame check sequence中以代表帧内容。在以太网尾部,FCS 为接收节点提供一种方法,用于确定帧是否出现传输错误。
在 TCP/IP 网络中,所有 OSI 第 2 层协议都与 OSI 第 3 层的 IP 一起使用。但是,所用的第 2 层协议取决于逻辑拓扑和物理介质。
<img src=”https://cdn.jsdelivr.net/gh/Darren-greenhand/Darren-greenhand-image//img/20210801220318.png" “ style=”zoom:67%;” />
每个协议执行指定第 2 层逻辑拓扑的介质访问控制。这意味着在执行这些协议时,有很多种不同的网络设备都可以充当运行在数据链路层上的节点。这些设备包括计算机上的网卡以及路由器和第 2 层交换机上的接口。
用于特定网络拓扑的第 2 层协议取决于实施该拓扑的技术。所使用的技术取决于网络规模(根据主机数量和地理范围判断)以及通过网络提供的服务。
带宽差异常会导致 LAN 和 WAN 使用不同的协议。
数据链路层协议包括:
- 以太网
- 802.11 无线
- 点对点协议 (PPP)
- 高级数据链路控制 (HDLC) High-Level Data Link Control
- 帧中继 Frame Relay
分别适合不同的设备和介质之间传递
以太网交换
以太网和无线局域网是当前使用最广泛的两种LAN技术。以太网支持高达 100 Gbps 的带宽,这就是其受欢迎的原因。另一种是无线局域网(WLAN),它使用有线通信,包括双绞线、光纤链路和同轴电缆。
以太网在数据链路层和物理层运行,是 IEEE 802.2 和 802.3 标准中定义的一系列网络技术。(无线是802.11)
以太网也使用802 LAN/MAN协议的俩子层
- LLC 子层 - 此 IEEE 802.2 子层在上层的网络软件与下层的设备硬件之间进行通信。它放入帧中的信息用于确定帧所使用的网络层协议。此信息允许多个第 3 层协议(如 IPv4 和 IPv6)使用相同的网络接口和介质。
- MAC 子层 - 此子层(例如 IEEE 802.3、802.11 或 802.15)在硬件中实现,负责数据封装和介质访问控制。它提供数据链路层寻址,并与各种物理层技术集成。
MAC子层
MAC 子层负责数据封装和访问介质。
数据封装
IEEE 802.3 数据封装包括以下内容:
- 以太网帧 - 这是以太网帧的内部结构。
- 以太网寻址 - 以太网帧中包含源和目的MAC 地址,用于将该以太网帧从以太网网卡传送到同一LAN上的以太网网卡。
- 以太网错误检测 - 以太网帧中包含用于错误检测的帧校验序列 (FCS) 帧尾。
它也负责使用CSMA/CD and CSMA/CA技术
以太网帧字段
以太网帧大小的最小值为 64 个字节,最大值为 1518 个字节。这包括从“目的 MAC 地址”字段到“帧校验序列 (FCS)”字段的所有字节。在描述帧的大小时,不包含“前导码”字段。
任何长度小于 64 个字节的帧都被接收站点视为“冲突碎片”或“残帧”而自动丢弃。超过 1500 个字节的数据帧被视为“巨帧”或“小型巨型帧”。
如果发送的帧小于最小值或者大于最大值,接收设备将会丢弃该帧。帧之所以被丢弃,可能是因为冲突或其他多余信号。它们被视为无效。大多数快速以太网和千兆以太网交换机和网卡通常都支持巨帧。
字段 | 说明 |
---|---|
前导码和帧首定界符字段 . | 前导码(Preamble)(7 字节)和帧首定界符(Start Frame Delimiter)(SFD),也称为 帧首(1 字节),该字段用于发送设备 与接收设备之间的同步。帧开头的八个字节 用于引起接收节点的注意。基本上,前几个字节的 作用是告诉接收方准备接收新帧。 |
目的 MAC 地址字段 | 该 6 字节字段是预期接收方的标识符。读者应该还记得, 此地址被第2层用来协助设备 确定帧是否发送到目的地。帧中的地址将会与设备中的 MAC 地址进行比对。如果匹配, 设备就接受该帧。可以是单播、组播或广播 地址。 |
源 MAC 地址字段 | 该 6 字节字段标识发出帧的网卡 或接口。 |
类型/长度 | 该字段包含两个字节,标识封装于以太网帧中的 上层协议。常见值为十六进制,0x800 用于 IPv4, 0x86DD 用于 IPv6,0x806 用于 ARP。 注意:您也可能会看到此字段称为 EtherType、类型或长度。 |
数据字段 | 该字段(46-1500 字节)包含来自 较高层的封装数据,一般是第3层PDU。最常见是IPv4 数据包。所有帧至少必须有 64 个字节。如果封装的是小数据包, 则使用填充位将帧增大到最小值。 |
帧校验序列字段 | “帧校验序列 (Frame Check Sequence)(FCS)”字段(4 个字节)用于检测帧中 的错误。它使用循环冗余校验 (CRC)。发送设备 在帧的 FCS 字段中包含 CRC 的结果。接收设备 接收帧并生成 CRC 以查找 错误。如果计算匹配,就不会发生错误。计算 不匹配则表明数据已经改变。因此, 帧会被丢弃。数据的变化可能是 由于代表比特位的电信号受到干扰所致。 |
MAC 地址
在以太网中,每台网络设备都连接到同一个共享介质。MAC 地址用于标识本地网段上的物理源和目的设备。MAC 编址为 OSI 模型的数据链路层提供了设备识别方法。
以太网 MAC 地址是使用 12个十六进制数字表示的 48 位地址,因为一个字节等于 8 位,我们也可以说 一个MAC 地址长度为 6 个字节。
所有 MAC 地址对于以太网设备或以太网接口必须是唯一的。
为了确保这一点,所有销售以太网设备的供应商必须向 IEEE 注册才能获得唯一的 6个十六进制(即 24 位或 3 字节)代码,称为组织唯一标识符 (OUI)。(Organization unique identifier)
当供应商为设备或以太网接口分配 MAC 地址时,供应商必须执行以下操作:
- 使用其分配的 OUI 作为前 6 个十六进制数字。
- 为后 6 个十六进制数字分配唯一值。
OUI查询网址:http://standards-oui.ieee.org/oui/oui.txt
供应商有责任确保其设备不被分配相同的 MAC 地址。但是,由于制造过程中出现的错误、某些虚拟机部署方式中的错误或使用多种软件工具之一进行的修改,可能存在重复的 MAC 地址。若出现以上任一情况,必须在新网卡或软件中修改 MAC 地址。
MAC 地址通常称为烧录地址(Built-in Address) (BIA),因为传统上该地址被烧录到网卡的只读存储器(ROM)中。这意味着该地址会永久编码到 ROM 芯片中。
注意: 在现代 PC 操作系统和网卡中,可以在软件中更改MAC 地址。当试图访问基于 BIA 进行过滤的网络时,这一点非常有用。因此,根据 MAC 地址来过滤或控制流量就不再安全了。
当计算机启动时,网卡将 MAC 地址从 ROM 复制到 RAM 中
收到以太网帧时,网卡会查看帧中的目的 MAC 地址是否与设备 RAM 中存储的物理 MAC 地址匹配。如果不匹配,设备就会丢弃帧。如果与帧中的目的 MAC 匹配,则网卡会将帧向上传送到 OSI 层进行解封处理。
单播,广播,组播MAC地址
在以太网中,第 2 层单播、组播和广播通信会使用不同的 MAC 地址。
以太网单播 MAC 地址是帧从一台发送设备去往一台目的设备时使用的唯一地址
源主机用来确定目的IPv4地址所对应的目的 MAC 地址的流程称为**地址解析协议 (ARP)。源主机用来确定目的IPv6地址所对应的目的 MAC 地址的流程称为邻居发现 (ND)**。(参看TCP/IP)
以太网广播帧由以太网LAN上的每个设备接收和处理。以太网广播的功能如下:
- 它有一个十六进制(在二进制中是 48 个 1)FF-FF-FF-FF-FF-FF的目的 MAC 地址。
- 它向除输入端口以外的所有以太网交换机端口泛洪。
- 路由器不会转发该帧。
IPv4 的 DHCP 是使用以太网和 IPv4 广播地址的一个协议示例。
以太网组播帧由属于同一组多播组的以太网LAN上的一组设备接收和处理。以太网组播的功能如下:
- 当封装数据为IPv4组播包时,目的MAC地址为01-00-5E;
当封装数据为IPv6组播包时,目的MAC地址为33-33。 - 当封装的数据不是IP时,还有其他预留的组播目的MAC地址,
如生成树协议Spanning Tree Protocol(STP)和链路层发现协议Link Layer Discovery Protocol(LLDP)。 - 除非交换机被配置为用于组播窥探multicast snooping,否则它将向除传入端口之外的所有以太网交换机端口泛洪flooded out。
- 它不会由路由器转发,除非路由器配置为路由组播数据包。
如果封装的数据是一个IP组播包,则属于组播组的设备都分配有该组播组IP地址。IPv4 组播地址(目的IP)的范围为 224.0.0.0 到 239.255.255.255。IPv6 组播地址的范围以 ff00::/8 开头。由于组播地址代表一组地址(有时称为主机组),因此只能用作数据包的目的地址。源地址始终应为单播地址。
交换机
现在就该讨论交换机如何使用这些地址将帧转发(或丢弃)到网络上的其他设备。如果交换机只是转发出它接收到的每一帧到所有端口,您的网络将会非常拥挤,以至于它可能会完全停止工作。
第 2 层以太网交换机使用 MAC 地址做出转发决策。它完全忽视帧的数据部分的协议,交换机仅根据第 2 层以太网 MAC 地址做出转发决策。这才实现了真正的分工和可复用
一个以太网交换机检查它的MAC地址表,为每个帧做出一个转发决策,不像传统的以太网集线器,向除了传入端口以外的所有端口重复发出比特位。
注意: MAC 地址表有时也称为内容可寻址内存Content-addressable-memory (CAM) 表。虽然 CAM 表这一术语相当常见,但在本课程中,我们将称其为 MAC 地址表。
交换机学习
进入交换机的每个帧被检查,以确定其中是否有可被学习的新信息。它是通过检查帧的源 MAC 地址和帧进入交换机的端口号来完成这一步的。如果源 MAC 地址在该网络不存在(就是来自另一局域网),会将其和传入端口号一并添加到表中。如果源 MAC 地址已存在表中,则交换机会更新该条目的刷新计时器。默认情况下,大多数以太网交换机将条目在表中保留 5 分钟。
注意: 如果源 MAC 地址已经保存在表中,但是对应的是不同的端口,那么交换机会将其视为一个新的条目。使用相同的 MAC 地址和最新的端口号来替换该条目。
转发Forward
如果目的 MAC 地址为单播地址,该交换机会看帧中的目的 MAC 地址与 MAC 地址表中的条目是否匹配。如果表中存在该目的MAC地址,交换机会从指定端口转发帧。如果表中不存在该目的MAC地址,交换机会从除传入端口外的所有端口转发帧。这称为未知单播。
注意: 如果目的 MAC 地址为广播或组播,该帧也将被泛洪到除传入端口外的所有端口。
如果一台设备的 IP 地址在远程网络上,则不能将以太网帧直接发送到目的设备。而是将以太网帧发送到默认网关(路由器)的 MAC 地址。
交换机速率/转发方法
对于思科交换机,实际上有两种帧转发的方法,根据具体情况,有充分的理由使用其中一种来代替另一种。
在过去,交换机使用下面的两种转发方法之一来进行网络端口间的数据交换:
- 存储转发交换 - 这个帧转发的方法接收整个帧并计算CRC。CRC 根据帧中的比特位为 1 的位数量,使用数学公式来确定收到的帧是否有错。如果 CRC 有效,则交换机查找目的地址,目的地址决定了转发接口。帧然后从正确的端口转发出去。
ps:发送节点会创建帧内容的逻辑摘要,称为循环冗余校验 cyclic redundancy check (CRC) 值。此值将放入帧校验序列 (FCS) 字段 frame check sequence中以代表帧内容。在以太网尾部,FCS 为接收节点提供一种方法,用于确定帧是否出现传输错误。
- 直通交换 - 这种帧转发的方法在收到整个帧之前即转发帧。在可以转发帧之前,至少必须读取帧的目的地址。
存储转发交换的一大优点是,它可以在传播帧之前确定帧是否有错误。当在帧中检测到错误时,交换机丢弃该帧。丢弃有错的帧可减少损坏的数据所耗用的带宽量。存储转发交换对于融合网络中的服务质量 (QoS) 分析是必需的,在融合网络中,必须对帧进行分类以划分流量优先级。如 IP 语音数据流的优先级需要高于 Web 浏览流量。
直通交换中,交换机在收到数据时立即处理数据,即使传输尚未完成。交换机只缓冲帧的一部分,缓冲的量仅足以读取目的 MAC 地址,以便确定转发数据时应使用的端口。目的 MAC 地址位于帧中前导码后面的前 6 个字节。交换机在其交换表中查找目的 MAC 地址,确定转发端口,然后通过指定的交换机端口将帧转发到其目的地。交换机对该帧不执行任何错误检查。
- 快速转发交换 - 快速转发交换提供最低程度的延时。快速转发交换在读取目的地址之后立即转发数据包。由于快速转发交换在收到整个数据包之前就开始转发,因此有时候中继数据包时会出错。这种情况并不经常发生,而且 目的网络适配器在收到含错数据包时会将其丢弃。在快速转发模式下,延时是指从收到第一个位到传出第一个位之间的时间差。快速转发交换是典型的直通交换方法。Fast-forward switching
- 免分片交换 - 在免分片交换中,交换机在转发之前存储帧的前 64 个字节,原因是,大部分网络错误和冲突都发生在前 64 个字节。免分片交换在转发帧之前对帧的前 64 个字节执行小错误检查以确保没有发生过冲突,并且尝试通过这种方法来增强快速转发交换功能。免分片交换是存储转发交换的高延时和高完整性与快速转发交换的低延时和弱完整性之间的折衷。Fragment-free switching
某些交换机可配置为按端口执行直通交换,当达到用户定义的错误阈值时,这些端口自动切换为存储转发。当错误率低于该阈值时,端口自动恢复到直通切换。(智能化)
缓冲办法
以太网交换机在转发帧之前,可以使用缓冲技术存储帧。当目的端口由于拥塞而繁忙时,也可以使用缓冲。交换机将帧存储起来,直到可以传输。
有两种内存缓冲方法:
方法 | 描述 |
---|---|
基于端口的内存 | 帧存储在链接到特定传入端口和传出 端口的队列中。 只有当队列前面的所有帧都成功传输后, 才会将帧传输到传出端口。 由于目地端口繁忙, 单个帧可能会造成内存中所有帧的传输延迟。 即使其他帧可以传送到开放的目的端口, 这种延迟仍然会发生。 |
共享内存 | 将所有帧存储到由所有交换端口共享的公共内存缓冲区中, 并且动态分配一个端口所需的 缓冲区内存量。 缓冲区中的帧动态地链接到目的端口, 允许在一个端口上接收数据包,然后 在另一个端口上发送,而无需移动到另一个队列。 |
而且共享内存缓冲也意味着存储较大帧的能力,丢弃的帧可能较少。这对于非对称交换非常重要,因为它允许在不同端口上使用不同的数据速率,比如将服务器连接到 10 Gbps 的交换机端口,而pc连接到 1 Gbps 的端口。
交换机上最基本的两个设置是带宽(有时称为“速率”)和每个交换机端口的双工设置。交换机端口和连接的设备(例如计算机或另一台交换机)的双工设置和带宽设置必须匹配。
自动协商是大多数以太网交换机和网卡的一项可选功能。它使两个设备自动协商最佳速率和双工性能。如果两台设备具有最高常见带宽的功能,则会选择全双工。
注意: 大多数思科交换机和以太网网卡默认采用自动协商功能,以提高速率和实现双工。千兆以太网端口仅以全双工模式运行。
当链路上的一个或两个端口被重置时,会发生双工不匹配,自动协调过程并不会使链路上的两个端口的配置相同。当用户重新配置链路的一端而忘记重新配置另一端时,也会出现这样的情况。链路的两端均应都使用或都不使用自动协商。最佳实践是将两个以太网交换端口都配置为全双工。
Auto-MDIX
注意: 路由器和主机之间的直连需要使用交叉线。
现在,大多数交换机设备都支持自动介质相关接口交叉 (auto-MDIX) 功能。当该功能启用时,交换机可检测连接到端口的线缆类型,并相应地配置接口。因此,如果要连接到交换机上的铜缆 10/100/1000 端口,您既可以使用交叉线,也可以使用直通线,而无需考虑连接另一端的设备类型。
在运行思科 IOS Release 12.2(18)SE 或更高版本的交换机上,默认启用 auto-MDIX 功能。当然,该功能可以被禁用。因此,您应始终使用正确的线缆类型,而不是依赖auto-MDIX 功能。Auto-MDIX 可以使用接口配置命令 mdix auto 重新启用。
网络层
要向不在本地网络上的任何人发送电子邮件(视频或文件等),您必须能够访问路由器。要访问路由器,您必须使用网络层协议。
网络层特征
网络层即 OSI 第 3 层,提供能够让终端设备跨整个网络交换数据的服务
IP 版本 4 (IPv4) 和 IP 版本 6 (IPv6) 是主要的网络层通信协议。其他网络层协议包括路由协议,如开放式最短路径优先协议(OSPF),和消息传递协议,如Internet控制消息协议(ICMP)。
为了实现跨网络边界的端到端通信,网络层协议执行四个基本操作:
- 终端设备编址 - 必须为终端设备配置唯一的 IP 地址,以便在网络上进行识别。
- 封装 - 网络层将来自传输层的协议数据单元 (PDU) 封装到数据包中。封装过程中会添加 IP 报头信息,例如来源(发送)和目的(接收)主机的 IP 地址。封装过程由 IP 数据包的源主机执行。
- 路由 - 网络层提供服务,将数据包转发至另一网络上的目的主机。要传送到其他网络,数据包必须经过路由器的处理。路由器的作用是为数据包选择最佳路径,并将其转发至目的主机,该过程称为路由。数据包可能需要经过很多路由器才能到达目的主机。数据包在到达目的主机的过程中经过的每个路由器均称作一跳。
- 解封 - 当数据包到达目的主机的网络层时,主机会检查数据包的 IP 报头。如果在报头中的目的 IP 地址与其自身的 IP 地址匹配,IP 报头将被会从数据包中删除。网络层解封数据包后,后继的第 4 层 PDU 会向上传递到传输层的相应服务。解封过程由 IP 数据包的目的主机执行。
传输层(OSI 第 4 层)负责管理 每台主机上的运行进程之间的数据传输 ( 原来如此!),而网络层通信协议(即,IPv4和IPv6)则指定从一台主机向另一台主机传送数据时使用的数据包结构和处理过程。网络层工作时无需考虑每个数据包中所携带的数据,这使其能够为多台主机之间的多种类型的通信传送数据包
逐层封装数据的流程使我们可以开发和扩展位于不同层的服务而不影响其他层。这意味着传输层数据段可以随时通过 IPv4 或 IPv6 进行封装,或使用未来可能开发出的任何新协议进行封装。
从数据包离开源主机到达目的主机之前,IP编址信息保持不变,除非是由为IPv4执行网络地址转换(NAT)的设备进行转换。
IP的基本特征
IP 被设计为一种低开销协议。它只提供通过互连的网络系统从源主机向目的主机传送数据包所必需的功能。并不负责跟踪和管理数据包的流动。这些功能(如果需要)将由其他层的其他协议(主要是第 4 层的 TCP)执行。
IP的基本特征:
- 无连接 - 发送数据包前不与目的地建立连接。IP 在转发数据包前,并不需要初步交换控制信息来创建端到端连接。
- 尽力而为 - IP本质上是不可靠的,因为不保证数据包交付。IP 也不需要报头中包含其他字段来维持建立的连接。此过程显著降低了 IP 的开销。但是,由于没有预先建立端到端连接,发送数据包时,发送方不知道目的地是否存在和正常运行,同时发送数据包时,也不会知道目的地是否接收数据包,或者,目的设备是否可以访问并读取数据包。确认由其他协议负责
- 介质无关性 - 其工作与传输数据的介质(即铜缆、光纤或无线)无关。如果数据包顺序错乱或丢失,则使用数据或上层服务的应用程序必须解决这些问题。这让 IP 可以非常有效地发挥作用。在 TCP/IP 协议簇中,可靠性是TCP协议在传输层的功能。IP 数据包既可以作为电信号通过铜缆传送,也可以作为光信号通过光纤传送或作为无线电信号无线传送。
但是,网络层会考虑介质的一个重要特征:每种介质可以传输的最大 PDU 大小。此特征称为最大传输单位 (MTU)。数据链路层和网络层之间的部分控制通信就是确定数据包的最大尺寸。数据链路层将 MTU 值向上传送到网络层。网络层会由此确定可以传送的数据包的大小。
有时,中间设备(通常是路由器),在将IPv4数据包从一个介质转发到具有更小 MTU 的介质时,必须分割数据包。此过程称为数据包分片或分片。分片会导致延迟。IPv6 数据包不能被路由器分片。
OSI传输层发送被封装在IPv4或IPv6包中的数据段
OSI数据链路层负责接收数据包并准备数据包以在通信介质上传输
数据包
IPv4数据包
IPv4 是主要网络层通信协议之一。IPv4 数据包报头用于确保此数据包在到达目的地终端设备的路上被传递到其下一站。
IPv4 数据包报头是由包含重要数据包信息的字段组成。这些字段中包含的二进制数字由第 3 层进程进行检查。
互联网报头长度 (IHL)、总长度和报头校验和字段用于识别和验证数据包。
其他字段用于重新排列分段的数据包。具体而言,IPv4 数据包使用标识符、标志和片偏移量字段跟踪分段。路由器从一种介质向具有较小 MTU 的另一种介质转发IPv4数据包时必须将它分片。
注意:选项和填充字段很少使用,因此不在本模块的介绍范围之内。
8.2.3的视频描述wireshark中检测IPv4报头非常好!
*IPv6数据包
IPv6它最终将取代 IPv4
多年来,为应对新的挑战,已经制定了附加议定书和规程。但是,尽管经历了多次变更,IPv4 仍然有三个重要问题:
- IPv4地址耗尽 - IPv4 的可用唯一公有地址数量有限。尽管有大约 40 亿的 IPv4 地址,但是支持 IP 的新设备数量的不断增加,以及始终在线的连接的增加,和欠发达地区的潜在连接的增加,不断催生更多的地址需求。
- 缺乏端到端连接 - 网络地址转换 (NAT) 是 IPv4 网络中经常实施的一项技术。NAT 为多种设备共享单一的公有 IPv4 地址提供方法。但是,因为共享了公有 IPv4 地址,内部网络主机的 IPv4 地址会隐藏起来。这会给需要端到端连接的技术造成难题。
- 增加的网络复杂性 - 虽然NAT延长了IPv4的寿命,但它只是作为一种过渡到IPv6的机制。NAT在其各种实施中增加了网络的复杂性,从而造成延迟并使故障排除更加困难。
IPv6 的功能提升包括以下:
- 更大的地址空间 - IPv6 地址基于 128 位分层编址,而 IPv4 采用的是 32 位。
- 改进数据包处理过程 - IPv6 报头简化为更少的字段。
- 消除了对 NAT 的需求 - 有了数额如此巨大的公有 IPv6 地址,私有 IPv4 地址和公有 IPv4 地址之间不再需要 NAT。这可避免需要端到端连接的应用程序遇到某些由 NAT 引起的故障。
32 位的 IPv4 地址空间提供大约 4,294,967,296 个地址。IPv6 地址空间提供 340,282,366,920,938,463,463,374,607,431,768,211,456 个或 340 涧(10 的 36 次方)个地址。这大致相当于地球上的每一粒沙子。
IPv6 较 IPv4 的一个重大改进是简化的 IPv6 报头。
例如,IPv4 报头包含 20 个二进制八位组的可变长度报头(如果使用“选项”字段,则高达 60 字节)和 12 个基本报头字段(不包括“选项”字段和“填充”字段)。
对于 IPv6,某些字段保持不变,某些字段的名称和位置发生了变化,而某些 IPv4 字段不再需要,正如图中突出显示。
共40个八位组,8个报头字段
主机路由方式
对于IPv4和IPv6,数据包总是在源主机上创建。源主机必须能够将数据包定向到目的主机。为此,主机终端设备将创建自己的路由表。本主题讨论终端设备如何使用路由表。
网络层的另一个作用是在主机之间转发数据包。主机可以将数据包发送至如下:
- 主机自己 - 主机可以通过向特定的地址发送数据包来向自己发起ping测试,这个特定的地址是:IPv4地址127.0.0.1,或者IPv6地址 ::1,它被称为环回接口。对环回接口执行 ping 操作可以测试主机上的 TCP/IP 协议堆栈。
- 本地主机 - 目的主机与发送主机位于同一本地网络。源和目的主机共享同一个网络地址。
- 远程主机 - 这是位于远程网络上的目的主机。源和目的主机不共享同一个网络地址。
数据包是要发送到本地主机还是远程主机是由源端设备决定的。源端设备确定目的 IP 地址是否与源设备本身所在的网络相同。确定方法因 IP 版本不同而异:
- 在 IPv4 中 -源设备使用自己的子网掩码以及自己的 IPv4 地址和目的 IPv4 地址来进行此判断。
- 在 IPv6 中 -本地路由器将本地网络地址(前缀)通告给网络上的所有设备
在家庭或企业网络中,您可能有若干通过中间设备(LAN 交换机和/或无线接入点 (WAP) 等)互联的有线和无线设备。这种中间设备在本地网络上的本地主机之间提供互联服务。本地主机可以互相访问和共享信息,无需任何附加设备。如果主机要将数据包发送到与本主机在同一 IP 网络中的设备,则数据包仅是被转发出主机接口,然后经过中间设备即可直接到达目的设备(不必经手路由器)。
当然,在大多数情况下我们希望我们的设备不仅仅能够连接本地网段,还能连接其他家庭、企业和互联网。位于本地网段外的设备称为远程主机。如果源设备发送数据包到远程目的设备,则需要借助路由器和路由。路由是确定到达目的地之最佳路径的过程。连接到本地网段的路由器称为默认网关Defalut Gateway。
默认网关
Default Gateway是可以将流量路由到其他网络的网络设备(即,路由器或第3层交换机)。如果把一个网络比作一个房间,那么默认网关就好比是门口。如果要去另一个房间或网络,您就需要找到门口。
在网络上,默认网关通常是具有以下功能的路由器:
- 它拥有与本地网络其他主机位于相同地址范围的本地 IP 地址。
- 它可以接受数据到本地网络,并将数据转发出本地网络。
- 它向其他网络路由流量。
需要使用默认网关来发送本地网络之外的流量。如果没有默认网关、未配置默认网关地址或默认网关关闭,则无法将流量转发到本地网络之外。
主机的路由表通常包括默认网关。在IPv4中,主机通过动态主机配置协议 (DHCP) 动态接收默认网关 IPv4 地址,或者通过手动配置。在 IPv6 中,路由器通告默认网关地址,或者可以在主机上手动配置。
配置默认网关会在 PC 的路由表中创建一个默认路由。默认路由是计算机尝试联系远程网络时所用的路由或路径。
路由简介
当数据包到达路由器接口时会发生什么?
路由器会检查数据包的目的 IP 地址并搜索其路由表以确定将数据包转发到何处。路由表包含所有已知网络地址(前缀)以及数据包转发位置的列表。这些条目称为路由条目或路由。路由器将使用最佳(最长)匹配的路由条目转发数据包。
路由表存储三种类型的路由条目:
- 直连网络- 这些网络路由条目是活动的路由器接口。当接口配置了 IP 地址并激活时,路由器会添加直连路由。每个路由器接口均连接到一个不同的网段。在图中,R1 IPv4路由表中的直连网络为192.168.10.0/24和209.165.200.224/30。
- 远程网络 - 这些网络路由条目连接到其他路由器。路由器通过由管理员明确配置或使用动态路由协议交换路由信息来学习远程网络。在图中,R1 IPv4路由表中的远程网络为10.1.1 /24。
- 默认路由 -像主机一样,大多数路由器还包含默认路由条目,即默认网关。当IP路由表中没有更好(更长)的匹配时,将使用默认路由。在图中,R1 IPv4路由表很可能包含一个将所有数据包转发到路由器R2的默认路由。
路由器可通过两种方式获知远程网络:
- 手动 - 使用静态路由将远程网络手动输入到路由表中。
- 动态 - 使用动态路由协议自动学习远程路由。
静态路由
手动配置的路由条目
静态路由包括远程网络地址和下一跳路由器的IP地址。
ip route 远程网络地址 下一跳路由器的IP地址
静态路由具有以下特征:
- 必须手动配置静态路由。
- 如果拓扑发生变化,且静态路由不再可用,则管理员需要重新配置静态路由。
- 静态路由适用于小型网络且当冗余链路很少或没有冗余链路的情况。
- 静态路由通常与动态路由协议一起用于配置默认路由。
动态路由
动态路由协议可让路由器从其他路由器那里自动学习远程网络,包括默认路由。如果使用动态路由协议,则路由器无需网络管理员的参与,即可自动与其它路由器共享路由信息并对拓扑结构的变化作出反应。如果网络拓扑发生变化,路由器将使用动态路由协议共享此信息,并自动更新路由表。
动态路由协议包括OSPF(开放最短路径优先协议)和增强型内部网关路由协议 (EIGRP),e.g.
<img src=”https://cdn.jsdelivr.net/gh/Darren-greenhand/Darren-greenhand-image//img/20210802143704.png" “ style=”zoom: 80%;” />
基本配置只需要网络管理员在动态路由协议中启用直连网络。动态路由协议将自动执行如下操作:
- 发现远程网络
- 维护最新路由信息
- 选择通往目的网络的最佳路径
- 当前路径无法再使用时尝试找出新的最佳路径
当使用静态路由手动配置路由器或使用动态路由协议动态学习远程网络时,远程网络地址和下一跳地址将被输入到IP路由表中。如图所示,如果网络拓扑发生变化,路由器将自动调整并尝试找到新的最佳路径。(R1,2,3正在使用动态路由协议OSPF)
<img src=”https://gitee.com/darren-greenhand//picture/raw/master/image-20210315124816720.png" “ style=”zoom:80%;” />
8.5.5大致介绍挺好的
每个路由表条目的开头都有一个代码,用于标识路由的类型或路由的学习方式。常见路由源(代码)包括以下内容:
- L - 该网络所直连的它的本地接口的 IP 地址
- C - 直连网络
- S - 静态路由由管理员手动配置
- O - OSPF
- D - EIGRP
默认路由具有全都是零的网络地址。例如,IPv4 网络地址为 0.0.0.0。路由表中的静态路由条目以 S\ * 的代码开头
地址解析
主机和路由器都创建路由表,以确保它们可以跨网络发送和接收数据。那么这些信息是如何在路由表中被创建的呢? 作为网络管理员,您可以手动输入这些 MAC 和 IP 地址。但这将花费大量时间,而且犯一些错误的可能性很大。您是否认为一定有某种方式,由主机和路由器可以自动完成? 当然,您是对的!即使它是自动的,您仍然必须要了解它是如何工作的,因为您可能会需要排除一些故障,或更糟的是,您的网络可能会受到威胁发起者的攻击。
(复习)以太网 LAN 上的设备都配有两个主要地址:
- 物理地址(MAC 地址) – 用于同一网络上的以太网网卡之间的通信。
- 逻辑地址(IP地址) – 用于将数据包从源设备发送到目的设备。目的IP地址可能与源地址在同一个IP网络上,也可能在远程网络上。
第二层物理地址(即以太网MAC地址)用于将数据链路层帧从同一网络中一个网卡发送到另一个网卡, IP 数据包就封装在帧中。
如果目的IP地址在同一网络上,则目的MAC地址将是目的设备的MAC地址。
当目的 IP 地址(IPv4或IPv6)处于远程网络中时,则目的 MAC 地址为主机的默认网关的地址(即路由器接口)
数据流中 IP 数据包的 IP 地址如何与通往目的地路径中每条链路上的 MAC 地址相关联?对于IPv4数据包,这可以通过地址解析协议 (ARP) 过程来完成。对于IPv6数据包,这个过程是ICMPv6邻居发现(ND)。
ARP
IPv4当将帧发送到另一个远程网络时,只知道IP地址,要获得MAC地址得使用ARP帮助
设备使用地址解析协议(ARP)来确定一个已知 IPv4 地址的本地设备的目的MAC地址。
ARP 提供两个基本功能:
- 将 IPv4 地址解析为 MAC 地址
- 维护IPv4到MAC地址映射表
当数据包发送到要封装入以太网帧的数据链路层时,设备将参照其内存中的表来查找映射至 IPv4 地址的 MAC 地址。此表临时存储在RAM内存中,称为 ARP 表或 ARP 缓存。
发送设备首先会在自己的 ARP 表中搜索目的 IPv4 地址和相应的 MAC 地址。
- 如果数据包的目的 IPv4 地址与源 IPv4 地址处于同一个网络,则设备会在 ARP 表中搜索目的 IPv4 地址。
- 如果目的 IPv4 地址与源 IPv4 地址不在同一个网络中,则设备会在 ARP 表中搜索默认网关的 IPv4 地址。
这两种情况都是搜索设备的 IPv4 地址和与其相对应的 MAC 地址。
ARP 表中的每一条(或每行)将一个 IPv4 地址与一个 MAC 地址绑定。我们把两个值之间的关系称为映射。这意味着您可以在表中查找 IPv4 地址并发现相应的 MAC 地址。ARP 表暂时保存(缓存)LAN 上设备的映射。
ARP 请求。
当设备需要确定与 IPv4 地址关联的 MAC 地址,而它的 ARP 表中没有该 IPv4 地址条目时,会发送一个 ARP 请求。
ARP 消息直接封装到以太网帧中。没有 IPv4 报头。ARP 请求使用以下帧头信息封装在以太网帧中:
- 目的 MAC 地址 – 这是一种要求 LAN 上的所有以太网网卡接受并处理 ARP 请求的广播地址FF-FF-FF-FF-FF-FF。
- 源 MAC 地址 – 这是ARP请求发送方的MAC地址。
- 类型 - ARP 消息的类型字段为 0x806。该类型字段会通知接收网卡需要将帧的数据部分传递给 ARP 进程处理。
因为 ARP 请求属于广播,交换机会将其泛洪到除接收端口外的其他所有端口。局域网上的所有以太网网卡都会处理广播,并且必须将ARP请求发送到其操作系统进行处理。每台设备必须处理 ARP 请求,以检查目的 IPv4 地址是否与其自己的地址相匹配。路由器不会将广播转发到其他接口。
ARP应答
LAN 上只有一台设备的 IPv4 地址与 ARP 请求中的目的 IPv4 地址相匹配。所有其他设备将不应答。
只有具有与ARP请求相应的目的IPv4地址的设备才会以ARP应答做出响应。ARP 应答使用以下帧头信息封装在以太网帧中:
目的 MAC 地址 – 这是ARP请求发送方的MAC地址。
源 MAC 地址 – 这是ARP应答发送方的MAC地址。
类型 – ARP 消息的类型字段为 0x806。该类型字段会通知接收网卡需要将帧的数据部分传递给 ARP 进程处理。
只有原始发送 ARP 请求的设备会收到单播 ARP 应答。收到该 ARP 应答后,设备会将 IPv4 地址及相应的 MAC 地址添加到自身的 ARP 表中。该 IPv4 地址的数据包现在便可使用其相应的 MAC 地址封装在帧中。
如果没有设备响应 ARP 请求,就无法创建帧,那么这个数据包会被丢弃。
对于每台设备,ARP 缓存定时器将会删除在指定时间内未使用的 ARP 条目。时间根据设备的操作系统不同而不同。例如,较新的 Windows 操作系统将 ARP 表条目存储 15 秒到 45 秒之间
也可以使用命令来手动删除 ARP 表中的部分或全部条目。当条目被删除之后,要想在 ARP 表中输入映射,必须重复一次发送 ARP 请求和接收 ARP 回复的过程。
作为广播帧(IPv6是组播),本地网络上的每台设备都会收到并处理 ARP 请求。在一般的商业网络中,这些广播对网络性能的影响可能微不足道。但是,如果大量设备都已启动,并且同时开始使用网络服务,网络性能可能会有短时间的下降。在设备发出初始 ARP 广播并获取必要的 MAC 地址之后,网络受到的影响将会降至最小。
有时,使用 ARP 可能会造成潜在的安全风险。威胁发起者可以使用 ARP 欺骗来执行 ARP 毒化攻击。如图所示,威胁发起者使用这种技术来应答属于另一台设备(例如默认网关)的 IPv4 地址的 ARP 请求。威胁发起者会发送一个带有自己 MAC 地址的 ARP 应答。ARP 应答的接收方会将错误的 MAC 地址添加到其 ARP 表中,并将这些数据包发送给威胁发起者。 企业级的交换机包含称为动态 ARP 检查 (DAI) 的缓解技术。DAI 不在本课程的讨论范围之内。
邻居发现
IPv6 邻居发现协议有时被称为 ND 或 NDP。在本课程中,我们称它为 ND。ND使用ICMPv6为IPv6提供地址解析、路由器发现和重定向服务。ICMPv6 ND 使用五种 ICMPv6 消息来执行这些服务:
- 邻居请求消息
- 邻居通告消息
- 路由器请求消息
- 路由器通告消息
- 重定向消息
邻居请求和邻居通告消息用于设备到设备的消息传递,例如地址解析(类似于 IPv4 的 ARP)。设备包括主机计算机和路由器。如果在neighrbor表中没找到目标IPv6条目:
<img src=”https://cdn.jsdelivr.net/gh/Darren-greenhand/Darren-greenhand-image//img/20210802152908.png" “ style=”zoom: 33%;” />
它会从on hold的IPv6信息中得到目标IPv6地址,映射为特定的IPv6组播,再映射为特定的MAC组播,在这个过程中比起ARP广播缩小了范围,而且如果没有匹配的,会直接丢弃,不把他传给上层进程,这也是优于IPv4的。
路由器请求和路由器通告消息用于设备和路由器之间的消息传递。通常,路由器发现用于动态地址分配和无状态地址自动配置 (SLAAC)。
注意: 第五个 ICMPv6 ND 消息是一个重定向消息,用于更好的下一跳选择。这不在本课程的讨论范围之内。
IPv6 ND 是在 IETF RFC 4861 中定义的。
ICMPv6 邻居请求和邻居通告消息用于MAC地址解析。这类似于ARP用于IPv4的ARP请求和ARP应答
ICMPv6邻居请求消息使用特定的以太网和IPv6 组播 而不是广播地址发送。这允许接收设备的以太网卡确定邻居请求消息是否属于它自己,而不必将它发送到操作系统进行处理。
路由器基本配置
基本配置
在路由器上配置初始设置时,应完成以下任务。
- 配置设备名称。
Router(config)# hostname hostname
- 保护特权模式。
Router(config)# enable secret password
- 保护用户模式
Router(config)# line console 0
Router(config-line)# password password
Router(config-line)# login
- 保护远程 Telnet / SSH 访问
Router(config-line)# line vty 0 4
Router(config-line)# password password
Router(config-line)# login
Router(config-line)# transport input {ssh | telnet}
- 保护配置文件中的所有密码。
Router(config-line)# exit
Router(config)# service password-encryption
- 提供法律通知。
法律通知警告用户只能由允许用户访问该设备。法律通知配置如下。
R1(config)# banner motd #
Enter TEXT message. End with a new line and the #
***********************************************
WARNING: Unauthorized access is prohibited!
***********************************************
#
R1(config)#
- 保存配置。
Router(config)# end
Router# copy running-config startup-config
配置接口
下一步将配置它们的接口。这是因为在配置接口之前,终端设备无法访问路由器。
配置路由器接口的任务与交换机上管理 SVI 非常相似。具体来说,它包括发出以下命令:
Router(config)# interface type-and-number
Router(config-if)# description description-text
Router(config-if)# ip address ipv4-address subnet-mask
Router(config-if)# ipv6 address ipv6-address/prefix-length
Router(config-if)# no shutdown
此表总结了用于验证接口配置的更常用 show 命令。
命令 | 说明 |
---|---|
**show ip interface brief****show ipv6 interface brief** |
所有接口的输出显示,它们的IP地址和 当前的状态已配置和连接的接口的 状态和协议均会显示“up”; 显示任何其他内容都可能表示配置或 布线出现了问题。 |
**show ip route****show ipv6 route** |
显示存储在 RAM 中的 IP 路由表的内容。 |
**show interfaces** |
显示设备上所有接口的统计信息。然而,这个命令将只显示 IPv4 编址信息。 |
**show ip interface** |
显示路由器上所有接口的 IPv4 统计信息。 |
**show ipv6 interface** |
显示路由器上所有接口的 IPv6 统计信息。 |
配置默认网关
如果您的本地网络只有一个路由器,它就将是网关路由器,并且必须使用此信息配置网络上的所有主机和交换机。如果您的本地网络有多个路由器,则必须选择其中一个作为默认网关路由器
连接客户端计算机的交换机通常是第 2 层设备。因此,第 2 层交换机不需要使用 IP 地址就能正常工作。但是,可以在交换机上配置 IP 配置,以便管理员能够远程访问交换机。
要通过本地 IP 网络连接和管理交换机,必须配置交换机虚拟接口 (SVI)。SVI 配置了本地局域网上的 IPv4 地址和子网掩码。要从远端网络管理交换机,必须给交换机配置一个默认网关。
在会通过本地网络之外的方式通信的所有设备上,一般都会配置默认网关地址。
要为交换机配置默认网关,请使用ip default-gateway ip-address 全局配置命令。配置的 IP 地址是连接到交换机的本地路由器接口的 IP 地址。
也可以使用 SVI 上的 IPv6 地址配置工作组交换机。但是,交换机不需要手动配置默认网关的 IPv6 地址。交换机将自动接收来自路由器的 ICMPv6 路由器公告消息的默认网关。
测试链接
您将使用的故障排除方法包含以下步骤:
a. 验证网络文档,并使用测试来查明问题。
b. 为查明的问题确定一个适当的解决方案。
c. 实施解决方案。
d. 进行测试以验证问题是否已解决。
e. 记录解决方案。
在整个 CCNA 学习过程中,您会遇到不同的 故障排除方法,以及测试 并记录问题和解决方案的不同方法。这是有意设计的。故障排除没有固定的 标准或模板。每个组织都制定了独特的 流程和文档标准(有时候,一个组织的流程就是“我们没有 固定流程”)。但是,所有有效的故障排除方法通常都包括 上述步骤。
注意:通常不止一个解决方案。但是,排除故障的最佳做法是每次实施和验证一个解决方案。在更复杂的 情形中,实施多个解决方案会导致其他问题。
IPv4编制
目前,仍有大量使用IPv4编址的网络,即这些组织正在向IPv6过渡。因此,对于网络管理员来说,了解有关IPv4编址的所有信息仍然非常重要。本模块详细介绍了IPv4编址的基本方面。它包括了如何将网络划分为子网,以及如何创建一个变长子网掩码 (VLSM) 作为整体IPv4编址方案的一部分。子网划分就像把一个饼切成越来越小的块。
地址编制
对于同一网络中的所有设备,地址的网络部分中的位必须完全相同。地址的主机部分中的位必须唯一,这方便识别网络中的特定主机。如果两台主机在 32 位数据流中的指定网络部分有相同的位模式,则这两台主机位于同一网络。但是,主机如何知道 32 位数据流中的哪一部分用于标识网络,哪一部分用于标识主机呢?这就是子网掩码的作用。
子网掩码
子网掩码是一个1位连续序列,后面跟有一个0位连续序列组成的序列。
为了确定 IPv4 地址的网络部分和主机部分,要将子网掩码与 IPv4 地址进行从左到右逐位比较(如图所示)。
子网掩码实际上不包含 IPv4 地址的网络部分或主机部分,它仅通知计算机在哪里查找IPv4地址的网络部分和主机部分。
用于确定网络部分和主机部分的实际流程叫做 AND 运算。
前缀长度
使用点分十进制子网掩码地址表示网络地址和主机地址会变得很麻烦。幸运的是,还有另一种识别子网掩码的方法,称为前缀长度。前缀长度是子网掩码中设置为 1 的位数。使用“斜线记法”写入,即“/”紧跟设置为 1 的位数。借此计算子网掩码中的位数,并在前面加斜线表示。
长度的多少取决于网络的规模
当使用前缀长度表示 IPv4 地址时,IPv4 地址后面写入不带空格的前缀长度。例如192.168.10.10 255.255.255.0可以写成192.168.10.10/24。后面将讨论各种类型前缀长度的使用。目前重点是 /24(例如 255.255.255.0)前缀。
网络地址是表示特定网络的地址。如果设备满足以下三个条件,则属于此网络:
- 它具有与网络地址相同的子网掩码。
- 它具有与网络地址相同的网络位,如子网掩码所示。
- 它与具有相同网络地址的其他主机位于同一广播域中。
主机通过在其 IPv4 地址与其子网掩码之间执行一个AND运算来确定其网络地址。
如下:
单播、组播、广播
IPv4 单播主机地址的地址范围是 1.1.1.1到 223.255.255.255。不过,此范围中的很多地址被留作特殊用途。这些特殊用途的地址将在本模块后续部分讨论。
广播数据包以主机部分全部为 1 的地址或32个1位作为目的 IP地址。
注意: IPv4使用广播数据包但是,IPv6没有广播数据包。
广播数据包必须由同一广播域中的所有设备处理。广播域标识同一网段上的所有主机。可以对广播进行定向或限制。定向广播是将数据包发送给特定网络中的所有主机。例如,位于 172.16.4.0/24 网络的主机向 172.16.4.255 发送数据包。受限广播将被发送至 255.255.255.255。默认情况下,路由器不转发广播。
广播数据包使用网络上的资源,使网络上的所有接收主机都处理该数据包。因此,广播通信应加以限制,以免对网络或设备的性能造成负面影响。因为路由器可分隔广播域,所以细分网络可以通过消除过多的广播通信来提高网络性能。
IP直接广播
除了 255.255.255.255 的广播地址外,每个网络还有一个广播 IPv4 地址。这个地址称为定向广播,它使用网络范围内的最大地址,即所有主机位全部为 1 的地址。例如,网络192.168.1.0/24的定向广播地址是192.168.1.255。此地址允许与该网络中的所有主机进行通信。要向网络中的所有主机发送数据,主机只需以该网络广播地址为目标地址发送一个数据包即可。
未直接连接到目标网络的设备转发 IP 定向广播,其方式与转发去往网络上主机的单播 IP 数据包相同。当定向广播数据包到达直接连接到目标网络的路由器时,该数据包在目标网络上进行广播。
主机通过组播传输可以向所属组播组中的选定主机组发送一个数据包,从而减少了流量。
组播数据包是一个目的IP地址为组播地址的数据包。IPv4 将 224.0.0.0 到 239.255.255.255 的地址保留为组播范围。
接收特定组播数据包的主机称为组播客户端。组播客户端使用客户端程序请求的服务来加入组播组。每个组播组由一个 IPv4 组播目的地址代表。当 IPv4 主机加入组播组后,该主机既要处理目的地址为此组播地址的数据包,也要处理发往其唯一单播地址的数据包。
路由协议(如 OSPF)使用组播传输。例如,启用 OSPF 的路由器使用保留的 OSPF 组播地址 224.0.0.5 相互通信。只有启用 OSPF 的设备才会以 224.0.0.5 作为目的 IPv4 地址处理这些数据包。所有其他设备将忽略这些数据包。
地址分类
一些 IPv4 地址不能用于外联到互联网,而其他地址则专门用于路由到互联网。一些用于验证连接,另一些则是自分配的。
公有 IPv4 地址是能在 ISP(互联网运营商)路由器之间全局路由的地址。但是,并非所有可用的 IPv4 地址都可用于互联网。大多数组织使用称为私有地址的地址块向内部主机分配 IPv4 地址。
20 世纪 90 年代中期,随着万维网(WWW)的引入,由于 IPv4 地址空间耗尽,引入了私有 IPv4 地址。私有 IPv4 地址并不是唯一的,可以在任何网络内部使用它。
注意: 私有地址在 RFC 1918 中定义,有时也称为 RFC 1918 地址空间。
私有地址
私有地址块
网络地址和前缀 | RFC 1918 私有地址范围 |
---|---|
10.0.0.0/8 | 10.0.0.0 - 10.255.255.255 |
172.16.0.0/12 | 172.16.0.0 - 172.31.255.255 |
192.168.0.0/16 | 192.168.0.0 - 192.168.255.255 |
注意: 私有地址在 RFC 1918 中定义,有时也称为 RFC 1918 地址空间。
在 ISP 可以转发此数据包之前,它必须使用网络地址转换 (NAT) 将源 IPv4 地址(即私有地址)转换为公有 IPv4 地址。NAT用于转换私有和公有 IPv4 地址。这通常是在将内部网络连接到 ISP 网络的路由器上完成。在路由到互联网之前,组织内部网中的私有 IPv4 地址将被转换为公有 IPv4 地址。
注意: 虽然具有私有 IPv4 地址的设备无法通过互联网从另一个设备直接访问,但 IETF 并不认为私有 IPv4 地址或 NAT 是有效的安全措施。
拥有可用于互联网的资源的组织(如 Web 服务器)也将拥有具有公有 IPv4 地址的设备。如图所示,该网络的这一部分被称为DMZ(非军事区)(demilitarized zone)。图中的路由器不仅执行路由,还执行 NAT 并充当安全防火墙。
专用地址
环回地址
环回地址(127.0.0.0 /8 或 127.0.0.1 到 127.255.255.254)通常仅被标识为127.0.0.1,主机使用这些特殊地址将流量指向其自身。例如,如图所示,主机可以使用这个特殊地址测试 TCP/IP 配置是否运行正常。注意 127.0.0.1 环回地址对 ping 命令的应答。
本地链路地址
本地链路地址(169.254.0.0 /16 或 169.254.0.1 至 169.254.255.254)通常称为自动私有 IP 编址 (APIPA) 地址或自分配地址。 当没有可用的DHCP服务器时,Windows DHCP客户端使用它们进行自我配置。本地链路地址可以用于点对点连接,但通常不用于此目的。
传统有类编制
二十世纪90年代中期,随着万维网 (WWW) 的引入,有类编址被弃用,以便更有效地分配有限的 IPv4 地址空间。有类地址分配被替换为今天使用的无类编址。无类编址会忽略A、B、C类的规则。公有 IPv4 网络地址(网络地址和子网掩码)是根据合理的地址数量分配的。
1981 年,使用在RFC 790 中(https://tools.ietf.org/html/rfc790) Assigned Numbers 部分定义的有类编址对 IPv4 地址进行了分配。根据三个类别(A 类、B 类或 C 类)之一为客户分配网络地址。RFC 将单播范围分为具体的类别:
- A 类 (0.0.0.0/8 - 127.0.0.0/8) - 用于支持拥有 1600 万以上主机地址的规模非常大的网络。A类的第一个八位组使用固定的 /8 前缀表示网络地址,其他的三个八位组表示主机地址(每个网络支持1600 万以上主机地址)。
- B 类 (128.0.0.0 /16 – 191.255.0.0 /16) - 用于支持拥有大约 65,000 个主机地址的大中型网络。B类的两个高位八位组使用固定的 /16 前缀表示网络地址,其他的两个八位组表示主机地址(每个网络支持65,000个以上主机地址)。
- C 类 (192.0.0.0 /24 – 223.255.255.0 /24) - 用于支持最多拥有 254 台主机的小型网络。C类的前三个八位组使用固定的 /24 前缀表示网络地址,其余的八位组表示主机地址(每个网络中只有254个主机地址)。
注意: 还有包含 224.0.0.0 到 239.0.0.0 的 D 类组播块以及包含 240.0.0.0 – 255.0.0.0 的 E 类实验地址块。
分配
公有 IPv4 地址是能通过互联网全局路由的地址。公有 IPv4 地址必须是唯一的。
IPv4 和 IPv6 地址是通过互联网编号指派机构 (IANA) 管理的。IANA 管理并向地区性互联网注册机构 (RIR) 分配 IP 地址块。图中显示了五个RIR。
RIR 的职责是向 ISP 分配 IP 地址,而 ISP 将向组织和更小的 ISP 提供 IPv4 地址块。根据 RIR 的政策规定,组织也可直接从 RIR 获取地址。
网络分段
交换机会将广播传播到所有接口,接收它的接口除外。
路由器在收到广播时,它不会将其转发到其他接口。
因此,每个路由器接口都连接了一个广播域,而广播只能在特定广播域内传播。
大型广播域是连接很多主机的网络。大型广播域的一个问题是这些主机会生成太多广播,这会对网络造成不良影响。在图中,局域网1 连接了 400 个用户,可能会产生过量的广播流量。这会导致网络操作速度缓慢,因为它会导致大量的流量,而设备操作变慢是因为设备必须接受和处理每个广播数据包。
解决方案是使用称为“子网划分”的过程缩减网络的规模以创建更小的广播域。较小的网络空间通常称为“子网”。
注意,从一个单一的/16网络到两个/24网络前缀长度是如何变化的。这是基本的子网划分:使用主机位可以创建其他子网。
子网划分
子网划分可以降低整体网络流量并改善网络性能。它也能让管理员实施安全策略,例如哪些子网允许或不允许进行通信。另一个原因是,它减少了由于错误配置、硬件/软件问题或恶意意图而受到异常广播流量影响的设备数量。
网络管理员可以使用对网络有意义的任何其他划分来创建子网。在每个图中,子网使用较长的前缀来标识网络。
比如可以 按照 位置、组或功能、设备类型划分
子网
在二进制八位组边界上、内划分
创建 IPv4 子网时会将一个或多个主机位作为网络位。具体做法是延长子网掩码,从地址的主机部分借用若干位来增加网络位。借用的主机位越多,可以定义的子网也就越多。为了增加子网数量而借用的位越多,每个子网的主机数量就越少。
网络在二进制八位数边界 /8、/16 和 /24 处最容易进行子网划分。
请考虑以下示例。假设企业选择了私有地址 10.0.0.0/8 作为其内部网络地址。该网络地址可以在一个广播域中连接 16,777,214 个主机。显然,在一个子网上拥有超过 1600 万台主机并不理想。
企业可以进一步在二进制八位组边界 /16 处对 10.0.0.0/8 地址进行子网划分,如表所示。这能让企业定义多达 256 个子网(例如,10.0.0.0/16 – 10.255.0.0/16),每个子网可以连接 65,534 个主机。
另外,企业也可以选择在 /24 二进制八位组边界处对 10.0.0.0/8 网络进行子网划分,如表所示。这将让企业能定义 65,536 个子网,每个子网能连接 254 个主机。/24 边界在子网划分中使用非常广泛,因为它在这个二进制八位数边界处可以容纳足够多的主机,并且子网划分也很方便。
到目前为止所展示的示例都是从常见的 /8、/16 和 /24 网络前缀借用了主机位。然而,子网可以从任何主机位借用位来创建其他掩码。
例如,/24 网络地址通常通过从第 4 个二进制八位数借用位来使用更长的前缀进行子网划分。这可以让管理员在将网络地址分配到更少数量的终端设备时具有很好的灵活性。
可以用幻数(magic number 其实就是最后一位数字,按八位组分的)从0开始加上2的对应幂来列出所有的子网
对私有、共有地址划分
虽然可以快速地将网络划分为子网,但是您的组织的网络可能同时使用公有和私有IPv4地址。这会影响您的网络划分子网的方式。
- 内部网 - 这是公司网络的内部部分,只能在组织内部访问。内部网中的设备使用私有 IPv4 地址。
- DMZ - 这是公司网络的一部分,其中包含可供互联网使用的资源,如 Web 服务器。DMZ 中的设备使用公有 IPv4 地址。
私有的刚才讲了
对DMZ来说,这些设备需要从互联网公开访问,所以DMZ中的设备需要公有IPv4地址。从20世纪90年代中期开始,公有IPv4地址空间的耗尽成为了一个问题。自 2011 年以来,IANA 和五个 RIR 中的四个用尽了 IPv4 地址空间。虽然组织正在向IPv6过渡,但是剩余的IPv4地址空间仍然非常有限。
这意味着组织必须最大限度地提高其自身有限数量的公有 IPv4 地址。这要求网络管理员将其公有地址空间划分到具有不同子网掩码的子网中,以便最大限度地减少每个子网的未使用主机地址数量。这称为可变长子网掩码 (VLSM)。
要尽量减少未使用的主机 IPv4 地址数量并最大化可用子网数量,在规划子网时需要考虑两个因素:每个网络所需的主机地址数量和所需的单个子网数量。
其实很好算。。。为啥他花了这么多篇幅讲这个,是外国人的算数确实比较low吗:joy:
需要注意的是,如果一个拓扑中的站点需要与互联网链接,每个站点得多加一个子网
VLSM
公有地址和私有地址会影响您将网络划分子网的方式。还有其他一些问题影响着子网划分方案。一个标准的/16子网划分方案创建的每个子网都拥有相同数量的主机。并不是您创建的每个子网都需要这么多主机,这会导致许多IPv4地址未被使用。也许您需要一个包含更多主机的子网。这就是开发可变长子网掩码 (VLSM) 的原因。
就是子网在不干扰别的子网的情况下可以继续细分,形式是自己分好就行了,无需额外操作
更大的IPv6地址允许比IPv4更容易的地址规划和分配。保留IPv6地址不是问题。这是向IPv6 过渡的驱动力之一。
但是,路由器之间的连接每个子网仅需要两个主机地址(每个路由器接口一个主机地址)。目前,所有子网中的每个子网都有 30 个可用的主机地址。为了避免每个子网浪费28个地址,可以使用 VLSM 为 路由器之间的连接创建较小子网。
子网规划
在开始子网划分之前,您应该为整个网络开发一个 IPv4 编址方案。您要了解您需要多少子网、特定子网需要多少主机、哪些设备是子网的一部分、网络的哪些部分使用私有地址、哪些使用公有地址以及许多其他决定因素。一个良好的编址方案允许增长。一个良好的编址方案也是一个良好的网络管理员的标志。
IPv4网络子网的规划要求同时分析组织的网络使用需求和子网的构建方法。进行网络需求调研是子网规划的起点。这意味着查看整个网络,包括内部网和DMZ,并确定如何划分每个区域。地址计划包括确定哪里需要地址保留(通常在DMZ中),哪里有更大的灵活性(通常在内部网中)。
如果需要地址保留,计划应确定需要多少个子网以及每个子网有多少个主机。如前所述,这通常是DMZ中的公有IPv4地址空间所需要的。这很可能包括使用 VLSM。
在企业内部网中,地址保留通常不是问题,这主要是由于使用私有IPv4编址,包括10.0.0.0/8,有超过1600万个主机IPv4地址。
对于大多数组织,私有 IPv4 地址允许提供足够多的内部(内部网)地址。对于许多较大的组织和ISP来说,即使是私有的IPv4地址空间也不足以满足它们的内部需求。这也是组织向 IPv6 过渡的另一个原因。
对于使用私有 IPv4 地址的内部网和使用公有 IPv4 地址的 DMZ,地址规划和分配非常重要。
在需要时,地址计划包括根据大小确定每个子网的需要。每个子网将有多少台主机地址计划还需要包括如何分配主机地址,哪些主机要求静态 IPv4 地址和哪些主机可以使用 DHCP 获取其编址信息的需求。这也将有助于防止地址重复,同时允许出于性能和安全原因对地址进行监测和管理。
了解您的IPv4地址需求将确定您实施的主机地址的范围,并帮助确保有足够的地
在一个网络中,有不同类型的设备需要分配地址:
- 终端用户客户端 – 大部分网络使用动态主机配置协议 (DHCP)动态地将IPv4地址分配给客户端设备。这能减少网络支持人员的负担,并显著减少输入错误。使用 DHCP 时,地址仅租用一段时间,并且可以在租约到期时重新使用。这是支持临时用户和无线设备的网络的一个重要特性。更改子网划分方案意味着 DHCP 服务器需要进行重新配置,并且客户端必须续订其 IPv4 地址。IPv6 客户端可以使用 DHCPv6 或 SLAAC 获取地址信息。
- 服务器和外部设备 - 这些应具有可预测的静态 IP 地址。对这些设备使用统一的编号系统。
- 可从互联网访问的服务器 - 需要在互联网上公开可用的服务器必须具有公有 IPv4 地址,通常使用 NAT 访问。在一些组织中,必须使远程用户可以使用内部服务器(不可公开使用)。在大多数情况下,这些服务器在内部分配了私有地址,用户需要创建一个虚拟专用网络 (VPN) 连接来访问服务器。这与用户从内部网中的主机访问服务器具有相同的效果。
- 中间设备 – 这些设备出于网络管理、监视和安全目的分配了地址。因为我们必须知道如何与中间设备通信,所以它们应当具有可以预测的静态地址。
- 网关 - 路由器和防火墙设备给每个接口分配一个 IP 地址,用作该网络中主机的网关。路由器接口一般使用网络中的最小地址或最大地址。
在制定 IP 编址方案时,通常建议您使用一种固定模式为各类设备分配地址。这样有益于管理员添加和删除设备、根据 IP 过滤流量和简化文档。
IPv6编制
在辛苦学习了对IPv4网络进行子网划分之后,您可能会发现对IPv6网络进行子网划分要容易得多。
背景
您已经知道IPv4的地址用完了。这就是为什么您需要了解 IPv6 的原因。
IPv6 旨在接替 IPv4。IPv6 拥有更大的 128 位地址空间,提供 340 涧(即,340后面有36个0)个不确定地址。不过,IPv6 不只是具有更大的地址空间。
当 IEFT 开始开发 IPv4 的接替版本时,还借此机会修复了 IPv4 的限制,并开发了增强功能。一个示例是 Internet 控制消息协议第 6 版 (ICMPv6),它包括 IPv4 的 ICMP (ICMPv4) 中没有的地址解析和地址自动配置功能。
私有地址与网络地址转换 (NAT) 对于放缓 IPv4 地址空间的耗尽起了不可或缺的作用。然而,NAT对于许多应用程序来说是有问题的,它会造成延迟,并且有严重阻碍对等体对对等体通信的限制。
随着移动设备数量的不断增加,移动供应商一直在引领着向IPv6的过渡。美国最大的两家移动运营商报告称,他们超过90%的流量都在IPv6之上。
大多数顶级ISP和内容提供商,如YouTube、Facebook和NetFlix,也已经完成了过渡。许多公司,如微软、Facebook和LinkedIn,都在向内部只允许使用ipv6过渡。2018年,宽带ISP Comcast报告部署超过65%,英国天空广播报告超过86%。
互联网正在不断向物联网 (IoT) 发展。能够访问互联网的设备将不仅仅只有计算机、平板电脑和智能手机。
共存与迁移
过渡到 IPv6 不是一朝一夕可以完成的。在不久的将来,IPv4和IPv6都将共存,并且过渡将需要几年的时间。IETF 已经创建了各种协议和工具来协助网络管理员将网络迁移到 IPv6。迁移技术可分为三类:
双堆栈允许 IPv4 和 IPv6 在同一网段上共存。双堆栈设备同时运行 IPv4 和 IPv6 协议栈。称为原生 IPv6,这意味着客户网络与他们的ISP建立了IPv6连接,并能够通过IPv6访问互联网上的内容。
隧道是一种通过 IPv4 网络传输 IPv6 数据包的方法。IPv6 数据包与其他类型数据类似,也封装在 IPv4 数据包中。
网络地址转换 64 (NAT64) 允许支持 IPv6 的设备与支持 IPv4 的设备使用类似于 IPv4 中 NAT 的转换技术进行通信。IPv6 数据包被转换为 IPv4 数据包,IPv4 数据包被转换为 IPv6 数据包。
注意: 隧道和转换用于过渡到原生IPv6,仅应在需要时使用。目标是从源到目的地进行本地 IPv6 通信。
结构
书写 IPv6 地址的首选格式为 x:x:x:x:x:x:x:x
,每个“x”均包括四个十六进制值。在 IPv6 中,十六位位组是指代 16 位二进制或四位十六进制数的非官方术语。每个“x”是一个16 位二进制数或四位十六进制数字组成的十六进制数。
e.g.
2001 : 0db8 : 0000 : 1111 : 0000 : 0000 : 0000: 0200
2001 : 0db8 : 0000 : 00a3 : abcd : 0000 : 0000: 1234
首选格式表示使用所有 32 个十六进制数字书写 IPv6 地址。这并不意味着它是表示 IPv6 地址的理想方法。在本模块中,您将了解到有两条规则可帮助减少表示一个 IPv6 地址所需数字的数目。
第一条有助于缩短 IPv6 地址记法的规则是省略十六进制数中的所有前导 0(零)此规则仅适用于前导 0,不适用于后缀 0
第二条有助于缩短 IPv6 地址记法的规则是使用双冒号 (::) 替换任何由一个或多个全由 0 组成的16 位十六进制数组成的连续字符串。例如,2001:db8:cafe:1:0:0:0:1(前导0省略)可以表示为2001:db8:cafe:1::1。
双冒号 (::) 仅可在每个地址中使用一次,否则可能会得出一个以上的地址。当与忽略前导 0 的方法一起使用时,IPv6 地址记法可以大幅缩短。这通常称为压缩格式。
单播、组播、任播
任播 - IPv6 任播地址是可分配到多个设备的 IPv6 任播地址。发送至任播地址的数据包会被路由到最近的拥有该地址的设备。任播地址不在本课程的讨论范围之内。
与 IPv4 不同,IPv6 没有广播地址。但是,IPv6 具有 IPv6 全节点组播地址,这在本质上与广播地址的效果相同。
在 IPv4 中,/24 称为前缀。在 IPv6 中,它被称为前缀长度
IPv6 不使用点分十进制子网掩码记法,前缀长度以斜线记法表示,用于表示 IPv6 地址的网络部分。
强烈建议对大多数网络使用 64 位接口 ID(主机部分)。这是因为**无状态地址自动配置(SLAAC)**使用64位作为接口ID。它还使子网划分更易于创建和管理。
与IPv4设备只有一个地址不同,IPv6地址通常有两个单播地址:
- 全局单播地址(GUA) - 这类似于公有 IPv4 地址。这些地址具有全局唯一性,是互联网可路由的地址。GUA可静态配置或动态分配
- 链路本地地址 (LLA) - 这对于每个支持ipv6的设备都是必需的。LLA用于与同一链路中的其他设备通信。在 IPv6 中,术语链路是指子网。LLA仅限于单个链路。它们的唯一性仅在该链路上得到保证,因为它们在该链路之外不具有可路由性。换句话说,路由器不会转发具有本地链路源地址或目的地址的数据包。
唯一本地地址(范围 fc00:: /7 到 fdff:: /7)尚未普遍实现
IPv6 唯一本地地址与 IPv4 的 RFC 1918 私有地址具有相似之处,但是也有着重大差异。
- 唯一本地地址用于一个站点内或数量有限的站点之间的本地编址。
- 唯一本地地址可用于从来不需要访问其他网络的设备。
- 唯一本地地址不会全局路由或转换为全局 IPv6 地址。
许多站点也使用 RFC 1918 地址的私有性质来尝试去保护或隐藏其网络,使其免遭潜在的安全风险。但是,这绝不是这些技术的既定用途,IETF 始终推荐各站点在面向互联网的路由器上采取妥善的安全预防措施。
GUA&LLA
GUA
IPv6 全局单播地址 (GUA) 具有全局唯一性,可在 IPv6互联网上路由。这些地址相当于公有 IPv4 地址。互联网名称与数字地址分配机构 (ICANN),即 IANA 的运营商,将 IPv6 地址块分配给五家 RIR。目前分配的仅是前三位为 001 的全局单播地址(GUA),如图所示。
因此当前可用的GUAs的第一个十六进制数字(16位)以2或3开头。这只是可用 IPv6 地址空间的 1/8
全局路由前缀是提供商(如 ISP)分配给客户或站点的地址的前缀或网络部分。例如,ISP 通常会为其客户分配 /48 全局路由前缀。全局路由前缀通常会因 ISP 的策略而异。
子网ID字段是全局路由前缀和接口ID之间的区域。与IPv4不同,在IPv4中您必须从主机部分借用位来创建子网,IPv6在设计时考虑到了子网。组织使用子网 ID 确定其站点的子网。子网 ID 越大,可用子网越多。
注意: 许多组织正在接收 /32 全局路由前缀。使用推荐的 /64 前缀来创建 64 位接口 ID,会留下一个 32 位子网 ID。这意味着具有 /32 全局路由前缀和 32 位子网 ID 的组织将拥有 43 亿个子网,每个子网都有 1800亿亿(18后面跟18个0)个子网。这是与公有 IPv4 地址数量一样多的子网!
IPv6 接口 ID 相当于 IPv4 地址的主机部分。使用术语“接口 ID”是因为单个主机可能有多个接口,而每个接口又有一个或多个 IPv6 地址。该图显示了 IPv6 GUA 的结构示例。强烈建议在大多数情况下使用 /64 子网,这会创建64位接口ID。64 位接口 ID 允许每个子网有1800亿亿个设备或主机。
建议允许启用 SLAAC 的设备创建自己的 64 位接口 ID。它还使得 IPv6 编址计划的开发变得简单而有效。
注意: 与 IPv4 不同,在 IPv6 中,全 0 和全 1 主机地址可以分配给设备。可以使用全1地址,因为广播地址不在IPv6中使用。全 0 地址也可使用,但它留作子网路由器任播地址,应仅分配给路由器。
LLA
IPv6 链路本地地址 (LLA) 允许设备与同一链路上支持 IPv6 的其他设备通信,并且只能在该链路(子网)上通信。具有源或目的LLA的数据包不能在数据包的源链路之外进行路由。
GUA 不是一项要求。但是,每个启用 IPv6 的网络接口都必须有 LLA。
如果没有手动为接口配置 LLA,设备会在不与 DHCP 服务器通信的情况下自动创建自己的地址。支持 IPv6 的主机会创建 IPv6 LLA,即使没有为该设备分配 IPv6 全局单播地址。这允许支持 IPv6 的设备与同一子网中的其他支持 IPv6 的设备通信。这包括与默认网关(路由器)的通信。
IPv6 LLAs在fe80::/10范围内。/10 表示前 10 位是 1111 1110 10xx xxxx。第一个十六进制数的范围是 1111 1110 1000 0000 (fe80) 到 1111 1110 1011 1111 (febf)。
通常情况下,用作链路上其他设备的默认网关的是路由器的 LLA 而不是 GUA。
设备可以通过两种方式获取 LLA:
- 静态 - 这意味着设备已手动配置。
- 动态 - 这意味着设备通过使用随机生成的值或使用扩展唯一标识符 (EUI) 方法创建自己的接口 ID,该方法使用客户端 MAC 地址和其他位。
配置
如您在上一主题中了解到的,IPv6 GUA与公有 IPv4 地址数量相同。它们具有全局唯一性,可在 IPv6 互联网上路由。IPv6 LLA 允许两个启用 IPV6 的设备在同一链路(子网)上相互通信。在路由器上静态配置 IPv6 GUA 和 LLA 很容易,可以帮助您创建 IPv6 网络。本主题教您如何做到这一点!
思科里,大多数 IPv6 的配置和验证命令与 IPv4 的相似。在多数情况下,唯一区别是命令中使用 ipv6 取代 ip 。
与使用 IPv4 一样,在客户端配置静态地址并不能扩展至更大的环境。因此,多数 IPv6 网络的管理员会启用 IPv6 地址的动态分配
设备可以通过两种方法自动获取 IPv6 GUA:
- 无状态地址自动配置 (SLAAC)
- 有状态 DHCPv6
注意: 使用 DHCPv6 或 SLAAC 时,路由器的LLA将自动指定为默认网关地址。
GUA动态编址
如果您不想静态地配置IPv6 GUAs,也不必担心。大多数设备会动态获取其 IPv6 GUA。本主题说明如何使用路由器通告(RA)和路由器请求(RS)消息来完成此过程。本主题比较技术性,但是当您理解了路由器通告可以使用的三种方法之间的区别,以及创建接口ID的EUI-64进程与随机生成的进程的区别,您将在您的IPv6专业知识上有一个巨大的飞跃!
对于 GUA,设备通过 Internet 控制消息协议版本 6 (ICMPv6) 消息动态获取地址。
IPv6 路由器每 200 秒定期将 ICMPv6 RA 消息发送到网络上所有支持 IPv6 的设备。
在响应发送 ICMPv6 路由器请求 (RS) 消息的主机时,也会发送 RA 消息,该RS消息是对RA消息的请求。
RA消息位于IPv6路由器以太网接口上。必须为路由器启用 IPv6 路由,这在默认情况下是不启用的。若要将路由器启用为 IPv6 路由器,必须使用 ipv6 unicast-routing 全局配置命令。
ICMPv6 RA 消息提示设备获取 IPv6 GUA的方式。最终决定取决于设备的操作系统。ICMPv6 RA 消息包括以下:
- 网络前缀和前缀长度 – 这会告知设备其所属的网络。
- 默认网关 – IPv6 LLA,RA 消息的源 IPv6 地址。
- DNS 地址和域名 – 这些是DNS 服务器的地址和域名。
RA 消息有三种方法:
- 方法 1: SLAAC - “我拥有您需要的一切,包括前缀、前缀长度和默认网关地址。”
- 方法 2: SLAAC 和 无状态DHCPv6服务器 - “这是我的信息,但您需要从 无状态DHCPv6 服务器获得其他信息,例如 DNS 地址。”
- 方法 3: 有状态的 DHCPv6(无SLAAC) - “我可以给您默认网关的地址。您需要向有状态的 DHCPv6 服务器询问您的所有其他信息。”
SLAAC
SLAAC是一种允许设备在没有DHCPv6服务的情况下创建自己的GUA的方法。
SLAAC 是无状态的,也就是说没有中央服务器(例如有状态DHCPv6 服务器)来分配GUA和维持设备及其地址的清单。借助 SLAAC,客户端设备使用 RA 消息中的信息创建其自己的GUA。如图中所示,地址的两部分生成如下:
- 前缀 - 这是在 RA 消息中通告的。
- 接口 ID - 使用 EUI-64 流程或通过生成一个随机 64 位数字产生,取决于设备的操作系统。
SLAAC 和无状态 DHCPv6
使用此方法,RA 消息建议设备使用以下内容:
- SLAAC创建自己的IPv6 GUA
- 路由器LLA,是RA源IPv6地址,作为默认网关地址
- 使用无状态 DHCPv6 服务器获取其他信息,例如 DNS 服务器地址和域名。
注意: 使用无状态 DHCPv6 服务器分配 DNS 服务器地址和域名。它不分配 GUA。
有状态的DHCPv6
有状态 DHCPv6 与 IPv4 的 DHCP 相似。设备可以从有状态 DHCPv6 服务器自动接收编址信息,包括GUA、前缀长度和 DNS 服务器地址。
RA 消息建议设备使用以下内容:
- 路由器LLA,是RA源IPv6地址,作为默认网关地址。
- 使用有状态 DHCPv6 服务器获取GUA、DNS 服务器地址、域名和其他必要信息。
生成接口ID
客户端从 RA 消息中获知地址的前缀部分,但必须创建自己的接口 ID。接口 ID 可使用 EUI-64 流程或随机生成的 64 位数字创建。
IEEE 定义了扩展唯一标识符 (EUI) 或修改的 EUI-64 流程。该流程使用客户端的 48 位以太网 MAC 地址,并在该 48 位 MAC 地址的中间插入另外 16 位来创建 64 位接口 ID。
识别地址可能是使用 EUI-64 创建的一个简单方法是位于接口 ID 中间的 fffe。
EUI-64 优势在于可以使用以太网 MAC 地址确定接口 ID。这也允许网络管理员使用唯一 MAC 地址轻松跟踪终端设备的 IPv6 地址。然而,这引起了许多用户的隐私担忧,他们担心自己的数据包可能会被追踪到实际的物理计算机。出于这些顾虑,可以转而使用随机生成的接口 ID。
随机生成
根据操作系统,设备可以使用随机生成的接口 ID,而不使用 MAC 地址和 EUI-64 流程。从 Windows Vista 开始,Windows 使用随机生成的接口 ID,而不是 EUI-64 创建的接口 ID。Windows XP 和之前的 Windows 操作系统均使用 EUI-64。
注意: 为确保任何 IPv6 单播地址的唯一性,客户端可以使用重复地址检测 (DAD) 流程。这与 ARP 请求其地址的流程相似。如该请求没有响应,则地址是唯一的。
LLA动态编址
操作系统,如Windows,通常会对SLAAC创建的GUA和动态分配的LLA使用相同的方法。即ID部分相同
当为接口分配GUA时,思科路由器会自动创建 IPv6 LLA。默认情况下,思科 IOS 路由器使用 EUI-64 为 IPv6 接口上的所有LLA生成接口 ID。对于串行接口,路由器会使用以太网接口的 MAC 地址。
使用动态分配的LLA的缺点在于其接口 ID 较长,因此很难识别并记住分配的地址。
为了更容易在路由器上识别和记忆这些地址,通常要在路由器上静态配置 IPv6 LLA。
组播
组播地址仅可用作目的地址,不能用作源地址。
IPv6 组播地址的前缀为ff00::/8。
IPv6 组播地址分为两种类型:
- 知名组播地址
- 请求节点组播地址
分配的组播地址是为预先定义的设备组保留的组播地址。分配的组播地址是用于到达运行通用协议或服务的设备组的单个地址。分配的组播地址用在特定的协议环境,例如 DHCPv6。
- ff02:全节点组播组 - 这是一个包含所有支持 IPv6 的设备的组播组。发送到该组的数据包由该链路或网络上的所有 IPv6 接口接收和处理。这与 IPv4 中的广播地址具有相同的效果。图中显示使用全节点组播地址进行通信的示例。IPv6 路由器将 ICMPv6 RA 消息发送给全节点组播组。
- ff02:全路由器组播组 - 这是所有IPv6路由器加入的组播组。当在 IPv6 路由器全局模式下启用 ipv6 unicast-routing 命令后,该路由器即成为该组的成员。发送到该组的数据包由该链路或网络上的所有 IPv6 路由器接收和处理。
请求节点组播地址类似于全节点组播地址。请求节点组播地址的优势在于它被映射到特殊的以太网组播地址。这使得以太网网卡可以通过检查目的 MAC 地址过滤该帧,而不是将它发送给 IPv6 流程来判断该设备是否是 IPv6 数据包的既定目标。
子网
128 位地址的好处在是,它可以为每个网络支持足够多的子网并为每个子网支持足够多的主机。地址保留不是问题。例如,如果全局路由前缀是a /48,并且使用一个典型的64位接口ID,这将创建一个16位子网ID
由于有 65,536 个子网可供选择,网络管理员的任务就变为设计一个逻辑方案来分配网络地址。
IPv6的串行链路子网将具有与局域网相同的前缀长度。虽然这可能会“浪费”地址,但是使用 IPv6 时地址保留并不是问题。
ICMP
在本主题中,您会了解不同类型的 Internet 控制消息协议 (ICMP) ,以及用于发送它们的工具。
虽然 IP 只是“尽最大努力”的协议,但在与另一个IP设备通信时,TCP/IP套件确实提供了错误消息和参考消息。这些消息使用 ICMP 服务发送。其用途是就特定情况下处理 IP 数据包的相关问题提供反馈,而并非是使 IP 可靠。ICMP 消息并非必需的,而且在网络内通常出于安全原因而被禁止。
ICMP 可同时用于 IPv4 和 IPv6。ICMPv4 是 IPv4 的消息协议。ICMPv6 为 IPv6 提供相同的服务,此外,还包括其他功能。
ICMP 消息的类型及其发送原因非常多。ICMPv4 和 ICMPv6 通用的 ICMP 消息包括:
- 主机联通性
- 目的地或服务不可达
- 超时
主机可连通性
ICMP Echo消息可用于测试 IP 网络上主机的可达性。本地主机向一台主机发送 ICMP Echo请求。如果主机可用,目的主机会回应以Echo应答。在图中,请单击“播放”按钮观看 ICMP Echo请求/Echo应答动画。如此使用 ICMP Echo消息是 ping 实用程序的基础。
当主机或网关收到无法传送的数据包时,它会使用 ICMP 目的地不可达消息通知源主机,目的地或服务无法到达。消息包括指示数据包为何无法传送的代码。
ICMPv4 的目的地不可达代码示例有:
- 0 - 网络不可达。
- 1 - 主机不可达。
- 2 - 协议不可达。
- 3 - 端口不可达。
ICMPv6 的目的地不可达代码示例有:
- 0-没有通往目标的路由。
- 1-管理上禁止与目的地通信(例如防火墙)
- 2-超出源地址的范围
- 3-地址无法访问
- 4-端口不可达。
超时
路由器使用 ICMPv4 超时消息表明,因为数据包的生存时间 (TTL) 字段递减到 0 而不能转发该数据包。如果路由器接收数据包并且将 IPv4 数据包的 TTL 字段的值递减为零,则它会丢弃数据包并向源主机发送超时消息。
如果路由器因数据包过期而无法转发 IPv6 数据包,ICMPv6 也会发送超时消息。ICMPv6使用IPv6跳数限制字段来确定数据包是否已过期,而不是IPv4 TTL字段。
ICMPv6 拥有 ICMPv4 中所没有的新特性和功能提升。ICMPv6 消息封装在 IPv6 中。
ICMPv6 在邻居发现协议(ND 或 NDP)中包括四个新协议。
IPv6 路由器和 IPv6 设备之间的消息传递,包括动态地址分配如下所示:
- 路由器请求 (RS) 消息
- 路由器通告 (RA) 消息
IPv6 设备之间的消息传递,包括重复的地址检测和地址解析如下所示:
- 邻居请求 (NS) 消息
- 邻居通告 (NA) 消息
注意: ICMPv6 ND 还包括重定向消息,与 ICMPv4 中使用的重定向消息功能相似。
传输层
传输层是将数据从一个主机传输到另一个主机的地方。这是您的网络真正开始动起来的地方! 传输层使用两个协议: TCP和UDP。可以把TCP看作是在邮件中收到一封挂号信。您必须先签收,然后邮递员才会给您。这会稍微减慢这个过程,但是发送者可以确定地知道您收到了这封信,以及您收到这封信的时间。UDP更像是一个普通的,盖了邮戳的信。它到达了您的邮箱(如果它到了的话),它可能是给您的,但它实际上也可能是给其他不住在那里的人的。而且,它还可能根本就没有到达您的邮箱。发件人无法确定您已收到了信。尽管如此,有时还是需要像盖了邮戳的信件一样的UDP协议。
数据传输
应用层程序生成必须在源主机和目的主机之间交换的数据。传输层负责在不同主机上运行的应用程序之间进行的逻辑通信。这可能包括在两个主机之间建立临时会话以及应用程序信息的可靠传输等服务。
传输层并不了解目标主机类型、数据必须经过的介质类型、数据使用的路径,链路拥塞情况或网络大小。
职责
跟踪各个会话
在传输层中,源应用和目的应用之间传输的每个数据集称为会话并分别进行跟踪。传输层负责维护并跟踪这些会话。
每台主机上都可以有多个应用同时在网络上通信。
大多数网络对单个数据包能承载的数据量都有限制。因此,必须将数据分成可管理的部分。
数据分段和数据段重组
传输层负责将应用程序数据划分为适当大小的块。根据所使用的传输层协议,传输层块称为数据段或数据报。该图说明了使用不同块进行每个会话的传输层。
添加报头信息
传输层协议还将包含二进制数据的报头信息添加到每个数据块中,这些数据被组织成几个字段。不同的传输层协议通过这些字段值在管理数据通信过程中执行各自的功能。
例如,接收主机使用报头信息将数据块重新组装为接收应用程序层程序的完整数据流。
传输层可以确保在设备上运行多个应用时,所有应用都能接收正确的数据。
标识应用
传输层必须能够划分和管理具有不同传输要求的多个通信。为了将数据流传递到适当的应用程序,传输层使用称为端口号的标识符来标识目标应用。如图所示,在每台主机中,每个需要访问网络的软件进程都将被分配一个唯一的端口号。
会话多路复用
将某些类型的数据(即视频流)作为完整的通信流在网络中发送,会使用所有可用带宽。这将阻止其他通信会话同时发生。而且也难以对损坏的数据开展错误恢复和重新传输的工作。
传输层使用数据段和多路复用,使不同的通信会话在同一网络上交错。
可对数据段中的数据执行错误检查,以确定数据段在传输过程中是否发生了更改。
协议
IP 只涉及数据包的结构、地址分配和路由。IP 不指定数据包的传送或传输方式。
传输层协议指定如何在主机之间传输消息,并负责管理会话的可靠性要求。传输层包括 TCP 和 UDP 协议。
不同的应用有不同的传输可靠性要求。因此,TCP/IP 提供了两个传输层协议
TCP
TCP将数据分为若干个数据段。(segment)
TCP 被认为是可靠且功能齐全的传输层协议,用于确保所有数据到达目的设备。TCP包含确保应用数据传递的字段。这些字段需要发送和接收的主机进行额外处理。
TCP 使用以下基本操作提供可靠性和流量控制:
- 编号并跟踪从特定应用程序发送到特定主机的数据段。
- 确认收到数据
- 在一定时间段后重新传输未确认的数据
- 有顺序的数据可能以错误的顺序到达 以接收方可以接受的有效速率* 发送数据
除了支持数据分段和重组的基本功能之外,TCP 还提供以下服务:
- 建立会话 - TCP是一种面向连接的协议,在转发任何流量之前,在源设备和目的设备之间协商并建立永久连接(或会话)。通过建立会话,设备可以协商特定时间能够转发的流量,而且两个设备之间的通信数据可得到严格管理。
- 确保可靠的传递 - 由于多种原因,数据段在网络传输过程中可能会损坏或者完全丢失。TCP确保从源设备发送的每个数据段都能够到达目的地。
- 提供相同顺序的传递 - 由于网络可能提供了多条路由,每条路由又有不同的传输速率,所以可能导致数据抵达的顺序错乱。通过对数据段编号和排序,TCP 确保按正确的顺序重组这些数据段。
- 支持流量控制 - 网络主机的资源有限(即,内存或处理能力)。当 TCP 发现这些资源超负荷运转时,它可以请求源应用程序降低数据流速。为此,TCP 会调整源设备传输的数据量。流量控制可避免当接收主机的资源不堪重负时,数据的重新传输。
有关 TCP 的更多信息,请在互联网上搜索 RFC 793。
在封装应用层数据时,TCP 数据段会增加 20 个字节(即 160 位)的开销。
TCP 报头字段 | 描述 |
---|---|
源端口 | 一个16位字段, 用于通过端口号标识源应用程序。 |
目的端口 | 一个16位字段, 用于通过端口号标识目的应用 程序。 |
序列号 | 一个32位字段, 用于数据重组。 |
确认号 | 一个32位的字段, 用于指示已接收到数据, 并且期望从源 接收下一个字节。 |
报头长度 | 一个4位字段, 称为“数据偏移”, 表示 TCP数据段报头的长度。 |
保留 | 一个6位字段, 保留供将来使用。 |
控制位 | 一个6位字段, 包括位代码或标志, 指示 TCP段的目的和功能。 |
窗口大小 | 一个16位字段, 用于指示一次可以接受的 字节数。 |
校验和 | 一个16位字段, 用于数据段报头和数据的错误检查。 |
紧急 | 一个 16 位字段, 用于指示包含的数据是否紧急。 |
TCP 很好地说明了 TCP/IP 协议簇的不同层如何拥有特定角色。TCP 处理与将数据流划分为数据段、提供可靠性、控制数据流量和数据段重新排序相关的所有任务。TCP 使应用程序不用再管理这些任务。
UDP
diagram
UDP是一种无连接协议。由于 UDP 不提供可靠性或流量控制,因此不需要建立连接。由于 UDP 不跟踪客户端和服务器之间发送或接收的信息,因此UDP 也称为无状态协议。
UDP 也称为最大努力交付协议,因为在目的地接收到数据后没有确认消息。UDP 中没有通知发送方是否成功传输的传输层流程。
UDP是一种比TCP更简单的传输层协议。它不提供可靠性和流量控制,这意味着它需要更少的报头字段。由于发送方和接收方UDP进程不需要管理可靠性和流量控制,这意味着 UDP 数据报的处理速度比 TCP 数据段快。UDP 仅提供在相应应用之间传输数据报的基本功能,需要很少的开销和数据检查。
UDP 协议非常简单,它通常被描述为与 TCP 比较所不提供的功能。
UDP的特点包括以下几种:
- 数据按照接收顺序重构。
- 丢失的任何数据段都不会重新发送。
- 不会建立会话。
- 不会告知发送者资源可用性。
如果使用 UDP 作为传输协议时要求可靠性,必须由应用来处理可靠性。
最适合采用 UDP 协议的三种应用程序包括:
- 实时视频和多媒体应用程序 - 这些应用可以容忍部分数据丢失但要求延迟极小或没有延迟的应用程序。示例包括 VoIP 和实时流传输视频。
- 简单请求和应答应用程序 - 处理简单事务的应用程序,其中主机发送请求,但不一定收到应答。示例包括 DNS 和 DHCP。
- 处理可靠性的应用程序 - 不要求进行流量控制、错误检测、确认和错误恢复,或这些功能由应用程序来执行的单向通信。示例包括 SNMP 和 TFTP。
虽然 DNS 和 SNMP 默认使用 UDP,但它们都可以使用 TCP。如果 DNS 请求或 DNS 响应大于 512 字节,DNS 会使用 TCP,例如 DNS 响应包含许多域名解析时。同样,在某些情况下,网络管理员可以配置 SNMP 使用 TCP。
选择
一些应用可以容忍在网络传输过程中丢失部分数据,但是不接受传输中出现延迟。由于需要的网络开销较少,对于这些应用,UDP 是更好的选择。UDP 是 IP 语音 (VoIP) 之类应用的首选。确认和重新发送会拖慢传输速度,并使语音会话不可接受。
UDP 也被“请求-回复”应用程序使用,其中数据最少,并且可以快速完成重新传输。例如,域名服务 (DNS) 为此类事务使用 UDP。客户端从DNS服务器请求已知域名的IPv4和IPv6地址。如果客户端在预定的时间内没有收到响应,它将再次发送请求。
例如,如果视频数据流中的一段或者两段数据未到达目的地,就会造成数据流的短暂中断。这可能表现为图像失真或声音失真,用户也许不会察觉。如果目的设备必须负责处理丢失的数据,则流可能在等待重新发送的过程中被推迟,从而导致图像或声音的质量大大降低。在这种情况下,最好利用接收到的分段呈现最佳媒体,并放弃可靠性。
对于其他应用程序,重要的是所有数据都应到达并且可以按适当的顺序对其进行处理。对于这些类型的应用程序,使用TCP 作为传输协议。例如,数据库、Web 浏览器和邮件客户端等应用,要求发送的所有数据都必须以原始形式到达目的地。任何数据的丢失都可能导致通信失败,要么不能完成通信,要么通信的信息不可读。例如,通过网页访问银行信息时,确保所有信息都正确发送和接收是非常重要的。
应用开发人员必须根据应用的需求,选择适合的传输层协议类型。视频可以通过 TCP 或 UDP 发送。存储音频和视频流的应用使用 TCP。应用程序使用 TCP 执行缓冲、带宽探测和拥塞控制,以便更好地控制用户体验。
实时视频和语音通常使用UDP,但也可能使用TCP,或同时使用UDP和TCP。视频会议应用程序默认情况下可能使用UDP,但由于许多防火墙阻止UDP,应用程序也可以通过TCP发送。
存储音频和视频流的应用使用 TCP。例如,如果您的网络突然不能支持观看一个点播电影所需的带宽,则应用使播放暂停。在暂停期间,您可能会看到一个“缓冲……”消息,这时,TCP 正在重建流。当所有的片段都井然有序且恢复最低限度的带宽时,您的 TCP 会话重新开始,电影恢复播放。
端口号
无论传输何种类型的数据,TCP和UDP都使用端口号。
TCP 和 UDP 传输层协议使用端口号来管理多个同时的对话
在请求中,目的端口号是标识目的Web服务器正在被请求的服务类型的端口号。例如,当客户端在目的端口中指定端口 80 时,接收该消息的服务器就知道请求的是 Web 服务。
服务器可同时提供多个服务,例如在端口 80 上提供 Web 服务,并同时在端口 21 上提供建立文件传输协议 (FTP) 连接的服务。
套接字用于标识客户端所请求的服务器和服务。客户端套接字可能如下所示,其中 1099 代表源端口号:192.168.1.5:1099
Web 服务器上的套接字则可能是192.168.1.7:80
这两个套接字组合在一起形成一个套接字对:192.168.1.5:1099,192.168.1.7:8
有了套接字,一台客户端上运行的多个进程便可彼此区分,它们与同一服务器进程建立的多个连接也可以彼此区分。
互联网编号指派机构 (IANA) 是负责分配各种编址标准(包括端口号)的标准组织。用于标识源端口号和目的端口号的16位二进制提供了从0到65535的端口范围。
IANA 已将号码范围划分为以下三个端口组。
端口组 | 号码范围 | 描述 |
---|---|---|
公认端口 | 0到1023 | 这些端口号保留用于常见或流行的服务和应用程序, 例如 Web浏览器, 电子邮件客户端和远程访问 客户端。为常用的服务器应用程序定义的公认端口使 客户端能够轻松识别所需的关联服务。 |
注册端口 | 1024到49151 | IANA将这些端口号分配给请求实体, 以用于特定的进程或应用程序。这些进程主要是用户选择安装的单个 应用程序, 而不是使用公认端口号的 常见应用程序。例如, 思科已为其RADIUS服务器身份验证进程 注册了端口1812。 |
私有 和(或) 动态端口 | 49152 到 65535 | 这些端口也称为 临时端口。客户端的操作系统通常在 发起与服务的连接时动态分配端口号。之后即可在通信过程中使用动态端口识别客户端 应用程序。 |
注意: 一些客户端操作系统在分配源端口时可能使用注册端口号而不是动态端口号。
端口号 | 协议 | 应用层 |
---|---|---|
20 | TCP | 文件传输协议 (FTP) - 数据 |
21 | TCP | 文件传输协议 (FTP) - 控制 |
22 | TCP | 安全 Shell (SSH) |
23 | TCP | Telnet |
25 | TCP | 简单邮件传输协议 (SMTP) |
53 | UDP、TCP | 域名服务 (DNS) |
67 | UDP | 动态主机配置协议 (DHCP)- 服务器 |
68 | UDP | 动态主机配置协议-客户端 |
69 | UDP | 简单文件传输协议 (TFTP) |
80 | TCP | 超文本传输协议 (HTTP) |
110 | TCP | 邮局协议第 3 版 (POP3) |
143 | TCP | 互联网消息访问协议 (IMAP) |
161 | UDP | 简单网络管理协议 (SNMP) |
443 | TCP | 安全超文本传输协议 (HTTPS) |
一些应用程序可能既使用 TCP,又使用 UDP。例如,当客户端向 DNS 服务器发送请求时,DNS 使用 UDP。但是,两台 DNS 服务器之间的通信始终使用 TCP。
不明的 TCP 连接可能造成重大的安全威胁。因为此类连接表示某程序或某人正连接到本地主机。有些时候,需要了解联网主机中启用并运行了哪些活动 TCP 连接。Netstat 是一种重要的网络实用程序,可用来检验此类连接。
输入命令 netstat可列出正在使用的协议、本地地址和端口号、外部地址和端口号以及连接的状态。
默认情况下,netstat命令会试图将 IP 地址解析为域名,将端口号解析为公认应用程序。使用**-n**选项能够以数字形式显示 IP 地址和端口号。
通信过程
TCP
分配有特定端口的活动服务器应用程序被认为是开放的,也就是说,传输层将接受并处理分配到该端口的数据段。所有发送到正确套接字地址的传入客户端请求都将被接受,数据将被传送到服务器应用。在同一服务器上可以同时开启很多端口,每个端口对应一个动态服务器应用。
在一些文化中,两个人见面时常常通过握手来问好。双方都把握手的行为理解为友好问候的信号。网络中的连接是类似的。在 TCP 连接中,主机客户端使用三次握手过程与服务器建立连接。
SYN -> ACK和SYN -> ACK
三次握手验证目标主机是否可用来通信。在示例中,主机 A验证了主机 B可用。
若要关闭连接,分段报头必须设置完成 (FIN) 控制标志。为终止每个单向 TCP 会话,需采用包含 FIN 分段和确认 (ACK) 分段的二次握手。因此,若要终止 TCP 支持的整个会话过程,需要实施四次交换,以终止两个双向会话。客户端或服务器都可以发起终止。
当所有数据段得到确认后,会话关闭。
主机维护状态,跟踪会话过程中的每个分段,并使用 TCP 报头信息交换已接收数据的相关信息。TCP 是全双工协议,每个连接都代表两个单向通信会话。若要建立连接,主机应执行三次握手。TCP 报头中的控制位指出了连接的进度和状态。通信完成后,将关闭会话并终止连接。连接和会话机制保障了 TCP 的可靠性功能。
三次握手的功能:
- 确认目的设备存在于网络上。
- 确认目的设备有活动的服务,并且正在源客户端要使用的目的端口号上接受请求。
- 通知目的设备源客户端想要在该端口号上建立通信会话。
六个控制位标志如下:
- URG - 紧急指针字段(重要)
- ACK - 用于建立连接和会话终止的确认标志
- PSH - 推送功能
- RST - 在出现错误或超时时重置连接
- SYN - 同步建立连接中使用的序列号
- FIN - 没有更多来自发送方的数据,并用于会话终止
SYN(synchronous建立联机) ACK(acknowledgement 确认) PSH(push传送) FIN(finish结束) RST(reset重置) URG(urgent紧急)Sequence number(顺序号码) Acknowledge number(确认号码)
可靠性和流控制
有时可能TCP数据段没有到达目的地。有时,TCP段可能会无序到达。因此,为了让接收方理解原始消息,必须接收所有数据,并重组这些数据段,使其恢复原有顺序。每个数据包中的数据段报头中都含有序列号,便于进行数据重组。序列号代表 TCP 分段的第一个数据字节在完整数据中的位置。
序列号和确认
在会话建立过程中,将设置初始序列号 (ISN)。此 ISN 表示传输到接收应用的字节起始值。在会话过程中,每传送一定字节的数据,序列号就随之增加。
ISN 并不是从 1 开始,而是随机的数字。这样做的目的是防止某些类型的恶意攻击。为简单起见,本章的示例中我们将使用 1 作为 ISN。在wireshark中会将第一个转换为0,称为相对序列号。
接收方的 TCP 进程将数据段中的数据存入缓存区,然后数据段按照正确的序列顺序进行排列,重组后发送到应用层。对于序列号混乱的分段,将被保留以备后期处理。等缺失的分段到达后,再来按顺序处理这些分段。
丢失和重传
TCP 提供了管理数据段丢失的方法。其中一个方法就是重新传输未确认的数据。
序列 (SEQ) 号和确认 (ACK) 号一起使用,以确认接收传输段中包含的数据字节。SEQ 编号标识正在传输的数据段中的第一个字节。TCP 使用发送回源代码的 ACK 编号来指示接收方希望接收的下一个字节。这称为期望确认。
当源主机的计时器结束后若未收到ACK,则会重传
在进行后续增强之前,TCP只能确认预期的下一个字节。例如,在图中,为简单起见,主机A使用数据段号向主机B发送段1到10。如果除段3和段4之外的所有数据段都已到达,主机B将应答并确认指定下一个预期的数据段是段3。主机A不知道其他数据段是否到达。因此,主机A将重新发送段3到段10。如果所有重新发送的数据段都成功到达,则段 5 到 段10 将是重复的。这会导致延迟、拥塞和效率低下。
今天的主机操作系统通常采用一种称为选择性确认 (SAK) 的可选 TCP 功能,在三次握手期间协商。如果两个主机都支持SACK,则接收方可以明确地确认接收了哪些数据段(字节),包括任何不连续的段。因此,发送主机只需要重新传输丢失的数据。例如,在下图中,还是为简单起见,主机A使用数据段号向主机B发送段1到10。如果除段3和段4之外的所有数据段都已到达,主机B可以确认它已经接收了段1和段2 (ACK 3),并有选择地确认段5到10 (SACK 5-10)。主机A只需要重新发送段3和段4。
显示了 PCA 向 PCB 发送 10 段,但第 3 段和第 4 段未能到达。这一次,PCB发送了一个ACK 3和一个SACK 5-10,让PCA知道重新发送缺失的段3和段4,并继续发送段11
流量控制
流量控制可以调整给定会话中源和目的地之间的数据流速,有助于保持 TCP 传输的可靠性。为此,TCP 报头包括一个称为“窗口大小”的 16 位字段。
窗口大小是 TCP 会话的目的设备一次可以接受和处理的字节数。在本例中,PC B 用于 TCP 会话的初始窗口大小为 10000 字节。从第 1 个字节开始,字节数为 1,PC A 在不收到确认的前提下可以发送的最后一个字节为 10,000。这被称为PC A的发送窗口。每个 TCP 分段均包含窗口大小,那样目的设备可以根据缓冲区的可用性随时修改窗口大小。
初始窗口大小在三次握手期间建立 TCP 会话时确定。源设备必须根据目的设备的窗口大小限制发送到目的设备的字节数。只有源设备收到字节数已接收的确认之后,才能继续发送更多会话数据。通常情况下,目的设备不会等待其窗口大小的所有字节接收后才以确认应答。接收和处理字节时,目的设备就会发送确认,以告知源设备它可以继续发送更多字节。
目的设备在处理接收的字节时发送确认并不断调整源设备的发送窗口大小被称为滑动窗口。在上一个示例中,PC A 的发送窗口会增加或滑动了 2921 个字节,从 10000 增到 12920。
如果目的设备缓冲区空间的可用性减小,它可以缩减窗口大小,通知源设备减少发送的字节数,而不需要接收确认。滑动窗口的优势在于,只要接收方确认之前的数据段,就可以让发送方持续传输数据段。滑动窗口的详细信息不在本课程的讨论范围之内。
MSS 是 TCP 报头中选项字段的一部分,用于指定设备可以在单个 TCP数据段中接收的最大数据量(以字节为单位)。MSS 大小不包括 TCP 报头。
使用 IPv4 时,常见的 MSS 为 1460 字节。主机会从以太网最大传输单位 (MTU) 中减去 IP 和 TCP 报头,从而确定其 MSS 字段的值。
在以太网接口上,默认 MTU 为 1500 个字节。减去 20 个字节的 IPv4 报头和 20 个字节的 TCP 报头,默认 MSS 大小为 1460 个字节,如图所示。
避免拥塞
网络中出现拥塞会使过载的路由器丢弃数据包。当包含 TCP 数据段的数据包未到达其目的地时,它们就成为未确认的数据包。通过确定 TCP 数据段发送但未确认的速率,源设备可以假设一定程度的网络拥塞。
出现网络拥塞时,从源设备丢失的 TCP 数据段就会重传。如果不适当控制重传,TCP 数据段的额外重传会使拥塞的情况更糟。网络中不仅有 TCP 数据段的新数据包,而且还有重传丢失的 TCP 数据段的反馈效果,这都增加了拥塞。为避免和控制拥塞,TCP 使用了多个拥塞处理机制、计时器和算法。
如果源设备确定 TCP 数据段没有被确认或没有被及时确认,它会在收到确认之前减少发送的字节数。
UDP
与 TCP分段类似,当将多个 UDP 数据报发送到目的主机时,它们通常采用不同的路径,到达顺序也可能跟发送时的顺序不同。与 TCP 不同,UDP 不跟踪序列号。UDP 不会按传输顺序重新排列数据报。
因此,UDP 仅仅是将接收到的数据按照先来后到的顺序转发到应用程序。如果数据顺序对应用程序很重要,应用程序必须确定正确的顺序并决定如何处理数据。
与基于 TCP 的应用程序相同的是,基于 UDP 的服务器应用程序也被分配了公认端口号或注册端口号。当上述应用或进程在服务器上运行时,它们就会接受与所分配端口号相匹配的数据。当 UDP 收到用于某个端口的数据报时,它就会按照应用的端口号将数据发送到相应的应用。
应用层
结构
应用层
如您所知,传输层实际上是数据从一个主机移动到另一个主机的地方。但在此之前,必须确定很多细节,以便正确地进行数据传输。这就是为什么在OSI 和 TCP/IP 模型中都有一个应用层。
在OSI和TCP/IP 模型中的应用层最接近最终用户。该层为用于通信的应用程序和用于消息传输的底层网络提供接口。应用层协议用于在源主机和目的主机上运行的程序之间进行数据交换。
目前已有很多种应用层协议,而且人们还在不断开发新的协议。某些最广为人知的应用层协议包括超文本传输协议(HTTP)、文件传输协议 (FTP),简单文件传输协议 (TFTP),互联网邮件访问协议 (IMAP) 和域名系统 (DNS) 协议。
会话层
表示层具有三个主要功能:
- 将来自源设备的数据格式化或表示成兼容形式,以便目的设备接收。
- 采用可被目的设备解压缩的方式对数据进行压缩。
- 加密要传输的数据并在收到数据时解密数据。
会话层
顾名思义,会话层的功能就是创建并维护源应用程序和目的应用程序之间的对话。会话层用于处理信息交换,发起对话并使其处于活动状态,并在对话中断或长时间处于空闲状态时重启会话。
TCP/IP 应用层协议指定了许多常见互联网通信功能必需的格式和控制信息。在通信会话过程中,源设备和目的设备均使用应用层协议。为确保通信畅通,源主机和目的主机上所实现的应用层协议必须一致。
对等
在客户端-服务器模型中,请求信息的设备称为客户端,而响应请求的设备称为服务器。 客户端是一个硬件/软件的组合,人们使用它来直接访问存储在服务器上的资源。
客户端进程和服务器进程都处于应用层。客户端首先向服务器发送数据请求,服务器通过发送一个或多个数据流来响应客户端。应用层协议规定了客户端和服务器之间请求和响应的格式。除了实际数据传输外,数据交换过程还要求用户身份验证以及要传输的数据文件的标识。
对等网络
在对等 (P2P(Peer-to-Peer)) 网络模式中,可以从对等设备访问数据,而无需使用专用服务器。
P2P 网络模型包含两个部分:P2P 网络和 P2P 应用程序。这两个部分具有相似的特征,但实际工作过程却大不相同。
在 P2P 网络中,两台或多台计算机通过网络互连,它们共享资源(如打印机和文件)时可以不借助专用服务器。每台接入的终端设备(称为“对等体”)既可以作为服务器,也可以作为客户端。在某项事务中,作为服务器的计算机也可以同时成为其他服务器的客户端。于是,计算机的角色根据请求的不同在客户端和服务器之间切换。
除共享文件外,这样一个网络还允许用户启用网络游戏,或者共享互联网连接。
在对等交换中,两台设备在通信过程中处于平等地位。对等体1拥有与对等体2共享的文件,甚至可以访问直接连接到对等体2的共享打印机来打印文件。
某些 P2P 应用程序中采用混合系统,即共享的资源是分散的,但指向资源位置的索引存储在集中目录中。在混合系统中,每台对等设备通过访问索引服务器获取存储在另一台对等设备中的资源位置。
注意: 用户间可以分享任何类型的文件。这些文件中的许多是有版权的,这意味着只有创建者有使用和分发它们的权利。未得到版权持有者许可下载或分发有版权的文件是违法的。侵害版权会导致刑事起诉或民事诉讼。
具体协议
DNS - 域名系统(或服务)
- TCP,UDP客户端 53
- 将域名(例如 cisco.com)转换为 IP 地址。
DHCP-动态主机配置协议
- UDP 客户端 68,服务器 67
- 动态分配IP地址可以重复使用不再需要的地址
SMTP - 简单邮件传输协议
- TCP 25
- 允许客户端向邮件服务器发送电子邮件
- 允许服务器向其他服务器发送电子邮件
POP3 - 邮局协议
- TCP 110
- 允许客户端从邮件服务器检索电子邮件 将电子邮件* 下载到客户端的本地邮件应用程序
IMAP - 互联网消息访问协议
- TCP 143
- 允许客户端访问存储在邮件服务器中的电子邮件
- 在服务器上维护电子邮件
FTP - 文件传输协议
- TCP 20至21
- 设置规则,使得一台主机上的用户能够通过网络访问另一台主机或向其传输文件
- FTP是一种可靠、面向连接且进行确认的文件传输协议。
TFTP - 简单文件传输协议
- UDP 客户端 69
- 一个简单的,无连接的文件传输协议,使用尽最大努力、不被答复的文件交付
- 它使用的开销比FTP少
HTTP-超文本传输协议
- TCP 80,8080
- 有关在万维网上交换文本、图形图像、音频、视频以及其他多媒体文件的一组规则集
HTTPS - 安全 HTTP
- TCP,UDP 443
- 浏览器使用加密技术保护 HTTP 通信
- 验证您的浏览器连接的网站
电子邮件
电子邮件托管是 ISP 提供的主要服务之一。如果要在计算机或其他终端设备上运行电子邮件,仍然需要多种应用程序和服务,如图所示。邮件是通过网络发送、存储和检索电子消息的存储转发方法。邮件消息存储在邮件服务器的数据库中。
邮件客户端通过与邮件服务器通信来收发邮件。邮件服务器之间也会互相通信,以便将邮件从一个域发到另一个域中。也就是说,发送邮件时,邮件客户端并不会直接与另外一个邮件客户端通信。而是双方客户端均依靠邮件服务器来传输邮件。
SMTP
SMTP 邮件格式要求邮件具有报头和正文。虽然邮件正文没有长度限制,但邮件报头必须具有格式正确的收件人邮件地址和发件人地址。
当客户端发送邮件时,客户端 SMTP 进程会连接公认端口 25 上的服务器 SMTP 进程。连接建立后,客户端将尝试通过此连接发送邮件到服务器。服务器收到邮件后,如果收件人在本地,它会将邮件保存在本地账户中,或者将邮件转发给另一台邮件服务器以便传输。
发出邮件时,目的邮件服务器可能并不在线,或者正忙。因此,SMTP 将邮件转到后台处理,稍后再发送。服务器会定期检查邮件队列,然后尝试再次发送。经过预定义的过期时间后,如果仍然无法发送邮件,则会将其作为无法投递的邮件退回给发件人。
POP
应用程序使用 POP 从邮件服务器中检索邮件。根据 POP 的规定,邮件将从服务器下载到客户端,然后从服务器上删除。这是 POP 的默认操作。
服务器通过在 TCP 端口 110 上被动侦听客户端连接请求来启动 POP 服务。当客户端要使用此服务时,它会发送一个请求来建立与服务器的 TCP 连接,如图所示。一旦建立连接,POP 服务器即会发送问候语。然后客户端和 POP 服务器会交换命令和响应,直到连接关闭或中止。
根据 POP,由于电子邮件会下载到客户端并从服务器删除,因此电子邮件不会集中保存在某一特定的位置。因为 POP 不存储邮件,因此不建议用于需要集中备份解决方案的小型企业。
POP3 是最常用的版本。
IMAP
IMAP 是另外一种用于检索电子邮件消息的协议。与 POP 不同的是,当用户连接使用 IMAP 的服务器时,邮件的副本会下载到客户端应用程序,如图所示。同时原始邮件会一直保留在服务器上,直到用户将它们手动删除。用户在自己的邮件客户端软件中查看邮件副本。
IP编制服务
本主题将详细介绍 IP 编址服务、DNS 和 DHCP。
DNS 协议定义了一套自动化服务,该服务将资源名称与所需的数字网络地址匹配。协议涵盖了查询格式、响应格式及数据格式。DNS 协议通信采用单一格式,即消息格式。该格式用于所有类型的客户端查询和服务器响应、报错消息、以及服务器间的资源记录信息的传输。
在使用域名时请求首先发到DNS服务器,服务器将请求与IP地址匹配后返回IP,客户端再使用IP请求服务器
DNS 服务器中存储不同类型的资源记录,用来解析域名。这些记录中包含域名、地址以及记录的类型。这些记录有以下类型:
- A - 终端设备 IPv4 地址
- NS - 授权域名服务器
- AAAA - 终端设备 IPv6 地址(读作“四 A”)
- MX - 邮件交换记录
在客户端进行查询时,服务器 DNS 进程首先会查看自己的记录以解析名称。如果服务器不能通过自身存储的记录解析域名,它将联系其他服务器对该域名进行解析。在检索到匹配信息并将其返回到原始请求服务器后,服务器临时存储数字地址,以供再次请求同一域名时使用。
DNS 消息部分 | 描述 |
---|---|
问题 | 向域名服务器提出的问题 |
回答 | 回答该问题的资源记录 |
权限 (Authority) | 指向权限的资源记录 |
更多 | 包含其他信息的资源记录 |
层级
DNS 协议采用分层系统创建数据库以提供名称解析
域名结构被划分为多个更小的受管域。每台 DNS 服务器维护着特定的数据库文件,而且只负责管理 DNS 结构中那一小部分的“域名-IP”映射。
当 DNS 服务器收到的域名转换请求不属于其所负责的 DNS 区域时,该 DNS 服务器可将请求转发到与该请求对应的区域中的 DNS 服务器进行转换。
DNS 具有可扩展性,这是因为主机名解析分散于多台服务器上完成。
ISP往往会为 DNS 服务器提供地址。
用户还可以使用操作系统中名为 Nslookup 的实用程序手动查询域名服务器,来解析给定的主机名。
该实用程序也可以用于检修域名解析故障,以及验证域名服务器的当前状态。
动态主机配置协议
IPv4 服务的动态主机配置协议 (DHCP) 会自动分配 IPv4 地址、子网掩码、网关以及其他 IPv4 网络参数。这称为动态编址。动态编址的替代选项是静态编址。在使用静态编址时,网络管理员在主机上手动输入 IP 地址信息。
主机连入网络时,将联系 DHCP 服务器并请求地址。DHCP 服务器从已配置地址范围(也称为“地址池”)中选择一条地址,并将其分配(租赁)给主机。
在较大型的网络中,或者用户经常变更的网络中,地址分配优先选用 DHCP。新用户可能在到达时需要连接;其他用户可能有新计算机必须要连接。与为每个连接使用静态编址的做法相比,采用 DHCP 自动分配 IPv4 地址的方法更有效。
DHCP可以在一段可配置的时间内分配IP地址,这段时间称为租期,当租期过期或 DHCP 服务器收到 DHCPRELLAME 消息时,地址将返回到 DHCP 池以便重复使用。
很多网络都同时采用 DHCP 和静态编址。DHCP 用于一般用途主机,例如用户终端设备。静态编址用于网络设备,例如网关路由器、交换机、服务器和打印机。
IPv6 的 DHCP(DHCPv6)为 IPv6 客户端提供类似服务。一个重要的不同是,DHCPv6 不会提供默认网关地址。这只能从路由器的 Router Advertisement(路由器通告)消息中动态获得。
工作原理
配置了 DHCP 的 IPv4 设备在启动或连接到网络时,客户端将广播一条 DHCP 发现 (DHCPDISCOVER) 消息以确定网络上是否有可用 DHCP 服务器。DHCP 服务器回复 DHCP 服务 (DHCPOFFER) 消息,为客户端提供租赁服务。该服务消息包含为其分配的 IPv4 地址和子网掩码、DNS 服务器的 IPv4 地址和默认网关的 IPv4 地址。租赁服务还包括租用期限。
如果本地网络中有超过一台 DHCP 服务器,客户端可能会收到多条 DHCPOFFER 消息。此时,客户端必须在这些服务器中进行选择,并且将包含服务器标识信息及客户端所接受的租赁服务的 DHCP 请求 (DHCPREQUEST) 消息发送出去。客户端还可选择向服务器请求分配以前分配过的地址。
如果客户端请求的 IPv4 地址(或者服务器提供的 IPv4 地址)仍然可用,服务器将返回 DHCP 确认 (DHCPACK) 消息,向客户端确认地址租赁。如果请求的地址不再有效,则所选服务器将回复一条 DHCP 否定确认 (DHCPNAK) 消息。一旦返回 DHCP NAK 消息,应重新启动选择进程,并重新发送新的 DHCP 发现消息。客户端租赁到地址后,应在租期结束前发送 DHCPREQUEST 消息进行续期。
文件共享
FTP 用于客户端和服务器之间的数据传输。FTP 客户端是一种在计算机上运行的应用,用于从 FTP 服务器中收发数据。
客户端使用 TCP 端口 21 与服务器建立第一个连接用于控制流量。流量由客户端命令和服务器应答组成。
客户端使用 TCP 端口 20 与服务器建立第二个连接用于实际数据传输。每当有数据需要传输时都会建立此连接。
数据传输可以在任何一个方向进行。客户端可以从服务器下载(取)数据,也可以向服务器上传(放)数据。
服务器消息块 (SMB) 是一种客户端/服务器文件共享协议,用于规范共享网络资源(如目录、文件、打印机以及串行端口)结构。
以下是 SMB 消息的三个功能:
- 启动、身份验证以及终止会话
- 控制文件和打印机的访问
- 允许应用程序向任何设备收发消息
Microsoft 网络配置中主要采用 SMB 形式实现文件共享和打印服务。
从 Windows 2000 开始,之后的所有 Microsoft 产品都使用 DNS 命名,使 TCP/IP 协议能够直接支持 SMB 资源共享,如图所示。
与 FTP 协议支持的文件共享不同,SMB 协议中的客户端要与服务器建立长期连接。一旦建立连接,客户端用户就可以访问服务器上的资源,就如同资源位于客户端主机上一样。
网络安全知识
本模块将概述网络攻击的类型,以及如何减少威胁发起者成功的机会。
威胁和漏洞
威胁类型
信息盗窃 指侵入计算机以获取机密信息。信息可以用于各种目的或出售。例子: 盗窃组织的专有信息,例如研究和开发数据。
数据丢失和操纵 是指闯入计算机破坏或更改数据记录。数据丢失的示例是:一个威胁发起者发送可重新格式化计算机硬盘的病毒。数据操纵示例是:闯入记录系统来更改信息(例如物品价格)。
身份盗窃 是一种信息盗窃形式,以冒用他人的身份为目的窃取个人信息。利用此类信息,威胁发起者便可以非法获取文件、申请信用贷款或者进行未经授权的在线购物。身份盗窃案件日渐增多,每年造成的损失达数十亿之多。
服务中断 阻止合法用户访问他们有权访问的服务。例如: 对服务器、网络设备或网络通信链路发起的拒绝服务 (DoS) 攻击。
漏洞类型
漏洞是指网络或设备的薄弱程度。路由器、交换机、桌面、服务器、甚至安全设备都存在一定程度的漏洞。一般而言,受到攻击的网络设备都是端点设备,例如服务器和台式计算机。
有三种主要的漏洞或弱点:技术、配置和安全策略。所有这三种漏洞源都会让网络或设备对各种攻击保持开放状态,包括恶意代码攻击和网络攻击。
技术漏洞
漏洞 | 说明 |
---|---|
TCP/IP 协议缺陷 | 超文本传输协议 (HTTP),文件传输协议(FTP), 和互联网控制消息协议 (ICMP)本质上是 不安全的。简单网络管理协议 (SNMP)和简单邮件传输 协议 (SMTP) 与TCP设计时所基于的固有的 不安全结构有关。 |
操作系统缺陷 | 每个操作系统都有必须解决的安全问题。UNIX、Linux、Mac OS、Mac OS X、Windows Server 2012、Windows 7、 Windows 8它们记录在计算机应急响应小组 (CERT) 档案中, 网址为 http://www.cert.org。 |
网络设备缺陷 | 各种类型的网络设备,例如路由器,防火墙和 交换机都具有安全弱点,必须识别并加以 保护。他们的弱点包括密码保护,缺乏 身份验证、路由协议和防火墙漏洞。 |
配置漏洞
漏洞 | 说明 |
---|---|
不安全的用户帐户 | 用户帐户信息可能不安全地通过网络传输, 将用户名和密码暴露给威胁发起者。 |
系统帐户的密码容易被猜到 | 用户密码创建不当造成了这种常见问题。 |
互联网服务配置错误 | 在Web浏览器中打开JavaScript可以在访问不受信任的站点时 通过由威胁发起者控制的JavaScript进行攻击。 其他潜在的弱点来源包括配置错误的终端 服务、FTP 或 Web 服务器(例如微软互联网信息 服务 IIS) 和 Apache HTTP 服务器。 |
产品的默认设置不安全 | 许多产品的默认设置容易带来 安全漏洞。 |
网络设备配置错误 | 设备本身配置错误会带来严重的安全 问题。例如,错误配置的访问列表、路由协议或 SNMP 社区字符串可以造成或开启安全漏洞。 |
策略漏洞
漏洞 | 说明 |
---|---|
缺乏书面的安全策略 | 未以书面形式记录的安全策略无法得到长久有效的 应用和执行。 |
政治 | 政治斗争和争权夺利可能导致难以长期执行 相同的安全策略。 |
缺乏身份验证持续性 | 如果密码选择不当、易于破解或甚至是默认密码,会导致 对网络的未经授权的访问。 |
没有实行逻辑访问控制 | 监控和审计力度不够,导致攻击和未授权使用不断发生, 浪费公司资源。这可能会导致法律诉讼 或针对IT技术人员、IT管理人员、 甚至允许这些不安全条件持续存在的公司领导层的解雇。 |
软件和硬件的安装与更改没有遵循策略执行 | 未经授权更改网络拓扑或安装 未经批准的应用程序会造成或开启安全漏洞。 |
没有设计灾难恢复计划 | 缺乏灾难恢复计划可能在发生自然灾害或 企业在遭到威胁发起者攻击时造成恐慌和 混乱。 |
物理安全
如果网络资源可以被物理性破坏,攻击发起者便可借此拒绝对网络资源的使用。
物理威胁分为四类:
硬件威胁 - 这包括对服务器、路由器、交换机、布线间和工作站的物理破坏
环境威胁 -这包括极端温度(过热或过冷)或极端湿度(过湿或过干)
电气威胁 - 这包括电压过高、电源电压不足(电气管制)、不合格电源(噪音),以及断电
维护威胁 - 这包括关键电气组件处理不佳(静电放电),缺少关键备用组件、布线混乱和标识不明
网络攻击
恶意代码
恶意软件是“有恶意的软件”的简称。是专门用来损坏、破坏、窃取数据、主机或网络或对数据、主机或网络进行“坏的”或者非法操作的代码或软件。恶意软件的类型包括病毒、蠕虫和特洛伊木马
病毒
计算机病毒是一种通过将自身副本插入另一个程序并成为其一部分来传播的恶意软件类型。
几乎所有的病毒都是附加到一个可执行文件中,这意味着病毒可能在系统上存在,但在用户运行或打开恶意主机文件或程序前不会处于活跃状态也不会传播。执行主机代码后,也就执行了病毒代码。
当病毒附加的软件或文档通过网络、磁盘、文件共享或被感染的电子邮件附件从一台计算机传输到另一台计算机时,也传播了病毒。
蠕虫
计算机蠕虫与病毒相似,它们均可复制自身的功能副本,并造成相同类型的损坏。与病毒相比,病毒需要通过感染的主机文件来传播,而蠕虫属于独立软件,无需借助主机程序或人工帮助便可利用系统功能在网络中传输。
特洛伊木马
它是看起来合法的有害软件。用户通常是被骗加载特洛伊木马并在他们的系统上执行。特洛伊木马激活后,可以在主机上进行任意数量的攻击,从激怒用户(过多的弹窗或改变桌面)到破坏主机(删除文件、窃取数据或激活和传播病毒等其他恶意软件)。众所周知,特洛伊木马为恶意用户访问系统创建后门。
特洛伊木马必须通过用户交互传播,如打开电子邮件附件或从互联网下载并运行文件。
网络攻击
- 侦察攻击 – 搜索和映射系统、服务或漏洞
- 访问攻击 – 数据、系统或用户访问权限的未授权控制
- 拒绝服务 – 网络、系统或服务的禁用或损坏
对于侦察攻击,外部威胁发起者可以使用互联网工具(如 nslookup 和 whois 实用程序)轻松地确定分配给公司或实体的 IP 地址空间。确定 IP 地址空间后,威胁发起者可以 ping 这些公有 IP 地址以确定哪些地址正在使用。为帮助自动执行此步骤,威胁发起者可能会使用 ping 扫描工具,例如 fping 或 gping。它系统地向给定范围或子网中的所有网络地址执行 ping 操作。
侦察攻击
互联网查询:查找与目标相关的初始信息,可以使用多种工具,包括Google搜索、组织机构网站、whois等。
ping扫描:发起 ping 扫描,以确定哪些 IP 地址处于活动状态。
端口扫描:威胁发起者对发现的活动 IP 地址执行端口扫描。
访问攻击
访问攻击利用身份验证服务、FTP 服务和 Web 服务的已知漏洞,获取对 Web 帐户、机密数据库和其他敏感信息的访问。访问攻击使个人能够对他们无权查阅的信息进行未经授权访问。
密码攻击:暴力攻击、特洛伊木马、数据包嗅探
信任利用:威胁发起者会使用未经授权的特权来访问系统,可能还会进一步攻陷目标。
端口重定向:威胁发起者会把攻陷的系统作为攻击其他目标的大本营。
中间人:威胁发起者会置身于两个合法实体之间,以便读取或修改双方之间传输的数据。
拒绝服务攻击
拒绝服务 (DoS) 攻击是知名度最高的攻击,并且是最难防范的攻击。然而,由于其实施简单、破坏力强大,安全管理员需要特别关注 DoS 攻击。
DoS 攻击的方式多种多样。不过其目的都是通过消耗系统资源使授权用户无法正常使用服务。为了帮助防止 DoS 攻击,必须使操作系统和应用程序与最新的安全更新保持同步。
DoS 攻击属于重大风险,因为它们可以中断通信,并在时间和财务上造成大量损失。这些攻击执行起来相对简单,即使是缺乏技能的威胁发起者也可以执行。
分布式 DoS 攻击 (DDoS) 与 DoS 攻击类似,但是它从多个协同攻击源发起攻击。举例来说,威胁发起者建立了一个受感染主机的网络,受感染的主机称为僵尸主机。受感染主机(僵尸)的网络称为僵尸网络。威胁发起者使用命令和控制(CnC)程序来指示僵尸网络进行DDoS攻击。
网络攻击缓解
要缓解网络攻击,必须首先保护设备,包括路由器、交换机、服务器和主机。大多数组织机构使用纵深防御法(也称为分层方法)来确保安全性。这需要网络设备和服务相互配套以协同工作。
保留备份
备份设备配置和数据是防止数据丢失的最有效方式之一。
应根据安全策略中的规定定期执行备份。数据备份通常存储在非现场位置,在主要设施发生任何问题时能保护备份介质。Windows 主机提供了备份和还原实用程序。对用户来说,将数据备份到其他驱动器或基于云的存储提供商非常重要。
考虑事项 | 描述 |
---|---|
频率 | 根据安全策略中的标识定期执行 备份。完全备份可能非常耗时,因此需要每月或 或每周执行一次备份,并经常对更改的文件进行部分备份。 |
存储容量 | 务必对备份进行验证,以确保数据的完整性并验证文件恢复程序。 验证文件恢复程序。 |
安全 | 应按照安全策略的要求,每天, 每周或每月轮流将备份转移到批准的异地 存储位置。 |
验证 | 应使用强密码保护备份。恢复数据 需要提供密码。 |
保持与最新进展同步会使对网络攻击的防御更加有效。随着新的恶意软件不断涌现,企业必须保持当前的防病毒软件为最新版本。
认证、授权和记账
所有网络设备都应该进行安全配置,只允许经过授权的个人访问。认证、授权和记账(AAA 或“三 A”)网络安全服务提供了设置网络设备访问控制的主要框架。
AAA 方法用于控制可以访问网络的用户(认证)、用户访问网络时可以执行的操作(授权),以及把他们在那里时所做的事记录下来(记账)。
防火墙
防火墙是保护用户远离外部威胁的最为有效的安全工具之一。防火墙可通过防止不必要的流量进入内部网络来保护计算机和网络。防火墙驻留在两个或多个网络之间,控制其间的流量并帮助阻止未授权的访问。
防火墙可以允许外部用户控制对特定服务的访问。例如,外部用户可访问的服务器通常位于称为隔离区 (DMZ) 的特殊网络中,如图所示。DMZ 使网络管理员能够为连接到该网络的主机应用特定策略。
防火墙类型
防火墙产品可以打包成各种形式。这些产品使用不同技术来区分应禁止和应允许的网络访问。其包括以下内容:
数据包过滤 - 根据 IP 或 MAC 地址阻止或允许访问
应用程序过滤 - 根据端口号阻止或允许访问特定类型的应用程序
URL 过滤 - 根据特定的 URL 或关键字阻止或允许访问网站
状态包侦测 (SPI) - 传入数据包必须是对内部主机所发出请求的合法响应。除非得到特别允许,否则未经请求的数据包会被拦截。状态包侦测还可具有识别和过滤特定类型攻击,例如拒绝服务 (DoS) 的能力。
设备安全
在网路中有很多区域需要格外提供安全防护,设备本身就是其中之一。
当在设备上安装新的操作系统时,安全设置保留为默认值。在大多数情况下,这种安全级别并不够。对于思科路由器,思科AutoSecure 功能可用于协助保护系统,如示例所示。
通常,制造商提供的设备已经在仓库中存放了一段时间,并没有安装最新补丁。必须在投入使用之前更新所有软件并安装所有安全补丁。
为了保护网络设备,使用强密码非常重要。以下是需要遵循的标准原则:
- 使用的密码长度至少为 8 个字符,最好是 10 个或更多字符。密码越长越安全。
- 使用复杂密码。如果条件允许,密码中混合使用大写和小写字母、数字、符号和空格。
- 密码中避免使用重复的常用字词、字母或数字顺序、用户名、亲属或宠物的名字、个人传记信息(例如出生期、身份证号码、祖先的名字)或其他易于识别的信息。
- 故意将口令中的词拼错。例如,Smith = Smyth = 5mYth 或 Security = 5ecur1ty。
- 定期更改密码。如果密码不知不觉地遭到破坏,那么威胁发起者使用该密码的机会就会受到限制。
- 请勿将密码写出来并放在显眼位置上,比如桌面上或显示屏上。
思科路由器会忽略密码中的前置空格,但第一个字符之后的空格不会忽略。因此,创建强密码的一种方法就是使用空格键和创建一个由多个词组成的短语。这就是所谓的密码短语。密码短语通常比简单密码更易记忆。而且猜到它所用时间更长,也更难猜到。
强密码只有在保持其机密性才是有用的。在思科路由器和交换机上可以采取以下几个步骤来确保密码的机密性:
- 加密所有的明文密码
- 设置可接受的最小密码长度
- 阻止暴力密码猜测攻击
- 在指定时间后 禁用非活动的特权 EXEC 模式访问。
启用SSH
Telnet简化了远程设备访问,但并不安全。Telnet 数据包中包含的数据以未加密形式传输。因此,强烈建议在设备上启用安全外壳 (SSH) 以进行安全远程访问。
可以通过下列六个步骤来配置思科设备以支持 SSH。
步骤 1. 配置唯一的主机名。设备必须有一个唯一的主机名,而不是默认主机名。
步骤 2. 配置 IP 域名. 使用全局配置命令 ip-domain name 配置网络的 IP 域名。
步骤 3. 生成密钥来加密 SSH 流量. SSH 加密源和目的地之间的流量。但是,要这样做,必须使用全局配置命令 crypto key generate rsa general-keys modulus 位数 生成唯一的身份验证密钥。该模数位数确定密钥大小并且可配置为 360 位至 2048 位。位值越大,密钥越安全。然而,较大的位值也需要较长的时间来加密和解密信息。最小建议系数长度为 1024 位。
步骤 4. 验证或创建一个本地数据库条目。使用 username 全局配置命令来创建本地数据库用户名条目。在示例中,使用了参数 secret,因此密码将使用MD5加密。
步骤 5. 向本地数据库认证身份。使用 login local 线路配置命令对本地数据库的vty线路进行身份验证。
步骤 6. 启用 vty inbound SSH 会话. 默认情况下,在vty线路上不允许输入会话。您可以使用 transport input [ssh | telnet] 命令指定多个输入协议,包括 Telnet 和 SSH。
如示例所示,路由器R1配置在span.com域中。此信息与 crypto key generate rsa general-keys modulus 命令中指定的位值一起使用,用于创建加密密钥。
接下来,为名为 Bob 的用户创建本地数据库条目。最后,将vty线路配置为根据本地数据库进行身份验证,并且只接受传入的SSH会话。
Router# configure terminal
Router(config)# hostname R1
R1(config)# ip domain name span.com
R1(config)# crypto key generate rsa general-keys modulus 1024
The name for the keys will be: Rl.span.com % The key modulus size is 1024 bits
% Generating 1024 bit RSA keys, keys will be non-exportable...[OK]
Dec 13 16:19:12.079: %SSH-5-ENABLED: SSH 1.99 has been enabled
R1(config)#
R1(config)# username Bob secret cisco
R1(config)# line vty 0 4
R1(config-line)# login local
R1(config-line)# transport input ssh
R1(config-line)# exit
R1(config)#
我迷惑了。。
思科路由器和交换机启动时会有一列活动服务,这些活动在您的网络中可能需要或不需要。禁用任何未使用的服务以保留系统资源,如CPU周期和RAM,并防止威胁发起者利用这些服务。默认打开的服务类型将根据IOS版本而有所不同。例如,IOS-XE 通常只打开 HTTPS 和 DHCP 端口。您可以使用 show ip ports all 命令来验证这一点。
使用 no ip http server 全局配置命令禁用 HTTP。通过在行配置命令 transport input ssh 中指定仅 SSH 来禁用 Telnet 。
构建小型网络
欢迎来学习构建小型网络!
棒极了!您已经来到了网络简介 v7.0 课程的最后一个模块。您已经掌握了建立自己的网络所需的大部分基础知识。从现在开始怎么做?当然,你要构建一个网络。而且您不仅要构建它,还要验证它是否正常工作,甚至还要解决一些常见的网络问题。
小型网络
设备
小型网络的设计通常很简单。与较大型网络相比,小型网络中设备的数量和类型都显著减少了。
在实施网络时,创建一个 IP编址方案并使用它。互联网络中的所有主机和设备都必须有一个唯一地址。
将纳入IP编址方案的设备包括以下内容:
终端用户设备-连接的数量和类型(即有线、无线、远程访问)
服务器和外部设备(如打印机和安全摄像头)
路由器、交换机和接入点都属于中间设备。
建议您根据设备类型规划、记录和维护 IP编址方案。使用计划好的IP编址方案可以更容易地识别设备类型并对排除故障,例如,在使用协议分析器排除网络流量问题时。
网络设计的另一个重要部分是可靠性。即使是小型企业,也常常非常依赖其网络以进行企业运营。网络故障的代价是非常大的。
为了保持高可靠度,网络设计中要求冗余。冗余有助于避免单点故障。
在网络中实现冗余有许多方法。可以通过安装重复设备实现冗余,但也可以通过为关键区域提供重复的网络链路来实现,如图所示。
小型网络通常通过一个或多个默认网关提供单个互联网出口点。如果路由器发生故障,则整个网络都会失去与互联网的连接。因此,建议小型企业通过另一个服务提供商购买备份产品。
流量管理
小型网络中良好网络设计的目标也是为了提高员工工作效率和最大限度地减少网络中断。网络管理员应当考虑网络设计中的各种流量类型及其处理。
应当对小型网络中的路由器和交换机进行配置,以相对于其他数据流量的适当方式支持实时流量,如语音和视频。事实上,一个好的网络设计将实现服务质量(QoS),根据优先级对流量进行仔细分类,如图所示。
应用和协议
您的网络仍然需要某些类型的应用程序和协议才能工作。
网络只有在网络上存在应用程序时才有用。有两种形式的软件程序或进程可以提供网络访问:网络应用程序和应用层服务。
网络应用程序
应用程序是指用于网络通信的软件程序。有些终端用户应用程序是网络感知程序,即这些程序实现应用层协议,并可直接与协议栈的较低层通信。电子邮件客户端和 Web 浏览器就属于这种类型的应用程序。
应用层服务
其他程序可能需要通过应用层服务使用网络资源,例如文件传输或网络假脱机打印。虽然这些服务对员工而言是透明的,但它们正是负责与网络交互和准备传输数据的程序。无论数据类型是文本、图形还是视频,只要类型不同,就需要与之对应的不同的网络服务,从而确保 OSI 模型的下层能够正确处理数据。
每个应用程序或网络服务使用协议,定义要使用的标准和数据格式。如果没有协议,数据网络将不能使用通用的方式来格式化及引导数据。为了便于理解不同网络服务的功能,我们有必要先熟悉管理这些服务的底层协议。
常见协议
网络管理员通常需要访问网络设备和服务器。两种最常见的远程访问解决方案是 Telnet 和安全外壳 (SSH)。SSH 服务是 Telnet 的安全替代方案。连接后,管理员可以像在本地登录一样访问 SSH 服务器设备。
SSH 用于在 SSH 客户端和其他支持 SSH 的设备之间建立安全的远程访问连接:
- 网络设备 - 网络设备(如路由器、交换机、接入点等)必须支持 SSH,才能为客户端提供远程访问 SSH 服务器的服务。
- 服务器 - 服务器(例如 Web 服务器、电子邮件服务器等)必须支持到客户端的远程访问 SSH 服务器的服务。
网络管理员还必须支持公用网络服务器及其所需的相关网络协议:
Web 服务器
- Web 客户端和 Web 服务器使用超文本传输协议 (HTTP) 交换 Web 流量。
- 超文本传输协议安全 (HTTPS) 用于安全的 Web 通信。
邮件服务器
- 邮件服务器和客户端使用简单邮件传输协议 (SMTP)发送邮件。
- 邮件客户端使用邮局协议 (POP3) 和互联网消息访问协议 (IMAP)检索邮件。
- 使用 user@xyz.xxx 格式指定收件人。
FTP 服务器
文件传输协议 (FTP) 服务允许在客户端和 FTP 服务器之间下载和上传文件。
FTP 安全(FPS)和安全 FTP(SFTP)用于保护 FTP 文件交换。
DHCP 服务器
客户端使用动态主机配置协议 (DHCP) 从 DHCP 服务器获取 IP 配置(即 IP地址、子网掩码、默认网关等)。
DNS 服务器
域名服务(DNS)将域名解析为 IP 地址(例如,cisco.com = 72.163.4.185)
DNS 向请求主机提供网站的 IP 地址(即域名)。
这些网络协议将构成网络专家的基本工具集。每种网络协议都会定义:
- 通信会话任意一端的流程
- 消息类型
- 消息语法
- 信息性字段的意义
- 消息发送方式和预期响应
- 与下一层的交互
增长
不断扩展是许多小型企业必经的过程,而其网络也必须相应地扩展。理想情况是网络管理员有足够的时间根据公司发展做出关于网络发展的明智决策。
要扩展网络,要求有以下几个要素:
- 网络文档 - 物理和逻辑拓扑
- 设备清单 – 使用或组成网络的设备列表
- 预算 – 逐项列出IT预算,包括财年设备采购预算
- 流量分析 - 应当记录协议、应用程序和服务以及它们各自的流量要求
要确定流量模式,应做好以下几点:
通过捕获网络使用高峰期的流量准确了解各种不同的流量类型。
针对不同的网段和设备捕获流量,因为某些流量仅在特定的网段内传输。
协议分析器收集的信息根据流量的源和目标以及发送的流量类型进行分析。这种分析有助于决定提高流量管理效率的方法,例如减少不必要的流量,或通过移动某台服务器的逻辑位置来改变流量的总体模式。
除了要了解流量的变化趋势,网络管理员必须知道网络的使用是如何变化的。许多操作系统都提供内置工具来显示此类信息。Windows 主机提供任务管理器、事件查看器和数据使用情况工具等工具。
这些工具可用于捕获以下信息的 “快照”:
- 操作系统和操作系统版本
- CPU 使用率
- 内存利用率
- 驱动程序利用率
- 非网络应用程序
- 网络应用程序
在一段时间内记录小型网络中的员工快照对于识别不断发展的协议需求和相关的流量流非常有用。这种资源利用率的转变就可能要求网络管理员相应地调整网络资源分配。
Windows 10 数据使用量工具对于确定哪些应用程序正在使用主机上的网络服务特别有用。数据使用量工具可以使用 Settings > Network & Internet > Data usage > network interface (从最近 30 天开始)访问。
验证连接
ping 命令是快速测试源和目的 IP 地址之间第 3 层连接的最有效方法。该命令还显示各种往返时间统计信息。
具体而言,该 ping 命令使用 Internet 控制消息协议 (ICMP) 来Echo请求(ICMP 类型 8)和Echo应答(ICMP 类型 0)消息。该 ping 命令可用于大多数操作系统,包括 Windows、Linux、macOS 和思科 IOS。
在 Windows 10 主机上,该 ping 命令发送四个连续的 ICMP Echo消息,并期望从目标收到四个连续的 ICMP Echo应答。
思科ios系统不同,它会发送5条信息,收到的指示符如下:
元素 | 说明 |
---|---|
! | 感叹号表示成功收到Echo应答消息。它验证了源和目标之间的第 3 层连接。 |
. | 句点意味着等待Echo应答消息的时间已过期。这表示路径中某处可能存在连接问题。 |
U | 大写 U 表示沿路径的路由器 回应了 ICMP 类型 3 “目的地 不可达” 的错误消息。可能的原因包括路由器不知道目标网络的方向, 或者在目标网络上 找不到主机。 |
其他可能的 ping 回复包括 Q、M、? 或 &。但是,这些含义超出了本模块的范围。
不学啦!到这已经明白很多很多网络知识啦~~
剩下的就交给专业的网络工程师吧!!!
日后补充
2.1.5终端仿真程序
2.3.8用Tera Term连接控制台
2.5.4捕获配置到文本中
10.3.5排除默认网关故障
真*命令集
转载自:https://blog.csdn.net/qq_42833924/article/details/89790004
为自己学习方便故转载,如果大家觉得有帮助,请为原文点赞。
1.基本配置
R> enable 从用户模式进入特权模式
R# disable 从特权模式退到用户模式
R# logout (或exit) 退出Cisco设备
R# show history 查看先前输入的命令(默认10个)
R# terminal history size #_of_commands 改变历史缓存的大小(最大256)
R# terminal no editing 禁用编辑特性(移去no参数为启用)
R# configure terminal 进入配置模式(退出为end或CTRL-Z)
R(config)# hostname name 改变路由器的名称
R(config)# banner motd delimiting_character banner_character delimiting_character 设置登录横幅
R(config-line)# exec-timeout minutes_# seconds_# 更改休止超时(默认10分钟)
R# show hosts 查看路由器解析表中的静态和动态DNS条目
R> show version 查看路由器综合信息
R# show line 验证线路的配置
R# show processes 查看设备的各个进程的CPU使用率
R# show users 查看登录到这台设备上的所有用户
R# show sessions 查看当前挂起的已经打开的telnet会话
R# term ip netmask-format bit-count|decimal|hexadecimal 改变子网掩码显示方式(在当前登录会话期间有效,在子线路模式下即可保存)
R(config)# ip host name_of_host [TCP_port_#] IP_address […] 创建主机静态解析表(可指定多达8个IP地址)
R(config)# ip name-server IP_address_of_DNS_server […] 配置通过访问DNS服务器动态解析主机(可指定多达6个DNS服务器)
R(config)# no ip domain-lookup 禁用DNS查询
R> ping destination_IP_address_or_host_name 查看与目的主机的连通性
R> traceroute destination_IP_address_or_host_name 查看与目的主机间的路由器
R# [telnet|connect] name_of_the_destination|destination_IP_address 打开telnet会话
R# resume connection_# 恢复一个特定的会话
R# disconnect connection_# 结束一已挂起的telnet会话无须恢复它并随后从中退出
R# clear line line_# 结束某人的会话
R# no debug all (或undebug all) 禁用debug
R(config)# service timestamps debug datetime msec 在debug输出中显示时间戳
R# terminal monitor 从VTY或辅助线路端口登录执行,路由器将在屏幕上显示报告消息
R(config-line)# logging synchronous在该线路上报告信息后路由器在新提示符后重新显示未打完的命令
123456789101112131415161718192021222324252627282930
2.文件操作
R# show running-config 查看正在运行(当前)的配置文件
R# show startup-config 查看NVRAM中的配置文件
R# copy running-config|startup-config tftp 将配置备份到TFTP服务器
R# copy tftp startup-config|running-config 从TFTP服务器将配置恢复到路由器
R# copy startup-config running-config 从NVRAM中将配置恢复到RAM中
R# copy running-config startup-config 将RAM中的配置文件保存到NVRAM
R# erase startup-config 删除NVRAM中的配置文件
R# copy flash tftp 备份IOS镜像到TFTP服务器
R# show flash 查看闪存中的文件
123456789
3.启动配置
R# setup 运行系统配置会话
R(config)# boot system flash name_of_IOS_file_in_flash 启动时加载闪存中的指定IOS文件
R(config)# boot system tftp IOS_image_name IP_address_of_server 启动时加载TFTP服务器里的IOS文件
R(config)# boot system rom 启动时加载ROM中的迷你IOS文件(启动与这三个命令的顺序有关)
R(config)# config-register 0x hexadecimal_value 改变寄存器的值
rommon 5> confreg 0x2142 2600、3600系列启动后按CTRL-BREAK进入ROMMON模式,改变寄存器的值
R> o/r 0x2142 其他系列路由器改变寄存器的值的方法
1234567
4.密码设置
R(config)# line console 0 进入控制台接口配置模式
R(config-line)# password console_password 配置控制台口令
R(config)# line vty 0 4 进入虚拟终端线路配置模式(根据路由器及IOS最少5个直到很多)
R(config-line)# login 接上条命令,允许进行Telnet访问
R(config-line)# password telnet_password 接上条命令,配置Telnet口令
R(config)# line aux 0 进入辅助端口配置模式
R(config-line)# password console_password 接上条命令,配置辅助端口口令
R(config)# enable password privileged_password 配置特权EXEC口令(不加密)
R(config)# enable secret privileged_password 配置特权EXEC口令(加密)
123456789
5.接口配置
R(config)# interface type [slot_#/] port_# 进入接口子配置模式
R(config-if)# description interface_description 添加接口描述
R(config-if)# no shutdown 启用该接口
R(config)# interface loopback port_# 创建环回接口
R(config-if)# media-type aui|10baset|100baset|mii 指定该接口连接的介质类型
R(config-if)# speed 10|100|auto 指定该接口速率
R(config-if)# [no] half-duplex 指定该接口双工模式
R(config-if)# clock rate rate_in_bits_per_second 指定该DCE串行接口速率
R> show controller serial [slot_#/] port_# 验证该接口是DCE还是DTE,注意空格
R(config-if)# bandwidth rate_in_Kbps 改变该接口的带宽值
R(config-if)# ip address IP_address subnet_mask 配置该接口IP地址
R(config)# ip subnet-zero IOS12.0前默认禁用0子网,此命令为启用
R(config-if)# ip directed-broadcast IOS12.0后默认禁用定向广播,此命令为启用
R# show interfaces [type [slot_#/] port_#] 验证接口配置
R# show ip interfaces [type [slot_#/] port_#] [brief] 验证接口IP配置
123456789101112131415
6.CDP
R(config)# [no] cdp run 启用/禁用CDP
R(config-if)# [no] cdp enable 基于接口启用/禁用CDP
R# show cdp 查看CDP状态
R# show cdp interface 查看基于接口的CDP配置
R# show cdp neighbors [detail] 查看与用户Cisco设备相连的CDP邻居的摘要/详细清单
R# show cdp entry neighbor's_name 查看一个指定邻居的详细信息
R# show cdp traffic 查看CDP通信量的统计信息
1234567
7.路由
R(config)# ip route destination_network_# [subnet_mask] IP_address_of_next_hop_neighbor|interface_to_exit [administrative_distance] [permanent] 配置IP静态路由
R(config)# ip route 0.0.0.0 0.0.0.0 IP_address_of_next_hop_neighbor|interface_to_exit [administrative_distance] [permanent] 配置默认路由
R(config)# ip classless 使有类协议接受非一致性子网掩码或不连续子网
R(config)# interface type [slot_#/] port_#. subinterface_# [point-to-point|multipoint] 创建子接口
R(config-subif)# encapsulation isl|dotlq VLAN_# 指定子接口中继类型和相关的VLAN
R(config)# router name_of_the_IP_routing_protocol 进入路由选择协议的配置模式
R# show ip route 查看IP路由表
1234567
8.RIP
R(config)# router rip 配置IP RIP
R(config-router)# network IP_network_# 指定哪些接口参与路由选择进程
R(config-router)# version 1|2 只接受和发送RIP版本1或2(默认只产生RIPv1更新,而两个版本的更新都接收)
R(config-router)# ip rip send|receive version 1 | version 2 | version 1 2 在特定接口上控制在发送或接收RIP更新时使用哪个版本的RIP
R# show ip protocols 查看在路由器上已配置并运行的所有IP路由选择协议
R# show ip route [name_of_the_IP_routing_protocol] 查看路由选择表
R# debug ip rip 帮助进行故障排除
1234567
9.IGRP
R(config)# router igrp AS_# 配置IP IGRP
R(config-router)# network IP_network_# 通告网络号
R(config-router)# neighbor IP_address_of_neighbor 配置单播更新
R(config-router)# passive-interface type [slot_#/] port_# 允许该接口在IGRP中通告但它不监听或发送IGRP更新
R(config-router)# traffic-share min across-interfaces 使路由器只使用最佳路径但又在路由选择表中放入替代路径
R(config-router)# timers basic update_# invalid_# holddown_# flush_# [sleeptime_#] 调整定时器(默认时,update=90,invalid=270,holddown=280,flush=630)
R(config-router)# no metric holddown 关闭压制定时器(默认)
R(config-router)# distance administrative_distance_# 调整管理距离(取值范围是1-255,默认为100)
R(config-router)# default-metric bandwidth_# delay_# reliability_# load_# MTU_# 调整度量值
R(config-router)# metric weights tos_# K1_# K2_# K3_# K4_# K5_# 调整度量权重值(默认时,K1(带宽)=K3(可靠性)=1,K2(延迟)=K4(负载)=K5(MTU)=0)
R(config-router)# variance multiplier_# 启用IGRP非同等成本路径(变化因子值1-128默认为1)
R(config-router)# traffic-share balanced 配置负载均衡
R(config-router)# maximum-paths paths_# 配置负载均衡的路径条数(取值范围是1-6)
R# debug ip igrp events 提供路由器和邻居间发生的每一步操作信息
R# debug ip igrp transactions 提供有关包含在路由更新中路由的详细信息
123456789101112131415
10.EIGRP
R(config)# router eigrp AS_# 配置EIGRP
R(config-router)# network IP_network_# 通告网络号
R(config-if)# ip bandwidth-percent eigrp AS_# percent_# 设置pacing(调速)占给定接口带宽的百分数(默认为50%)
R(config-router)# distance administrative_distance_# 调整管理距离(取值范围是1-255,默认对于内部路由是90而外部是170)
R(config-router)# default-metric bandwidth_# delay_# reliability_# load_# MTU_# 调整度量值
R(config-router)# metric weights tos_# K1_# K2_# K3_# K4_# K5_# 调整度量权重值(默认时,K1(带宽)=K3(可靠性)=1,K2(延迟)=K4(负载)=K5(MTU)=0)
R(config-if)# ip hello-interval eigrp AS_# seconds_# 在给定接口上设置Hello间隔(默认对于低速的NBMA网络是60秒,其他是5秒)
R(config-if)# ip hold-time eigrp AS_# seconds_# 在给定接口上设置Hello保持定时器(默认是3倍的Hello间隔)
R(config-router)# passive-interface type [slot_#/] port_# 允许该接口在EIGRP中通告但它不监听或发送EIGRP更新
R(config-router)# no auto-summary 取消对路由的自动汇总
R(config-if)# ip summary-address eigrp AS_# network_address network_mask 创建不在有类边界上的汇总地址
R(config)# eigrp log-neighbor-changes 记录在某个邻居上发生的变化
R# show ip route eigrp 查看被EIGRP学习到的路由
R# show ip route network_address 查看指定目的地的路由信息
R# show ip eigrp topology 查看EIGRP的拓扑表
R# show ip eigrp interfaces 查看加入到EIGRP路由器所有接口的概述
R# show ip eigrp neighbor [detail] 显示和本路由器已形成邻居关系的所有路由器
R# show ip eigrp traffic 显示每个包类型的发出和接收的数量
R# show ip eigrp events 查看每个EIGRP事件的日志
R# debug ip eigrp 提供路由器和它的邻居之间发生的每一步操作
R# debug eigrp packets 查看在该路由器和它的邻居之间发送的数据包类型
R# debug eigrp neighbors 查看邻居的信息
12345678910111213141516171819202122
11.OSPF
R(config)# router ospf process_ID 配置OSPF
R(config-router)# network IP_address wildcard_mask area area_# 指定接口进入OSPF区域
R(config-if)# ip ospf cost cost_value 给接口指定成本(取值范围是1-65535)
R(config-router)# neighbor IP_address_of_neighbor 手动配置邻居
R(config-router)# neighbor IP_address_of_neighbor priority value 指定邻居的优先级(取值范围是0-255,255为DR,0为不可能成为DR)
R(config-if)# ip ospf network non-broadcast 手工配置非广播网络类型
R(config-router)# area area_id stub 允许创建存根区域
R(config-router)# area area_id stub no-summary 允许创建完全存根区域
R(config-router)# area area_id nssa 允许创建次存根区域
R(config-router)# area area_id virtual-link router_id 连接不连续区域为骨干区域0
R(config-router)# area area_id range network_address network_mask 在区域边界路由器上汇总在给定区域中的路由器使用的IP地址空间到其他的区域
R(config-router)# summary-address network_address network_mask 在自治系统边界路由器上汇总外部路由
R# show ip ospf 概述所有OSPF相关的信息
R# show ip ospf process-id 与上相同,而不仅仅是指定的进程
R# show ip ospf border-routers 显示在此自治系统中所有ABR和ASBR的路由器ID
R# show ip ospf database 显示链路状态数据库
R# show ip ospf interface 显示接口的OSPF参数和其他的指定到此接口上的OSPF信息
R# show ip ospf neighbor [detail] 显示每个OSPF邻居和邻接状态
R# debug ip ospf adj 报告路由器建立到其他路由器的邻接关系进程
R# debug ip ospf events 报告路由器上的OSPF事件
R# debug ip ospf packet 报告OSPF LSA分组的内容
123456789101112131415161718192021
12.ACL
R(config)# access-list 1-99|1300-1999 permit|deny source_IP_address [wildcard_mask] [log] 创建标准编号IP ACL
R(config-if)# ip access-group ACL_# in|out 在指定接口上启动ACL
R(config-line)# access-class standard_ACL_# in|out 在指定若干线路上启动ACL以限制对路由器的Telnet访问
R(config)# access-list 100-199|2000-2699 permit|deny IP_protocol source_address source_wildcard_mask [protocol_information] destination_address destination_wildcard_mask [protocol_information] [log] 创建扩展编号IP ACL
R(config)# ip access-list standard ACL_name 创建标准命名ACL(从IOS11.2开始支持)
R(config-std-acl)# permit|deny source_IP_address [wildcard_mask] 输入标准ACL命令
R(config)# ip access-list extended ACL_name 创建扩展命名ACL(从IOS11.2开始支持)
R(config-ext-acl)# permit|deny IP_protocol source_IP_address wildcard_mask [protocol_information] destination_IP_address wildcard_mask [protocol_information] [log] 输入扩展ACL命令
R(config-if)# ip access_group ACL_name in|out 启动命名ACL
R# show ip interfaces 验证访问列表
R# show access-lists [ACL_#_or_name] 显示ACL中的语句
R# show ip access-list [ACL_#_or_name] 显示IP ACL中的语句
R# clear access-list counters [ACL_#_or_name] 对指定ACL中的匹配计数器清零
12345678910111213
13.NAT PAT 配置负载分发
R(config)# ip nat inside source static inside_local_source_IP_address inside_global_source_IP_address 定义NAT静态转换
R(config)# ip nat outside source static outside_global_destination_IP_address outside_local_destination_IP_address 定义NAT静态转换
R(config-if)# ip nat inside|outside 指定路由器上哪些接口在内部,哪些在外部
R(config)# ip nat outside source list standard_IP_ACL_# pool NAT_pool_name 为重叠地址转换配置NAT
R(config)# ip nat inside source list standard_IP_ACL_# pool NAT_pool_name 定义动态NAT,指定转换哪些内部设备的源地址
R(config)# ip nat pool NAT_pool_name beginning_inside_global_IP_address ending_inside_global_IP_address netmask subnet_mask_of_addresses|prefix-length length 创建源内部全局IP地址池
R(config)# ip nat inside source list standard_IP_ACL_# pool NAT_pool_name overload 定义PAT,指定哪台内部设备会转换其源地址
R(config)# ip nat pool pool_name beginning_inside_local_IP_address ending_inside_local_IP_address prefix-length subnet_mask_bits type rotary 指定提供服务的设备上配置的内部IP地址
R(config)# ip nat inside destination list standard_ACL_# pool pool_name 指定外部设备用来访问内部资源的全局IP地址
R# show ip nat translations [verbose] 查看路由器上的(详细)地址转换信息
R# show ip nat statistics 查看路由器上的地址转换的统计信息
R# clear ip nat translation * 清除所有NAT表项
R# clear ip nat translation inside|outside global_IP_address|local_IP_address 清除转换表中的指定动态条目
R# clear ip nat translation protocol inside global_IP_address global_port local_IP_address local_port 清除转换表中的指定动态条目
R# debug ip nat 提供IOS对每个已转换分组所做的转换
123456789101112131415
14.DHCP
R(config)# [no] service dhcp 启用/禁用DHCP(默认启用)
R(config)# ip dhcp pool pool_name 创建地址池
R(config-dhcp)# network network_number [subnet_mask|/prefix_length] 指定分配给客户的IP地址范围
R(config-dhcp)# domain-name domain_name 向客户分配域名
R(config-dhcp)# dns-server IP_address […] 指定最多8台DNS服务器分配给客户
R(config-dhcp)# netbios-name-server IP_address […] 指定最多8台WINS服务器分配给客户
R(config-dhcp)# netbios-node-type node_type 向微软客户分配节点类型
R(config-dhcp)# default-router IP_address […] 指定最多8条默认路由给客户用于该地址范围
R(config-dhcp)# lease days [hours] [minutes] |infinite 指定租约的期限(默认一天)
R(config)# ip dhcp ping timeout milliseconds 指定测试服务器地址池中的可用地址是否正在使用时服务器应等待时间
R(config)# ip dhcp excluded-address beginning_IP_address [ending_IP_address] 排除一些地址
R(config-if)# ip address dhcp 在路由器上建立DHCP客户
R# show ip dhcp binding [client_address] 查看分配给客户的地址
R# clear ip dhcp binding client_address|* 清除分配给客户的指定/所有地址
R# debug ip dhcp server events|packet|linkage 查看DHCP服务器相关信息
123456789101112131415
15.HDLC
R(config-if)# encapsulation hdlc 封装同步串行接口为HDLC(默认)
1
16.PPP
R(config-if)# encapsulation ppp 在WAN接口上使用PPP
R(config-if)# ppp pap sent-username your_hostname password password 指定PAP用于认证并且提供在服务端用于执行认证的用户名和口令(此为客户端配置)
R(config)# hostname your_router's_hostname 为路由器指定惟一主机名(以下三个为服务端配置)
R(config)# username remote_hostname password matching_password 指定认证路由器时所使用的远端主机名称和口令
R(config-if)# ppp authentication pap 指定PAP认证
R(config-if)# ppp authentication chap|pap|chap pap|pap chap 批定PPP认证类型
R# debug ppp negotiation 查看LCP协商时的信息
R# debug ppp authentication 查看PPP认证情况
12345678
17.FR
R(config-if)# encapsulation frame-relay [cisco|ietf] 指定封装类型为帧中继(默认cisco)
R(config-if)# frame-relay lmi-type ansi|cisco|q933a 给该串行接口指定LMI类型
R# show frame-relay lmi 查看详细的LMI统计信息
R# debug frame-relay lmi 报告路由器正在发送与接收的实际LMI信息
R(config-if)# frame-relay map protocol_name destination_address local_dlci_# [broadcast] [ietf|cisco] 将远端第3层地址手动映射到本地DLCI号
R(config-if)# [no] frame-relay inverse-arp [protocol_name] [DLCI_#] 启用/禁用逆向
123456
18.ARP(默认启用)
R(config-if) clear frame-relay-inarp 清除逆向ARP解析表
R# show frame-relay traffic 查看逆向ARP统计
R# show frame-relay pvc [DLCI_#] 查看终止于路由器的所有(指定)帧中继PVC及其统计信息
R# show frame-relay map 查看将第3层地址映射成本地DLCI号的虚电路解析表
R(config)# interface type [slot_#/] port_#. subinterface_# [point-to-point|multipoint] 创建子接口
R(config-subif)# frame-relay interface-dlci local_DLCI_# 配置子接口的帧中继
123456
19.ISDN
R(config[-if])# isdn switch-type ISDN_switch_type 在全局或接口配置模式下配置交换机类型
R(config-if)# isdn spid1 spid_#__for_1st_BRI local_dial_# 为第一个B信道配置SPID
R(config-if)# isdn spid2 spid_#__for_2st_BRI local_dial_# 为第二个B信道配置SPID
R(config)# controller t1|e1 [slot_#/] port_# 以下6个命令为控制卡配置
R(config-controller)# framing esf|sf|crc4|nocrc4 在T1或E1上使用物理成帧
R(config-controller)# linecode ami|b8zs|hdb3 线路编码,定义1与0如何在线路上物理表示
R(config-controller)# clock source line primary|secondary|internal 定义路由器如何获得其时钟以用于同步数字连接
R(config-controller)# pri-group timeslots [1-24|1-31] 指定路由器哪个或哪些时隙用于ISDN连接
R(config-controller)# [no] shutdown 启用/禁用控制器
R# show controllers t1|e1 [slot_#/port_#] 验证控制器卡配置
R(config)# interface serial [slot_#/] port_#:23 设置逻辑串口(T1使用)
R(config)# interface serial [slot_#/] port_#:15 设置逻辑串口(E1使用)
R# show interface bri [slot_#/] port_#[:1|2|1 2] 验证ISDN连接的状态(查看B信道)
R# show isdn status 查看ISDN详细的物理层和数据链路层信息
R# debug isdn q921 报告ISDN数据链路层详细信息
R(config)# ip route IP_network_# subnet_mask remote_router's_IP_address|router_interface [administrative_distance] 配置静态路由。以下7个命令配置传统DDR
R(config)# dialer-list list_# protocol protocol_name permit|deny [access-list ACL_#] 定义敏感流量
R(config-if)# dialer-group dialer_list_# 激活拨号列表
R(config-if)# dialer map protocol_name address_of_destination_router [name remote_router_name] [speed 56|64] [broadcast] destination_phone_number 表明利用传统DDR进行电话呼叫
R(config-if)# dialer idle-timeout #_of_seconds 定义空闲超时周期
R(config-if)# dialer fast-idle #_of_seconds 定义快速空闲计时器
R(config-if)# dialer load-threshold load either|inbound|outbound 通过BRI的两条B信道执行负载均衡(分配带宽)
R# show dialer 查看哪个DDR接口进行了电话呼叫及其状态
R# show isdn active 查看激活的ISDN呼叫
R# show isdn history 查看路由器发出的呼叫或以前接收的呼叫
R# debug dialer 显示建立或拆除一个连接的DDR过程
R# debug isdn q931 显示ISDN电话连接建立及挂断的详细信息
R(config)# interface dialer port_# 创建逻辑拨号接口。以下全为配置拨号配置文件。以下8个为拨号接口配置
R(config-if)# encapsulation ppp 指定封装类型
R(config-if)# ppp authentication pap|chap|chap pap|pap chap 指定认证类型
R(config-if)# ip address IP_address subnet_mask 指定接口IP地址
R(config-if)# dialer remote-name name 指定远端路由器的名称
R(config-if)# dialer string phone_# [class map_name] 指定映射类名称
R(config-if)# dialer pool pool_# 指定拨号接口能使用哪组物理接口
R(config-if)# dialer-group dialer_list_# 激活拨号列表
R(config-if)# dialer pool-member pool_# [priority priority_#] [min-link #_of_B_channels] [max-link #_of_B_channels] 指定哪些拨号接能使用物理接口
R(config)# map-class dialer map_name 进入映射子配置模式。以下4个为创建映射类
R(config-map)# dialer isdn speed 56 指定ISDN中的B信道的速度(默认64kbps)
R(config-map)# dialer idle-timeout #_of_seconds 定义空闲超时周期
R(config-map)# dialer fast-idle #_of_seconds 定义快速空闲计时器
R# show dialer interface bri|{serial:23|15} [slot_#/]port_# 显示与拨号接口关联的物理接口的进入和离开呼叫的DDR统计信息
1234567891011121314151617181920212223242526272829303132333435363738394041
20.IS-IS
R(config)# router isis 启动IS-IS
R(config-router)# net areaID.systemID.SEL 配置NET
R(config-router)# is-type level_of_router 配置路由器的层次
R(config-if)# ip router isis 在接口上启动IS-IS
R(config-if)# isis priority value level-1|level-2 手动配置第一层或第二层路由器的优先级
R(config-if)# clns router isis 为无连接网络服务启动IS-IS
R# show ip route isis 查看通过IS-IS学习到的路由
R# show isis database [detail level_of_router] 查看IS-IS链路状态数据库中的所有(某层)LSP信息
R# show clns protocol 显示IS-IS详细配置信息
R# show clns interface 显示配置为IS-IS接口的相关信息
R# show clns is-neighbors 查看路由器的邻居
R# show isis spf-log 查看SPF计算情况
R# debug isis adj-packets 查看路由器发送和接收Hello PDU的情况
R# debug isis update-packets 提供路由器发送和接收的所有LSP详细内容及SNP信息
R# debug isis spf-events 查看写入路由表的IS-IS路由
R# debug isis spf-triggers 查看触发SPF计算的原因
R# debug isis spf-statistics 查看执行SPF计算所用的时间
1234567891011121314151617
21.BGP
R(config)# router bgp AS_# 启动BGP
R(config-router)# neighbor IP_address_remote_device remote-as AS_#_remote_device 指定远端路由器作为对等体
R(config-router)# no synchronization 关闭BGP与IGP同步(默认启用)
R(config-router)# neighbor IP_address_remote_device update-source loopback # 使用环回接口作为对等体
R(config-router)# neighbor IP_address_remote_device ebgp-multihop [ttl] 配置eBGP多跳(允许BGP邻居可以不在直连网络上)
R(config-router)# neighbor IP_address_remote_device route-reflector-client 配置邻居为路由反射器客户
R(config-router)# network network_address mask subnet_mask 向对等体通告路由(手动向BGP注入路由)
R(config-router)# redistribute protocol process_ID 将路由重新分配到BGP
R(config-router)# redistribute connected 将直连接口地址重新分配到BGP
R(config-router)# bgp cluster-id cluster_ID 分配簇ID
R(config-router)# bgp confederation identifier confederation_ID 配置联邦ID
R(config-router)# bgp confederation peers AS_# 配置联邦的对等自治系统成员
R(config-router)# neighbor IP_address_remote_device distribute-list access_list_# [in|out] 过滤到或来自邻居的更新信息
R(config)# ip prefix-list list_name [seq seq_value] permit|deny network_address/length [ge ge_value] [le le_value] 配置前缀列表
R(config-router)# neighbor IP_address_remote_device prefix-list list_name [in|out] 应用从邻居输入的前缀列表
R(config)# route-map route_map_name permit|deny [sequence_number] 创建路由映射序列
R(config-route-map)# match as-path AS_path_accesslist_# 匹配BGP自治系统路径访问列表
R(config-route-map)# match community-list community_list_# 匹配BGP团体
R(config-route-map)# match interface type [slot_#/] port_# 发布任何下一跳是指定接口的路由
R(config-route-map)# match ip address access_list_#|prefix_list_name 匹配任何目的网络地址被指定的标准访问列表、扩展访问列表或前缀列表允许的路由
R(config-route-map)# match ip next-hop access_list_#|prefix_list_name 匹配任何下一跳地址被指定的标准访问列表、扩展访问列表或前缀列表允许的路由
R(config-route-map)# match ip route-source access_list_#|prefix_list_name 匹配任何由被指定的标准访问列表、扩展访问列表或前缀列表允许的地址通告的路由
R(config-route-map)# match metric value 匹配任何具有指定的度量值的路由
R(config-route-map)# match route-type type_of_route 匹配任何具有指定类型的路由
R(config-route-map)# match tag value 匹配任何具有指定标识的路由
R(config-route-map)# set as-path prepend AS_# 向AS_PATH属性添加自治系统号
R(config-route-map)# set as-path tag 设置作为AS_PATH属性的标记
R(config-route-map)# set automatic-tag 自动计算标记值
R(config-route-map)# set community number|aa:nn|additive|local-as|no-advertise|no-export|none 设置BGP COMMUNITIES属性
R(config-route-map)# set dampening half_life start_reusing start_suppressing duration_to_suppress 设置BGP路由冷落参数
R(config-route-map)# set default interface type [slot_#/] port_# 设置默认的输出接口
R(config-route-map)# set interface type [slot_#/] port_# 设置输出接口
R(config-route-map)# set ip default next-hop IP_address 设置路径的默认下一跳地址
R(config-route-map)# set ip next-hop IP_address 设置下一跳地址
R(config-route-map)# set ip precedence [precedence] 设置“IP Precedence”字段
R(config-route-map)# set ip tos type_of_service 设置“IP服务类型”字段
R(config-route-map)# set level level 设置导入路由的位置
R(config-route-map)# set local-preference value 设置BGP LOCAL_PREF路径属性
R(config-route-map)# set metric value 设置目标路由协议的度量值
R(config-route-map)# set metric-type type_of_route 设置目标路由协议的度量类型
R(config-route-map)# set origin origin_code 设置BGP源代码
R(config-route-map)# set tag value 设置目标路由协议的标记值
R(config-route-map)# set weight value 设置路由表的BGP权重
R(config-router)# neighbor IP_address_remote_device route-map route_map_name [in|out] 应用从邻居输入的路由映射
R(config-router)# neighbor IP_address_remote_device send-community 向该邻居发送COMMUNITY属性
R(config)# ip community-list community_list_# [permit|deny] community_list_# 创建团体列表
R(config-router)# neighbor peer_group_name peer-group 创建对等组
R(config-router)# neighbor peer_group_name option_to_use_in_update_policy 给对等组分配选项
R(config-router)# neighbor IP_address_remote_device peer-group peer_group_name 给对等组分配对等体
R(config-router)# no auto-summary 取消BGP的自动路由汇总功能
R(config-router)# aggregate-address IP_address mask [summary-only] 创建汇聚地址(禁止通告其他特定路由)
R(config-router)# aggregate-address IP_address mask as-set 创建汇聚地址,在AS_PATH中添加AS_SET类型
R# clear ip bgp peer_address 重设特定BGP对等会话
R# clear ip bgp AS_# 重设指定自治系统的所有对等体的BGP会话
R# clear ip bgp * 重设路由器上所有BGP会话
R# show ip bgp 查看路由器从BGP学习到的所有路由
R# show ip bgp summary 提供和路由器具有对等关系的所有路由器汇总
R# show ip bgp neighbors 查看对等体连接详细信息
R# debug ip bgp 查看在本地路由器与试图和其建立对等关系的路由器之间所发送和接收的OPEN信息
R# debug ip bgp updates 提供路由器发送和接收所有UPDATE消息的信息
R# debug ip bgp peer_address upadtes 提供关于BGP对等体之间发送的UPDATE消息
R# debug ip bgp dampening 显示关于被冷落路由的信息
R# debug ip bgp events 提供关于尝试成为BGP对等体的路由器的状态转换信息
R# debug ip bgp keepalives 提供关于路由器发送和接收KEEPALIVE消息的信息
12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364
22.路由优化
R(config-router)# distribute-list ACL_#|prefix prefix_list_name in|out [type [slot_#/] port_#] 配置分配列表
R(config-if)# ip policy route-map map_tag 识别一个接口上基于策略的路由选择使用的路由映射
R# show ip policy 列出所有配置为基于策略的路由选择的接口及它们相关的路由映射
R# show route-map 查看所有路由映射
R# debug ip policy 提供在该路由器上执行的路由策略的信息
R(config-router)# default-information originate 重新分配默认路由到OSPF和IS-IS
R(config-router)# default-information originate always 引起一个默认路由到OSPF不管路由表中是否有一个默认路由
R(config-router)# redistribute protocol [process-ID] level-1|level-1-2|level-2 [metric metric_value] [metric-type type_value] [match internal|external 1|external 2] [tag tag_value] [route-map map_tag] [weight weight_value] [subnets] 重新分配路由选择信息从一个路由选择域到另一个路由选择域
R(config-router)# summary-address network_address network_mask [level-1|level-1-2|level-2] 为起源于和重新分配到IS-IS的路由创建一个汇总地址
123456789
23.异步连接
R# line number 进入线路配置模式
R(config-line)# login 允许一个连接
R(config-line)# password password 提供线路上使用的口令
R(config-line)# flowcontrol hardware|software 选择硬件流控制或软件流控制
R(config-line)# speed number 指定调制解调器和访问服务器或路由器之间使用的最大速度(单位:bps)
R(config-line)# transport input lat|mop|nasi|pad|rlogin|telnet|v120|all 定义反向Telnet连接使用的协议
R(config-line)# stopbits 1|1.5|2 定义每个字节的结束
R(config-line)# modem autoconfigure type modem_type 指示路由器使用modemcap数据库中的命令按照指定的类型对连接到一个端口上的调制解调器进行自动配置
R# show modemcap 显示modemcap数据库
R(config-line)# modem edit modem_profile_name 向modemcap数据库增加条目
R(config-line)# modemcap edit new_profile_name template existing_profile_name 创建名为new_profile_name的条目并从existing_profile_name中拷贝所有的配置
R(config-line)# modem autoconfigure discovery 发现和自动配置连接到一个端口上的调制解调器