第6章 静态路由和动态路由(1)_静态路由

1. 路由——网络层实现的功能

1.1 路由功能

(1)网络层的功能:给传输层协议提供简单灵活的、无连接的、尽最大努力交付的数据包服务。

(2)路由器为每一个数据包单独地选择转发路径,网络层并不提供服务质量的承诺也就是说路由器直接丢弃传输过程中出错的数据包,如果网络中待发的数据包太多,路由器处理不了也直接丢弃,既不判断数据包重复,也不确保数据包按发送顺序到达终点

(3)路由就是路由器从一个网段到另一个网段转发数据包的过程。即在不同网段转发数据包就是路由。私网地址通过NAT技术将数据包发送到Internet,这也是路由,只不过在路由过程中修改了数据包的源IP地址和源端口。

(4)两种方式构建路由表

  ①静态路由:在每个路由器上添加到各个网络的路由,适合规模较小的网络或网络不怎么变化的情况。

  ②动态路由:配置路由器使用路由协议(RIP、EIGRP或OSPF等)自动构建路由表,适合规模较大的网络,能够针对网络的变化自动选择最佳路径。

1.2 网络畅通的条件:数据包能去能回。

(1)计算机A要想与B通信,沿途的所有路由器必须有到目标网络192.168.1.0/24的路由(即R1、R2和R3都必须知道到192.168.1.0/24怎么走)

(2)同时,计算机B到A沿途的路由器也必须知道到192.168.0.0/24的网段怎么走。

(3)如果在计算机A上ping计算机B,当沿途的路由器有任何一个缺少到达目标网络的192.168.1.0/24的路由,该路由将返回计算机A一个ICMP响应数据包,提示“目标主机不可到达”

(4)如果计算机A发送的数据包能够到达B,计算机B将返回响应数据包给计算机A ,沿途的路由器有任何一个缺少到达网络192.168.0.0/24的路由,计算机B返回的数据包将不能到达A,将在计算机A显示“请求超时.”

2. 静态路由

2.1 全网通信

(1)要实现全网通信,也就是网络中任意两个节点都通信,就要求每个路由器的路由表中必须有到所有网段的路由

(2)对于路由器来说它只知道自己直接的网段,对于没有直接的网络,需要人工添加到这些网段的路由。如R1路由器直接A、B两个网段,C、D网段没有直接,需要添加到C、D网段的路由(如上图所示)

(3)“下一跳”指的是数据包下一步给哪个路由器,应该填写该路由器的入口地址。对于点到点链路,“下一跳”地址可能写成目标网络的出口(如serial 2/0)。因为PPP协议,数据帧从一端发出,接收端只有一个。对于路由器之间是一个以太网连接。这种情况下添加路由器,只能写下一跳地址,而不能写路由器的出口,因为路由器的出口连的是以太网,根本不知道该将数据包发给该以太网中的哪个路由器。

(4)路由器只关心到某个网段如何转发数据包。所以添加路由时一定要是某个网段的地址,而不能是某个特定地址的路由,即一定要确保IP地址的主机位全是0。如果要让路由器转发到一个IP地址的路由,子网掩码要写成4个255。如R1(config)#ip route 192.168.1.3 255.255.255.255 172.16.0.2

2.2 配置静态路由

(1)查看路由表进入特权模式,输入“show ip route”。如:R1# show ip route。(注意:路由前面的C为Connect的首字母,表示直连的网络。S为Static的首字母,代表静态路由。R为RIP首字母,O为OSPF首字母等)

(2)添加静态路由进入全局配置模式。输入“ip route 目标网段 子网掩码 下一跳”。如R1(config)#ip route 172.16.1.0 255.255.255.0 172.16.0.2

(3)测试网络是否畅

  ①在PC1上ping PC2网络是否畅通。

  ②tracer命令跟踪数据包的路径。

  ③可根据需要测试“目标主机不可到达”(方法是删除A→B链路上任何一个路由器上到B网段的路由)。也可以测试“请求超时”的现象(方法删除B→A链路上任何一个路由器上到A网段的路由)

(4)删除静态路由进入全局配置模式。使用no ip route命令。 如,R2(config)#no ip route 192.168.1.0 255.255.255.0 172.16.1.2

时间: 2024-07-30 00:49:15

第6章 静态路由和动态路由(1)_静态路由的相关文章

iOS 中的静态库与动态库,区别、制作和使用

如果我们有些功能要给别人用,但是又不想公开代码实现,比如高德地图.第三方登录分享等等,这时候我们就要打包成库了.库分静态库和动态库两种: 静态库:以.a 和 .framework为文件后缀名.动态库:以.tbd(之前叫.dylib) 和 .framework 为文件后缀名. 静态库与动态库的区别 静态库:链接时会被完整的复制到可执行文件中,被多次使用就有多份拷贝.动态库:链接时不复制,程序运行时由系统动态加载到内存,系统只加载一次,多个程序共用(如系统的UIKit.framework等),节省内

C++静态库与动态库(比较透彻)

