前言

两节结束,为网络底层系列做铺垫。

首先来看一张图:

IOS有七层,但是我们可以简化层4层,ip属于传输层,可以说是非常重要,下面简单的做一个介绍。

正文

ip的介绍:

1.ip是tcp/ip 协议族中最为核心的协议。所以的TCP、UDP、ICMP及ICMP数据都用ip数据报传输。

2.ip提供不可靠、无连接的数据包传输服务。

两个特征:

1.不可靠

2.无连接

不可靠就是说它不能保证ip包一定到目的地,比如在某个路由就丢了,这中可能性还是挺大的,但是会通知源目的地址,ICMP告诉它这个ip数据包是怎么丢的,至于后面怎么处理就看自己了。

无连接很好理解,是这样子的,无连接表示它不维护任何状态,每个数据包都是独立的,他们的到达顺序和发送顺序不一定一致。比如说源地址发送了10个包,它的目的就是到达目的地,目的地都不知道源地址要不要来,啥时候来。

同样源地址发完后也不知道啥情况。

来看下ip头部吧。

首先看下红框这个:

ip版本号,这个现在有4和6,一般现在是ip4。

这个是首部长度,4位,最大为1111,也就是15,但是这里的1表示1个字节的,所以最大为60个字节,所以可选项最大为40个字节。

TOS是什么呢?

来看下这8位是啥?

前面3个位是ip优先级。

看下后面4位是啥。

分别代表了最小延迟、最大吞吐量、最高可靠性、和最小费用。

其实设置了也没啥用,因为经过这么多路由,有些路由器不搭理是设置的,一般是自定义路由来用。

最后一位是用来补差的,没啥用。

然后看一下16位总长度,这个是啥意思呢?

也很好理解,就是指这个ip的总长度呗,16位代表最大为65535,所以一个ip包最大为65535,当然了会经过分片的。

这个16位的标识位是这样子的,比如说操作系统发一个包把这个包标识为1,下一个ip包标识为2,每次加1作为标识。

这个有什么作用呢?因为ip会分片,这个ip不管分为多少片,这个标识都是1这样就好组装。

这个显示是3个位,其实用到的就两个位。分别是df和mf。

这两个代表什么意思呢?比如ip包为2000,一个路由分片规则是1500,这时候一个路由器要分包。

如果设置df为1,那么是什么意思呢?就是告诉这个路由器不能分包,如果分包的话,就把这个包丢了吧,然后用Icmp进行通知。

mf如果设置为1的话,代表的意思是这样子的,比如一个包分了10个,那么最后一个标识为mf表示分包结束。

再来看下13位偏移量,这个是啥子呢?

我们常常说吧ip包分为1、2、3、4包,但是呢ip包那样这些啊。

是这样来的,比如一个包5000分为5个包,第一个包偏移为0、第二个包偏移1000。。。。是这样来的。

看下这个TTL,是这样子的,假设设置为20,每经过一个路由就减一如果到0就丢弃,这个作用是怕出现环形。

8位协议位,这个是什么呢?就是这些TCP、UDP、ICMP的标识。1是ICMP、TCP是6。

16位是检验位,就是用来检验的包是否完整的。

32位源地址和目的地址没啥好说的。

