网际协议:无连接数据报交付(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,向服 ...
随机推荐
- php_linux_centos6.4_安装mysql_apache_php
原文:php_linux_centos6.4_安装mysql_apache_php 原文 : http://blog.csdn.net/xiaoliouc/article/details/176395 ...
- Swift使用单个案件管理FMDB数据库
下班... 抢 我曾经Swift使用单一个案管理FMDB数据库的方法共享出来: // Created by 秦志伟 on 14-6-12. import UIKit class ZWDBManager ...
- cocos2d-x注意事项(十)Lua发展飞机战争-4-创建主角
二战中被称为二战飞机飞机,当然,以飞机作业.这是一个游戏,我们必须加入一个飞机--这是我们的英雄. 首先创建一个层(PlaneLayer)要显示飞机.然后,create飞机初始化方法 module(& ...
- ASP.NET MVC+EF框架+EasyUI实现权限管理系列(13)-权限设计
原文:ASP.NET MVC+EF框架+EasyUI实现权限管理系列(13)-权限设计 ASP.NET MVC+EF框架+EasyUI实现权限管系列 (开篇) (1):框架搭建 (2):数据 ...
- 记录近期小改K-Means至MapReduce上的心得
背景: 在所有聚类算法中KMeans算是表面上最简单的一种,没有过多恼人的古希腊符号公式,没有过分繁杂的公式嵌套.对于一个初学矩阵或者仅有向量概念的非专业人士的来说,不可不畏是一把踹门利器.这个世界上 ...
- php中utf8 与utf-8
原文:php中utf8 与utf-8 相信很多程序员刚开始也会有这样的疑惑,如题,我也是. 其实,他们可以这样来区分. 一.在php和html中设置编码,请尽量统一写成“UTF-8”,这才 ...
- C语言库函数大全及应用实例二
原文:C语言库函数大全及应用实例二 [编程资料]C语言库函数大全及应用实例二 函数名: bioskey 功 能 ...
- 在VS下用C语言连接SQLServer2008
原文:在VS下用C语言连接SQLServer2008 step1:启动SQLSERVER服务 step2:打建立数据库test,在test库中建立test表(a varchar(200),b varc ...
- CSS知识总结之浏览器(持续更新)
web页面浏览器渲染过程 1.解析html文件,并构建DOM树: 在DOM树中,每一个html标签都有一个对应的节点,并且每一个文本也有一个对应 的节点(js的textNode),DOM树的根节点就是 ...
- erlang mnesia数据库简单应用
mnesia是erlang自带的分布式数据库,基于ets和dets实现的.mnesia兼顾了dets的持久性和ets的高性能,可以自动在多个erlang节点间同步数据库.最关键的是,mnesia实现了 ...