linux高性能服务器编程学习笔记二:IP协议详解
来源:互联网 发布:吉他谱软件 编辑:程序博客网 时间:2024/06/08 12:35
这里特意强调以下几个字段
4位头部长度字段,1位代表4个字节,4位最大为15,表示最长为60字节,也就是选项字段有40字节。
8位的服务类型字段,前3位通常被忽略,紧接着的4位TOS字段分别表示最小延时,最大吞吐量,最高可靠性和最小费用。最后一位保留字段置0。
3位标志字段,第一位保留,第二位DF(Don’t Fragment)表示“禁止分片”,如果设置了这个位就表示不进行分片,假如在这种情况下,数据包长度超过MTU,则会丢弃该包并发送一个ICMP差错报文。第三位MF(More Fragment)表示“更多分片”,表示还有其它分片。除了数据包的最后一个分片外,其它分片第三位都要置1.
8位协议字段区分是哪个上层协议传递下来的包,1是ICMP,6是TCP,17是UDP。
16位头部校验和字段利用CRC检验头部在传输过程中是否损坏。32位的源IP地址和目的IP地址在整个数据报的传输中都不变,即使经过了多次转发。
选项字段一般包括:记录路由(记录途径的所有路由器的IP地址)、时间戳(记录每次经过一个路由器时的转发的时间)、松散源路由选择(一个路由器IP地址表,途径过程中应当包括其所有的路由器)、严格源路由选择(一个路由器IP地址表,途径过程只能是地址表中的路由器)。
2、路由转发和选址主要的硬件设备是路由器,路由器当中有个路由表对接收到的IP数据包进行分类,主要和IP数据包的目标IP地址有关。路由机制如下:
(1)查找路由表中和数据包的目标IP地址完全匹配的主机IP地址。如果找到,就使用该路由项。如没有找到,进行步骤2
(2)查找路由表中和数据包的目标IP地址的网络ID匹配的网络IP地址,如果找到,就使用该路由项。如没有找到,进行步骤2
(3)选择默认路由项,这通常意味着数据包的下一跳为默认网关。3、当需要对一个数据包进行转发时,应当执行如下操作
(1)检查头部的TTL值,为0则丢弃
(2)查看数据头部的严格源路由选项,假如该选项被设置,则检测数据包的目标IP地址是否为本机的某个IP地址,若不是,则发送一个ICMP源站选路失败报文给发送端,并且有必要的的话,发送一个ICMP重定向报文,告诉源端合理的下一跳IP地址
(3)TTL值减1,处理IP头部选项,假如有必要,对其进行分片再转发。
4、IPV6与IPV4不同,其用十六进制字符串表示而不是点分十进制。例如:FE80:0000:0000:0000:1234:5678:0000:0012。每个部分2个字节。一般情况下,对于多个连续的0000可以省略,因此上述可变成:FE80::1234:5678:0000:0012。全0压缩只能使用一次,否则不知道中间省略了多少个全0组。
- linux高性能服务器编程学习笔记二:IP协议详解
- linux高性能服务器编程学习笔记一:TCP/IP协议详解
- Linux 高性能服务器编程——IP协议详解
- linux高性能服务器编程学习笔记三:TCP协议详解
- Linux 高性能服务器编程——TCP协议详解
- 《Linux高性能服务器编程》读书笔记之tcp协议详解
- linux高性能服务器编程学习笔记四:HTTP协议相关格式
- 《linux高性能服务器编程》学习笔记(二)之拥塞控制
- 《linux高性能服务器编程》学习笔记(一)
- linux高性能服务器编程学习笔记九:信号
- 《Linux高性能服务器编程》学习笔记——第八章 高性能服务器程序框架
- linux高性能服务器编程学习笔记七:高性能服务器程序框架
- Linux 高性能服务器编程——TCP/IP协议族
- Linux高性能服务器编程(笔记1)
- Linux高性能服务器编程(笔记2)
- Linux高性能服务器编程(笔记3)
- Linux高性能服务器编程(笔记4)
- Linux高性能服务器编程笔记1
- mysql 5.7标准安装
- 经典SQL语句大全
- PHP 日期,时间函数(date,time)
- python—字符串string
- dubbo监控中心的安装
- linux高性能服务器编程学习笔记二:IP协议详解
- 五、ValueAnimator属性动画高级进阶(二)
- 使用Rman将Windows Oracle 11gR2 32位中数据库恢复至Windows Oracle 11gR2 64位 与 centos 6.5 Oracle 11gR2 32位
- 1052. 卖个萌 (20)
- php-mpos
- python 手记10 『笨方法学python 习题31』
- 习题6.15
- group_concat函数使用实例,mysql查询结果自动以,连接成字符串
- mediaproxy和rtpproxy原理