夜光序言:
江山若深情,何故换风景。红尘若柔情,何必扰心境。
正文:
IP:因特网中的转发和编址
最重要的知识点是子网的概念,同一个子网内的主机可以直接通信,不同子网的主机通信需要通过路由器转发。因此即使是接在同一个交换机上的两台主机,如果属于不同子网(IP 地址表示子网部分不同),它们也将无法直接通信。因为发送主机会根据子网地址判断接收主机和它不在同一个子网,会默认交付到它自己的网关(默认设置,网络就这么设计 的),而不是将数据通过交换机直接转发给目标主机。
目前有两个版本的 IP 在使用。IPv4,IPv6。
因特网的网络层有三个主要的部分。第一个组件是 IP 部分。第二个主要组件是选路部 分,它决定数据报从源到目的地所流经的路径。选路协议计算在网络中用于转发分组的转发表。最后一个部分是 ICMP,报告数据报中的差错和对某些网络层信息请求进行响应。
1 数据报格式
网络层分组被称为数据报。IPv4 数据报中的关键字段如下:
·版本号:这 4 比特规定了数据报的 IP 协议版本。通过查看版本号,路由器可确定如何解释数据报的剩余部分。
·首部长度:因为一个 IPv4 数据报可包含一些可选项,故需要用这 4 比特来确定 IP 数据报中的数据部分实际从哪里开始。
·服务类型:服务类型比特用来区分不同类型的数据报。例如,将实时数据报与非实时数据报之间的区分。
·数据报长度:IP 数据报的总长度(首部加上数据),以字节计。因为该字段长为 16 比特,所以 IP 数据报的理论最大长度为 65 535 字节。然而,数据报长度一般都是 1500 字节(以太网帧可承载不超过 1500 字节的数据)。
·标识 ID、标志 Fragflag、片偏移 Offset:该三个字段与 IP 分片有关。
·寿命:每当数据报经过一台路由器时,寿命(Time-To-Live, TTL)字段的值减 1。若TTL 字段减为 0,则该数据报必须丢弃。
·协议:该字段在一个 IP 数据报到达其最终目的地时,字段值指明了 IP 数据报的数据部分应交给哪个传输层协议。例如,值为 6 表明数据部分要交给 TCP,而值为 17 表明数据要交给 UDP。
注意,数据报中的协议号所起的作用类似于传输层报文段中端口号字段所起的作用。
·首部校验和:首部校验和用于帮助路由器检测收到的 IP 数据报中的比特错误。
注意,在 IP 层只对 IP 首部进行了检验,而 TCP 校验和是对整个报文段进行的。
·源和目的 IP 地址。
·选项:选项字段允许 IP 首部被扩展。
·数据(有效载荷)。
大多数 IP 数据报不包含可选项,所以一般的 IP 数据报都有 20 字节的首部。
一个无选项字段、长度为 1500 的 IP 数据报若承载一个 TCP 报文段,则每个(无分片的)
数据报共承载 40 字节首部(20 字节 IP 首部加上 20 字节 TCP 首部)以及长度为 1460 的应用 层消息。