第一章 TCP/IP协议族
1.1 体系结构与主要协议族
- 封装: 上层协议基于下层协议实现, 但上层协议不关注下层的实现细节
- 链路层, 网络层, 传输层负责网络通信细节, 要求可靠, 稳定和高效, 因此往往在内核中实现
链路层
- 使用物理(MAC)地址寻址机器
- 通过ARP和RARP实现IP地址和MAC地址的相互转换
网络层
实现数据包的选址和转发
IP协议: 用于表达数据包的源头和目标, 路由器通过IP地址进行转发
ICMP协议对IP协议进行补充, 包含差错报文和查询报文
- ICMP基于IP协议实现
传输层
- 实现端到端的通信, 只在乎通信的起始段和目的端, 而不在乎数据中转的过程; 因此, 网络的中间节点(路由器)不包含传输层协议
- TCP协议提供可靠的, 面向连接和基于流的服务.
- UDP协议提供不可靠的, 不面向连接和基于数据报的服务
应用层
- 通常在用户空间实现, 可以实现各种复杂的功能
- 包含各种各样用途的协议, 如HTTP, DNS, telnet, FTP, 以及应用程序, 如ping.
1.2, 1.3 封装和分用
- 封装: 发送数据时, 数据自顶向下层层包装, 最后发出
- 分用: 接受到数据时, 数据自底向上层层解析, 不断交给指定的协议和目标程序
1.6 DNS协议
常用类型:
- 类型A, 值为1: 查询目标主机的IP
- 类型CNAME, 值为5: 查询目标主机的别名
- 类型PTR, 值为12: 反向查询(IP → 域名)
主机dns服务器存在 /etc/resolv.conf
中, 使用host命令与DNS服务器通信 host -t A baidu.com
, 可以使用tcpdump进行抓包
1.7 socket与TCP/IP协议族的关系
- 传输层, 网络层, 链路层的实现在内核当中, 因此OS需要提供一组系统调用以便应用程序使用服务, 现在最常用的便是socket. socket的主要功能为
将应用程序数据从用户缓存区复制到内核发送缓存区, 以交付内核进行数据传输
应用程序可以精细化地修改各层协议的具体格式和内容, 从而控制底层数据传输行为
- 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.