这次分享的宗旨是——让大家学会创建与使用静态库.动态库,知道静态库与动态库的区别,知道使用的时候如何选择.这里不深入介绍静态库.动态库的底层格式,内存布局等,有兴趣的同学,推荐一本书<程序员的自我修养——链接.装载与库>. 什么是库 库是写好的现有的,成熟的,可以复用的代码.现实中每个程序都要依赖很多基础的底层库,不可能每个人的代码都从零开始,因此库的存在意义非同寻常. 本质上来说库是一种可执行代码的二进制形式,可以被操作系统载入内存执行.库有两种:静态库(.a..lib)和动态库(.so..

iOS 静态库,动态库与 Framework

iOS 静态库,动态库与 Framework 静态库与动态库的区别 首先来看什么是库,库(Library)说白了就是一段编译好的二进制代码,加上头文件就可以供别人使用. 什么时候我们会用到库呢?一种情况是某些代码需要给别人使用,但是我们不希望别人看到源码,就需要以库的形式进行封装,只暴露出头文件.另外一种情况是,对于某些不会进行大的改动的代码,我们想减少编译的时间,就可以把它打包成库,因为库是已经编译好的二进制了,编译的时候只需要 Link 一下,不会浪费编译时间. 上面提到库在使用的时候需要

嵌入式 Linux C语言(十)——静态库函数和动态库函数

嵌入式 Linux C语言(十一)--静态库函数和动态库函数 一.静态链接库 静态链接库是obj文件的一个集合,通常静态链接库以".a"为后缀,名字格式一般为libxxx.a,由程序ar生成.静态链接库是在程序编译过程中链接的,已经将调用的相关函数拷贝到程序内部,程序运行时和静态链接库已经没有任何关系. 1.静态链接库的创建 A.编写源码库文件 源码库文件一般包含.c和.h文件, hello.c文件: #include <stdio.h> void display(void

VS中Debug和Realease、及静态库和动态库的区别整理(转)

原文出自:http://www.cnblogs.com/chensu/p/5632486.html 一.Debug和Realease区别产生的原因 Debug 通常称为调试版本,它包含调试信息,并且不作任何优化,便于程序员调试程序.Release 称为发布版本,它往往是进行了各种优化,使得程序在代码大小和运行速度上都是最优的,以便用户很好地使用. Debug 和 Release 的真正区别,在于一组编译选项. Debug 版本 参数 含义 /MDd /MLd 或 /MTd 使用 Debug ru

Java Web学习(2):静态网页与动态网页

一静态网页 (1)静态网页概述 在网站设计中,纯粹HTML(标准通用标记语言下的一个应用)格式的网页通常被称为"静态网页",静态网页是 标准的HTML文件,它的文件扩展名是.htm..html,可以包含文本.图像.声音.FLASH动画.客户端脚本和ActiveX 控件及JAVA小程序等.静态网页是网站建设的基础,早期的网站一般都是由静态网页制作的. 静态网页是相对于动态网页而言,是指没有后台数据库.不含程序和不可交互的网页.静态网页相对更新起来比 较麻烦,适用于一般更新较少的展示型网站

静态资源和动态资源

手动开发动态资源 1 静态资源和动态资源的区别 静态资源: 当用户多次访问这个资源,资源的源代码永远不会改变的资源. 动态资源:当用户多次访问这个资源,资源的源代码可能会发送改变. 动态资源的开发技术 Servlet : 用java语言来编写动态资源的开发技术. Servlet特点: 1)普通的java类,继承HttpServlet类,覆盖doGet方法 2)Servlet类只能交给tomcat服务器运行!!!!(开发者自己不能运行!!!) Servlet手动编写步骤: 1)编写一个servle

(转)C++静态库与动态库

转自:http://www.cnblogs.com/skynet/p/3372855.html C++静态库与动态库 这次分享的宗旨是——让大家学会创建与使用静态库.动态库,知道静态库与动态库的区别,知道使用的时候如何选择.这里不深入介绍静态库.动态库的底层格式,内存布局等,有兴趣的同学,推荐一本书<程序员的自我修养——链接.装载与库>. 什么是库 库是写好的现有的,成熟的,可以复用的代码.现实中每个程序都要依赖很多基础的底层库,不可能每个人的代码都从零开始,因此库的存在意义非同寻常. 本质上

C++静态库与动态库(简介)

C++静态库与动态库 这次分享的宗旨是——让大家学会创建与使用静态库.动态库,知道静态库与动态库的区别,知道使用的时候如何选择.这里不深入介绍静态库.动态库的底层格式,内存布局等,有兴趣的同学,推荐一本书<程序员的自我修养——链接.装载与库>. 什么是库 库是写好的现有的,成熟的,可以复用的代码.现实中每个程序都要依赖很多基础的底层库,不可能每个人的代码都从零开始,因此库的存在意义非同寻常. 本质上来说库是一种可执行代码的二进制形式,可以被操作系统载入内存执行.库有两种:静态库(.a..lib

详谈Apache、Nginx和tomcat的区别以及处理静态页面和动态页面的方式

就目前来说,网站主要分为静态页面和动态页面,纯静态页面的网站已经比较少见了,大型网站一般使用的是静态页面+动态页面的建站技术,还有一部分网站是纯动态页面.负责处理这些页面的软件我们通常称之为web容器,是一种服务程序,负责处理客户端(浏览器)发来的访问请求,如果是静态页面会直接将文件内容呈现给客户端(浏览器),如果是动态页面会将其解析成静态内容之后再呈现给客户端(浏览器). 一.Apache.Nginx和tomcat的区别 ApacheApache HTTP Server(简称Apache)是A