一、IP协议
1.IP协议作用和意义
(1)计算机网络体系结构
(2)网络互联使用路由器
(3)IP网的意义
当互联网上的主机进行通信时,就好像在一个网络上通信一样,看不见互连的各具体的网络异构细节。
如果在这种覆盖全球的 IP 网的上层使用 TCP 协议,那么就是现在的互联网 (Internet)。
(4)分组在互联网中的传送
(5)分组传输路径
2.IP数据报首部格式
(1)IP数据报的格式
(2)IP数据报首部的固定部分中各字段
版本——占 4 位,指 IP 协议的版本。目前的 IP 协议版本号为 4 (即 IPv4)。
首部长度——占 4 位,可表示的最大数值是 15 个单位(一个单位为 4 字节),因此 IP 的首部长度的最大值是 60 字节。
区分服务——占 8 位,用来获得更好的服务。只有在使用区分服务(DiffServ)时,这个字段才起作用。在一般的情况下都不使用这个字段
总长度——占 16 位,指首部和数据之和的长度,单位为字节,因此数据报的最大长度为 65535 字节。总长度必须不超过最大传送单元 MTU。
标识 (identification) ——占 16 位,它是一个计数器,用来产生 IP 数据报的标识。
标志(flag) ——占 3 位,目前只有前两位有意义。标志字段的最低位是 MF (More Fragment)。MF=1 表示后面还有分片,MF=0 表示最后一个分片。标志字段中间的一位是 DF (Don't Fragment) 。只有当 DF=0 时才允许分片。
片偏移——占 13 位,指出:较长的分组在分片后某片在原分组中的相对位置。片偏移以 8 个字节为偏移单位。
生存时间——占8位,记为TTL(Time To Live),指示数据报在网络中可通过的路由器数的最大值。
协议——占 8 位,指出此数据报携带的数据使用何种协议,以便目的主机的 IP 层将数据部分上交给那个处理过程。
(3)IP数据报首部中的协议
IP 协议支持多种协议,IP 数据报可以封装多种协议 PDU。
常用的一些协议和相应的协议字段值
3.IP数据报分片
IP分片:
当IP数据报的长度超过帧的MTU时,它将被分片传输。分片可能发生在发送端,也可能发送在中转路由器上,而且可能在传输过程中被多次分片,但只有在最终的目标机器上,这些分片才会被内核中的IP模块重新组装。
IP的分片和重组需要的信息由头部的三个字段提供:16位数据报标识、3位标志、13位偏移。一个IP数据报的每个分片都具有自己的IP头部,他们具有相同的标识值,但具有不同的片偏移。并且除了最后一个分片外,其他分片都将设置MF标志。此外,每个分片的IP头部的总长度字段将被设置为该分片的长度。
以太网帧的MTU是1500字节,因此他携带的IP数据报的数据部分最多是1480字节(因为头部占了20字节)。
举例
考虑现在用IP数据报封装一个长度位1481字节的ICMP报文(考虑到ICMP的8字节的头部,得到其数据部分长度为1473字节),则该数据报在使用以太网帧传输时必须被分片。
第二个IP分片不包含ICMP头部信息,因为IP模块重组该ICMP报文的时候只需要一份ICMP头部信息,重复传送这个信息没有益处。1473字节的ICMP报文数据的前1472字节被IP模块复制到第一个IP分片中,使其总长度为1500字节,从而满足MTU的要求,而多出来的最后一个字节被复制到第二个IP分片中。
此时第一个IP数据报片偏移为0,第二个IP数据报中的片偏移为1472/8=184。
二、以太网协议
1.计算机网络体系结构
2.数据链路层的地位
3.数据链路层信道类型
4.以太网V2的MAC帧格式
5.无效的MAC帧
数据字段的长度与长度字段的值不一致;
帧的长度不是整数个字节;
用收到的帧检验序列 FCS 查出有差错;
数据字段的长度不在 46 ~ 1500 字节之间。
有效的 MAC 帧长度为 64 ~ 1518 字节之间。
对于检查出的无效 MAC 帧就简单地丢弃。
以太网不负责重传丢弃的帧。