1、网络层一、网络层提供的两种服务虚电路服务 可靠通信应当由网络来保证数据报服务 可靠通信应当由用户主机来保证网络层向上只提供简单灵活的、无连接的、尽最大努力交付的数据报服务。二、网际协议 IP1、与 IP 协议配套使用的还有三个协议: 地址解析协议 ARP 网际控制报文协议 ICMP 网际组管理协议 IGMP2、网络互相连接起来要使用一些中间设备 中间设备又称为中间系统或中继(relay)系统。 物理层中继系统:转发器(repeater)。 数据链路层中继系统:网桥或桥接器(bridge)。 网络层中继系统:路由器(router)。 网桥和路由器的混合物:桥路器(brouter)。网络层以上的中
2、继系统:网关(gateway)3、互联网可以由许多异构网络互联组成4、分类的 IP 地址IP 地址定义:就是给每个连接在因特网上的主机(或路由器)分配一个在全世界范围是唯一的 32 位的标识符。5、IP 地址的编址方法 分类的 IP 地址,子网的划分,构成超网。两级的 IP 地址 :IP 地址 := , 分类的 IP 地址:A 类,B 类,C 类地址都是单播地址D 类地址用于多播,E 类地址保留实际上 IP 地址是标志一个主机(或路由器)和一条链路的接口。 Ip 地址不仅可以指明一个主机,还指明了主机所连接到的网络点分十进制记法:192.168.1.1一些特殊的 ip 地址:保留地址 0.0.
3、0.0 本地软件环回测试地址 127.0.0.1 不指派地址 128.0.0.0 192.0.0.0 6、ip 地址与硬件地址的区别: IP 地址放在 IP 数据报首部,硬件地址放在 MAC 帧首部,在网络层及网络层以上使用 IP 地址,在链路层及以下使用硬件地址7、解析协议 ARP每一个主机都设有一个 ARP 高速缓存(ARP cache),里面有所在的局域网上的各主机和路由器的 IP 地址到硬件地址的映射表,这个映射表还经常动态更新。ARP 是解决同一个局域网上的主机或路由器的 IP 地址和硬件地址的映射问题。8、如何知道同一个局域网内其他主机的 mac 地址?A 在局域网内广播 arp
4、请求分组,其他主机接收分组, IP 地址与报文中一致的主机收下分组,并在自己的 arp 缓存中写入主机 A 的 IP 地址到 mac 地址的映射,并发送 arp 响应报文,A 收到响应报文后在自己的 arp 缓存中写入主机 B 的 IP 地址到 mac 地址的映射。9、生存时间,一般为 10-20 分钟10、若主机不在同一个局域网内,arp 映射表怎样建立?交给连接不同网络的路由器11、使用 ARP 的四种典型情况发送方是主机,要把 IP 数据报发送到本网络上的另一个主机。这时用 ARP 找到目的主机的硬件地址。 发送方是主机,要把 IP 数据报发送到另一个网络上的一个主机。这时用 ARP 找
5、到本网络上的一个路由器的硬件地址。剩下的工作由这个路由器来完成。 发送方是路由器,要把 IP 数据报转发到本网络上的一个主机。这时用 ARP 找到目的主机的硬件地址。 发送方是路由器,要把 IP 数据报转发到另一个网络上的一个主机。这时用 ARP 找到本网络上另一个路由器的硬件地址。剩下的工作由这个路由器来完成。12 为什么不直接使用 mac 地址通信,要加上 ip 地址为了完成异构网络之间的通讯,mac 地址比较复杂,ip 方便用户操作,提高 CPU 的效率,这样在网络传输中就可以由网卡来识别 mac 地址,不用再上传到 CPU 识别13、IP 数据包格式 一个 IP 数据报由首部和数据两部
6、分组成。 首部的前一部分是固定长度,共 20 字节,是所有 IP 数据报必须具有的。 在首部的固定部分的后面是一些可选字段,其长度是可变的。 14、首部长度占 4 位,可表示的最大数值是 15 个单位(一个单位为 4 字节)因此 IP 的首部长度的最大值是 60 字节。固定长度为 20 字节15、总长度占 16 位,指首部和数据之和的长度,单位为字节,因此数据报的最大长度为 65535 字节。总长度必须不超过最大传送单元 MTU16、标志(flag):占 3 位,目前只有前两位有意义。标志字段的最低位是 MF (More Fragment)。MF 1 表示后面 “还有分片” 。MF 0 表示最
7、后一个分片。标志字段中间的一位是 DF (Dont Fragment) 。只有当 DF 0 时才允许分片。 17、片偏移(13 位)指出:较长的分组在分片后某片在原分组中的相对位置。片偏移以 8 个字节为偏移单位。18、生存时间(8 位)记为 TTL (Time To Live)数据报在网络中可通过的路由器数的最大值。单位为跳数。数据报能在英特网中传输的最大跳数为 255 个路由器19、协议(8 位)字段指出此数据报携带的数据使用何种协议,以便目的主机的 IP 层将数据部分上交给哪个处理过程20、首部检验和(16 位)字段只检验数据报的首部,不检验数据部分。采用累加法,以 16位字为单位加21
8、、IP 层分组转发的流程:分组转发算法(1) 从数据报的首部提取目的主机的 IP 地址 D, 得出目的网络地址为 N。(2) 若网络 N 与此路由器直接相连,则把数据报直接交付目的主机 D;否则是间接交付,执行(3)。(3) 若路由表中有目的地址为 D 的特定主机路由,则把数据报传送给路由表中所指明的下一跳路由器;否则,执行(4)。(4) 若路由表中有到达网络 N 的路由,则把数据报传送给路由表指明的下一跳路由器;否则,执行(5)。(5) 若路由表中有一个默认路由,则把数据报传送给路由表中所指明的默认路由器;否则,执行(6)。(6) 报告转发分组出错。 三、划分子网1、三级 IP:IP 地址
9、:= , , 2、划分子网纯属一个单位内部的事情。单位对外仍然表现为没有划分子网的网络。3、从主机号借用若干个位作为子网号 subnet-id,而主机号 host-id 也就相应减少了若干个位。4、子网掩码:使用子网掩码(subnet mask)可以找出 IP 地址中的子网部分。 5、默认子网掩码:原来两级 IP 时 A、B 、C 类地址使用的网络号6、路由器的路由表中的每一个项目,除了要给出目的网络地址外,还必须同时给出该网络的子网掩码7、不同的子网掩码得出相同的网络地址,但不同的掩码的效果是不同的8、在划分子网的情况下路由器转发分组的算法(1) 从收到的分组的首部提取目的 IP 地址 D。
10、(2) 先用各网络的子网掩码和 D 逐位相“与” ,看是否和相应的网络地址匹配。若匹配,则将分组直接交付。否则就是间接交付,执行(3)。(3) 若路由表中有目的地址为 D 的特定主机路由,则将分组传送给指明的下一跳路由器;否则,执行(4)。(4) 对路由表中的每一行的子网掩码和 D 逐位相“与” ,若其结果与该行的目的网络地址匹配,则将分组传送给该行指明的下一跳路由器;否则,执行(5)。(5) 若路由表中有一个默认路由,则将分组传送给路由表中所指明的默认路由器;否则,执行(6)。(6) 报告转发分组出错。9、无分类编址 CIDRCIDR 使用各种长度的“网络前缀”(network-prefix
11、) 来代替分类地址中的网络号和子网号。IP 地址从三级编址(使用子网掩码)又回到了两级编址。 IP 地址 := , 128.14.32.0/20四、 网际控制报文协议 ICMP:为了提高 IP 数据报交付成功的机会1、ICMP 允许主机或路由器报告差错情况和提供有关异常情况的报告。2、作用:用于在 IP 主机、路由器之间传递控制消息。控制消息是指网络通不通、主机是否可达、路由是否可用等网络本身的消息3、 ICMP 不是高层协议,而是 IP 层的协议。4、ICMP 报文作为 IP 层数据报的数据,加上数据报的首部,组成 IP 数据报发送出去。 5、ICMP 报文的格式:类型:1 字节,代码:1
12、字节,检验和:2 字节;接下去四个字节与类型有关,数据部分(差错报文):ip 首部+ip 数据报前 8 个字节6、 ICMP 报文的种类有两种,即 ICMP 差错报告报文和 ICMP 询问报文。 7、 ICMP 差错报告报文共有 5 种:终点不可达 、源点抑制 、时间超过、参数问题 、改变路由(重定向)8、 不应发送 ICMP 差错报告报文的几种情况(1)对 ICMP 差错报告报文不再发送 ICMP 差错报告报文。(2)对第一个分片的数据报片的所有后续数据报片都不发送 ICMP 差错报告报文。(3) 对具有多播地址的数据报都不发送 ICMP 差错报告报文。(4)对具有特殊地址(如 127.0.
13、0.0 或 0.0.0.0)的数据报不发送 ICMP 差错报告报文。9、ICMP 询问报文有两种:回送请求和回答报文、时间戳请求和回答报文10、ping 报文就是 icmp 报文五、因特网的路由选择协议1、路由选择协议的核心就是理想的路由算法2、从路由算法的自适应性分类静态路由选择策略即非自适应路由选择动态路由选择策略即自适应路由选择 3、因特网采用分层次的路由选择协议。4、自治系统 AS 的定义:在单一的技术管理下的一组路由器,而这些路由器使用一种 AS 内部的路由选择协议和共同的度量以确定分组在该 AS 内的路由,同时还使用一种 AS 之间的路由选择协议用以确定分组在 AS 之间的路由5、
14、因特网有两大类路由选择协议内部网关协议 IGP (Interior Gateway Protocol) 即在一个自治系统内部使用的路由选择协议,常用的有 RIP,OSPF外部网关协议 EGP (External Gateway Protocol) 不在一个自治系统内部使用的路由选择协议,常用的有 BGP6、自治系统之间的路由选择也叫做,域间路由选择(interdomain routing),在自治系统内部的路由选择叫做,域内路由选择(intradomain routing) 7、内部网关协议 RIP(路由信息协议):RIP 是一种分布式的基于距离向量的路由选择协议。基于 UDP 的应用层协议
15、RIP 协议中的“距离”也称为“跳数”(hop count),因为每经过一个路由器,跳数就加 1。 RIP 允许一条路径最多只能包含 15 个路由器。 “距离”的最大值为 16 时即相当于不可达。可见 RIP 只适用于小型互联网。 RIP 不能在两个网络之间同时使用多条路由。RIP 选择一个具有最少路由器的路由(即最短路由) ,哪怕还存在另一条高速(低时延) 但路由器较多的路由。 8、RIP 协议的三个要点 仅和相邻路由器交换信息。 交换的信息是当前本路由器所知道的全部信息,即自己的路由表。 按固定的时间间隔交换路由信息,例如,每隔 30 秒。 9、 距离向量算法收到相邻路由器(其地址为 X)
16、的一个 RIP 报文:(1) 先修改此 RIP 报文中的所有项目:把“下一跳”字段中的地址都改为 X,并把所有的“距离”字段的值加 1。(2) 对修改后的 RIP 报文中的每一个项目,重复以下步骤:若项目中的目的网络不在路由表中,则把该项目加到路由表中。否则,若下一跳字段给出的路由器地址是同样的,则把收到的项目替换原路由表中的项目。否则,若收到项目中的距离小于路由表中的距离,则进行更新,否则,什么也不做。(3) 若 3 分钟还没有收到相邻路由器的更新路由表,则把此相邻路由器记为不可达路由器,即将距离置为 16(距离为 16 表示不可达) 。(4) 返回。10、RIP2 的报文由首部和路由部分组
17、成路由部分:地址族标识符,路由标记,网络地址、该网络的子网掩码、下一跳路由器地址以及到此网络的距离组成11、RIP 协议的特点:好消息传播的快,坏消息传播的慢网络出故障的传播时间往往需要较长的时间(例如数分钟)12、内部网关协议 OSPF(开放最短路径优先)(1)向本自治系统中所有路由器发送信息,这里使用的方法是洪泛法。(2)发送的信息就是与本路由器相邻的所有路由器的链路状态,但这只是路由器所知道的部分信息。 “链路状态”就是说明本路由器都和哪些路由器相邻,以及该链路的“度量”(metric)。 (3)只有当链路状态发生变化时,路由器才用洪泛法向所有路由器发送此信息。 13、OSPF 的区域
18、(area):为了使 OSPF 能够用于规模很大的网络,OSPF 将一个自治系统再划分为若干个更小的范围,叫作区域。14、每一个区域的路由器数量不超过 200 个,分成两种区域,即主干区域和其他区域15、划分区域的好处就是将利用洪泛法交换链路状态信息的范围局限于每一个区域而不是整个的自治系统,这就减少了整个网络上的通信量。在一个区域内部的路由器只知道本区域的完整网络拓扑,而不知道其他区域的网络拓扑的情况。OSPF 使用层次结构的区域划分。在上层的区域叫作主干区域(backbone area)。主干区域的标识符规定为 0.0.0.0。主干区域的作用是用来连通其他在下层的区域。 16、OSPF 不
19、用 UDP 而是直接用 IP 数据报传送。OSPF 构成的数据报很短。这样做可减少路由信息的通信量,而17、OSPF 协议中如果到同一个目的网络有多条相同代价的路径,那么可以将通信量分配给这几条路径。这叫作多路径间的负载平衡。18、OSPF 的五种分组类型:问候(Hello)分组。数据库描述分组。链路状态请求分组。链路状态更新分组,用洪泛法对全网更新链路状态。链路状态确认分组。 19、OSPF 还规定每隔一段时间,如 30 分钟,要刷新一次数据库中的链路状态。当互联网规模很大时,OSPF 协议要比距离向量协议 RIP 好得多20、外部网关协议 BGP:BGP 是不同自治系统的路由器之间交换路由
20、信息的协议。 六、IP 多播:可明显地减少网络中资源的消耗1、多播使用组地址 IP 使用 D 类地址支持多播。多播地址只能用于目的地址,而不能用于源地址2、因此 TCP/IP 协议使用的以太网多播地址块的范围是:从 00-00-5E-00-00-00 到 00-00-5E-FF-FF-FF 3、IP 多播需要两种协议:网际组管理协议、IGMP 多播路由选择协议。 4、多播数据包和一般数据报的区别是其使用 D 类 IP 地址作为目的地址5、IP 多播的分类:在本局域网内进行硬件多播(IP 地址到 mac 地址的转换看待)和在因特网的范围进行多播七、虚拟专用网 VPN:利用公用的英特网作为本机构各
21、专用网之间的通信载体。通过英特网传送的数据要加密。1、本地地址仅在机构内部使用的 IP 地址,可以由本机构自行分配,而不需要向因特网的管理机构申请。2、全球地址全球唯一的 IP 地址,必须向因特网的管理机构申请。 专用地址:只能用于一个机构的内部通信,而不能用于和因特网上的主机通信,是本地地址 10.0.0.0 到 10.255.255.255 172.16.0.0 到 172.31.255.255 192.168.0.0 到 192.168.255.2553、 内联网和外联网:看结果是否属于同一个机构八、网络地址转换 NAT1、需要在专用网连接到因特网的路由器上安装 NAT 软件。装有 NA
22、T 软件的路由器叫做 NAT 路由器,它至少有一个有效的外部全球地址 IPG。2、在专用网络内使用专用 IP 地址,仅在连接到英特网上的路由器时使用全球 IP 地址。并且一定要使用全球 IP 才能和英特网连接3、通过 NAT 地址转换表可以把 IP 数据报上的旧目的 IP 地址转换为新的目的 IP 地址4、使用端口号的 NAT 也叫网络地址与端口号转换 NAPT九、本章中出现的几个表1、ARP 缓存的映射表:主要内容是同一局域网内的主机路由器的 IP 地址与 MAC 地址2、路由表:主要内容是目的网络,距离,下一跳的路由器3、NAT 转换表:主要内容是内部专用 IP 地址与公网全球 IP 地址整理者:福州大学 张毅