IPv4协议的路由与转发
查找路由表
1、多次间接交付后,IP数据报最终一定可以找到目地主机所在的目的网络上的路由
2、到达最后一个路由器时,才会试图向目的主机直接交付
分组转发算法
1、从数据报的首部提取目的地址D,和网络地址N
2、如果网络N与此路由器直接相连,则直接交付给母目的主机D,否则间接交付
3、如果路由表中有目的地址为D的特定主机路由,则把数据报转发给路由表指明的下一跳路由
4、若路由表中有到达网路N的路由,则将数据报转发给路由表指定的下一条路由
5、若以上都没有则转发给默认路由
6、否则转发分组出错
注:转发的过程中源目IP地址不变,而数据链路层上的源目地物理地址一直在变化
IPv4 分组首部
版本号:一般是ipv4 ,所以是4
首部长度:一般是20个字节,所以是5
服务类型:不使用
数据包总长度:首部长度+数据长度,占16个字节,因此最大数据包长度MTU为65535
标识:用在IP分片时,用来标识分片是否为同一个数据包
标志:用在IP分片时,用来表示后面是否还有分片
片偏移:分片长度/8 ,就是片偏移量(注:每个分片都要加上IP头部)
生存时间(Time to live):TTL,为255,每经过一个路由器减1,到达0被判定为失效,丢弃
协议:传输层用到的协议,用来提示该交给哪个上层协议
首部校验和:只检验数据包首部,不检验数据部分
可选长度:用来支持排错,安全等1到40个字节
IPv4 地址分类
总共分为5类,A、B、C、D、E
A:(最高位必须0,8位网络号)0-127,其中0代表任何地址,127为回环测试地址,因此,A类ip地址的实际范围是1-126,默认子网掩码为255.0.0.0
在A类地址中,10.0.0.0到10.255.255.255是私有地址(所谓的私有地址就是在互联网上不使用,而被用在局域网络中的地址)
B:(最高位必须10,16位网络号) 128-191,其中128.0.0.0和191.255.0.0为保留ip
实际范围是128.1.0.0--191.254.0.0
在B类地址中,172.16.0.0到172.31.255.255是私有地址。
C:(最高位必须110,24位网络号) 192-223,其中192.0.0.0和223.255.255.0为保留ip
实际范围是192.0.1.0--223.255.254.0
在C类地址中,192.168.0.0到192.168.255.255是私有地址。
D:(最高位必须1110 )224.0.0.0到239.255.255.255用于多点广播、组播
E:(最高位必须1111 ) 240.0.0.0到255.255.255.254保留为之后使用
255.255.255.255用于广播地址
超网:几个C类地址合并起来
ARP协议和RARP协议
ARP协议是是将IP地址转化为物理地址的一个协议。(属于数据链路层之上,IP之下)
注:ARP有一个高速缓存用来存储IP地址到硬件地址的映射表,每次和新的主机通信都会写入。
四种情况
1、发送端是主机,要把IP数据报送到本网络的另一个主机。直接发广播(带上自己的物理地址),相应的主机会将自己的物理地址恢复给发送端主机。
2、发送端是主机,要把IP数据报送到另一个网络的另一个主机。发送到本网络路由器的物理地址,让路由器处理。
3、发送端是路由器,要把IP数据报送到本网络的另一个主机。用ARP找到目的地址的硬件地址即可。
4、发送端是路由器 ,要把IP数据报送到另一个网络的另一个主机。发送到本网络路由器的物理地址,让路由器处理。
DHCP动态主机配置协议
机制
1、需要IP地址的主机在启动时就向DHCP服务器广播discover
2、服务器被动打开UDP端口67,回应offer
3、客户端口68request
4、服务器同意则发送pack(从IP池中分配一个IP给该 主机);服务器不同意,端口发送nack
注:DHCP有一个租用期,租用期的时间到了一半,主机会自动向DHCP服务器发起续约请求
ICMP网络控制报文协议(属于IP层)
分类
1、差错报告报文
终点不可达(网络、主机、协议、端口)
源点抑制(路由器拥塞丢弃报文)
超时(TTL为0数据包丢弃)
参数问题(首部字段值不正确)
重定向(路由器改变报文路由)
2、询问报文
回送请求和回答报文(ping)
时间戳请求和回答报文
IPv6协议
IPv6首部固定40个字节,取消了首部检验和字段,加快了速度。允许有扩展首部,扩展首部加数据就是有效负载。
IPv6地址
128位 每16位的值用16进制表示,用冒号隔开
IPv6地址和IPv4相兼容的地址
前80位为0,16位为FFFF,32位IPv4
路由协议
自治系统:在单一的技术管理下的一组路由器。
内部网关协议(IGP):一个自治系统内部使用的路由选择协议。如RIP和OSPF
外部网关协议(EGP):如果源站和目地站点处在不同的自治系统,当数据报传到一个自治系统边界时,传递到另一个自治系统的路由选择协议。如BGP-4
RIP协议
工作原理
1、分布式的基于距离的路由选择协议
2、每一个路由器都要维护它自己到其他网络的距离记录
3、与路由器直接连接的网络距离定义为1,非直接连接,每一跳加1
4、RIP认为距离短就好,一条路径最大只能含15个路由器,若网络不可达,直接将该路径距离改为16
三大要素
1、仅和相邻路由器交换信息
2、交换的是自己拥有的全部信息
3、每30秒交付一次(很频繁),若3分钟还没收到相邻路由更新信息,将距离设为16(网络不可达)
优点
简单、开销小
缺点
网络规模太小(因为一条路最多允许15个路由)
好消息传递得快,坏消息传递的慢(主要缺点)
OSPF协议
三大要素
1、向自治系统中所有路由器发送消息,采用洪泛法
2、发送的消息就是与本路由器相邻的所有路由器的链路状态(这只是路由器知道消息的一部分,并非全部交付)
3、只有链路状态发生变化时,路由器才使用洪泛法向所有路由器发送此消息
链路状态数据库
实际上是拳王的拓扑结构图,在全网范围内是一致的(数据库同步)
链路状态库 能比较快的进行更新,这是OSPF的重要优点
注:OSPF直接用IP数据传输而不是UDP
BGP协议
发言人
每一个自治系统的管理员要选择至少一个路由器作为该自治系统的发言人
两个BGP发言人一般是通过一个共享网络连接在一起的,往往是边界路由
交换路由
一个发言人要与其他自治系统的BGP发言人交换路由,就要先建立TCP连接,交换BGP报文进行BGP对话
使用TCP交换连接的两个发言人,彼此成为对方的邻站或对等站