目录
TCP/IP协议族是一个四层协议系统,自底而上分别是数据链路层、网络层、传输层和应用层;
数据链路层两个常用协议:ARP 协议(地址解析协议)和 RARP 协议(逆地址解析协议);
ARP 协议:IP地址转换为物理地址(MAC地址);
RARP 协议:用于无盘工作站,由于缺乏存储设备无法记住自身的 IP 地址,需要利用网卡上的物理地址来向网络管理者查询自身的 IP 地址;
网络层的任务是选择中间结点(路由器),以确定两台主机之间的通信路径;
网络层的两个常用协议:IP 协议和 ICMP 协议;
IP 协议使用逐跳的方式来确定通信路径,ICMP 协议用于检测网络连接;
ICMP 协议使用的报文格式:8位类型 + 8位代码 + 16位检验和 + 报文内容;8位类型字段用于区分报文格式,其将 ICMP 报文划分为差错报文和查询报文两大类;
差错报文用来回应网络错误:类型 3 表示目标不可到达,类型 5 表示重定向;
查询报文用来查询网络信息:ping 程序使用类型 8 查看目标是否可到达;
8 位代码用于进一步细分不同的划分条件;
16 位校验和字段对整个报文进行循环冗余校验(CRC),以检验报文在传输过程中是否损坏;
传输层为两台主机上的应用程序提供端到端的通信,常用的协议包括 TCP 协议、UDP 协议和 SCTP 协议;
TCP 协议(传输控制协议)为应用层提供可靠的、面向连接的和基于流的服务;
UDP 协议(用户数据报协议)为应用层提供不可靠、无连接和基于数据报的服务;
SCTP 协议(流控制传输协议),用于在因特网上传输电话信号;
应用层负责处理应用程序的逻辑,其在用户空间实现;应用层常用的协议包括:telnet 协议、OSPF 协议、DNS 协议;应用层的协议即可以使用 TCP 服务,也可以使用 UDP 服务;
telnet 协议是一种远程登陆协议,其能在本地完成远程任务;
OSPF 协议(开放最短路径优先)协议是一种动态路由更新协议,其用于路由器之间的通信,告知对方各自的路由信息;
DNS 协议提供机器域名到 IP 地址的转换;
每层协议都在上层数据的基础上加上本层的头部信息,以实现本层的功能,这个过程称为封装;经过 TCP 封装后的数据称为 TCP 报文段;经过 UDP 封装后的数据称为 UDP 数据报;经过 IP 封装后的数据称为 IP 数据报;经过数据链路层封装的数据称为帧;帧是最终在物理网络中传送的字节序列;
当帧到达目的主机时,将沿着协议栈自底向上依次传递,各层协议依次处理帧中本层负责的头部数据,以获取所需的信息,并最终将处理后的帧交给目标应用程序,这个过程称为分用;
ARP 协议能够实现任意网络层地址到任意物理地址的转换,其工作原理如下:主机向自己所在的网络广播一个 ARP 请求,该请求包含目标机器的网络地址;网络上其他机器都将收到这个请求,只有被请求的目标机器才会回应一个 ARP 应答,其中应答内容包含自己的物理地址;
ARP 维护一个高速缓存,其中包含经常访问或最近访问的机器的 IP 地址到物理地址的映射,这样可以避免重复的 ARP 请求,提高发送数据包的速度;