计算机网络知识点复习(一)

最近找工作,整理计算机网络的知识点如下,共计26个点。现在分三部分贴上来,这是第一部分。

第二部分:计算机网络知识点复习(二)

第三部分:计算机网络知识点复习(三)

 

 

 

1.电路交换与分组交换的区别?优劣对比。

"交换"(switching)的含义就是转接——把一条电话线转接到另一条电话线,使它们连通起来。

计算机数据具有突发性,电路交换传送计算机数据效率低。在发送端,先把较长的报文划分成较短的、固定长度的数据段。分组交换网以"分组"作为数据传输单元。依次把各分组发送到接收端。

每一个分组的首部都含有地址等控制信息。分组交换网中的结点交换机根据收到的分组的首部中的地址信息,把分组转发到下一个结点交换机。用这样的存储转发方式,分组就能到达最终目的地。最终在接收端把收到的数据恢复成为原来的报文。

 

 

2.OSI有哪几层,TCP/IP有哪几层,会画出来,知道所有层数的作用,会列举各层主要的协议名称。

 

OSI(Open System Interconnection),即开放式系统互联参考模型。

OSI有7层,TCP/IP有四层(物理层与数据链路层统称网络接口层)。

 

IP over everything, everything over IP.

 

 

3.硬件(MAC)地址的概念及作用。ARP协议的用途及算法。

 

数据链路层的协议很多(还有PPP协议),MAC只是以太网(使用CSMA/CD)协议的下的地址信息。

MAC(Medium Access Control)即介质访问控制。PPP(Point to Point Protocol)即点对点协议。

MAC地址烧录在网卡里的,也叫硬件地址,物理地址,长度6字节。

ARP(Address Resolution Protocol)协议,在IP层工作,ARP与RARP(Reverse ARP)的主要工作如下。另外RARP协议的功能现在一般被DHCP所取代。

 

ARP的基本工作原理见上图。每个主机都设有一个ARP高速缓存(ARP cache),里面有所在局域网上的各主机和路由器的IP地址到硬件地址的映射表。当主机A欲向本局域网上的某个主机B发送IP数据报时,就先在其ARP高速缓存中查看有无主机B的IP地址。如有就可查出其对应的硬件地址,再将此硬件地址写入MAC帧,然后通过局域网将该MAC帧发往目的硬件地址。如果没有就广播发送ARP请求分组,等待主机B向A发送ARP响应分组以得到主机B的MAC地址,并把此映射关系写入缓存。

 

 

4.CRC冗余校验算法,反码和检验算法。

 

CRC = Cyclical Redundancy Check FCS = Frame Check Sequence

运算规则 异或 1 XOR 1=0,0 XOR 0=0,1 XOR 0=1,0 XOR 1=1 相同为0 不同为1。

发送端在待发送数据后面再添加供差错检测用的n位冗余码一起发送。

接收端对收到的每一帧进行 CRC 检验。

(1) 若得出的余数 R = 0,则判定这个帧没有差错,就接受(accept)。

(2) 若余数 R ¹ 0,则判定这个帧有差错,就丢弃。

但这种检测方法并不能确定究竟是哪一个或哪几个比特出现了差错。只要经过严格的挑选,并使用位数足够多的除数 P,那么出现检测不到的差错的概率就很小很小。

CRC-16        P = X16+X15+X2+1

CRC-CCITT        P = X16+X12 +X5+1

CRC-32        P = X32+X26+X23+X22+X16+X12+X11+X10+ X8+X7+X5+X4+X2+X+1

仅用循环冗余检验 CRC 差错检测技术只能做到无差错接受,不能做到可靠传输。

"无差错接受"是指:"凡是接受的帧(即不包括丢弃的帧),我们都能以非常接近于 1 的概率认为这些帧在传输过程中没有产生差错"。但是,要做到"可靠传输"(即发送什么就收到什么)就必须再加上确认和重传机制。

 

 

 

5.如何实现透明传输。

 

