TCP/IP 协议族

Introduction

TCP/IP协议族

数据链路层

数据链路层实现了网卡借口的网路驱动程序,以处理数据在物理媒介上的传输。

  • ARP 协议:IP -> MAC
  • RAPR 协议:MAX -> IP

网路层

网路层实现数据包的选路和转发。其任务就是选择通信主机间的中间节点,确定两台主机间的通信路径。

  • IP协议:根据数据包的目的IP地址来确定如何投递它(逐跳)
  • ICMP 协议:IP 协议的补充,主要用于检测网络连接(ping)

传输层

传输层为两台主机上的应用程序提供端到端的通信。

传输层

  • TCP 协议:可靠的、面向连接的和基于流的服务
    • 超时重传、数据确认 -> 可靠
  • UDP 协议:不可靠、无连接和基于数据报的服务
  • SCTP

应用层

应用层复杂处理应用程序的逻辑。

  • ping
  • telnet
  • OSPF:动态路由更新协议
  • DNS

应用层协议可能跳过传输层协议直接使用网络层服务(ping)

/etc/services 可以查看知名的应用协议与其使用传输层服务器和端口。

封装

TCP-IP-封装.png

TCP 会在内核中问连接维护一些数据、状态,而 UDP 则没有为应用层保存数据。

分用

以太网帧分用.png

ARP 协议

ARP 维护一个高速缓存,其中包含经常访问或最近访问的机器的 IP 地址到物理地址的映射。

使用arp -a命令可以查看缓存

DNS 协议

  • Linux 下常用的 DNS 服务器客户端是 host
  • /etc/resolv 存储这 DNS 服务器 IP