什么是ip协议一
前言
两节结束,为网络底层系列做铺垫。
首先来看一张图:

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协议一的更多相关文章
- 门面模式的典型应用 Socket 和 Http(post,get)、TCP/IP 协议的关系总结
门面模式的一个典型应用:Socket 套接字(Socket)是通信的基石,是支持TCP/IP协议的网络通信的基本操作单元.它是网络通信过程中端点的抽象表示,包含进行网络通信必须的五种信息: 连接使用的 ...
- OSI七层模型详解 TCP/IP协议
总结 OSI中的层 功能 TCP/IP协议族 应用层 文件传输,电子邮件,文件服务,虚拟终端 TFTP,HTTP,SNMP,FTP,SMTP,DNS,Telnet 等等 表示层 数据格式化,代码转 ...
- TCP/IP协议(二)tcp/ip基础知识
今天凌晨时候看书,突然想到一个问题:怎样做到持续学习?然后得出这样一个结论:放弃不必要的社交,控制欲望,克服懒惰... 然后又有了新的问题:学习效率时高时低,状态不好怎么解决?这也是我最近在思考的问题 ...
- TCP/IP协议(一)网络基础知识
参考书籍为<图解tcp/ip>-第五版.这篇随笔,主要内容还是TCP/IP所必备的基础知识,包括计算机与网络发展的历史及标准化过程(简述).OSI参考模型.网络概念的本质.网络构建的设备等 ...
- TCP/IP协议详解——邮差与邮局
信号的传输总要符合一定的协议.比如说长城上放狼烟,是因为人们已经预先设定好狼烟这个物理信号代表了“敌人入侵”这一抽象信号.这样一个“狼烟=敌人入侵”就是一个简单的协议. 信号的传输总要符合一定的协议( ...
- TCP/IP协议三次握手与四次握手流程解析
原文链接地址:http://www.2cto.com/net/201310/251896.html TCP/IP协议三次握手与四次握手流程解析 TCP/IP协议的详细信息参看<TCP/IP协议详 ...
- 【原创】技术往事:改变世界的TCP/IP协议(珍贵多图、手机慎点)
1.前言 作为应用层开发人员,接触最多的网络协议通常都是传输层的TCP(与之同处一层的另一个重要协议是UDP协议),但对于IP协议,对于应用程序员来说更多的印象还是IP地址这个东西,再往深一点也就很难 ...
- TCP/IP协议
1.为什么有了IP地址还需要MAC地址? 首先,数据或者信息在网络上的传输需要两个地址:目的地址和下一跳地址.其中IP地址就是目的地址,而MAC地址则是下一跳地址.目的地址在经过路由器转发的时候是不会 ...
- HTTP协议—— 简单认识TCP/IP协议
大学没读计算机专业,所以很多的专业知识都不知道.既然已经从事了IT这个行业,就势必要去了解下网络底层,虽然实际工作中这些东西用不到.高楼大厦,起于平川.不积跬步,无以至千里,不积小流,无以成江海.我现 ...
- Http TCP/IP 协议的关系
转自:http://www.cnblogs.com/ymy124/archive/2012/03/18/2404958.html 项目要求Web服务是高安全级别,在选择.net remoting,we ...
随机推荐
- Alertmanager钉钉告警
一.部署alertmanager 1.1 创建目录 mkdir -p /deploy/app/alertmanager/config chmod -R 777 /deploy/app/alertman ...
- python使用selenium适配谷歌浏览器插件, chromedriver与chrome各版本及下载地址
python selenium使用,需要谷歌chromedriver.exe插件 chromedriver.exe插件是放在python的安装目录下(亲测,其它的都不对) 以下是chromedrive ...
- 轻松驾驭Python格式化:5个F-String实用技巧分享
F-String(格式化字符串字面值)是在Python 3.6中引入的,它是一种非常强大且灵活的字符串格式化方法. 它允许你在字符串中嵌入表达式,这些表达式在运行时会被求值并转换为字符串,这种特性使得 ...
- 使用LabVIEW打开默认应用程序中的文档(PDF,Word,Excel,Html)
问题详情 我想让我的LabVIEW VI使用默认应用程序打开硬盘上的文档.如何实现? 解决方案 有一个名为 "Open a Document on Disk.vi" 的 VI,它可 ...
- live [lɪv , laɪv] 动词读lɪv 形容词读laɪv
live [lɪv , laɪv] 动词读lɪv 形容词读laɪv live 英 [lɪv , laɪv] 美 [lɪv , laɪv] v. 居住;住;生存;(尤指在某时期)活着;(以某种方式)生活 ...
- 摆脱鼠标系列 - vscode 上一个编辑器 下一个编辑器 Ctrl + h Ctrl + l
摆脱鼠标系列 - vscode 上一个编辑器 下一个编辑器 Ctrl + H Ctrl + L 为什么 根据 hjkl h是左边的原则 h 左移一位 b 左移一个单词 H 移动到句首 0 是行首 I是 ...
- 线上机器 swap 过高导致告警
哈喽大家好,我是咸鱼. 今天收到了一个告警,说有台服务器上的 swap 过高,已经用了 50% 以上了. 登录机器查看一下内存以及 swap 的使用情况. [root@localhost ~]# fr ...
- 多线程系列(十九) -Future使用详解
一.摘要 在前几篇线程系列文章中,我们介绍了线程池的相关技术,任务执行类只需要实现Runnable接口,然后交给线程池,就可以轻松的实现异步执行多个任务的目标,提升程序的执行效率,比如如下异步执行任务 ...
- Kotlin学习快速入门(12)—— 位运算符
由于不懂pythod,最近拜托朋友研究下解密live2d模型的解密算法,朋友写出了Java的代码 之后我进行改版,在转为kotlin的时候,发现kotlin自动转换有些坑,以及kotlin中的位运算符 ...
- C++容器、类型转换、异常与文件流操作
C++容器.类型转换.异常与文件流操作 目录 C++容器.类型转换.异常与文件流操作 容器 序列式容器/顺序容器 向量(vector) 列表 (list) 双端队列(deque) 栈(stack) 队 ...