计算机网络复习小结(3)-IPv4
一个IP分组由首部和数据两部分组成,首部前一部分的长度固定,共20B,是所有IP分组必须具有的。在IP数据报首部中有三个关于长度的标记,一个是首部长度,一个是总长度,一个是片偏移,基本单位分别是4B、1B、8B。TCP、UDP的首部也是一样的。
一个链路层数据报能承载的最大数据量称为最大传送单元(MTU)。IP首部中的标志位有3比特,但只有后2比特有意义,分别是MF位,DF位。只有当DF=0时,该IP数据报才可以被分片,MF用来判断告知目的主机该IP数据报时候为原始数据报的最后一个片。如果MF=1,表示相应的原始数据报还有后续的片,MF=0表示该数据报是最后一个片。
因为偏移值得单位是8B,所以除了最后一片外,其他所有片中的有效数据载荷都是8的倍数。
网路层转发分组的流程
网络层的路由器执行的分组转发算法如下:
1.从数据报的首部提取目的主机的IP地址D,得出目的网络地址N。
2.若网络N与此路由器直接相连,则把数据报发送给目的主机D,这称为路由器的直接交付,否则是间接交付
3.若路由表中有目的地址为D的特定主机路由,则把数据报传送给路由表中所知名的下一跳路由器。
4.若路由表中有到达网络N的路由,则把数据报传送给路由表指明的下一跳路由器
5.若路由表中有一个默认路由,则把数据报传送给表中所指明的默认路由器
6.报告转发分组出错
在不同的网络中传送时,MAC帧中的源地址和目的地址要发生变化,但是网桥在转发帧时,不改变帧的源地址
IP地址与NAT
一个IP地址在整个因特网范围内是唯一的。
在各类IP地址中,有些IP地址具有特殊用途,不用做主机的IP地址
-
主机号全为0,表示本网络本身
-
主机号全为1表示本网络的广播地址,又称直接广播地址
-
127.0.0.0保留为环路自检地址,此地址表示任意主机本身,目的地址为环回地址的IP数据报永远不会出现在任何网络上。
-
32位全为0,即0.0.0表示本网络上的本主机
-
32位全为1,表示整个TCP/IP网络上的广播地址,又称受限广播地址。实际使用时,由于路由器对广播域的隔离,255.255.255.255等效为本网络的广播地址。
网络地址转换(NAT)
NAT是指通过专用网络地址转换为共用地址,从而对外隐藏内部管理的IP地址。大大节省了IP地址的消耗。
普通路由器在转发IP数据报时,不改变其源IP地址和目的IP地址.而NAT路由器在转发IP数据报时,一定要更换其IP地址(转换源IP地址和目的IP地址),普通路由器仅工作在网络层,而NAT路由器转发数据报时需要查看和转换运输层的端口号
子网划分与子网掩码、CIDR
子网划分
添加一个子网号字段,使二级IP地址变成三级IP地址,这种做法称为子网划分。
子网划分的基本思路:
1.子网划分纯属一个单位内部的事情,单位对外仍然表现为没有划分子网的网络。
2.凡是从其他网络发送给本单位某台主机的IP数据报,仍然是根据IP数据报的目的网络号,先找到连接到本单位网络上的路由器。然后该路由器在收到IP数据报后,按目的网络号和子网号找到目的子网。最后把IP数据报直接交付给目的主机。
子网划分时,子网号不能全1或全0,子网中主机号全0的地址为子网的网络号,主机号全1的地址为子网的广播地址。
ARP、DHCP、与ICMP
IP地址与硬件地址
IP地址是网络层使用的地址,它是分层次等级的。硬件地址是数据链路层使用的地址(MAC地址),在网络层及网络层之上使用IP地址,IP地址放在IP数据报的首部,MAC地址放在MAC帧的首部。通过数据封装,把IP数据报分组封装为MAC帧后,数据链路层看不见数据报分组中的IP地址。
在IP网络的网络层只是用IP地址来完成选址,依据路右边选择到目的网络需要转发到的下一跳,IP分组经过多次路由转发到达目的网络后,改为在LAN中通过数据链路层的MAC地址以广播方式寻址。
1.在IP层抽象的互联网上只能看到IP数据报
2.在IP数据报首部中有完整的源IP地址和目的IP地址,但路由器只根据目的IP地址的网络号进行路由选择
3.在局域网的链路层,只能看见MAC帧,通过路由器转发IP分组时,此IP分组在每个网络中都被路由器解封和重新封装。所以IP数据报在被路由器钻法师,其数据链路层封装所使用MAC地址是不断改变的。这也改变不了无法使用MAC地址跨网络通信
路由器由于互联多个网络,因此它不仅有多个IP地址,也有多个硬件地址
地址解析协议(ARP)
ARP将IP地址解析为链路层所需要的硬件地址。
DHCP协议
DHCP是应用层协议,基于UDP,常用于给主机动态地分配IP地址。
ICMP协议
ICMP报文作为IP层数据报的数据,加上数据报的首部,组成IP数据报发送出去。ICMP是IP层协议。
报文类型:
-
终点不可达:路由器或主机不能交付数据报时
-
源点抑制:因为拥塞而丢弃数据报时
-
时间超时
-
参数问题
-
改变路由(重定向)
PING工作在应用层,它直接使用网络层的ICMP,而未使用传输层的TCP或UDP。
题目小结
协议字段表示为IP使用的上层协议
首部三个关于长度的标记:首部长度,总长度,片偏移,对应:4B、1B、8B
IP分组的校验字段,只检查首部信息,不包括数据部分。
数据链路层使用MAC地址标识主机或路由器,IP地址对应物理地址。
分片后,每个分片独立地前往目的地,到达目的地后重组。
片偏移标识分片携带数据在原始分组中的位置
不管网络又没有划分子网,只要把子网掩码和IP地址逐位相与,就可以得出网络地址来
127.xx.yy的IP地址都作为保留地址
划分子网增加了灵活性,但是减少了连接在网络上的主机数。
划分子网可以增加子网数量,但是减少了广播域的大小。
如果一个主机有两个IP地址表示该主机属于两个或两个以上的逻辑网络。
IPv4会设定生存时间,每经过一次就会减1,直到为0,不再转发。用来解决网络中的数据形成传输环路而无限转发环路的分组。
IP分组可以被路径中的路由器分片,并在目的主机进行重组。
NAT的表项需要管理员添加,若在NAT表项中找不到则不转发该分组。
DHCP提供一种机制,使用DHCP可以自动获得IP的配置信息。
ICMP属于IP层协议,在网络层
PING指令使用了ICMP的回送请求和回答报文。
MAC地址会随着信息发往不同的网络而改变,会改变为路由器两个端口的MAC地址。
在数据链路层,MAC地址用来标识主机或路由器,数据报到达具体目的网络后,需要知道目的主机的MAC地址才能成功送达,因此需要将IP地址转换成对应的MAC地址,即物理地址
CIDR是一种归并网络的技术,CIDR技术的作用就是把小的网络汇聚成大的超网
在实际网络的数据链路层上传送数据时,最终必须使用硬件地址,ARP将网络层的IP地址解析为数据链路层的MAC地址。
因为不知道目标设备在哪里,所以ARP请求务必使用广播方式,但是ARP请求包中包含有发送方的MAC地址,因此应答应该使用单播方式。
ICMP是一个网络层协议,但是其文仍然要封装在IP分组中发送。
UDP和TCP都是传输层协议,为应用层提供服务,PPP是链路层协议,为网络层提供服务。
默认路由只有当前面的所有目的网络都不能和分组的目的IP地址匹配时才使用。
IPv6的特点
地址从32位扩展到128位
IPv6的字节数为16B,IPv4的字节数4B
IPv6没有提供校验和字段,没有使用首部校验和来保证传输的正确性。
路由信息协议
RIP规定
所有的结点都定期地将它们整个路由器选择表传送给所有与之直接相邻的结点
这种路由选择表包含每条路径的目的地址和距离——以跳数为单位
所有结点都监听从其他结点传送来的路由选择更新信息,并更新路由表,使得更新为最佳路由
更新条件
1.被通告一条新的路由,该路由在本地结点的路由表中不存在,则本地结点中加入该新的路由
2.通过发送路由信息的结点有一条达到某个目的地的路由,该路由比当前使用的路由有更短的距离用经过发送路由信息的结点的新路由顶替当前路由表中的现有路由
特点
-
仅和相邻路由器交换信息
-
路由器交换的信息是当前路由器知道的全部信息,即自己的路由表
-
按固定的时间间隔交换路由信息
开放最短路径优先协议
OSPF协议属于内部网关的一种,和RIP有4点主要区别
-
OSPF向本自治系统中的所有路由器发送信息,使用的时洪泛法,RIP只向相邻的路由器发送信息
-
发送的信息是本路由器相邻的所有路由器的链路状态
-
只有链路状态发生变化时,路由器才用洪泛法向所有路由器发送信息
-
OSPF是网络层协议,不使用UDP或TCP