网际协议:无连接数据报交付(IPv4)
一、数据报格式:
下面逐项介绍数据报各项内容:
1.版本:数据报的前四个字段,包含创建数据报所用IP协议的版本信息,用来确认发送方、接收方和之间的所有路由器就数据格式达成一致。对于IPv4,此字段值为4;
2.首部长度:字段也是4位,除IP选项和填充以外,首部所有字段长度都是固定的,最常见的首部不含这两项,长度为20八位组,其首部长度字段等于5;
3.服务类型:8位的服务类型字段,也叫TOS(Type Of Service);它指明应当如何处理数据报,但一个互联网不能保证提供任何一种特定类型的服务,此字段仅是给转发算法的一个提示;
4.总长度:此字段长为16位,所以IP数据报的最大可能长度为65535,而数据区的大小可由总长度减去首部长度得到;
5.标识:此字段含有一个唯一识别该数据报的整数,主要是目的是让目的主机知道每个到达的数据片属于哪个数据报;IP软件使用一种技术使在内存中保持一个全局计数器,每个产生一个数据报,计数器加1,把累加结果指派给此字段;
6.标志:此字段共3个比特,低位的2比特控制分片,称为更多分片位,指明数据片的位置,若为“0”,表示末尾数据片;第一个控制比特位,指明数据报是否可分片,如果设成“1”,说明该数据报不应该分片;
7.片偏移量:与以上两项共同控制着数据报的分片与重装,表示距离报首的距离,从0开始计数;
8.寿命:即生存时间,指明数据报在网络系统中允许保留多长时间(以秒为单位);每当数据报被送入互联网时,就为数据报设置了最大生存时间,由于路由器转发十分快速,经过一个路由(即每一跳),时间减1,减到0时,路由器就会丢弃该数据报;
9.协议:类似于网络帧中的类型字段,其值指明数据报中的数据区携带的报文是使用的哪个高层协议创建的,即指明了数据区的格式;至于高层协议和整数值的映射,由相关机构统一管理,以确保整个因特网内的统一;
10.首部校验和:此字段用来保证首部字段值的完整性,具体计算方法不再赘述;
11.源IP地址和目的IP地址字段始终存放的是最初源和最终目的站的32位IP地址;
网际协议:无连接数据报交付(IPv4)的更多相关文章
- 网际协议版本4(IPv4)
IP是一种不可靠的无连接数据报协议-一种尽最大努力交付的服务,尽最大努力一词的意思是IP分组可能会损坏,丢失,失序或延迟到达,并且可能给网络带来拥塞. 网络层的分组称为数据报.是一个可变长度的分组.由 ...
- 2016.7.7 计算机网络复习要点第四章之网际协议IP
1.与IP协议配套使用的还有三个协议: **地址解析协议ARP: **网际控制报文协议ICMP: **网际组管理协议IGMP: 2.虚拟互连网络: **没有一种单一的网络能够适应所有用户的需求: ** ...
- TCP/IP协议原理与应用笔记24:网际协议(IP)之 IP协议的简介
1. IP协议:(网际协议) 2. IP协议(不可靠无连接数据报协议) (1)连接 vs. 可靠性 连接:面向连接.无连接 可靠:差错控制.流量控制等 面向连接不一定保证可靠,无连接不一定不可靠 在连 ...
- 计算机网络之IPv4(IPv4分组、IPv4地址、NAT、子网划分与子网掩码、CIDR、ARP协议、DHCP、ICMP)
文章转自:https://blog.csdn.net/weixin_43914604/article/details/105138313 学习课程:<2019王道考研计算机网络> 学习目的 ...
- IPV4/IPV6网络地址相关知识
IPv4地址:连接在Internet的每台主机(或路由器)都被分配了一个32bit的全球唯一的标识符,就是IP地址. IPv4地址的组成:网络号 + 主机号 IPv4地址的分类: A类地址:网络地址( ...
- TCP/IP协议栈与数据报封装 (802.3 Ethernet 以太网 802.11 WLAN 无线网 )
http://blog.csdn.net/jnu_simba/article/details/8957242 一.ISO/OSI参考模型 OSI(open system interconnection ...
- IPv4地址表示法详解
在TCP/IP协议中,IP地址是一个最基本的概念,本文就来参考<计算机网络>谢希仁 这本书,总结一下IPv4地址表示法的发展阶段,做个读书笔记. IP地址的编址方法共经过了三个历史阶段: ...
- 计算机网络-网络层(1)IPv4和IPv6
IPv4数据报格式: 版本号 这4比特规定了数据报的IP 协议版本.通过查看版本号,路由器能够确定如何解释IP数据报的剩余部分. 首部长度 以4字节为单位,没有选项的首部长度为5*4=20字节 服务类 ...
- IPv4&IPv6双重协议栈
IPV4 TCP客户与IPV6服务器之间的通信: 1 启动IPV6服务器,创建套接监听口,绑定通配地址 2 IPV4调用gethostbyname找到该服务器对应的A记录 3 调用connect,向服 ...
随机推荐
- unity与ios交替
unity和ios的相互作用是更简单的.直接出口xcodeproject,这个大家都知道如何操作,如果需要二次开发ios码成unity,事实上,整合非常easy找到出口xcodeproject内iPh ...
- 十天学Linux内核之第六天---调度和内核同步
原文:十天学Linux内核之第六天---调度和内核同步 心情大好,昨晚我们实验室老大和我们聊了好久,作为已经在实验室待了快两年的大三工科男来说,老师让我们不要成为那种技术狗,代码工,说多了都是泪啊,, ...
- Redis源代码分析(十一年)--- memtest内存测试
今天,我们继续redis源代码test下测试在封装中的其它文件.今天读数memtest档,翻译了,那是,memory test 存储器测试工具..可是里面的提及了非常多东西,也给我涨了非常多见识,网上 ...
- ArcEngine下一个TIN生成的轮廓
太晚了,直接连接的源代码: /// <summary> /// TIN生成等高线 /// </summary> /// <param name="pInterv ...
- DeviceIOControl具体解释-各个击破
DeviceIoControl这个api我们用的不多,可是非常重要,有时会帮助我们实现一些特别的需求, 如获取硬件设备信息.与硬件设备通信(读写数据)等,对比msdn,以下我们详解一下这个api的使用 ...
- 【C语言的日常实践(十六)】字符串输出功能puts、fputs和printf
C有三个标准库函数的输出字符串puts().fputs()和printf(). 1.puts()函数仅仅须要给出字符串參数的地址. #include <stdio.h> int puts( ...
- 【地图API】为何您的坐标不准?如何纠偏?
原文:[地图API]为何您的坐标不准?如何纠偏? 摘要:各种坐标体系之间如何转换?到底有哪些坐标体系?什么是火星坐标?为什么我的坐标,在地图上显示会有偏移?本文详细解答以上问题.最后给出坐标拾取工具. ...
- 完全用Linux工作,抛弃windows
录一篇旧文 作者:王垠 完全用Linux工作,抛弃windows 我已经半年没有使用 Windows 的方式工作了.Linux 高效的完成了我所有的工作. GNU/Linux 不是每个人都想用的.如果 ...
- 搜集朋友写的几篇Android Elf相关的文档
对android elf的资料学习,多数是在看雪找的资料,另一部分朋友的研究,当然,给他们提议过整理成一系列文章,只是大家工作都太忙,也都没顾上,这里简单整理放上一些pdf的资料,有兴趣的朋友能够看看 ...
- js模块开发
js模块开发(一) 现在嵌入页面里面的javascript代码越来越复杂,于是可能依赖也越来越严重,使用别人开发的js也越来越多,于是在理想情况下,我们只需要实现核心的业务逻辑,其他都可以加载别人已经 ...