字节填充(byte stuffing)或字符填充(character stuffing)

发送端的数据链路层在数据中出现控制字符"SOH"或"EOT"的前面插入一个转义字符"ESC"。接收端的数据链路层在将数据送往网络层之前删除插入的转义字符。

如果转义字符也出现数据当中,那么应在转义字符前面插入一个转义字符。当接收端收到连续的两个转义字符时,就删除其中前面的一个。PPP协议有自己的字符填充方法。

零比特填充

PPP 协议用在SONET/SDH链路时,是使用同步传输(一连串的比特连续传送)。这时 PPP 协议采用零比特填充方法来实现透明传输。

在发送端,只要发现有5个连续1,则立即填入一个0。

接收端对帧中的比特流进行扫描。每当发现5个连续1时,就把这 5个连续1后的一个0删除。

 

 

6.知道各个层使用的是哪个数据交换设备。(交换机、路由器、网关)

 

物理层            中继器Repeater    集线器Hub

数据链路层        网桥Bridge         交换机Switch(即多端口网桥)

网络层            路由器Router

应用层            网关Gateway

 

 

7.IP报文的格式,格式的各个字段的含义。MTU的概念。

IP(Internet Protocol)协议,即互联网通信协议。除非特别指出,一般情况下IP指的就是IPv4。

 

MTU(Maximum Transmission Unit)指的是最大传输单元,一般与数据链路层的协议有关。常见的MTU值有1500,576。

IPv4是一种无连接的协议,在IETF(Internet Engineering Task Force) 互联网工程任务组于1981年9月发布的RFC 791中被说明。其中RFC(Request For Comment) 征求修正意见书,是一系列以编号排定的文件,文件收集了与互联网有关的信息。

IP头部的格式如下图:

版本 IP报文首部的第一个字段是4位版本字段。对IPv4来说,这个字段的值是4。

首部长度(IHL)第二个字段是4位首部长度,说明首部有多少32位长。由于IPv4首部可能包含数目不定的选项,这个字段也用来确定数据的偏移量。这个字段的最小值是5,最大值是15。

区分服务 占 8 位,用来获得更好的服务只有在使用区分服务(DiffServ)时,这个字段才起作用。在一般的情况下都不使用这个字段。

全长 这个16位字段定义了IP报文的总长,包含首部和数据,单位为字节。这个字段的最小值是20(20字节首部+0字节数据),最大值是65,535。所有主机都必须支持最小576字节的报文(RFC 791说明),但大多数现代主机支持更大的报文。有时候子网会限制报文的大小,这时报文就必须被分片。

标识符 这个字段主要被用来唯一地标识一个报文的所有分片。

标志 这个3位字段用于控制和识别分片,其中:

位0:保留,必须为0;位1:禁止分片(DF);位2:更多分片(MF)。

如果DF标志被设置但路由要求必须分片报文,此报文会被丢弃。当一个报文被分片,除了最后一片外的所有分片都设置MF标志。不被分片的报文不设置MF标志:它是它自己的最后一片。

分片偏移 这个13位字段指明了每个分片相对于原始报文开头的偏移量,以8字节作单位。

存活时间(TTL) 这个8位字段避免报文在互联网中永远存在(例如陷入路由环路)。存活时间以秒为单位,但小于一秒的时间均向上取整到一秒。在现实中,这实际上成了一个跳数计数器。报文经过的每个路由器都将此字段减一,当此字段等于0时,报文不再向下一跳传送并被丢弃。

协议 这个字段定义了该报文数据区使用的协议。IANA维护着一份协议列表(最初由RFC 790定义)。

协议字段值        协议名                    缩写        英文全称

1                互联网控制消息协议    ICMP        Internet Control Message Protocol

2                互联网组管理协议        IGMP        Internet Group Management Protocol

6                传输控制协议            TCP        Transmission Control Protocol 

17                用户数据报协议        UDP        User Datagram Protocol

41                IPv6封装

89                开放式最短路径优先    OSPF        Open Shortest Path First

