《2022年IT综合面试题大全 .pdf》由会员分享,可在线阅读,更多相关《2022年IT综合面试题大全 .pdf(46页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、操作系统、计算机网络、设计模一:操作系统1.进程的有哪几种状态,状态转换图,及导致转换的事件。状态: 绪(Ready)状态进程已获得除处理机外的所需资源,等待分配处理机资源,只要分配到CPU 就可执行。在某一时刻,可能有若干个进程处于该状态。2)运行状态占用处理机资源运行,处于此状态的进程的数目小于等于CPU 的数目。3)阻塞状态由于进程等待某种条件(如 I/O 操作或进程同步) ,在条件满足之前无法继续执行。该事件发生前即使把处理机分配给该进程,也无法运行。转换解释: 从状态转换图中,存在四种状态转换。当进程调度程序从就绪队列中选取一个进程投入运行时引起转换1; 正在执行的进程如因时间片用完
2、而被暂停执行就会引起转换2;正在执行的进程因等待的事件尚未发生而无法执行(如进程请求完成I/O) 则会引去转换3;当进程等待的事件发生时(如I/O 完成)则会引起转换4。事件:就绪队列非空,则一个进程的转换3 会立即引去另一个进程的转换1。这是因为一个进程发生转换3 意味着正在执行的进程由执行状态变为阻塞状态,这时处理机空闲, 进程调度程序必然会从就绪队列中选取一个进程并将它投入运行,因此只要就绪队列非空,一个进程的转换3 能立即引起一个进程的转换1。2.进程与线程的区别。进程是具有一定独立功能的程序关于某个数据集合上的一次运行活动,进程是系统进行资源分配和调度的一个独立单位. 线程是进程的一
3、个实体,是 CPU 调度和分派的基本单位,它是比进程更小的能独立运行的基本单位 .线程自己基本上不拥有系统资源,只拥有一点在运行中必不可少的资源(如程序计数器 ,一组寄存器和栈),但是它可与同属一个进程的其他的线程共享进程所拥有的全部资源. 一个线程可以创建和撤销另一个线程;同一个进程中的多个线程之间可以并发执行3.进程通信的几种方式。管道 ( pipe ):管道是一种半双工的通信方式,数据只能单向流动,而且只能在具有亲缘关系的进程间使用。进程的亲缘关系通常是指父子进程关系。有名管道(named pipe) : 有名管道也是半双工的通信方式,但是它允许无亲缘关系进程间的通信。信号量 ( sem
4、ophore ) : 信号量是一个计数器,可以用来控制多个进程对共享资源的访问。它常作为一种锁机制,防止某进程正在访问共享资源时,其他进程也访问该资源。因此,主名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 1 页,共 46 页 - - - - - - - - - 要作为进程间以及同一进程内不同线程之间的同步手段。消息队列 ( message queue ) : 消息队列是由消息的链表,存放在内核中并由消息队列标识符标识。 消息队列克服了信号传递信息少、管道只能承载无格式字节流以及缓
5、冲区大小受限等缺点。信号( sinal ) : 信号是一种比较复杂的通信方式,用于通知接收进程某个事件已经发生。共享内存 ( shared memory ) :共享内存就是映射一段能被其他进程所访问的内存,这段共享内存由一个进程创建,但多个进程都可以访问。共享内存是最快的IPC 方式,它是针对其他进程间通信方式运行效率低而专门设计的。它往往与其他通信机制,如信号量,配合使用,来实现进程间的同步和通信。套接字 ( socket ) : 套解口也是一种进程间通信机制,与其他通信机制不同的是,它可用于不同及其间的进程通信。4.线程同步几种方式。(一定要会写生产者、消费者问题,完全消化理解) 临界区(
6、 CCriticalSection ) :通过对多线程的串行化来访问公共资源或一段代码,速度快,适合控制数据访问。事件( CEvent) :为协调共同对一个共享资源的单独访问而设计的。互斥量( CMutex ) :为控制一个具有有限数量用户资源而设计。信号量( CSemaphore) :用来通知线程有一些事件已发生,从而启动后继任务的开始。5.线程的实现方式. (也就是用户线程与内核线程的区别) 根据操作系统内核是否对线程可感知,可以把线程分为内核线程和用户线程。内核线程建立和销毁都是由操作系统负责、通过系统调用完成的,操作系统在调度时,参考各进程内的线程运行情况做出调度决定,如果一个进程中没
7、有就绪态的线程,那么这个进程也不会被调度占用CPU。和内核线程相对应的是用户线程,用户线程指不需要内核支持而在用户程序中实现的线程,其不依赖于操作系统核心,用户进程利用线程库提供创建、同步、 调度和管理线程的函数来控制用户线程。用户线程多见于一些历史悠久的操作系统,例如Unix 操作系统,不需要用户态 /核心态切换,速度快,操作系统内核不知道多线程的存在,因此一个线程阻塞将使得整个进程(包括它的所有线程)阻塞。由于这里的处理器时间片分配是以进程为基本单位,所以每个线程执行的时间相对减少为了在操作系统中加入线程支持,采用了在用户空间增加运行库来实现线程,这些运行库被称为“线程包”,用户线程是不能
8、被操作系统所感知的。引入用户线程,具体而言,有以下四个方面的优势:(1)可以在不支持线程的操作系统中实现。(2)创建和销毁线程、线程切换代价等线程管理的代价比内核线程少得多。(3)允许每个进程定制自己的调度算法,线程管理比较灵活。(4)线程能够利用的表空间和堆栈空间比内核级线程多。用户线程的缺点主要有以下两点:(1)同一进程中只能同时有一个线程在运行,如果有一个线程使用了系统调用而阻塞,那么整个进程都会被挂起。(2)页面失效也会产生类似的问题。内核线程的优缺点刚好跟用户线程相反。实际上,操作系统可以使用混合的方式来实现线程。6.用户态和核心态的区别、7.用户栈和内核栈的区别。当一个任务 (进程
9、) 执行系统调用而陷入内核代码中执行时,我们就称进程处于内核运行态(或简称为内核态) 。此时处理器处于特权级最高的(0 级)内核代码中执行。当进程处于内核态时, 执行的内核代码会使用当前进程的内核栈。每个进程都有自己的内核栈。当进名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 2 页,共 46 页 - - - - - - - - - 程在执行用户自己的代码时,则称其处于用户运行态(用户态)。即此时处理器在特权级最低的( 3 级)用户代码中运行。当正在执行用户程序而突然被中断程序中断时
10、,此时用户程序也可以象征性地称为处于进程的内核态。因为中断处理程序将使用当前进程的内核栈。这与处于内核态的进程的状态有些类似。用户态切换到内核态的3 种方式:系统调用、异常、外围设备中断。8.内存池、进程池、线程池。(c+程序员必须掌握) 自定义内存池的思想通过这个池字表露无疑, 应用程序可以通过系统的内存分配调用预先一次性申请适当大小的内存作为一个内存池,之后应用程序自己对内存的分配和释放则可以通过这个内存池来完成。只有当内存池大小需要动态扩展时,才需要再调用系统的内存分配函数,其他时间对内存的一切操作都在应用程序的掌控之中。应用程序自定义的内存池根据不同的适用场景又有不同的类型。从线程安全
11、的角度来分,内存池可以分为单线程内存池和多线程内存池。单线程内存池整个生命周期只被一个线程使用,因而不需要考虑互斥访问的问题;多线程内存池有可能被多个线程共享,因此则需要在每次分配和释放内存时加锁。相对而言,单线程内存池性能更高,而多线程内存池适用范围更广。从内存池可分配内存单元大小来分,可以分为固定内存池和可变内存池。所谓固定内存池是指应用程序每次从内存池中分配出来的内存单元大小事先已经确定,是固定不变的; 而可变内存池则每次分配的内存单元大小可以按需变化,应用范围更广, 而性能比固定内存池要低。9. 死锁的概念,导致死锁的原因. 死锁 : 是指两个或两个以上的进程在执行过程中,因争夺资源而
12、造成的一种互相等待的现象,若无外力作用,它们都将无法推进下去.此时称系统处于死锁状态或系统产生了死锁 ,这些永远在互相等竺的进程称为死锁进程. 原因:系统资源不足、进程运行推进的顺序不合适、资源分配不当等。10. 导致死锁的四个必要条件。(1) 互斥条件:一个资源每次只能被一个进程使用。(2) 请求与保持条件:一个进程因请求资源而阻塞时,对已获得的资源保持不放。(3) 不剥夺条件 :进程已获得的资源,在末使用完之前,不能强行剥夺。(4) 循环等待条件:若干进程之间形成一种头尾相接的循环等待资源关系。11. 处理死锁的四个方式。1)忽略该问题。例如鸵鸟算法,该算法可以应用在极少发生死锁的的情况下
13、。为什么叫鸵鸟算法呢, (鸵鸟策略)2)检测死锁并且恢复。 (检测与解除策略)3)仔细地对资源进行动态分配,以避免死锁。(避免策略)4)通过破除死锁四个必要条件之一,来防止死锁产生。(预防策略)12. 预防死锁的方法、避免死锁的方法。通过破除死锁四个必要条件之一,来预防死锁产生,有两种方法, 一种是当其申请的资源得不到满足时, 也必须放弃其原先占有的资源;另一种方法是只适用于申请资源的进程优先级比占有该资源的进程优先级高时,如果一个进程申请的资源被其它进程占用,而申请进程的优先级较高,那么它可以强迫占有资源的进程放弃。仔细地对资源进行动态分配,以避免死锁。13. 进程调度算法。(周转时间= 程
14、序结束时间- 开始服务时间、带权周转时间= 周转时间 / 要求服务时间 )?名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 3 页,共 46 页 - - - - - - - - - 14. Windows 内存管理的方式(块式、页式、段式、段页式). 内存管理是操作系统中的重要部分,两三句话恐怕谁也说不清楚吧我先说个大概,希望能够抛砖引玉吧当程序运行时需要从内存中读出这段程序的代码。代码的位置必须在物理内存中才能被运行,由于现在的操作系统中有非常多的程序运行着,内存中不能够完全放下,
15、所以引出了虚拟内存的概念。把哪些不常用的程序片断就放入虚拟内存,当需要用到它的时候在load 入主存(物理内存)中。这个就是内存管理所要做的事。内存管理还有另外一件事需要做: 计算程序片段在主存中的物理位置,以便 CPU 调度。 内存管理有块式管理,页式管理,段式和段页式管理。现在常用段页式管理。块式管理: 把主存分为一大块、一大块的,当所需的程序片断不在主存时就分配一块主存空间,把程序片断load 入主存,就算所需的程序片度只有几个字节也只能把这一块分配给它。这样会造成很大的浪费,平均浪费了50的内存空间,但是易于管理。页式管理: 把主存分为一页一页的,每一页的空间要比一块一块的空间小很多,
16、显然这种方法的空间利用率要比块式管理高很多。段式管理: 把主存分为一段一段的,每一段的空间又要比一页一页的空间小很多,这种方法在空间利用率上又比页式管理高很多,但是也有另外一个缺点。一个程序片断可能会被分为几十段, 这样很多时间就会被浪费在计算每一段的物理地址上(计算机最耗时间的大家都知道是I/O 吧) 。段页式管理: 结合了段式管理和页式管理的优点。把主存分为若干页,每一页又分为若干段。15. 内存连续分配方式采用的几种算法及各自优劣。1) 单一连续分配是一种最简单的存储管理方式,其优点是软件处理简单,最大缺点是存储器不能充分利用。多用于单用户微机操作系统中。2) 动态分区分配是多道程序环境
17、下各种存储管理方式中最简单的一种。它将内存划分成若干个分区,在每个分区中按照连续分配方式分配给一个作业。分区形式: a) 固定分区分配:指内存在处理作业前已被划分成若干个大小不等的分区,存储管理程序根据每个作业步的最大存储量分配一个足够大的分区给它。当找不到一个足够大的分区时,则通知作业调度挑选另一作业,这种方式分配和回收内存简单,但内存利用不充分,会产生 碎片 空间。 b) 可变分区分配: 指内存事先并未被分区,只有当作业进入内存时,才根据作业的大小建立分区。其特点是分区的个数和大小都是可变的,但需要建立分配区表和空白区表,且表的长度是不固定的。3) 可重定位分区分配为使各分区中的用户程序能
18、移到内存的一端,使碎片集中于另一端成为一个大分区, 在程序执行过程中,需对作业移动过程中的与地址有关项进行调整。这种分配方法的优点是清除碎片,更大程度地利用内存空间,但必须硬件的支持,且要花费时间。16. 动态链接及静态链接. 静态链接库与动态链接库都是共享代码的方式,如果采用静态链接库, 则无论你愿不愿意,lib 中的指令都全部被直接包含在最终生成的EXE 文件中了。但是若使用DLL ,该DLL 不必被包含在最终EXE 文件中, EXE 文件执行时可以“动态”地引用和卸载这个与EXE 独立的DLL 文件。静态链接库和动态链接库的另外一个区别在于静态链接库中不能再包含其他的动态链接库或者静态库
19、,而在动态链接库中还可以再包含其他的动态或静态链接库。静态链接库与静态链接库调用规则总体比较如下。17. 基本分页、请求分页储存管理方式。?18. 基本分段、请求分段储存管理方式。?名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 4 页,共 46 页 - - - - - - - - - 19. 分段分页方式的比较各自优缺点。a) 页是信息的物理单位,分页是为实现离散分配方式,以消减内存的外零头,提高内存的利用率;或者说,分页仅仅是由于系统管理的需要,而不是用户的需要 (也是对用户透明
20、的) 。段是信息的逻辑单位, 它含有一组其意义相对完整的信息(比如数据段、 代码段和堆栈段等) 。分段的目的是为了能更好的满足用户的需要(用户也是可以使用的)。20. 几种页面置换算法,会算所需换页数。(LRU 用程序如何实现?) ?21. 虚拟内存的定义及实现方式。虚拟内存,它的作用与物理内存基本相似,但它是作为物理内存的 后备力量 而存在的,也就是说,只有在物理内存已经不够使用的时候,它才会发挥作用。改变页面文件位置的方法是:用鼠标右键点击 我的电脑 ,选择 属性 高级 性能设置高级 更改虚拟内存 ,在驱动器栏里选择想要改变到的位置22. 操作系统的四个特性。并发性( concurrenc
21、y) :指在计算机系统中存在着许多并发执行的活动。对计算机系统而言,并发是指宏观上看系统内有多道程序同时运行,微观上看是串行运行。因为在大多数计算机系统中一般只有一个CPU,在任意时刻只能有一道程序占用CPU。共享性( sharing) :系统中各个并发活动要共享计算机系统中的各种软、硬件资源,因此操作系统必须解决在多道程序间合理地分配和使用资源问题。虚拟性( virtual ) :虚拟是操作系统中的重要特征,所谓虚拟是指把物理上的一台设备变成逻辑上的多台设备。例如,在操作系统中采用了spooling 技术,可以利用快速、大容量可共享的磁盘作为中介,模拟多个非共享的低速的输入输出设备,这样的设
22、备称为虚拟设备。异步性: 在多道程序环境下允许多个进程并发执行,但只有进程在获得所需的资源后方能执行。在单处理机环境下,由于系统中只有一台处理机,因而每次只允许一个进程执行,其余进程只能等待。23. DMA 。DMA 方式, Direct Memory Access ,也称为成组数据传送方式,有时也称为直接内存操24. Spooling。脱机输入和脱机输出在多道环境下,可以用OS 的一道管理程序实现从I/O 设备输入数据并存放到磁盘上,模拟脱机输入; 用 OS 的另一道管理程序将磁盘上的数据输出到I/O 设备上, 模拟脱机输出;这种假脱机I/O 操作称为Spooling 技术。Spooling
23、 是一种虚拟设备技术、一种资源转换技术。25. 外存分配的几种方式,及各种优劣。连续分配: 为每一个文件分配一组相邻接的盘块;物理上形成了顺序文件结构;外存上会出现 碎片 ,用 紧凑 的方法解决。 优缺点: 顺序(批量)访问容易、速度快;要求有连续的存储空间(有时需要作紧凑处理)、必须事先知道文件的长度。链接分配: 离散分配方式。优缺点 :消除了 碎片 ,有利于文件的增/删/改。隐式链接在文件的每个目录项中,都含有指向链接文件第一盘块和最后一个盘块的指针,只适合于顺序访;显式链接,把用于链接文件各物理块的指针,显式地存放在内存的一张 链接表 中。索引分配: 单级索引分配每个文件一个索引块(表)
24、;多级索引分配当文件较大,需要很多个索引块时,可以为各索引块建立一个索引表(块);混合索引分配方式。名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 5 页,共 46 页 - - - - - - - - - 二:计算机网络1. 电路交换与分组交换的区别?优劣对比。电路交换优点: 1.信息传输时延小2.信息以数字信号的形式在数据信道上进行“透明”传输,交换机对用户的数据信息不存储、处理, 交换机在处理方面的开销比较小,对用户的数据信息不用附加控制信息, 使信息的传送效率较高3.信息的编译
25、吗和代码格式由通信双方决定,与交换网络无关。缺点 :1.网络的利用率低2.线路的利用率低3.限不同速率、 不同代码格式、 不同控制方式的相互直通 4.无呼损。报文交换:优点: 1.不同的终端接口之间可以相互直通2.无呼损 3.利用动态的复用技术,线路的利用率较高。缺点:传输时延大,而且变化的范围比较大2.利用“存储 -转发”,所以要求交换系统有较高的处理速度和大的存储能力3.实时性较差。分组交换优点: 1.可以对不同的接口终端进行匹配2.网络轻载情况下,传输时延较小,且比较稳定3.线路利用率高4.可靠性高5.经济效益好缺点: 1.网络系统附加了大量的控制信息,对于报文较长的信息传输率低2.技术
26、实现复杂2. OSI有哪几层,会画出来,知道主要几层的各自作用。应用层为用户的应用程序提供网络接口表示层数据格式转换会话层数据同步过程中的会话管理。传输层提供端到端的透明传输网络层提供逻辑编址,数据寻址和路由数据链路层建立相邻节点间的数据链路,在有差错的物理介质上无差错的传输数据帧物理层比特流的传输3. TCP/IP有哪几层,会画出来,知道所有层数的作用,会列举各层主要的协议名称。TCP/IP由四个层次组成:网络接口层、网络层、传输层、应用层。网络接口层:物理层是定义物理介质的各种特性:机械特性、电子特性、功能特性、规程特性。数据链路层是负责接收IP数据报并通过网络发送之,或者从网络上接收物理
27、帧,抽出IP 数据报,交给IP层。常见的接口层协议有:Ethernet 802.3 、 Token Ring 802.5、 X.25、 Frame relay、HDLC 、 PPP ATM 。网络层负责相邻计算机之间的通信。其功能包括三方面。一、处理来自传输层的分组发送请求,收到请求后,将分组装入IP 数据报,填充报头,选择去往信宿机的路径,然后将数据报发往适当的网络接口。二、处理输入数据报:首先检查其合法性,然后进行寻径-假如该数据报已到达信宿机,则去掉报头,将剩下部分交给适当的传输协议;假如该数据报尚未到达信宿,则转发该数据报。名师资料总结 - - -精品资料欢迎下载 - - - - -
28、- - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 6 页,共 46 页 - - - - - - - - - 三、处理路径、流控、拥塞等问题。网络层包括: IP(Internet Protocol) 协议、 ICMP(Internet Control Message Protocol) 控制报文协议、 ARP(Address Resolution Protocol)地址转换协议、RARP(Reverse ARP) 反向地址转换协议。IP是网络层的核心, 通过路由选择将下一跳IP封装后交给接口层。 IP数据报是无连接服务。ICMP 是网络层的补充,可
29、以回送报文。用来检测网络是否通畅。Ping 命令就是发送ICMP的 echo 包,通过回送的echo relay 进行网络测试。ARP是正向地址解析协议,通过已知的IP,寻找对应主机的MAC 地址。RARP是反向地址解析协议,通过MAC 地址确定IP地址。比如无盘工作站和DHCP服务。传输层提供应用程序间的通信。其功能包括:一、格式化信息流;二、 提供可靠传输。 为实现后者, 传输层协议规定接收端必须发回确认,并且假如分组丢失,必须重新发送。传输层协议主要是:传输控制协议TCP(Transmission Control Protocol)和用户数据报协议UDP(User Datagram pr
30、otocol) 。应用层向用户提供一组常用的应用程序,比如电子邮件、文件传输访问、远程登录等。远程登录 TELNET使用 TELNET协议提供在网络其它主机上注册的接口。TELNET会话提供了基于字符的虚拟终端。文件传输访问FTP使用 FTP协议来提供网络内机器间的文件拷贝功能。应用层一般是面向用户的服务。如FTP 、 TELNET 、DNS、SMTP、POP3。FTP(File Transfer Protocol)是文件传输协议,一般上传下载用FTP服务,数据端口是20H,控制端口是 21H。Telnet 服务是用户远程登录服务,使用23H 端口,使用明码传送,保密性差、简单方便。DNS(D
31、omain Name Service)是域名解析服务,提供域名到IP 地址之间的转换。SMTP(Simple Mail Transfer Protocol)是简单邮件传输协议,用来控制信件的发送、中转。POP3(Post Office Protocol 3)是邮局协议第3 版本,用于接收邮件。4. 硬件 (MAC)地址的概念及作用。概念: MAC 地址就是在媒体接入层上使用的地址,也叫物理地址、硬件地址或链路地址,由网络设备制造商生产时写在硬件内部。MAC 地址与网络无关,也即无论将带有这个地址的硬件(如网卡、集线器、路由器等)接入到网络的何处,都有相同的MAC 地址,它由厂商写在网卡的BIO
32、S里。 MAC 地址可采用6 字节( 48 比特)或2 字节( 16 比特)这两种中的任意一种。 但随着局域网规模越来越大,一般都采用6 字节的 MAC 地址。 这个 48 比特都有其规定的意义, 前 24 位是由生产网卡的厂商向IEEE申请的厂商地址, 目前的价格是1000美元买一个地址块,后24 位由厂商自行分配,这样的分配使得世界上任意一个拥有48 位MAC 地址的网卡都有唯一的标识。另外,2 字节的 MAC地址不用网卡厂商申请。作用: MAC地址是标志一台终端的象徵,每台能上网的终端都有属於自己的唯一标识。MAC地址是在局域网里面传输的方式。局域网里,交换机通过识别MAC 地址来进行数
33、据包的传输。这个和网络层上根据IP地址来传输道理差不多。名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 7 页,共 46 页 - - - - - - - - - 5. ARP协议的用途及算法、在哪一层上会使用arp ?用途: ARP协议其主要用作将IP 地址翻译为以太网的MAC 地址算法:应用于网络层 /数据链路层6. CRC冗余校验算法,反码和检验算法。7. 如何实现透明传输。所谓透明传输, 意思是物理层不对传输的比特流采取任何处理,只是单纯的将比特流从一个节点传到下一个节点,实现
34、就是根据地址把比特流往不同的链路上转发就可以了。透明传输是指不管所传数据是什么样的比特组合,都应当能够在链路上传送。当所传数据中的比特组合恰巧与某一个控制信息完全一样时,就必须采取适当的措施,使接收方不会将这样的数据误认为是某种控制信息。这样才能保证数据链路层的传输是透明的。发送方和接收方数据的长度和内容完全一致,相当于一条无形的传输线。关于透明传输的问题透明传输就是在传输过程中,对外界透明, 就是说你看不见他是传送网络,不管传输的业务如何, 我只负责将需要传送的业务传送到目的节点,同时保证传输的质量即可,而不对传输的业务进行处理。透明传输是指数据直接通过系统中的互连功能模式而不进行RLP纠错
35、,如果进行了RLP纠错即为非透明传输。就是所谓的透明传输,不管传的是什么,所采用的设备只是起一个通道作用,把要传输的内容完好的传到对方!透传的设备是个黑箱子,进来是什么出去也是什么。透明传输不用关心下层协议的传输,比如你要寄信, 只需要写地址交给邮局就行了,然后对方就能收到你的信,但是中途经过多少车站,火车,邮递员,你根本不知道,所以对于你来说邮递的过程是透明的。与面向连接和电话系统的工作模式相似,其特点是:1、面向连接的数据传输过程必须经过建立连接、连接维护和释放连接的3 个过程;2、数据传输过程中,各分组不需要携带目的地址。面向连接数据传输的收发数据顺序不变,因此传输的可靠性好, 但协议复
36、杂, 通信效率不高。说明: RLP(Radio Link Protocol): 无线连接协议,是一种严格的纠错方式。当数据在接收端被“查出”有错后,接收端可要求电话重新进行数据传输,如有必要,反复进行,直至接收数据完全正确为止。8. 知道各个层使用的是哪个数据交换设备。(交换机、路由器、网关)物理层(即常说的第一层、层L1)中继系统,即转发器(repeater ) 。数据链路层(即第二层,层L2) ,即交换机或网桥(bridge) 。网络层(第三层,层L3)中继系统,即路由器(router) 。网桥和路由器的混合物桥路器(brouter )兼有网桥和路由器的功能。在网络层以上的中继系统,即网关
37、(gateway) 。9. 路由表的内容。对每组网络接口(interface) ,路由表至少会存有下面的资讯:名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 8 页,共 46 页 - - - - - - - - - 网络 ID(Network ID, Network number ) :就是目标地址的网络ID。子网掩码(用来判断IP 所属网络 ) 下一跳地址 /接口 (Next hop / interface ) : 就是数据在发送到目标地址的旅途中下一站的地址。其中interfac
38、e 指向next hop(即为下一个route)。一个自治系统(Autonomous System)中的route 应该包含区域内所有的子网络,而默认网关(Network id: 0.0.0.0, Netmask: 0.0.0.0) 指向自治系统的出口。根据应用和执行的不同,路由表可能含有如下附加信息:花费( Cost) :就是数据发送过程中通过路径所需要的花费。路由的服务质量路由中需要过滤的出/入连接列表路由表也是一个网络安全的关键,像单播可逆路径传输(uRPF) 就是一个安全路由表的例子。在这种具有多种变体的技术中,路由器也在路由表中查找数据包的源地址,如果源地址不正确,数据包就会显示出错
39、或受到攻击。10. 分组转发算法。分组转发算法 : 1、从数据报的首部提取目的主机的IP 地址 D,计算出目的主机的网络地址N。(将 IP数据报中目的主机的IP地址和路由表上的子网掩码进行&运算,就可以得出网络地址 N) 2、若 N 就是与此路由器直接相连的某个网络的网络地址。则直接进行交付,不需要经过其他路由器,而是直接将IP数据报交付给目的主机。(注意, 直接交付时, 路由器需要将目的主机地址D 转换为具体的硬件地址,把数据报封装在 MAC 帧,在发送此帧。) 若 N 不是与此路由器直接相连的网络,就进行间接交付。执行3 或执行 4 3、若路由表中有目的地址为D 的特定主机路由,则把数据报
40、传送给路由表中所指明的下一跳路由器;否则,执行4。(这是特殊情况 ) 4、若路由表中有到达网络N 的路由,则把数据报传送给路由表中所指明的下一跳路由器;否则,执行5。5、如果 3 和 4 都没能将IP数据报转发出去,若路由表中有一个默认路由,则把数据报传送给路由表中所指明的默认路由器;负责,执行6 6、报告转发分组出错。11. IP报文的格式,格式的各个字段的含义要理解。IP 协议是 TCP/IP 协议族中最为核心的协议。它提供不可靠、无连接的服务,也即依赖其他层的协议进行差错控制。在局域网环境,IP 协议往往被封装在以太网帧中传送。而所有的TCP 、UDP、ICMP、IGMP 数据都被封装在
41、IP数据报中传送。TCP/IP报文封装如图2-3 所示:名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 9 页,共 46 页 - - - - - - - - - 其中:版本( Version)字段:占4 比特。用来表明IP 协议实现的版本号,当前一般为IPv4,即0100。报头长度( Internet Header Length,IHL)字段:占4 比特。是头部占32 比特的数字,包括可选项。普通IP数据报(没有任何选项),该字段的值是5,即 160 比特 =20 字节。此字段最大值
42、为60 字节。服务类型( Type of Service , TOS ) 字段:占 8比特。其中前 3比特为优先权子字段 (Precedence,现已被忽略) 。 第 8 比特保留未用。 第 4 至第 7 比特分别代表延迟、 吞吐量、 可靠性和花费。当它们取值为1 时分别代表要求最小时延、最大吞吐量、 最高可靠性和最小费用。这 4 比特的服务类型中只能置其中1 比特为 1。可以全为0,若全为 0 则表示一般服务。服务类型字段声明了数据报被网络系统传输时可以被怎样处理。例如:TELNET协议可能要求有最小的延迟, FTP协议(数据) 可能要求有最大吞吐量,SNMP协议可能要求有最高可靠性,NNT
43、P(Network News Transfer Protocol ,网络新闻传输协议)可能要求最小费用,而ICMP协议可能无特殊要求(4 比特全为0) 。实际上,大部分主机会忽略这个字段,但一些动态路由协议如 OSPF(Open Shortest Path First Protocol ) 、 IS-IS (Intermediate System to Intermediate System Protocol)可以根据这些字段的值进行路由决策。总长度字段:占16 比特。指明整个数据报的长度(以字节为单位)。最大长度为65535字节。标志字段:占16 比特。用来唯一地标识主机发送的每一份数据报。
44、通常每发一份报文,它的值会加1。标志位字段:占3 比特。标志一份数据报是否要求分段。段偏移字段:占13 比特。如果一份数据报要求分段的话,此字段指明该段偏移距原始数据报开始的位置。生存期 (TTL :Time to Live)字段: 占 8 比特。用来设置数据报最多可以经过的路由器数。由发送数据的源主机设置,通常为32、64、128 等。每经过一个路由器,其值减1,直到 0时该数据报被丢弃。协议字段: 占 8 比特。 指明 IP层所封装的上层协议类型,如 ICMP(1) 、IGMP(2) 、TCP(6) 、UDP(17)等。头部校验和字段:占16 比特。内容是根据IP头部计算得到的校验和码。计
45、算方法是:对头部中每个16 比特进行二进制反码求和。(和 ICMP、IGMP、TCP 、UDP不同, IP 不对头部名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 10 页,共 46 页 - - - - - - - - - 后的数据进行校验) 。源 IP地址、目标IP 地址字段:各占32 比特。用来标明发送IP数据报文的源主机地址和接收 IP报文的目标主机地址。可选项字段:占32 比特。用来定义一些任选项:如记录路径、时间戳等。这些选项很少被使用,同时并不是所有主机和路由器都支持这些
46、选项。可选项字段的长度必须是32 比特的整数倍,如果不足,必须填充0 以达到此长度要求。12.MTU 的概念,啥叫路径MTU? MTU 发现机制, TraceRoute(了解 )。MTU 概念:最大传输单元(Maximum Transmission Unit , MTU)是指一种通信协议的某一层上面所能通过的最大数据包大小(以字节为单位)。最大传输单元这个参数通常与通信接口有关(网络接口卡、串口等)。路径 MTU:当一台IP主机有大量的数据要发送给另一台主机的时候,数据是作为一系列的IP数据报传输。数据报最好具有在从源点到目的点的路径上不需要分片的最大尺寸。(避免分片的情况)这种数据报的尺寸称
47、作为路径MTU(PMTU),它等于路径上每一跳的MTU 之中的最小值。路径 MTU 的发现机制:当路由器收到一份需要分片的数据报,而在IP首部又设置了不可分片( DF)的标志位时,则会产生ICMP 不可达差错。(注:产生ICMP 不可达差错可能有3 种情况,TTL为 0, 端口不可达, 以及 IP 需要分片但又设置了不允许标志。) 这种情况下的ICMP不可达差错报文可以提供下一站的MTU。 如果路由器没有提供这种新的ICMP差错报文格式,那么下一站的MTU 就设为 0。尽管大多数的系统不支持路径MTU 发现功能,但可以很容易地修改 traceroute 程序,用它来确定路径MTU。要做的是发送
48、分组,并设置“不可分片”标志比特。发送的第一个分组的长度正好与出口MTU 相等,每次收到ICMP“不能分片”差错时就减小分组的长度。如果路由器发送的ICMP 差错报文是新格式,包含出口的MTU,那么就用该MTU 值来发送,否则就用下一个最小的MTU 值来发送。正如RFC1191Mogul and Deering 1990声明的那样, MTU 值的个数是有限的,因此在我们的程序中有一些由近似值构成的表,取下一个最小MTU 值来发送。13.RIP协议的概念及算法。RIP协议的全称是一种内部网关协议(IGP) ,是一种动态路由选择,用于一个自治系统 (AS)内的路由信息的传递。RIP 协议是基于距离
49、矢量算法(DistanceVectorAlgorithms )的,它使用“跳数”,即 metric 来衡量到达目标地址的路由距离。这种协议的路由器只关心自己周围的世界,只与自己相邻的路由器交换信息,范围限制在15 跳(15 度)之内,再远,它就不关心了。 RIP应用于 OSI网络七层模型的网络层。管理距离(AD)为 110。14.ICMP协议的主要功能。ICMP 是“ Internet Control Message Protocol” (Internet 控制消息协议)的缩写。它是TCP/IP协议族的一个子协议,用于在IP 主机、路由器之间传递控制消息。控制消息是指网络通不通、 主机是否可达
50、、 路由是否可用等网络本身的消息。这些控制消息虽然并不传输用户数据,但是对于用户数据的传递起着重要的作用。ICMP 的重要性ICMP 协议对于网络安全具有极其重要的意义。ICMP 协议本身的特点决定了它非常容易被用于攻击网络上的路由器和主机。名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 11 页,共 46 页 - - - - - - - - - 15.组播和广播的概念,IGMP 的用途。 (环回地址、广播地址) 组播( multicasting )是一种多点投递的形式,它使用硬件技