【笔记】tcp/ip illustrated <3 IP>

一、参考

二、名词解释

TOS: type-of-service 服务类型
SNMP:simple network management protocol 简单网络管理协议
NNTP:network news transfer protocol 网络新闻传输协议
NFS: network file system 网络文件系统
TTL:time-to-live 生命周期

三、内容

1. 概要

IP协议提供不可靠、无连接的数据包传递协议
(1)不可靠,
IP协议无法保证IP数据包能成功发送到目标主机,IP协议有一个简单的错误处理算法:当发生错误时候,IP数据包被丢弃,发送ICMP信息回源主机。保证数据传输可靠性的任务交给上层协议来实现(例如:TCP)
(2)无连接,
表示当发送连续的数据包时候,IP协议中不包含任何关于该数据包状态的信息,每一个数据包都被独立的处理,即有可能IP数据包接收顺序不同于发送顺序

2. IP头部

【笔记】tcp/ip illustrated <3 IP>_第1张图片

TOS有8位,由三个部分组成,
(1)3位优先字段
(2)4位服务类型,依次为最小化延迟、最大化吞吐、最大化可靠性、最小化消耗,
这四位最多只能配置一个,如果都是0,表示为正常服务

【笔记】tcp/ip illustrated <3 IP>_第2张图片

由图可见,
交互式登录应用程序,例如Telnet, Rlogin, 使用最小延迟模式,因为它们和用户交互,用于传输少量数据
文件传输程序,例如FTP,需要传输大量数据,使用最大吞吐模式,
网络管理SNMP程序和路由协议应用,需要保证最大可靠性
网络新闻传输NNTP应用, 可以使用最小消耗模式

(3)1位没有实际使用,固定为0
total_length: IP数据包的大小,单位是字节(8位)
identification field: 标识字段,唯一标识每个主机发出的数据包,通常是每发出一个数据包后,递增
TTL:设置IP数据包,路由最大次数
header checksum: 只计算IP头部数据,不会包含任意其他数据,因为ICMP, IGMP, UDP, TCP都有它们各自的头部校验值,用于校验准确性

3. IP路由
从概念上,IP路由非常简单,
如果目标主机直接和源主机相连(例如:点到点链接)或者源主机和目标主机在共享网络中(例如:以太网或者令牌环),IP数据包将直接发送到目标主机
否则,源主机发送IP数据包到默认的路由器,让路由器将IP数据包发送到目标主机,该简单方案处理绝大多数主机配置

总体规划中,IP层将收到来自上层(TCP,UDP, ICMP, IGMP层)的数据包用于发送,或者接收到来自底层(网络接口)的数据包,在IP层,内存中维护了路由表,每一次接收到数据包都会搜索路由表

当从网络接口中接收到数据包,
(1)IP模型先检查目标IP地址是否是接收主机的IP地址或者接收主机的广播地址,如果是,执行(2),如果不是,执行(3)
(2)通过IP数据包头部协议类型,将数据传送到指定的协议模块
(3)判断IP层是否被配置成路由器,如果已经配置,则数据包被转发,否则,直接丢弃该数据包

路由表中每条记录都包含:
(1)目标IP地址,该IP地址,通过flag字段标识,可以为一个完整的主机地址,或者一个网络地址
主机地址有非零的主机ID,网络地址有一个主机ID(包含0),标识所有的网络主机(例如,以太网或者令牌环)
(2)下一跳路由器IP地址,或者直连网络的IP地址,
如果下一跳路由器IP是一个直连网络,可以发送数据到网络中
如果下一跳路由器不是最终目标主机,将接收发送的数据包,并且转发给最终目标主机
(3)flags字段,其中的一个flags字段标识目标IP地址是一个主机地址或者是一个网络地址,还有一个flags字段标识下一跳路由器值是一个真正的下一跳路由器地址或者是一个直连的网络接口
(4)数据包该发送到哪一个具体的网络接口上

IP路由执行以下:
(1)搜索路由表,匹配目标IP地址(网络ID和主机ID),如果有记录,发送数据包到下一跳路由器或者直连接口
(2)如果没有匹配目标IP地址的记录,则搜索路由表,匹配目标网络ID,如果有记录,则发送数据包到下一跳路由器或者直连接口。所有包含在目标网络中的主机都可以通过下一跳路由器获取
(3)如果没有找到匹配目标网络ID的记录,搜索默认记录
如果上面三步都没有执行,则数据包无法送达,则通常向生成该数据包的应用程序返回主机无法送达或者网络无法送达错误信息

【笔记】tcp/ip illustrated <3 IP>_第3张图片

从上图中,
(1)所有主机和路由器使用一个默认路由,实际上,大多主机和一些路由器使用默认路由跳转到除了本地网络的其他目标网络
(2)目标IP地址在数据包中不会变化
(3)可以使用不同的链路层头部

4. 子网寻址
所有主机需要支持子网寻址,主机ID被分成子网ID和主机ID

【笔记】tcp/ip illustrated <3 IP>_第4张图片

【笔记】tcp/ip illustrated <3 IP>_第5张图片

使用子网寻址可以减少路由次数

5.子网掩码

【笔记】tcp/ip illustrated <3 IP>_第6张图片

通过子网掩码,可以判断主机地址A与主机地址B:
(1)是否是同子网
(2)是否同一个网络,但不同子网
(3)是否不是同一个网络

6.特殊IP地址

【笔记】tcp/ip illustrated <3 IP>_第7张图片
可以将表格分为三部分:
(1)前两个表示特殊源地址
(2)第三个表示回环地址
(3)最后四个表示广播地址

【笔记】tcp/ip illustrated <3 IP>_第8张图片

【笔记】tcp/ip illustrated <3 IP>_第9张图片

【笔记】tcp/ip illustrated <3 IP>_第10张图片

7. ifconfig

ifconfig: interface config 接口配置

ifconfig -a 查看所有接口信息
ifconfig eno1 查看接口名称为eno1的接口信息

8. netstat

netstat -in

你可能感兴趣的:(ip,networking)