首部检验和 这个16位检验和字段用于对首部查错。在每一跳中计算出的首部检验和必须与此字段进行比对,如果不一致则此报文被丢弃。需要注意的是,数据区的错误留待上层协议处理,UDPTCP的头部都有检验和字段。因为生存时间字段在每一跳都会变化,意味着首部检验和字段会在每一跳后改变。

源地址 一个IPv4地址由四个字节共32位构成。注意,因为NAT(Network Address Translation)网络地址转换的存在,这个地址并不总是报文的真实发送端,由NAT设备发出的报文会被回复至NAT设备,并由它被翻译为真实的地址。

目的地址 与源地址格式相同,但指出报文的接收端。

可选字段与填充 可选字段长度可变,从1字节到40字节不等,但无论长度是多少,最后都要用全0的填充字段补齐,使这两个字段的长度之和为4字节的整数倍。

 

 

8.IP地址的分类,子网划分的概念,子网掩码,CIDR

每一类地址都由两个固定长度的字段组成,其中一个字段是网络号net-id,它标志主机所连接到的网络,而另一个字段则是主机号host-id,它标志主机。IP地址的定义为{<网络号>, <主机号>}。

IP地址按照传统,分为ABC三类,A类地址以0开头,B类以10开头,C类以110开头。

类别    最大网络数                第一个可用网络号    最后一个可用网络号    每个网络最大主机数

A        126 (27 - 2)            1                    126                    16,777,214

B        16,383(214 - 1)            128.1                191.255                65,534

C        2,097,151 (221 - 1)        192.0.1                223.255.255            254

子网掩码(subnet mask),由从头开始的连续的1组成,用来区分IP地址中的网络号和子网号。

CIDR(Classless Inter Domain Routing, 无分类域间路由),CIDR 消除了传统的各类地址以及划分子网的概念,使用各种长度的网络前缀(network-prefix)来代替分类地址中的网络号和子网号。

CIDR的斜线记法即在IP地址后面加上一个斜线"/",然后写上网络前缀所占的位数,这个数值对应于子网掩码中从最前部连续出现的1的个数。

使用CIDR的好处有:

路由聚合(Route Aggregation):是让路由选择协议能够用一个地址通告众多网络,旨在缩小路由器中路由选择表的规模,并缩短对路由选择表进行分析以找出前往远程网络的路径所需的时间。

 

最长前缀匹配(longest-prefix matching):应当从匹配结果中选择具有最长网络前缀的路由,网络前缀越长,其地址块就越小,因而路由就越具体(more specific) 。

二叉树查找路由表:因为使用CIDR能使路由表条目减少,可以构造二叉树进一步加快查找速度。

 

9.路由表的内容。内部网关协议(RIP, Routing Information Protocol)的概念。

 

目的地址Destination 下一跳地址Next hop(Gateway) 子网掩码Mask 距离Hop count

RIP协议让互联网中的所有路由器都和自己的相邻路由器不断交换路由信息,并不断更新其路由表,使得从每一个路由器到每一个目的网络的路由都是最短的(即跳数最少)。要点:1.仅和相邻路由器交换信息。交换的信息是本路由器所知道的全部信息,即自己的路由表。3.固定时间间隔即交换一次。

常见的有关路由表问题的习题:

一、某路由器的路由表如下所示。如果它收到一个目的地址为192.168.10.23的IP数据报,那么它为该数据报选择的下一路由器地址为
A.192.168.10.1   B.192.168.2.66    C.192.168.1.35  D.直接投递
目的网络
下一跳
192.168.1.0
直接投递
192.168.2.0
直接投递
192.168.3.0
192.168.1.35
0.0.0.0
192.168.2.66

二、考虑某路由器具有下列路由表项:

目的网络

下一跳

142.150.64.0/24

A

142.150.71.128/28

B

142.150.71.128/29

C

142.150.71.128/30

D

   
   

(1)假设路由器接收到一个目的地址为142.150.71.132的IP分组,请确定下一跳

