网络层协议——IP协议
来源:互联网 发布:电视直播源码论坛 编辑:程序博客网 时间:2024/05/13 13:16
1、IP协议的特点:无状态、无连接、不可靠
无状态:指IP通信双方不同步传输数据的状态信息,因此所有IP数据报的发送、传输和接收都是相互独立、没有上下文关系的。
无连接:指IP通信双方都不长久的维持对方的任何信息。
不可靠:指IP协议不能保证IP数据报准确地到达接收端,它只承诺尽最大努力。
2、IPv4头部结构
4位版本号:指定IP协议的版本。对IPv4来说,其值为4
4位头部长度:4位最大能保存15,因此,IP数据报报头的长度最大是60字节
8位服务类型:包括3位的优先级字段,4位的TOS字段和1位保留字段。4位的TOS字段分别表示为:最小延时(ssh/tenlet),最大吞吐量,最高可靠性、最小费用。其中,最多只能有一个设置为1。
16为总长度:是指整个IP数据报的长度,以字节为单位。IP数据报最大的长度为65535字节。但是由于MTU的限制,长度超过MTU的数据报都会被分片传输。
16位标识:唯一地标识主机发送的每一个数据报。其初始值由系统随机生成,每发送一个数据报,其值加1。同一数据报的所有分片具有相同的标识。
3位标志:第一位保留;第二位是DF位,“禁止分片”,如果设置该位,则IP数据报不允许分片,如果IP数据报的长度超过MTU,则丢弃该数据报;第三位MF位,“更多分片”,除了数据报的最后一个分片外,其他分片都要将其设置为1。
13位片偏移:是分片相对原始数据报的偏移。实际的偏移值是将该值左移3位后的值,除了最后一个分片,每个IP分片的数据部分的长度必须是8的倍数。
8位生存时间:是数据报到达目的地之前允许经过的路由器跳数。当该值为0是,路由器丢弃该数据报,并向源端返回ICMP差错报文。
8位协议:用来区分上层协议。
16位头部校验和:由发送端填充,接收端使用CRC算法检验IP数据报头部在传输中是否出错。(仅检验头部)
32位源IP地址和目的IP地址:分别标识数据报的发送端和接收端
3、IP分片
(1)当IP数据报的长度超过帧的MTU时,它将被分片传输,分片可能发生在发送端,也可能发生在中转路由器,而且可能在传输过程中被多次分片,但只有在最终的目标机器上,这些分片才会被内核中的IP模块重新组装
(2)一个IP数据报的每个分片都有自己的IP头部,他们具有相同的标识值、但具有不同的片偏移。并且除了最后一个分片外,其他分片都设置MF标志。每个分片的IP头部的总长度都被设置为该分片的长度。
4、IPv6头部结构
IPv6版本目前使用较少,想要深入学习IPv6的小伙伴们就自己动手查资料吧~~
- 网络层协议——IP协议
- 网络层-IP协议
- 网络层IP协议
- 网络解析4——网络层-IP协议
- tcp ip协议笔记(3)——网络层
- 网络层之IP协议
- 网络层(三)IP协议
- 二 网络层协议(二)IP协议
- IP协议(网络层协议)
- TCP/IP网络协议基础 02——传输层协议UDP
- TCP-IP网络协议基础 03——传输层协议TCP
- 网络传输协议概述——第四讲:TCP/IP协议之网络层IP(网际协议)详解
- 网络传输协议概述——第五讲:TCP/IP协议之网络层IP(网际协议)详解
- 网络协议——IP
- 网络——IP协议
- 网络七层协议和TCP/IP五层协议
- TCP/IP协议学习笔记----3.网络层IP协议
- 网络基础 — OSI七层协议模型、TCP/IP四层模型
- stm32 JTAG和SWD的使用区别
- OpenCv矩阵元素的访问技巧
- CI 操作数据库
- XYNUOJ 1181移动数据
- centos6单网卡设置多个IP
- 网络层协议——IP协议
- Coursera机器学习 第五周Neural Networks: Learning 测验题目和答案
- 对 MVC MVP MVVM 的理解
- poj1789 最小生成树 水题
- Linux内核中断引入用户空间(异步通知机制)
- visual studio 更改开发环境
- php7杂记
- spring 常用的数据库链接配置
- 你的项目时间管理合理吗?