IP协议解读(一)

IP协议是TCP协议栈中的核心协议,也是网络编程的基础之一。

网络层概述

IP服务特点:

IP协议为上层协议提供无状态,无连接,不可靠的服务。

  • 无状态:IP通信双方不同步状态传输信息,因此所有IP数据报的发送和接收都是相互独立的,这样也就造成了它无法处理乱序,重复的IP数据报。相对于面向连接而设定的,例如TCP协议,它能够自己处理乱序,重复的报文段。他递交给上层的内容绝对是有序的正确的。但是IP协议的状态也是有优点的,它简单高效,因为我们无需为保证它的状态而分配一些内核数据结构。
  • 无连接:通信双方都不长久的维持对方的任何信息,那么就需要上层协议去指定传输的IP地址。
  • 不可靠服务:不可靠指的是IP协议不能保证IP数据报完整并且准确的到达接收端。因此使用IP的上层协议需要自己做数据确认,超时重传等可靠传输机制。

IPv4头部结构:

图一:

IPv4头部结构包含20个字节。另外最多包含40个选项字节。

  • 4位版本号:指定IP协议的版本
  • 4位头部长度:标识有多少个四字节。
  • 8位服务类型(TOS):包括一个3位的优先权字段(现在已经被忽律),4位TOS字段(最小延时,最大吞吐量,最高可靠性,最小费用),1位保留字段。以上信息决定了IP协议的可弹性。
  • 16位总长度(字节数):整个IP数据报的长度。就是说IP数据报的最大程度就是2^16-1。因为MTU的限制。最大传输不可能达到这个值。

======分片传输实现原理=========

  • 16位标识别:唯一标识主机发送的每一个数据报。初始值有系统随机生成。每发送一个数据报,该值就+1.因此同一个数据报的分片都具有相同的标识值
  • 3位标志:

    (1)第一位是有保留的

    (2)第二位表示禁止分片(如果对这位进行了设置,IP模块将不会对数据报进行分片,所以可以想象一下我们刚才提到的,如果这个数据报的长度超过MTU,这段数据报就会被丢弃,返回ICMP差错报文)

    (3)第三位表示等多分片(除了IP数据报的最后一个分片外,其他分片都设置为1)。

  • 13位偏移:是分片相对原始IP数据报开始处的偏移。

这三个字段协同工作行形成了IP分段的功能。

=======================

  • 8位生存时间(TTL):它是数据报到达目的地前允许经过的路由跳数。在发送过程中,每经过一个路由,该值就减1.当TTL位0时,路由器会丢弃这个数据报,返回ICMP差错报文。它可以防止数据陷入路由循环。
  • 8位协议涌来区分上层协议。ICMP位1,TCP为6,UDP位17
  • 16位头部校验和:它是由发送端进行填充。接收端对其进行CRC校验算法,来检验头信息在传输过程中是否被损坏。
  • 32位原端IP:表示发送端IP
  • 32位目的IP:表示接受端IP
  • IPv4头部可变长的选项部分,最多包含401个字节,可选的IP选项包括:(1)纪录路由,(2)时间戳,(3)松散源路由选择,(4)严格路由选择 (这些的介绍会在以后进行分享)

版权声明:本文为博主原创文章,未经博主允许不得转载。

时间: 2024-07-29 23:14:03

IP协议解读(一)的相关文章

IP协议解读(二)

IP协议是TCP协议栈中的核心协议,也是网络编程的基础之一. 我们接着在IP协议解读(一)继续学习 网络层作用 IP分片: IP数据报的长度超过帧的MTU时,将会被分片传输.分片可能发生在发送端,也可能发生在中转路由器上,并且可能在传输过程中被多次分片.最终会在接收器上被IP模块重新组装. 在IP协议解读(一)中讲述了16位数据报标识.3位的标识,13位的片偏移给分片和重组提供了足够的信息.一个IP数据报的每个分片都具有自己的头部.他们具有相同的标识值,但具有不同的片偏移. 以太网的MTU位15

IP协议解读(三)

今天我们来介绍网络层中的ICMP协议 ICMP报文格式 图一: 从图片上我们可以分析出,前三位的字段都是固定的,8位类型字段,8位代码字段,16位校验和字段.其他字段因ICMP报文类型不同而不同.8位类型和8位代码一起决定了报文的类型. ICMP查询格式 ICMP查询报文共有4种 回送请求和回答:由主机和路由器向一个特定的主机和路由器发送询问,收到请求的主机必须给源主机发送回送应答报文,用来测试目标主机是否可达以及了解其他状态 时间戳请求和回答:它允许系统向另一个系统查询当前的时间,该ICMP的