(2)上面的路由器表中增加一条路由表项,该路由表项使以142.150.71.132为目的的地址IP分组选择"A"作为下一跳,不影响其他目的地址的IP分组转发。

(3)在上面的路由表中增加一条路由表项,使所有目的地址与该路由表中任何路由表项都不匹配的IP分组被转发到下一跳"E"。

三、假定网络中的路由器B的路由表有如下的项目:  现在B收到从C和E发来的路由信息:

目的网络

距离
下一跳路由器

N1

6
E

N2

5
C

N3

9
C

N4

4
E

N6

6
C

N8

5
E

N9

6
C


试求出路由器B更新后的路由表。
其他常见内部路由选择协议还有OSPF(Open Shortest Path First) 开放式最短路径优先。其他常见外部路由选择协议有BGP(Border Gateway Protocol)边界网关协议。

 

 

10.ICMP协议的主要功能。Ping的原理,ping 命令格式。Traceroute的原理。

控制报文协议(ICMP, Internet Control Message Protocol)TCP/IP协议族的一个子协议,用于在IP主机路由器之间传递控制消息。控制消息是指网络通不通、主机是否可达、路由是否可用等网络本身的消息。这些控制消息虽然并不传输用户数据,但是对于用户数据的传递起着重要的作用。

PING (Packet Inter Net Groper)发送一个ICMP回声请求给目的地,并报告是否收到所希望的应答。

 

命令格式ping [-t] [-n count] [-a] [-l length] [-f] [-i ttl] [-w timeout] [-4|6] destination-list

-t    不停的ping对方主机,直到你按下Ctrl-C        -n        发送count个Echo数据包

-a    解析IP地址的主机名                        -l        定义Echo数据包的大小

-f    在数据包中发送"不要分段"标志                -i        指定TTL值

-w    指定超时间隔,单位为毫秒                    -[4|6]        强制使用IPv4或IPv6

traceroute可以确定至目的网络的路由。通过向目的主机发送TTL为1的ICMP报文并且在随后每次的ICMP报文中将TTL值加1直至报文到达目的网络时或达到最大跳数限制时停止。到目的网络路径上的每个路由器都要在转发该ICMP报文前将其TTL值减1,因此TTL是有效的跳转计数。当报文的 TTL值减少到0时,该路由器向源主机发回ICMP超时信息,即可得知到目的网络的路径经过此路由器。

注意,有些路由器会"安静"地丢弃TTL过期的报文,此类路由器不会给源主机返回信息。

在traceroute结束之前,到目的网络的路由可能会有改变,traceroute无法提供此类信息。

 

 

11.D类地址,E类地址。IP多播的概念,IGMP的用途。

D类地址不分网络地址主机地址,它的第1个字节的前四位固定为1110。D类地址用于多播。

E类地址也不分网络地址主机地址,它的第1个字节的取值范围是11110 - 11111110(240-254)。

E类地址保留,仅作为搜索、Internet的实验和开发之用。

IP多播地址只能用于目的地址,而不能用于源地址。需要使用硬件进行多播。

D 类 IP 地址与以太网多播地址的映射关系

因特网组管理协议(IGMP, Internet Group Management Protocol)因特网协议家族中的一个组播协议,用于IP主机向任一个直接相邻的路由器报告他们的组成员情况。它规定了处于不同网段的主机如何进行多播通信,其前提条件是路由器本身要支持多播。

 

 

12.TCP与UDP的概念与异同。

TCP与UDP都是传输层协议,位于OSI的第四层。

传输控制协议(TCP,Transmission Control Protocol)是一种面向连接(连接导向)的、可靠的、基于IP的传输层协议,由IETF的RFC 793说明。每一条 TCP 连接只能有两个端点(endpoint),只能是点对点的(一对一)。TCP提供全双工通信,连接是面向字节流的。

