计算机网络笔记(四)谢希仁版

TCP/IP五层——网络层重要概念


*1、网络层的协议主要是网际协议IP,与之匹配的有ARP(Address Resolution Protocol),ICMP(Internet Control Message Protocol),IGMP(Internet Group Management  Protocol),本来还有一个RARP逆地址解析协议,如今不再使用了,功能归为应用层的DHCP协议中


*2、IP是由因特网名字和数字分配机构ICANN进行分配的


*3、IP地址的划分:
A类:8位网络号(第一位为0)可指派的网络号为2^7-2,因为全零(本地址)全一(所有主机)需要去掉,24位主机号
B类:16位网络号(前两位为10)可指派的网络号为2^14-1,因为128.0.0.0是不指派的,16位主机号
C类:24位网络号(前三位为110)可指派的网络号为2^21-1,因为192.0.0.0是不指派的,8位主机号
D类:前四位为1110,是多播地址
E类:前四位为1111,保留


*4、127.0.0.1是环回地址,用于测试本主机进程之间的通信


*5、MAC地址是数据链路层和物理层使用的地址,iP地址是网络层及一上各层使用的地址


*6、一个主机可以有多个MAC地址,比如一个路由器连接两个网络,就拥有两个MAC地址;并且MAC地址是48位16进制的数据


*7、分组数据在各个网络中跳转时,帧的源地址和目的地址是一直在变化的,即本路由发往到下一个路由的两者硬件地址


*8、ARP协议的实现过程:
ARP协议的作用:实现IP地址和MAC地址的映射关系
ARP协议有一个ARP缓存,这个缓存存放在计算机内存中或者计算机网络设备中,当数据链路层想为目的IP分配目的MAC地址时,就需要用到ARP协议查找相对应的MAC地址
假设,一台主机刚刚启动,意味这在这台机子的ARP缓存中是不存在任何映射表的,如果你想发数据到其他主机,这时就需要广播一个ARP请求分组(发送端IP,发送端MAC,目的端IP),本网路的其他主机都会收到,然后核对目的IP,如果与接收端IP一致,就手下分组,存储发送过来的IP和MAC地址,存到ARP缓存中(这个记录会在一定的时间段清除,为保证数据的正确性);并且发送一个响应请求,将自己的MAC地址发送回去,然后刚刚发送ARP请求的主机再进行封装成帧的处理。或者是,这个IP在本网络中找不到相对应的主机,这时,连接两个网络的路由就会收下这个请求,发送响应分组,等待发送端的主机将数据发送到路由中存储,然后路由器再重复上述操作,在下一个网络中查找相对应的IP的MAC,如果没有,则再发送给下一个关联两个网络的路由,再进行转发。其中需要明白的是,在不断的发送中,MAC地址一直在变,而IP地址是不变的,每个网络不止有两个路由存在,可以用IP地址来判断哪个路由能通往目的地址。


*9、为什么要使用IP这个逻辑地址:
因为IP地址在整个因特网是唯一的。并且,全世界存在着各种各样的网络,那就意味这物理地址的各种各样。如果仅仅是使用物理地址,这需要进行繁琐的硬件地址转化工作,因此使用IP地址与MAC地址相映射的关系存储


*10、IP数据报的首部固定部分是20字节,可变部分是40字节,因此首部最大值是60字节,并且首部长度必须是4字节的整数倍,如果不是,就需要在尾部填充


*11、子网分组转发的过程:
*从收到的数据报的首部提取出目的IP地址D
*先判断是否直接交付(判断的依据是,通过各个网络的子网掩码与D相与,若网络地址一致,则说明在同一网段)。若是匹配,则把分组直接交付,然后通过ARP协议解析出MAC地址,把数据报重新封装成帧发送出去,任务结束。否则就简介交付
*若路由表中有目的地址为D的特定主机路由,则把数据报传送给路由表所指明的下一个跳转路由。
*对路由表中的子网掩码与上D,得出结果N,若N与这行的目的地址相同,则把数据报交付给这行的下跳路由器
*否则如果路由表中有一个默认路由,就把数据报发送到默认路由
*否则报告转发分组出错


*12、有类网址计算网段的方法
*网段的起始位置:把IP地址和子网掩码按位相与,得出的网络地址就是起始网络地址
*网段的结束位置:把IP地址和子网掩码按位取或后的值相或,得出的网络地址就是结束网络地址


*13、无类网址计算网段的方法:
假设,192.199.170.82/27
通过27可知,这个地址的前三个字节都为1,共24位,第四个字节为01010010,必须划分前三位才能等于27,再把后五位取0,作为首地址,后五位取1作为尾地址


