实验楼_TCP/IP网络协议基础_Note02_S3S4

S3  IP网际协议


一、IP数据报格式

实验楼_TCP/IP网络协议基础_Note02_S3S4

如上图所示,普通的IP数据报的报头长度20字节(除非有选项字段),各个部分的作用:

  • 版本号:4位,用于标明IP版本号,0100表示IPv4,0110表示IPv6。目前常见的是IPv4。

  • 首部长度:4位,表示IP报头长度,包括选项字段。
  • 服务类型(TOS):分别有:最小时延、最大吞吐量、最高可靠性、最小花费4种服务,如下图所示。4个标识位只能有一个被置为1:

实验楼_TCP/IP网络协议基础_Note02_S3S4

  • 总长度:16位,报头长度加上数据部分长度,便是数据报的总长度。IP 数据报最长可达65535字节。
  • 标识:16位,接收方根据分片中的标识字段相不相同来判断这些分片是不是同一个数据报的分片,从而进行分片的重组。通常每发送一份报文它的值就会加1。
  • 标志:3位,用于标识数据报是否分片。其中的第2位是不分段(DF)位。当DF位被设置为1时,则不对数据包进行分段处理;第3位是分段(MF)位,除了最后一个分段的MF位被设置为0外,其他的分段的MF位均设置为1
  • 偏移:13位,在接收方进行数据报重组时用来标识分片的顺序。

  • 生存时间(TTL):8位,用于设置数据报可以经过的最多的路由器个数。TTL的初始值由源主机设置(通常为32或64),每经过一个处理它的路由器,TTL值减1。如果一个数据报的TTL值被减至0,它将被丢弃。

  • 协议:8位,用来标识是哪个协议向IP传送数据。ICMP为1,IGMP 为2,TCP为 6,UDP为17,GRE为47,ESP为50。
  • 首部校验和:根据IP首部计算的校验和码。
  • 源IP和目的IP:数据报头还会包含该数据报的发送方IP和接收方IP。
  • 选项:是数据报中的一个可变长、可选的信息,不常用,多用于安全、军事等领域。



二、命令

route -n

可以查看路由表



三、作业

3-1. 查看 IP 路由表,并截图

实验楼_TCP/IP网络协议基础_Note02_S3S4


3-2. 子网划分:现有两个C 类网,202.203.204.0 和 202.203.224.0,分别把它们平均分成 4 个和 8 个子网,写出每个子网的起始、终结 IP 和子网掩码。

①C 类网202.203.204.0,把它平均分成4个子网:

子网掩码 202.203.204.192

    2^2 = 4

    202.203.204.1100 0000 = 202.203.204.192

子网的起始、终止IP

实验楼_TCP/IP网络协议基础_Note02_S3S4

P.S.全0和全1保留不分配;全0:子网网络地址;全1:广播地址。


②C 类网202.203.224.0,把它平均分成8个子网:

子网掩码 202.203.224.224

    2^3 = 8

    202.203.224.1110 0000 = 202.203.204.224

子网的起始、终止IP

实验楼_TCP/IP网络协议基础_Note02_S3S4






S4  网络层其他协议


一、ARP

ARP:Address Resolution Protocol  地址解析协议

IP-->MAC

在你的电脑和路由器中都有一个 ARP 缓存表 ,其中保存的是近期(20 分钟)与自己有过通信的主机的 IP 地址与 MAC 地址的对应关系。

如果 ARP 请求是从一个网络上的主机发往另一个网络上的主机,那么连接这两个网络的路由器就可以回答该 ARP 请求,这个过程称作 代理 ARP(Proxy ARP)。



二、RARP

RARP:Reverse Address Resolution Protocol  逆向地址解析协议

MAC-->IP

RARP 在目前的应用中已极少被使用。



三、ICMP

①ICMP:Internet Control Message Protocol  控制报文协议

ICMP报文由 8 位错误类型、8 位条件代码和 16 位校验和组成,被封装在一个 IP 数据报中:

实验楼_TCP/IP网络协议基础_Note02_S3S4


②ICMP报文种类有两种:ICMP差错报告报文、ICMP询问报文。

几种常用的ICMP报文类型:

实验楼_TCP/IP网络协议基础_Note02_S3S4


③几种不应发送ICMP差错报文的情况:

  • 对ICMP差错报告报文不再发送ICMP差错报告报文。
  • 对第一份片的数据报片的后续报片不再发送ICMP差错报告报文。
  • 对具有多播地址的数据报不再发送ICMP差错报告报文。
  • 对具有特殊地址(如127.0.0.0 或0.0.0.0)的数据报不再发送ICMP差错报告报文。



四、ICMP应用举例

①Windows下:ping、tracert、route print、netstat


②常见操作系统缺省 TTL 值如下:

UNIX TTL:255

Linux TTL:64

WINDOWS 95/98 TTL:32

Windows NT 4.0/2000/XP/2003/7/8/10 TTL:128


③Linux下traceroute工作原理:

它发送一份 TTL 为 1 的 IP 数据报给目的主机,经过第一个路由器时,TTL 值被减为 0,则第一个路由器丢弃该数据报,并返回一份超时 ICMP 报文,于此得到了路径中第一个路由器的地址;

后再发送一份 TTL 值为 2 的数据报,便可得到第二个路由器的地址;

以此类推,一直到到达目的主机为止,这样便记录下了路径上所有的路由 IP。



五、命令

4-1. arp -a

可以通过命令 arp -a 查看 ARP 缓存表(表项记录 20 分钟超时)。

4-2. traceroute

用来跟踪一个分组从源点到重点的路由路径。