TCP为了保证报文传输的可靠,就给每个包一个序号,同时序号也保证了传送到接收端实体的包的按序接收。然后接收端实体对已成功收到的字节发回一个相应的确认(ACK);如果发送端实体在合理的往返时延(RTT)内未收到确认,那么对应的数据将会被重传。

在数据正确性与合法性上,TCP用一个校验和函数来检验数据是否有错误。

在保证可靠性上,采用超时重传和捎带确认机制。

在流量控制上,采用滑动窗口协议,协议中规定,对于窗口内未经确认的分组需要重传。

在拥塞控制上,采用拥塞控制算法(也称AIMD算法)。主要包括三个主要部分:1)加性增、乘性减;2)慢启动;3)对超时事件做出反应。

用户数据报协议(UDP, User Datagram Protocol)是一种无连接传输层协议,提供面向事务的简单不可靠信息传送服务,由IETF的RFC 768说明。

UDP协议基本上是IP协议与上层协议的接口。UDP主要用于不要求分组顺序到达的传输中,分组传输顺序的检查与排序可以由应用层完成,因而具有资源消耗小,处理速度快的优点,所以通常在音频、视频和普通数据在传送时使用。

 

13.UDP报文的格式,字段的意义。

UDP由IETF的RFC 768描述。

首部字段有 8 个字节,由 4 个字段组成,每个字段都是两个字节。在计算检验和时,临时把"伪首部"和 UDP 用户数据报连接在一起。伪首部仅仅是为了计算检验和。

使用UDP协议的常见应用层协议:

端口号            协议名称                  缩写            英文全称

53                域名系统                  DNS            Domain Name System

67, 68          动态主机配置协议            DHCP         Dynamic Host Configuration Protocol

69                简单文件传输协议            TFTP          Trivial File Transfer Protocol

161, 162      简单网络管理协议            SNMP        Simple Network Management Protocol

未指定         网络文件系统                 NFS            Network File System

 

14.DNS的概念,用途,DNS查询的实现算法。

域名系统(DNS,Domain Name System),因特网上作为域名和IP地址相互映射的一个分布式数据库,能够使用户更方便的访问互联网,而不用去记住能够被机器直接读取的IP数串。通过主机名,最终得到该主机名对应的IP地址的过程叫做域名解析。DNS协议运行在UDP协议之上(当请求大于512字节时使用TCP),使用端口号53。由RFC 2181对DNS进行说明,RFC 2136对动态更新进行说明,RFC 2308对DNS反向查询进行说明。

因特网采用了层次树状结构的命名方法。任何一个连接在因特网上的主机或路由器,都有一个唯一的层次结构的名字,即域名。域名的结构由标号序列组成,各标号分别代表不同级别的域名。各标号之间用点隔开:… . 三级域名 . 二级域名 . 顶级域名

根域名服务器是最高层次的、最重要的域名服务器。所有的根域名服务器都知道所有的顶级域名服务器的域名和IP地址。不管是哪一个本地域名服务器,若要对因特网上任何一个域名进行解析,只要自己无法解析,就首先求助于根域名服务器。根域名服务器在因特网上共有13套装置(不是13个机器)使用13个不同IP地址,它们的名字是从a一直到m的前13个字母,域名是a.rootservers.net等

主机向域名服务器的查询一般都是采用递归查询。如果主机所询问的本地域名服务器不知道被查询域名的 IP 地址,那么本地域名服务器就以DNS客户的身份,向其他根域名服务器继续发出查询请求报文。

本地域名服务器向根域名服务器的查询通常是采用迭代查询。当根域名服务器收到本地域名服务器的迭代查询请求报文时,要么给出所要查询的IP地址,要么告诉本地域名服务器:"你下一步应当向哪一个域名服务器进行查询"。然后让本地域名服务器进行后续的查询。

        迭代查询                        递归查询

 

第二部分:计算机网络知识点复习(二)

第三部分:计算机网络知识点复习(三)

posted @ 2014-09-20 16:50  Superpig0501  阅读(5660)  评论(0编辑  收藏  举报