IP分组
IP 分组
为了更准确地讨论 I n t e r n e t协议处理,我们必须定义一些名词。图 显示了在不同的
I n t e r n e t层之间传递数据时用来描述数据的名词。
我们把传输协议交给 I P的数据称为报文。典型的报文包含一个运输层首部和应用程序数
据。图所示的传输协议是U D P。I P在报文的首部前加上它自己的首部形成一个数据报。如
果在选定的网络中,数据报的长度太大, I P就把数据报分裂成几个分片,每个分片中含有它
自己的I P首部和一段原来数据报的数据。图显示了一个数据报被分成三个分片。
当提交给数据链路层进行传送时,一个 I P分片或一个很小的无需分片的 I P数据报称为分
组。数据链路层在分组前面加上它自己的首部,并发送得到的帧。
I P只考虑它自己加上的 I P首部,对报文本身既不检查也不修改 (除非进行分片)。图8 - 8显
示了I P首部的结构。
图包括i p结构中各成员的名字,N e t / 3通过该结构访问I P首部。
4 7 - 6 7 因为在存储器中,比特字段的物理顺序依机器和编译器的不同而不同,所以由 # i f s
保证编译器按照I P标准排列结构成员。从而,当 N e t / 3把一个i p结构覆盖到存储器中的一个 I P分组上时,结构成员能够访问到分组中正确的比特。

I P首部中包含I P分组格式、内容、寻址、路由选择以及分片的信息。
I P分组的格式由版本i p _ v指定,通常为4;首部长度i p _ h l,通常以4字节单元度量;分
组长度i p _ l e n以字节为单位度量;传输协议 i p _ p生成分组内数据; i p _ s u m是检验和,检
测在发送中首部的变化。
标准的I P首部长度是2 0个字节,所以i p _ h l必须大于或等于5。大于5表示I P选项紧跟在
标准首部后。如i p _ h l的最大值为15 (2 4 -1 ),允许最多4 0个字节的选项( 2 0 + 4 0 = 6 0 )。I P数据
报的最大长度为65535 (2 1 6 -1 )字节,因为i p _ l e n是一个16 bit的字段。如图是整个构成。

IP分组的更多相关文章
- TCP/IP协议原理与应用笔记19:IP分组的交付和路由选择
1. 引言: (1)互联网结构: 信息:IP分组(直接广播地址(Directed Broadcast Address),其指定了在一个特定网络中的"所有主机".) 节点:路由器.主 ...
- IP分组交付和转发
1:交付 网络层监视底层物理网络对分组的处理过程叫做交付,分为直接交付和间接交付 1.1:直接交付 直接交付时,分组的终点是一台与交付着连接在同一个网络上的主机,发生在俩种情况下,分组的源点和终点都在 ...
- IP分组和分片
本文讨论两个问题①IP数据报的首部②IP数据报的分片 TCP/IP模型分为五层,从上到下依次是应用层.传输层.网络层.数据链路层和物理层. IP数据报是网络层的概念. IP数据报的首部 版本号:0~3 ...
- UDP用户数据报协议和IP分组
UDP总体的封装格式例如以下: 以下是8字节UDP首部: 当IP层依据协议字段把UDP报文向上传送到UDP模块后,UDP模块再依据port号将数据发送到对应的进程中,以此实现进程到进程间的通信. 16 ...
- 基于CIDR的IP分组转发算法
话不多说,直接上运行截图 #include<iostream> #include<vector> using namespace std; struct ...
- TCP/IP模型详解
上述为TCP/IP的协议模型,主机到网络层又被称为网络接口层,网络互联层又被称为网间层. 网络接口层:实际上,TCP/IP参考模型并没有真正描述这一层的实现,只是要求能够提供给其上层一个访问接口,以便 ...
- 初入网络系列笔记(1)TCP/IP基础
一.借鉴说明,本博文借鉴以下博文 1.BlueTzar,TCP/IP四层模型, http://www.cnblogs.com/BlueTzar/articles/811160.html 2.叶剑峰,漫 ...
- TCP/IP四层模型
转自:http://www.cnblogs.com/BlueTzar/articles/811160.html ISO制定的OSI参考模型的过于庞大.复杂招致了许多批评.与此对照,由技术人员自己开发的 ...
- 计算机网络自学之路------IP协议(2)
之前忘记说了,这些内容都是边看视频边写的,视频出自西安交通大学. 本期说的是IP分组转发的内容,里面详细介绍了IP协议跟ARP协议,最后再给出一个例子,说明这两个协议在网络中传输的具体过程. 1)Ip ...
随机推荐
- 迷惑性很强的crontab
提到定时任务,我们通常会想起linux的crontab,可以说服务器端大部分定时任务都是由它完成的.这东西固然耗用,但是坑也不少. 这不,昨天我在部署一个备份任务的时候,就不幸踩坑了.差点酿成 ...
- ota编译及差分包制作
OTA L 版本OTA build diff OTA升级的步骤如下: 1.new整个project. 2.Step1: ./vendor/mediatek/proprietary/scripts/si ...
- 公式编辑器之 AxMath(18)
1. 使用教程 视频教程,一共有18集,每集都比较短. >> 视频教程链接:B站,速度快,清晰 2. 破解软件下载链接 >> 下载链接:复制链接到迅雷或IDM下载很快 3. M ...
- PHP和Memcached - 在PHP中的应用 - Memcached类介绍 - 封装自己的Memcached类库
1.Memcached类的介绍 详见PHP官方文档:点击访问. 2.封装自己的Memcached类库 <?php namespace Cache\Lib; class MemCache { /* ...
- python reportlab 生成table
''' Table(data, colWidths=None, rowHeights=None, style=None, splitByRow=, repeatRows=, repeatCols=, ...
- pandas之数据IO笔记
pandas在进行数据存储与输出时会做一些相应的操作 1.*索引:将一个列或多个列读取出来构成DataFrame,其中涉及是否从文件中读取索引以及列名 2 *类型推断和数据转换:包括用户自定义的转换以 ...
- Codeforces Round #557 Div. 1 based on Forethought Future Cup - Final Round
A:开场就读错题.读对了之后也没啥好说的. #include<bits/stdc++.h> using namespace std; #define ll long long #defin ...
- c#入门学习笔记
Hello World //打印语句 Console.WriteLine("Hello World"); //暂停 Console.ReadKey(); 数据类型 1.值类型 by ...
- c#基础知识梳理(二)
上期回顾 - https://www.cnblogs.com/liu-jinxin/p/10818256.html 一.变量 一个变量只不过是一个供程序操作的存储区的名字.在 C# 中,每个变量都有一 ...
- 【多进程】php多进程编程
先看下我已经安装的php版本 PHP (cli) (built: Jul ::) ( NTS ) Copyright (c) - The PHP Group Zend Engine v3.- Zend ...