本篇博客将解说我在计算机网络课程上学到的相关概念以及总结了解,今日将介绍网络层方面的常识,希望能协助我们了解计算机网络中的一些概念
首要看一下我们第一章讲过的五层协议体系结构,想了解第一章的博客能够戳这里 ,本系列的博客也将依照这五层的次序进行介绍
1.虚电路服务和数据报服务的比照
比照的方面 | 虚电路服务 | 数据报服务 |
---|---|---|
思路 | 牢靠信息应当由网络来确保 | 牢靠信息应当由用户主机来确保 |
衔接的树立 | 有必要有 | 不需求 |
结尾地址 | 仅在衔接树立阶段运用,每个分组运用短的虚电信号 | 每个分组都有结尾的完好地址 |
分组的转发 | 归于同一条虚电路的分组均依照同一路由进行转发 | 每个分组独立挑选路由进行转发 |
当结点出毛病时 | 一切通过出毛病的结点的虚电路均不能作业 | 出毛病的结点可能会丢掉分组,一些路由可能会发生改动 |
分组的次序 | 总是依照发送次序抵达结尾 | 抵达结尾时不必定按发送次序 |
端到端的过失处理和流量操控 | 能够由网络担任,也能够由用户主机担任 | 由用户主机担任 |
2.分类的IP地址
IP地址的编址办法
- 分类的 IP 地址。这是最基本的编址办法,在1981年就通过了相应的规范协议。
- 子网的区别。这是对最基本的编址办法的改进,其规范在1985年通过。
- 构成超网。这是比较新的无分类编址办法。1993年提出后很快就得到推广使用。
分类IP地址
- 将IP地址区别为若干个固定类。
- 每一类地址都由两个固定长度的字段组成,其中一个字段是网络号 net-id,它标志主机(或路由器)所衔接到的网络,而另一个字段则是主机号 host-id,它标志该主机(或路由器)。
- 主机号在它前面的网络号所指明的网络规划内有必要是仅有的。
- 由此可见,一个 IP 地址在整个互联网规划内是仅有的。
这种两级的IP地址结构如下:
各类 IP 地址的网络号字段和主机号字段
八位一字节
IP地址指使的规划
3.IP 地址与硬件地址,地址解析协议 ARP
IP 地址与硬件地址的比照
从层次的视点看,
-
硬件地址(或物理地址)是数据链路层和物理层运用的地址。
-
IP 地址是网络层和以上各层运用的地址,是一种逻辑地址(称 IP 地址是逻辑地址是由于 IP 地址是用软件完成的)。
-
IP 地址放在 IP 数据报的首部,而硬件地址则放在 MAC 帧的首部
地址协议ARP
效果:现已知道了一个机器(主机或路由器)的IP地址,找出其相应的硬件地址
每一个主机或路由器都设有一个 ARP 高速缓存 (ARP cache),里边有所在的局域网上的各主机和路由器的 IP 地址到硬件地址的映射表。
< IP address;MAC address;TTL >
TTL (Time To Live):地址映射有效时刻 。
详细流程:
当主机 A 欲向本局域网上的某个主机 B 发送 IP 数据报时,就先在其 ARP 高速缓存中查看有无主机 B 的 IP 地址。
- 如有,就可查出其对应的硬件地址,再将此硬件地址写入 MAC 帧,然后通过局域网将该 MAC 帧发往此硬件地址。
- 如没有, ARP 进程在本局域网上广播发送一个 ARP 请求分组。收到 ARP 呼应分组后,将得到的 IP 地址到硬件地址的映射写入 ARP 高速缓存。
发送请求与呼应
运用ARP的四种状况
- 发送方是主机,要把 IP 数据报发送到本网络上的另一个主机。这时用 ARP 找到意图主机的硬件地址。
- 发送方是主机,要把 IP 数据报发送到另一个网络上的一个主机。这时用 ARP 找到本网络上的一个路由器的硬件地址。剩余的作业由这个路由器来完成。
- 发送方是路由器,要把 IP 数据报转发到本网络上的一个主机。这时用 ARP 找到意图主机的硬件地址。
- 发送方是路由器,要把 IP 数据报转发到另一个网络上的一个主机。这时用 ARP 找到本网络上另一个路由器的硬件地址。剩余的作业由这个路由器来完成。
4.IP数据报的格式
一个 IP 数据报由首部和数据两部分组成,其中首部的前一部分是固定长度,共 20 字节,是一切 IP 数据报有必要具有的。 而在首部的固定部分的后边是一些可选字段,其长度是可变的。
首部不可变部分
如上图,图中圈起来的部分便是首部的固定长度部分,各部分解析如下:
-
版别——占 4 位,指 IP 协议的版别。 现在的 IP 协议版别号为 4 (即 IPv4)。
-
首部长度——占 4 位,可表明的最大数值 是 15 个单位(一个单位为 4 字节), 因此 IP 的首部长度的最大值是 60 字节。
-
区别服务——占 8 位,用来取得更好的服务。 在旧规范中叫做服务类型,但实际上一直未被运用过。 1998 年这个字段改名为区别服务(往往用于优先级) 。 只要在运用区别服务(DiffServ)时,这个字段才起效果。 在一般的状况下都不运用这个字段
-
总长度——占 16 位,指首部和数据之和的长度, 单位为字节,因此数据报的最大长度为 65535 字节。 总长度有必要不超过最大传送单元MTU
-
标识 ——占 16 位, 它是一个计数器,用来发生 IP 数据报的标识
-
标志 ——占 3 位,现在只要前两位有意义。 标志字段的最低位是 MF (More Fragment)。 MF=1 表明后边“还有分片”。MF=0 表明最终一个分片。 标志字段中心的一位是 DF (Don’t Fragment) 。 只要当 DF=0 时才答应分片。
-
片偏移 ——占13 位,指出较长的分组在分片后 某片在原分组中的相对方位。 片偏移以 8 个字节为偏移单位
-
生计时刻——占8 位,记为 TTL (Time To Live), 指示数据报在网络中可通过的路由器数的最大值。 每通过一个路由器,-1。到0后,丢弃
-
协议——占8 位,指出此数据报带着的数据运用何种协议, 以便意图主机的 IP 层将数据部分上交给那个处理过程 TCP是6,UDP是17
-
首部查验和——占16 位,只查验数据报的首部, 不查验数据部分。
首部可变部分
IP 首部的可变部分便是一个选项字段,用来支撑排错、测量以及安全等办法,内容很丰厚。 选项字段的长度可变,从 0 个字节到 40 个字节不等,取决于所挑选的项目。实际上这些选项很少被运用。
5.IP 层转发分组的流程
路由器分组转发算法
- 从数据报的首部提取意图主机的 IP 地址 D, 得出意图网络地址为 N。
- 若网络 N 与此路由器直接相连,则把数据报直接交给意图主机 D;不然是直接交给,履行 (3)。
- 若路由表中有意图地址为 D 的特定主机路由,则把数据报传送给路由表中所指明的下一跳路由器;不然,履行 (4)。
- 若路由表中有抵达网络 N 的路由,则把数据报传送给路由表指明的下一跳路由器;不然,履行 (5)。
- 若路由表中有一个默认路由,则把数据报传送给路由表中所指明的默认路由器;不然,履行 (6)。
- 陈述转发分组犯错。
6.区别子网
子网掩码
从一个 IP 数据报的首部并无法判别源主机或意图主机所衔接的网络是否进行了子网区别。 而运用子网掩码 (subnet mask) 能够找出 IP 地址中的子网部分。
规矩
- 子网掩码长度 = 32 位
- 子网掩码左边部分的一连串 1,对应于网络号和子网号
- 子网掩码右边部分的一连串 0,对应于主机号
默认子网掩码
区别子网
子网区别办法:
- 固定长度子网: 所区别的一切子网的子网掩码都是相同的。
- 变长子网
例题
已知 IP 地址是 141.14.72.24,子网掩码是 255.255.192.0。试求网络地址。
运用子网时分组的转发
在区别子网状况下路由器转发分组的算法
- 从收到的分组的首部提取意图 IP 地址 D。
- 先用各网络的子网掩码和 D 逐位相“与”,看是否和相应的网络地址匹配。若匹配,则将分组直接交给。不然便是直接交给,履行(3)。
- 若路由表中有意图地址为 D 的特定主机路由,则将分组传送给指明的下一跳路由器;不然,履行 (4)。
- 对路由表中的每一行,将子网掩码和 D 逐位相“与”。若成果与该行的意图网络地址匹配,则将分组传送给该行指明的下一跳路由器;不然,履行 (5)。
- 若路由表中有一个默认路由,则将分组传送给路由表中所指明的默认路由器;不然,履行 (6)。
- 陈述转发分组犯错。
例题
已知互联网和路由器 R1 中的路由表。主机 H1 向 H2 发送分组。试讨论 R1 收到 H1 向 H2 发送的分组后查找路由表的过程。
- 首要H1检查主机 128.30.33.138 是否衔接在本网络上 如果是,则直接交给;不然,就送交路由器 R1,并逐项查找路由表。
- 将本子网的子网掩码 255.255.255.128与分组的 IP 地址 128.30.33.138 逐比特相与得出128.30.33.128
- 然后逐项查找路由表找到下一跳是接口1
7.无分类域间路由 CIDR
最主要特色
消除了传统的 A 类、B 类和 C 类地址以及区别子网的概念,因此能够更加有效地分配 IPv4 的地址空间。 CIDR运用各种长度的 “网络前缀”(network-prefix) 来代替分类地址中的网络号和子网号。(让net-id长度也可变) IP 地址从三级编址(运用子网掩码)又回到了两级编址。
无分类的两级编址
无分类的两级编址的记法是:
IP地址 ::= {<网络前缀>, <主机号>}
CIDR 运用“斜线记法”(slash notation),它又称为 CIDR 记法,即在 IP 地址后边加上一个斜线“/”,然后写上网络前缀所占的位数(这个数值对应于三级编址中子网掩码中 1 的个数)。例如: 220.78.168.0/24
CIDR 地址块
CIDR 把网络前缀都相同的接连的 IP 地址组成“CIDR 地址块”。
128.14.32.0/20 表明的地址块共有 2^12 个host-id(由于斜线后边的 20 是网络前缀的位数,所以这个地址的主机号是 12 位)。
路由聚合
一个 CIDR 地址块能够表明许多地址,这种地址的聚合常称为路由聚合,也称为构成超网
CIDR 尽管不运用子网了,但仍然运用“掩码”这一名词(但不叫子网掩码)。 关于 /20 地址块,它的掩码是 20 个接连的 1。 斜线记法中的数字便是掩码中1的个数。
最长前缀匹配
运用 CIDR 时,路由表中的每个项目由“网络前缀”和“下一跳地址”组成。在查找路由表时可能会得到不止一个匹配成果。
最长前缀匹配便是从匹配成果中挑选具有最长网络前缀的路由,由于网络前缀越长,其地址块就越小,因此路由就越详细。
8.网际操控报文协议(ICMP)
为了更有效地转发 IP 数据报和进步交给成功的机会,在网际层运用了网际操控报文协议 ICMP
ICMP 答应主机或路由器陈述过失状况和提供有关异常状况的陈述。 但 ICMP 不是高层协议(看起来好像是高层协议,由于 ICMP 报文是装在 IP 数据报中,作为其中的数据部分),而是 IP 层的协议。
ICMP报文格式
报文种类
-
ICMP 过失陈述报文 一共有四种:结尾不可达 ,时刻超过 ,参数问题 ,改动路由(重定向)(Redirect)
-
ICMP 询问报文 有两种: 回送请求和回答报文,时刻戳请求和回答报文
ICMP使用举例
- PING 用来测试两个主机之间的连通性。
- Traceroute用来盯梢一个分组从源点到结尾的途径。
9.路由挑选协议
静态和动态路由挑选
-
静态路由挑选战略——即非自习惯路由挑选,其特色是简略和开支较小,但不能及时习惯网络状况的改动。 (需求人为参与)
-
动态路由挑选战略——即自习惯路由挑选,其特色是能较好地习惯网络状况的改动,但完成起来较为复杂,开支也比较大。 (设计不好路由表会特别大)
内部网关协议 IGP (Interior Gateway Protocol)
在一个自治体系内部运用的路由挑选协议。 现在这类路由挑选协议运用得最多,如 RIP 和 OSPF 协议。
RIP
内部网关协议 IGP 中最先得到广泛运用的协议。 RIP 是一种分布式的、依据间隔向量的路由挑选协议。 RIP 协议要求网络中的每一个路由器都要维护从它自己到其他每一个意图网络的间隔记载。
更新流程
RIP优点:
完成简略,开支较小。
RIP缺点:
RIP 限制了网络的规划,它能运用的最大间隔为 15(16 表明不可达)。 路由器之间交流的路由信息是路由器中的完好路由表,因此跟着网络规划的扩大,开支也就增加。 “坏消息传播得慢”,使更新过程的收敛时刻过长。
外部网关协议 EGP (External Gateway Protocol)
若源站和意图站处在不同的自治体系中,当数据报传到一个自治体系的边界时,就需求运用一种协议将路由挑选信息传递到另一个自治体系中。这样的协议便是外部网关协议 EGP。 在外部网关协议中现在运用最多的是 BGP-4。
外部网关协议 BGP
力求寻觅一条能够抵达意图网络且比较好的路由(不能兜圈子),而并非要寻觅一条最佳路由。
特色
- 和谁交流——相邻BGP发言人之间相互交流信息。BGP 协议交流路由信息的结点数量级是自治体系数的量级,这要比这些自治体系中的网络数少许多。
- 交流什么——交流发言人的路由表。BGP 支撑 CIDR,因此 BGP 的路由表也就应当包括意图网络前缀、下一跳路由器,以及抵达该意图网络所要通过的各个自治体系序列。
- 交流频率——在 BGP 刚刚运行时,BGP 的邻站是交流整个的 BGP 路由表。但以后只需求在发生改动时更新有改动的部分。这样做对节省网络带宽和削减路由器的处理开支都有好处。
内部与外部的联系
路由器的构成
路由器的主要效果
- 连通不同的网络。
- 挑选信息传送的线路。
路由器结构
转发和路由挑选的区别
- “转发”(forwarding) 便是路由器依据转宣布将用户的 IP 数据报从适宜的端口转发出去。
- “路由挑选”(routing) 则是依照分布式算法,依据从各相邻路由器得到的关于网络拓扑的改动状况,动态地改动所挑选的路由。
- 路由表是依据路由挑选算法得出的。而转宣布是从路由表得出的。
10.IPv6(IPv6和IPv4的比照)
IP 是互联网的核心协议。互联网通过几十年的飞速发展,IPv4 的 32 位地址现已耗尽。解决 IP 地址耗尽的根本办法便是采用具有更大地址空间的新版别的 IP,即 IPv6。
主要改动如下:
- 更大的地址空间。IPv6 将地址从 IPv4 的 32 位 增大到了 128 位。
- 扩展的地址层次结构。
- 灵活的首部格式。 IPv6 定义了许多可选的扩展首部。
- 改进的选项。 IPv6 答应数据报包含有选项的操控信息,其选项放在有效载荷中。
- 答应协议继续扩充。
- 支撑即插即用(即主动装备)。因此 IPv6 不需求运用 DHCP。
- 支撑资源的预分配。 IPv6 支撑实时视像等要求,确保必定的带宽和时延的使用。
- IPv6 首部改为 8 字节对齐。首部长度有必要是 8 字节的整数倍。本来的 IPv4 首部是 4 字节对齐。
11.虚拟专用网 VPN和网络地址转化 NAT
虚拟专用网(VPN)
利用共用的互联网作为本组织各专用网之间的通讯载体,这样的专用网又称为虚拟专用网VPN
- “专用网”是由于这种网络是为本组织的主机用于组织内部的通讯,而不是用于和网络外非本组织的主机通讯。
- “虚拟”表明“好像是”,但实际上并不是,由于现在并没有真实运用通讯专线,而VPN只是在效果上和真实的专用网一样。
网络地址转化(NAT)
在专用网上运用专用地址的主机如何与互联网上的主机通讯?
解决方案:
- 再申请一些全球 IP 地址。但这在许多状况下是不容易做到的。
- 采用网络地址转化 NAT。这是现在运用得最多的办法。
需求在专用网衔接到互联网的路由器上安装 NAT 软件。装有 NAT 软件的路由器叫做 NAT路由器,它至少有一个有效的外部全球IP地址(能够有多个)。一切运用本地地址的主机在和外界通讯时,都要在 NAT 路由器上将其本地地址转化成全球 IP 地址,才干和互联网衔接。
转化过程
- 内部主机 A 用本地地址 IP(A) 和互联网上主机 B 通讯所发送的数据报有必要通过 NAT 路由器。
- NAT 路由器将数据报的源地址 IP(A) 转化成全球地址 IP(G) ,并把转化成果记载到NAT地址转化表中,意图地址 IP(B) 坚持不变,然后发送到互联网。
- NAT 路由器收到主机 B 发回的数据报时,知道数据报中的源地址是 IP(B) 而意图地址是 IP(G) 。
- 依据 NAT 转化表,NAT 路由器将意图地址 IP(G) 转化为 IP(A) ,转发给最终的内部主机 A。
在内部主机与外部主机通讯时,在NAT路由器上发生了两次地址转化:
- 脱离专用网时:替换源地址,将内部地址替换为全球地址;
- 进入专用网时:替换意图地址,将全球地址替换为内部地址;