IP:网际协议
IP是TCP/IP协议族中最核心的协议,所有的TCP、UDP、ICMP及IGMP数据都要使用IP数据报格式传输。IP层所提供的服务是无连接不可靠的。
不可靠是指所有的IP数据报都不能保证能够成功到达,在传输过程中如果路由器的buffer用完了,对于后面的IP包就会丢弃并发送ICMP消息给源端。
无连接是说IP层并不维护任何关于后续数据报的状态信息,每个数据报都是相互独立的,每个IP包都会按照目的IP寻找发送路径,它们之间互不干扰,且路由也不一定相同,发送和接收的顺序也不要求相同。
与IP路由和子网有关的命令:ifconfig和netstat。
IP首部:
0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|4位版本 |首部长度| 8位服务类型 | 16位总长度(字节数) |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| 16位标识 |3位标志| 13位片偏移 |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| 8位生存时间 | 8位协议 | 16位首部检验和 |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| 32位源IP地址 |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| 32位目的IP地址 |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| 选项 |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| 数据 |
首部最长为60个字节。
TTL(time-to-live)生存时间设置了数据报可以经过的最多路由器数;首部检验和字段是根据IP首部计算的检验和码,它不对后面的数据进行计算。
主机和路由器的本质区别在于主机从不把数据报从一个接口转发到另一个接口,而路由器则要转发数据报。
IP层在内在中有一个路由表,当收到一份数据报并进行发送时,它都要对该表搜索一次。
路由表中的每一项都包含下面这些信息:
1. 目的IP地址
2. 下一跳路由器IP地址
3. 标志
4. 为数据报的传输指定一个网络接口
IP路由要完成的功能:
1. 搜索路由表,寻找能与目的IP地址完全匹配的表目;
2. 搜索路由表,寻找能与目的网络号相匹配的表目;
3. 搜索路由表,寻找标为“默认default"的表目。
为网络指定一个路由器而不是为主机指定一个路由器,可以极大地缩小路由表的规模。
阅读(448) | 评论(0) | 转发(0) |