计算机网络基础知识
Posted heartzhizi
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了计算机网络基础知识相关的知识,希望对你有一定的参考价值。
http://blog.csdn.net/goodboy1881/article/category/204448(乱入一下,关于tcp/ip这个网址总结的特别好)
1.网络层提供两种服务
一种是虚电路服务:源节点和目的节点建立连接,所有的数据包都要通过该连接进行传输;一种是数据报服务:两个节点之间无连接,数据报的传输路径不固定;
2.各层配套的协议是:
3.网络层通信的基本单位是ip数据报,且ip数据报可以分片;
4.ip地址格式
IP地址组成{网络号:主机号},网络号+主机号总共32位,其中,网络号和主机号的位数由具体的网络分类决定;ip地址大致分为A,B,C,D,E类;同一个局域网里的主机或者路由器的网络号是相同的;路由器连接不同的局域网,故路由器有>=2个的ip地址;
每种网络的范围:对于A类,网络号全0和全1都不要,B,C类全0不要;主机号不能全0;
5.路由器怎么转发数据报?
5.1路由表中内容:特定主机路由,网络前缀路由,缺省路由;匹配规则:1.如果目的地址是特定主机路由,就选这条路由;2.如果网络前缀和目的主机的网络前缀相同,就选这条路由,或者有多个网络前缀相同,选择网络前缀最长的;3.上述两条不符合,就选择缺省路由;4.如果前面几条都不行,就报目的主机不可达ICMP报文。具体转发流程如下
(1)由目的地址D得到该地址的网络地址N;
(2) 如果该网络地址N和路由器直接相连,那么可以直接交付,否则转到(3);
(3)如果目的地址D有对应的特定主机路由,那么交付到相应的下一跳路由器,否则转到(4);
(4)如果路由表中有网络地址N的路由项,那么交付到相应的下一跳路由器,否则转到(5);
(5)如果路由表中有缺省路由的路由项,那转到该缺项路由的吓一跳地址,否则转到(6);
(6)报告目的地址D不可达,发送ICMP差错报文;
6.ARP工作原理
6.1 ARP高速缓存:每个主机中都存在一个ARP高速缓存,其缓存了本局域网内各主机和路由器ip地址到mac地址的映射;当主机A向主机B发送分组,首先查找主机A的ARP缓存,如果有主机B ip地址到mac地址的映射,封装ip数据报,加上mac地址后进行传输;
如果A,B在同一个网段里;
如果主机A中没有B的ip地址到mac地址的映射,A会以广播形式发送一个ARP请求报文,报文里给出A自己的ip和mac地址,以及B的ip地址,问ip地址对应的mac地址是谁?B接收到以后发现目的ip地址跟自己的ip地址相同,就向A一对一的发送ARP响应报文,报告自己的mac地址,A将B的IP地址和mac地址存储到自己的ARP高速缓存中。
如果A,B不在同一个网端;
首先说一下网关:其实就是一个网络联向其他网络的地址,是一个逻辑概念,如果没有该IP地址,两个局域网是不能连通的,现在网关一般通过路由器都能实现,也就是路由器的IP地址是网关;(1)如果主机A发现主机B的ip地址的网络号和自己不同,知道不是在同一个网端内,就应该将该分组发送给网关,如果不知道网关的的IP地址会先发送获得该网关mac地址的ARP请求报文。(2)如果知道网关的mac地址,将分组发给该网关后,网关在确定发送给谁;
7.划分子网
7.1为什么要划分子网?
为了提高ip地址利用率,比如A类地址,每个网络号有很多个主机,如果路由表中只存储网络号,那么在该网络号的所有分组都要通过该路由器进行转发,不够详细。故可以将主机号划分成 子网号:主机号;其中子网的网络地址可以通过ip地址和子网掩码相与得到;A,B,C类的默认子网掩码分别是255.0.0.0,255.255.0.0,255.255.255.0;例如
192.225.225.128/30,子网掩码是30位,该子网下的主机数只有2个;还有CIDR地址块,其IP地址构成是 网络前缀+主机数/网络前缀位数;通过路由器的路由表查找时,根据最长匹配前缀进行;
8.路由器中的路由表是怎么得来的?现在要说说这个问题
主要有两种算法,第一种是距离向量算法(distance-vector,d-v),另外一种是链路状态算法;其中基于距离向量算法的协议是RIP,下面先详细讲一下RIP协议。
首先RIP协议中路由器的路由表中项目:目的地址,下一条路由器,距离(此处是路由器的跳数,即到达该目的地址需要经过多少个路由器,如果>15,该目的地址不可达)。该协议主要通过路由器交换彼此的信息从而达到知道所有目的地址路径,其中需要知道路由器都是和谁交换信息?交换什么信息?什么时候交换信息?
(1)路由器和邻居交换信息,也就是不通过其他路由器直接相连的路由器;
(2)彼此交换自己所有信息;
(3)每隔一定时间就交换信息;
距离向量算法基于bella—ford算法,更新的目的是保证路由器到目的地址的路径最短,即经过的路由器个数最少,而不管是否时间效率上最好;下面是一个例子:
(1)路由器X向邻居发送自己的所有路由信息,
(2)将X发送过来的每条路由信息改成 下一跳地址X,距离加1后是d,目的地址不变,然后将这些信息和本路由器的路由信息比较;
a.如果本路由器中没有该目的地址的信息,就将该条信息加入;
b.如果本路由器中有该目的地址的信息,比较下一跳,如果下一跳都是X,更新到达目的地址的距离为d,如果原来的下一跳不是X,比较到达目的地址的距离,如果d比较 小,更新原来到目的地址的距离为d,否则不变;
c。如果3分钟后邻居还没有发送他的路由信息,标记邻居不可达,距离改成16;
RIP允许距离最大只能是15,所以RIP一般只用于小型的网络,且如果有个目的地址不可达,只有等够一定的时间才会发送给邻居,接着邻居会向他的邻居发送,简而言之就是好消息传播的快,坏消息传播的慢;
下面说关于链路状态算法,OSPF协议使用该算法。
与RIP不同,OSPF测试邻居的连通性,并把测试结果告诉相邻的其他路由器,。。。就这样信息被传播开;
以上是关于计算机网络基础知识的主要内容,如果未能解决你的问题,请参考以下文章