《TCP/IP详解》卷I概要
链路层
1.链路层三个作用:(1)为IP模块发送和接受IP数据报。(2)为ARP模块发送ARP请求和接受ARP应答。(3)为RARP模块发送RARP请求和接受RARP应答。
RFC894、RFC1042
3.几种封装格式
(1)尾部封装:在以太网数据帧中将开始的部分编程字段(IP首部和TCP首部)一道尾部(CRC之前)。尾部封装已遭到反对。
(2)SLIP:全称为Serial Line IP,一种串行线路上对IP进行封装的简单形式。一些缺陷:每一段必须知道对方的IP;没有类型字段,如果一条串行线路使用SLIP,则无法同时使用其他协议;没有校验和。
(3)压缩的SLIP(CSLIP)
(4)PPP:点对点协议:修改了SLIP中的所有缺陷:支持单根串行线路上运行多种协议,不只是IP协议;有冗余检验;通信双方可以进行IP地址动态协商;对TCP和IP报文首部进行压缩;可以对多个数据链路选项进行设置。
IP:网际协议
1.对“不可靠、无连接”的理解:
不可靠(unreliable)指的是不能保证IP数据报能成功到达目的地。例如IP数据报发送某种错误时会被丢弃。因此,任何要求的可靠性必须由上层来提供。
无连接(connectionless)指的是IP不维护任何关于后续信息报的状态信息。每个数据报的处理是相互独立的(体现为不保序、不按统一路径发送等)。
2.网络字节序:也叫“big endian字节序”,先传送高位再传送低位。TCP/IP首部中所有的二进制整数在网络中传输室都要以这种次序。
3.IP首部中的一些细节:(1)总长度字段是IP首部中必要的内容。(2)TTL的初值由源主机设置,字段值被耗尽时被丢弃,并发送ICMP报文通知源主机。(3)首部校验和不对首部后面的数据进行计算。
4.主机和路由器都可以使用简单的路由算法,本质区别在于主机从不把数据报从一个接口转发到另一个接口,而路由器则要转发数据报。
5.IP路由选择步骤:(1)寻找能与目的IP地址完全匹配表目(主机号与网络号都匹配)。(2)寻找能与目的网络号相匹配的表目。(3)寻找标为“默认”的表目。如果上面步骤都没成功,那该数据报就不会被传送。
6.子网划分缩小Internet路由表规模:子网对外部路由器来说隐藏了内部网络组织,因此外部路由器只感知网络号(不感知子网号)。但子网对内部路由器来说是不透明的。
7.ifconfig命令一般在引导时运行,以配置主机上的每个接口。
ARP:地址解析协议
1.ARP为IP地址到对应的硬件地址之间提供动态映射。“动态”的含义是过程是自动完成的,一般用户和管理员不关心。
2.当一台主机把以太网数据帧发送到位于同一局域网上的另一台主机时,是根据48位的以太网地址来确定目的接口的,设备驱动程序从不检查IP数据报中的IP地址。
3.ARP高速缓存:存放最近Internet地址到硬件地址之间的映射记录,每一项生存是会见一般为被创建时算起的20分钟。
4.ARP可以可以用于其他类型的网络,可以解析IP地址以外的地址。
5.ARP代理(也叫委托ARP):如果ARP请求是从一个网络的主机发往另一个网络上的主机(跨网络),那么连接这两个网络的路由器就可以回答该请求。路由器的功能相当于目的主机的代理,把分组从其他主机转发给目的主机。
6.免费ARP:主机发送ARP查找自己的IP地址,通常发生在系统引导期间进行接口配置的时候。免费ARP可以有两方面作用:
(1)主机可以通过免费ARP确定另一个主机是否设置了相同的IP地址。
(2)如果发送免费ARP的主机改变了硬件地址,其它主机的高速缓存中关于发送免费ARP的主机的旧的硬件地址就能得到相应的更新。
RARP:逆地址解析协议
1.无盘系统的RARP实现过程是从接口卡上读取唯一的硬件地址,然后发送一份RARP请求,请求某个主机响应该无盘系统的IP地址。
2.与ARP类似,RARP请求以广播方式传送,而RARP应答一般是单播传送的。
ICMP:Internet控制报文协议
1.ICMP经常被认为是IP层的一个组成部分,通常被IP层或更高层协议使用。
2.为防止递归,以下几种情形不会产生ICMP报文:(1)ICMP差错报文(ICMP查询报文可能会产生ICMP差错报文)。(2)目的地址时广播或多播地址。(3)不是IP分片的第一片。(4)源地址不是单个主机的数据报。(5)作为链路层广播的数据报。
3.ICMP地址掩码请求:用于无盘系统在隐刀过程中获取自己的子网掩码。
4.ICMP时间戳请求:系统向另一个系统查询当前时间(毫秒级的分辨率)。