什么是ip协议一的更多相关文章

  1. 门面模式的典型应用 Socket 和 Http(post,get)、TCP/IP 协议的关系总结

    门面模式的一个典型应用:Socket 套接字(Socket)是通信的基石,是支持TCP/IP协议的网络通信的基本操作单元.它是网络通信过程中端点的抽象表示,包含进行网络通信必须的五种信息: 连接使用的 ...

  2. OSI七层模型详解 TCP/IP协议

      总结 OSI中的层 功能 TCP/IP协议族 应用层 文件传输,电子邮件,文件服务,虚拟终端 TFTP,HTTP,SNMP,FTP,SMTP,DNS,Telnet 等等 表示层 数据格式化,代码转 ...

  3. TCP/IP协议(二)tcp/ip基础知识

    今天凌晨时候看书,突然想到一个问题:怎样做到持续学习?然后得出这样一个结论:放弃不必要的社交,控制欲望,克服懒惰... 然后又有了新的问题:学习效率时高时低,状态不好怎么解决?这也是我最近在思考的问题 ...

  4. TCP/IP协议(一)网络基础知识

    参考书籍为<图解tcp/ip>-第五版.这篇随笔,主要内容还是TCP/IP所必备的基础知识,包括计算机与网络发展的历史及标准化过程(简述).OSI参考模型.网络概念的本质.网络构建的设备等 ...

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

    信号的传输总要符合一定的协议.比如说长城上放狼烟,是因为人们已经预先设定好狼烟这个物理信号代表了“敌人入侵”这一抽象信号.这样一个“狼烟=敌人入侵”就是一个简单的协议. 信号的传输总要符合一定的协议( ...

  6. TCP/IP协议三次握手与四次握手流程解析

    原文链接地址:http://www.2cto.com/net/201310/251896.html TCP/IP协议三次握手与四次握手流程解析 TCP/IP协议的详细信息参看<TCP/IP协议详 ...

  7. 【原创】技术往事:改变世界的TCP/IP协议(珍贵多图、手机慎点)

    1.前言 作为应用层开发人员,接触最多的网络协议通常都是传输层的TCP(与之同处一层的另一个重要协议是UDP协议),但对于IP协议,对于应用程序员来说更多的印象还是IP地址这个东西,再往深一点也就很难 ...

  8. TCP/IP协议

    1.为什么有了IP地址还需要MAC地址? 首先,数据或者信息在网络上的传输需要两个地址:目的地址和下一跳地址.其中IP地址就是目的地址,而MAC地址则是下一跳地址.目的地址在经过路由器转发的时候是不会 ...

  9. HTTP协议—— 简单认识TCP/IP协议

    大学没读计算机专业,所以很多的专业知识都不知道.既然已经从事了IT这个行业,就势必要去了解下网络底层,虽然实际工作中这些东西用不到.高楼大厦,起于平川.不积跬步,无以至千里,不积小流,无以成江海.我现 ...

  10. Http TCP/IP 协议的关系

    转自:http://www.cnblogs.com/ymy124/archive/2012/03/18/2404958.html 项目要求Web服务是高安全级别,在选择.net remoting,we ...

随机推荐

  1. VSCode 配置 Spring Boot 项目开发环境

    神器IDEA在升级到2023之后越发卡顿, EDU邮箱也不能用了, 照现在这个JDK版本的升级速度, 神器不升级也不行, 需要开始物色替代品. 其它IDE我用得少, VSCode还是比较熟悉的, 可以 ...

  2. react 修改页面title - react-document-title

    安装 cnpm install --save react-document-title 引用 import DocumentTitle from 'react-document-title' 代码 & ...

  3. python的GUI工具dearpygui入门指南

    一 概念 1.dearpygui 它是一个易于使用的.动态的.GPU加速的.跨平台的.适用于Python的图形用户界面工具包(GUI). 2.特性 GPU 渲染 简单的内置异步功能支持 完整的主题和样 ...

  4. 基于Apollo3 Blue MCU芯片的可穿戴产品解决方案开发之健康手环源码解析

    一 前记 健康手环是Apollo3 Blue的一个主打业务,也是该芯片最适合做的产品,在健康穿戴设备领域,该芯片有着对场景的透彻理解和技术的深厚积累. 二 源码分析 协议栈初始化: exactle_s ...

  5. 修改easyui日期控件只显示年月,并且只能选择年月

    <!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title> ...

  6. Shell 编写摘要 (一)

    PS:要转载请注明出处,本人版权所有. PS: 这个只是基于<我自己>的理解, 如果和你的原则及想法相冲突,请谅解,勿喷. 前置说明   本文作为本人csdn blog的主站的备份.(Bl ...

  7. 【线段树】【leetcode 729. 我的日程安排表 I】

    class MyCalendar { class Seg { int l; int r; boolean val; Seg left; Seg right; public Seg(int x, int ...

  8. 【STM32F4 HAL】MPU6050食用

    关于MPU6050模块的食用>_<(本人比较菜,写的不好或有错误的地方欢迎大佬指出) 最近学校冬令营发了个MPU6050模块,第一次弄也花了我花了不少时间,于是就把其中一些步骤以及要点简单 ...

  9. django(Ajax、自定义分页器、form组件)

    一.Ajax 1 概述 异步提交局部刷新 例子:github注册 动态获取用户名实时的跟后端确认并实时展示到前端(局部刷新) 朝后端发送请求的方式 1.浏览器地址栏直接输入url回车 GET请求 2. ...

  10. uni学习笔记分享

    目录介绍 01.遇到问题汇总 02.关于布局设置 03.基础语法总结 04.关于交互问题 06.关于回传数据 07.关于网络请求 08.关于页面刷新 09.关于注意问题 10.待解决和思考 01.遇到 ...