什么是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 ...
随机推荐
- Ubuntu 离线安装软件包
Ubuntu 离线安装软件包 关键词:apt-offline,Ubuntu,dpkg,.deb 本文使用的ubuntu20.04,当机器无法连接外网时,我们使用离线的方式安装软件包. 离线安装的软件包 ...
- RabbitMQ 快速复习
目录 RabbitMQ学习笔记 1.消息队列概述 1.1 为什么学习消息队列 1.2 什么是消息中间件 1.3 消息队列应用场景 1.3.1 异步处理 1.3.2 解耦服务 1.3.3 流量削峰 1. ...
- 动态less 解决 vue main.js
// 引入主题文件 // eslint-disable-next-line no-unused-expressions import('./theme/color/' + config.theme + ...
- C#使用Stateless和箭头控件实现状态机的控制及显示
之前开发一个小工具,内部实现一个状态机,并显示状态机当前状态及状态间的转移过程.我使用了Stateless开源类库及一个开源自定义箭头控件.自定义箭头控件是HZHControls其中一个控件,我单独把 ...
- Kotlin/Java 读取Jar文件里的指定文件
原文地址:Kotlin/Java 读取Jar文件里的指定文件 | Stars-One的杂货小窝 jar包本质上也是压缩文件,下面给出如何读取jar包里某个文件的源码: val jarFile = Ja ...
- 【Linux】Git 安装最新版
# 移除旧版 Git yum remove git # 安装依赖包 yum install curl-devel expat-devel gettext-devel openssl-devel zli ...
- 为什么说HTTPS比HTTP安全? HTTPS是如何保证安全的?
这里给大家分享我在网上总结出来的一些知识,希望对大家有所帮助 一.安全特性 在上篇文章中,我们了解到HTTP在通信过程中,存在以下问题: 通信使用明文(不加密),内容可能被窃听 不验证通信方的身份,因 ...
- 你是怎么理解ES6中 Promise的?使用场景?
这里给大家分享我在网上总结出来的一些知识,希望对大家有所帮助 一.介绍 Promise,译为承诺,是异步编程的一种解决方案,比传统的解决方案(回调函数)更加合理和更加强大 在以往我们如果处理多层异步操 ...
- 记录--用了那么久的Vue,你了解Vue的报错机制吗?
这里给大家分享我在网上总结出来的一些知识,希望对大家有所帮助 Vue的5种处理Vue异常的方法 相信大家对Vue都不陌生.在使用Vue的时候也会遇到报错,也会使用浏览器的F12 来查看报错信息.但 ...
- matlab的基本操作
matlab的基本操作 1.写在前面 最近在处理一些作业时用到了matlab,发现以前学习的语句已经忘得差不多了.现在找到以前的学习资料,重新复习一下.顺便总结一下知识点,以免下一次使用时又忘记了而又 ...