IP协议的那些事(总结)

IP协议是TCP协议栈中的核心协议,也是网络编程的基础之一. 网络层概述 IP服务特点: IP协议为上层协议提供无状态,无连接,不可靠的服务. 无状态:IP通信双方不同步状态传输信息,因此所有IP数据报的发送和接收都是相互独立的,这样也就造成了它无法处理乱序,重复的IP数据报.相对于面向连接而设定的,例如TCP协议,它能够自己处理乱序,重复的报文段.他递交给上层的内容绝对是有序的正确的.但是IP协议的状态也是有优点的,它简单高效,因为我们无需为保证它的状态而分配一些内核数据结构. 无连接:通信双

Wireshark数据包分析之IP协议包解读

*此篇博客仅作为个人笔记和学习参考 IP协议包首部格式 IP数据包概况 Internet Protocol Version 4, Src: 192.168.1.104 (192.168.1.104), Dst: 119.75.217.109 (119.75.217.109)#IPv4,源IP地址:192.168.1.104,目标IP地址:119.75.217.109#Version: 4 #IP协议版本:4#Header Length: 20 bytes #头部长度:20字节#Different

TCP/IP协议详解——邮差与邮局

信号的传输总要符合一定的协议.比如说长城上放狼烟,是因为人们已经预先设定好狼烟这个物理信号代表了“敌人入侵”这一抽象信号.这样一个“狼烟=敌人入侵”就是一个简单的协议. 信号的传输总要符合一定的协议(protocol).比如说长城上放狼烟,是因为人们已经预先设定好狼烟这个物理信号代表了“敌人入侵”这一抽象信号.这样一个“狼烟=敌人入侵”就是一个简单的协议.协议可以更复杂,比如摩尔斯码(Morse Code),使用短信号和长信号的组合,来代表不同的英文字母.比如SOS(***—***, *代表短信

TCP / IP协议 --- 计算机层面

一.概述 1.1 五层模型 互联网的实现,分成好几层.每一层都有自己的功能,就像建筑物一样,每一层都靠下一层支持. 用户接触到的,只是最上面的一层,根本没有感觉到下面的层.要理解互联网,必须从最下层开始,自下而上理解每一层的功能. 如何分层有不同的模型,有的模型分七层,有的分四层.我觉得,把互联网分成五层,比较容易解释. 如上图所示,最底下的一层叫做"实体层"(Physical Layer),最上面的一层叫做"应用层"(Application Layer),中间的三

计算机网络初探(ip协议)

粗读了两遍计算机网络(谢希仁),对于计算计算机网络算是有了一个初步的了解,所以打算写一篇文章(希望是教程)进行巩固(主要围绕IP协议). 局域网 因特网的产生和广泛使用极大地改变了我们的生活,但对于不了解当中技术细节的人来说,因特网的工作是透明的,即我们不知道在每次点击一个链接,发送一个文件,或者进行联机游戏时计算机的软硬件背后,无数线缆,电磁波,甚至卫星是怎样将我们的数据运送到另一台计算机上,而我们能感受到的只有毫秒间的数据收发和一个世界范围内的网络互联. 首先,从比较原始的地方开始讲起,当我

文件传输——TCP/IP协议介绍总结

一.链路层 数据链路层的工作特性: 1.为IP模块发送和接收IP数据报2.为ARP模块发送ARP请求和接收ARP应答(ARP:地址解析协议,将IP地址转换成MAC地址)3.为RARP发送RARP请求和接收RARP应答 链路层的主要工作就是对电信号进行分组并形成具有特定意义的数据帧,然后以广播的形式通过物理介质发送给接收方. 二.网络层 网络层引入了三个协议,分别是IP协议.ARP协议.路由协议.IP协议能判断发送者和接收者的两台主机是否属于同一个子网:ARP协议能使发送者知道接收者的MAC地址:

使用wireshark 抓取 http https tcp ip 协议进行学习

使用wireshark 抓取 http https tcp ip 协议进行学习 前言 本节使用wireshark工具抓包学习tcp ip http 协议 1. tcp 1.1 tcp三次握手在wireshark中的体现 1.1.1 三次握手过程 1.1.1 wireshark中三次握手过程 在wireshark中抓一次三次握手过程 客户端 客户端发送SYN=1 的请求连接的标记位,以及一个随机序列号X 服务端 服务端发送一个ACK标志位(ack之前的syn),随之一个ack号码为X+1 确认接收