*14、地址快分配:
194/7——欧洲
198/7——北美洲
2007——中美洲,南美洲
202/7——亚洲,太平洋地区


*15、ICMP永续主机或路由报告差错详情和有关异常情况的报告


*16、不应发送ICMP差错报文的情况:

*收到的本身就是ICMP差错报文

*对第一个分片的数据报片的所有连续报片都不发送ICMP差错报告报文

*对具有多播地址的数据报不发送ICMP差错报文

*对特殊地址127.0.0.1和0.0.0.0不发送ICMP差错报文


*17、ICMP应用:CMD下的Ping和Tracert命令的工作原理


*18、路由选择协议:

*内部网关协议IGP(Interior Gateway Protocol):RIP,OSPF

*外部网关协议EGP(External Gateway Protocol):BGP


*19、RIP(Route Information Protocol)的实现过程(其实就是路由器之间更新信息的机制):

*当路由器X收到来自相邻路由器Y的RIP报文时,首先将收到的数据中的吓一跳路由改成Y,并且把距离d加上1

*然后将这个修改过的Y的路由信息表与X的路由信息表进行比较,如果X中没有,就添加

*如果目的网络相同,并且吓一跳路由相同,则更新距离为Y的值

*如果目的网络相同,但是吓一跳路由不同,则取X和Y信息表中较小的值


*20、RIP报文是使用UDP传输,端口为520,一个RIP报文最多容纳25个路由信息,每个路由信息为20个字节,RIP的头部为4个字节,所以RIP报文的最大长度为4+20*25=504个字节。RIP能使用的最大路由数为15,即距离最大值为15,若超过则视为不可达


*21、OSPF报文是使用TCP传输,端口为89


*22、OSPF协议工作流程:

OSPF流程可以分为两种情况:

*当收发一个数据报文的情况:由于OSPF协议会为每个路由建立一个链路状态数据库,路由器会以本身作为一个根节点,使用SPF(Shortest Path First)算法找出最短的到达目的地的路径,然后选择下一跳路由,到了下一跳的路由,再重复上述步骤,将路由再作为根节点,寻找最短路径;直到将报文交付目的IP

*当路由增减,链路发生变化的情况:路由器会产生链路状态广播数据包,将更新的信息发送给与本路由相连的周围所有路由,周边的路由,收到这个路由发过来的包,更新自己本身的链路状态数据库,保存副本后,发送到周边除了刚刚发送包的那个路由之外,下一个路由执行第一个接收者同样的操作,这样,一个改变的信心就可以很快的传遍整个网络。这就洪泛法(flooding),并且这种方法比较稳定

*23、OSPF报文的首部有8个字段,共24个字节;其中‘类型’字段有5种类型:

问候(Hello):用于发现和维持邻站的可达性

数据库描述:向邻站给出自己的链路状态数据库的所有链路状态项目的摘要信息

链路状态请求:向其他路由请求某些链路状态项目的详细信息

链路状态更新:用洪泛法更新全网的新链路状态,这是OSPF协议的核心,并且这个更新的状态也有五种

链路状态确认:对链路更新分组的确认

OSPF规定每隔10s就要交换一次Hello分组,若40s没收到某个路由发来的Hello分组,就视为到此路由不可达。当然RIP和OSPF协议仅仅是一个自治网内部使用的协议


*24、BGP报文使用TCP传输,端口为179


*25、BGP协议使用的原因:因特网的规模太大,使得自治网之间的路由选择非常困难(尽管在自治网内已经使用了指定路由的方法使广播的信息量大大降低);另外,每个自治网互联到其他自治网必须考虑到经济、安全的问题。所以,自治网内部使用的如OSPF协议,这种是通过寻找最短路径的方法并不适用,因为最短的未必是最好的,如果安全性不够呢?BGP协议是寻求一个较好的向量路径,而非是最优路径


*26、BGP协议工作的流程:

每个自治网的管理员都必须为这个自治网指定一个边界路由代言人,用于不同自治网之间的信息交换,当然,这个代言路由器,也可以运行内部网关协议。每当报文在一个自治网内找不到交付者时,就交给边界路由,边界路由查找与其他自治网相关的信息,如果有则选择发送,如果没有,则通知报错;并且,搜索获得的最佳路径中,不应该出现自己本身的自治网,不然这样就会绕圈子。


*27、进程之间的通信的可靠性是由运输层负责


*28、IP数据报首部中的生存时间字段给出了IP数据报在网络中所能经过的最大路由器数,防止IP数据报在互联网中无限地兜圈子


*29、网络层向上层的传输层提供面向连接的虚电路服务和无连接的数据报服务,前者传输可靠,后者传输不可靠


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章