tcp/ip入门经典(第5版) 第四章 网际层
1.本章主要内容
ip地址
ip报头
arp
icmp
2.网际层
网际层的协议提供的是局域网网段之外的传递,重要的协议包括ip arp icmp
3.寻址与发送
地址解析协议(arp)是另一种网际层协议,它维护一个表,用于把ip地址(逻辑地址)映射到物理地址。
网际层具备的功能,
(1)识别网络中所有的计算机
(2)提供一种方式来判断何时需要通过网关来传递消息
(3)提供一种与硬件无关的方式来识别目标网段,从而让数据包能够高效率的通过路由器到达正确的网段
(4)提供一种方式把目标计算机的逻辑ip地址转化为物理地址,让数据能够传输给目标计算机的网络适配器
4.网际协议ip
ip协议提供了一种分层的、与硬件无关的寻址系统,具有在复杂式路由网络中数据传递所需的服务。
tcp/ip网络上的每个网咯适配器都有一个唯一的ip地址。
5.ip报头字段
ip报头包含大量的信息,包括源ip地址、目标ip地址、数据报长度、ip版本号和对路由器的特殊指令。
版本:这个4位的字段表示所使用的ip版本,目前版本是4,使用的二进制是0100
网际报头长度(IHL):这个4位字段表示ip报头以32位字为单位的长度。ip报头的最小长度是5个32比特字,对应的二进制是0101
服务类型:源ip能够指定特殊的路由信息。这个8位字段的主要用途是对等待通过路由器的数据报区分优先级
总长度:这个16位字段表示ip数据报的总长度,单位是字节,这个长度包含了ip报头和数据载荷
标识:这个16位字段是一个依序变大的数值,分配给源ip发出的消息。当传递到ip层的消息太大而不能放到一个数据报里,ip会把消息拆分到多个数据报里,同时使用相同的标识,接收端再把这些具有相同标识的消息重组成原始消息
标记:这个3位字段表示分段可能性
分段位移:这个13位字段是一个数值,被赋予每个连续的分段。目标设备的ip利用这个值以正确的次序重组分段,这个数值使用的单位是8字节
生存时间(TTL):这个字段表示数据报在被抛弃之前能够保留的时间(以秒为单位)或路由器跳数。每个路由器都会检查这个字段,并且至少把它减去1,或数据报在路由器中延迟的秒数,当这个字段为0时数据报会被抛弃
协议:这个8位字段表示接收数据载荷的协议,比如协议标识为6(二进制位00000101)的数据报会被传递给tcp模块
报头校验和:这个字段包含16位的校验和,只用于检验报头本身的有效性。数据报经过的每个路由器都会对这个值进行重新计算,因为TTL的值在不断变化
源ip地址:这个32位字段包含了数据报的源ip地址
目的ip地址:这个32位字段包含了数据报的目的ip地址。目的ip根据这个值检验发送的正确性
ip选项:这个字段支持一些可选的报头设置,主要用于测试、调试和安全的目的
填充:ip选项字段的长度不是固定的
ip数据载荷:这个字段一般用于保持传递给TCP或UDP(在传输层中)、ICMP或IGMP的数据
6.ip寻址
ip地址一部分是网络id,另一部分是主机id。
ip地址有以下几类,
A类:前8位是网络id,后24位是主机id,以0开头
B类:前16位是网络id,后16位是主机id,以10开头
C类:前24位是网络id,后8位是主机id,以110开头
7.特殊的ip地址
全0的主机id表示网络本身。
全1的主机id表示广播。
255.255.255.255也可用于网络上的广播。
以十进制127开头的是环回地址,主要用于本地软件测试,如常用的127.0.0.1。
8.地址解析协议(ARP)和逆向地址解析协议(RARP)
网段上每台主机在内存中都保存着一个被称为ARP表格或ARP缓存表格,其中包含着网段上其他主机的ip地址与物理地址的对应关系。
当主机需要向其他网段发送数据时,它会查看ARP缓存表格来获得目的的物理地址,当目的的物理地址不存在时,它会发送一个ARP请求帧的广播。
逆向地址解析协议(RARP)是ARP的逆过程。
9.Internet控制消息协议(ICMP)
发送到远程计算机的数据会经过一个或多个路由器,这些路由器会把数据传输到目的地的过程中会产生很多问题。路由器利用Internet控制消息协议(ICMP)发问题发送给源ip。ICMP还有用于其他调试和排错的功能。