第一章 TCP/IP协议族

Huan Lee Lv5

1.1 体系结构与主要协议族

Untitled

Untitled

  • 封装: 上层协议基于下层协议实现, 但上层协议不关注下层的实现细节
  • 链路层, 网络层, 传输层负责网络通信细节, 要求可靠, 稳定和高效, 因此往往在内核中实现

链路层

  • 使用物理(MAC)地址寻址机器
  • 通过ARP和RARP实现IP地址和MAC地址的相互转换

网络层

  • 实现数据包的选址和转发

  • IP协议: 用于表达数据包的源头和目标, 路由器通过IP地址进行转发

  • ICMP协议对IP协议进行补充, 包含差错报文和查询报文

    • ICMP基于IP协议实现

传输层

  • 实现端到端的通信, 只在乎通信的起始段和目的端, 而不在乎数据中转的过程; 因此, 网络的中间节点(路由器)不包含传输层协议
  • TCP协议提供可靠的, 面向连接和基于流的服务.
  • UDP协议提供不可靠的, 不面向连接和基于数据报的服务

应用层

  • 通常在用户空间实现, 可以实现各种复杂的功能
  • 包含各种各样用途的协议, 如HTTP, DNS, telnet, FTP, 以及应用程序, 如ping.

1.2, 1.3 封装和分用

Untitled

  • 封装: 发送数据时, 数据自顶向下层层包装, 最后发出
  • 分用: 接受到数据时, 数据自底向上层层解析, 不断交给指定的协议和目标程序

1.6 DNS协议

常用类型:

  • 类型A, 值为1: 查询目标主机的IP
  • 类型CNAME, 值为5: 查询目标主机的别名
  • 类型PTR, 值为12: 反向查询(IP → 域名)

主机dns服务器存在 /etc/resolv.conf 中, 使用host命令与DNS服务器通信 host -t A baidu.com, 可以使用tcpdump进行抓包

Untitled

1.7 socket与TCP/IP协议族的关系

  • 传输层, 网络层, 链路层的实现在内核当中, 因此OS需要提供一组系统调用以便应用程序使用服务, 现在最常用的便是socket. socket的主要功能为
  1. 将应用程序数据从用户缓存区复制到内核发送缓存区, 以交付内核进行数据传输

  2. 应用程序可以精细化地修改各层协议的具体格式和内容, 从而控制底层数据传输行为

  • Title: 第一章 TCP/IP协议族
  • Author: Huan Lee
  • Created at : 2023-08-20 07:07:48
  • Updated at : 2024-02-26 04:53:15
  • Link: https://www.mirthfullee.com/2023/08/20/notion-第一章 TCP-IP协议族-4ef1f319/
  • License: This work is licensed under CC BY-NC-SA 4.0.