协议系列之IP协议
1、协议
协议(protocol)的定义:为计算机网络中进行数据交换而建立的规则、标准或约定的集合。两个终端相互通信时双方达成的一种约定,规定了一套通信规则,双方通信必须遵守这些规则。这些规则规定了分组报文的交换方式、报文的结构、报文每部分所代表的意思(例如从n位到m位表示目的地址),以及规定了怎样解析次协议的报文。举个例子,我们打开浏览器后,输入http://www.baidu.com,此时即是使用了HTTP协议进行通信,HTTP协议的设定就是为了约束规范浏览器跟服务器双方的通信。浏览器发送的HTTP报文包含了服务器需要的信息,服务器接到报文对其进行解析,然后返回浏览器需要的HTTP报文,这样就完成了一次通信,解决了双方之间通信的问题。
协议包含三要素:①语义,解释控制信息每个部分的意义。②语法,用户数据于控制信息的结构与格式,以及数据出现的顺序。③时序,对事件发生顺序的详细说明。简单说来就是要做什么,要怎么做,做的顺序。
2、IP协议
IP协议即因特网协议。这是一个网络层的协议,它规定了数据包的格式、基本单元、打包方法、递交办法、路由选择、传输方法以及传输路线。就像现实生活中,一个工厂把产品产出来后,需要运送到全国各地去卖。这是需要先确定好用箱子存放产品,接着多少个产品放一箱,箱子的规格,产品的规格,这些产品怎么摆放,用什么交通方式运送,运送的路线是什么,目的地是哪里等等,最后才能完好无损地送到目的地。
IP协议作为TCP/IP协议的载体,是TCP/IP协议的核心协议,因为TCP、UDP等协议的数据发送都是以IP数据报格式发送。图2-2-2-1展示了一个完整的IP协议报文,其中包括了像源IP地址跟目的IP地址等信息,表明了“我从哪里来,要到哪里去”。校验和通过一个简单的数学计算,验证数据报的完整性。我们主要了解IP报文结构即可,其他字段的不在这里展出,有兴趣的朋友可以查找相关资料。
图2-2-2-1 IP协议报文
IP协议主要负责在主机间寻址并为数据包设定路由,它提供不可靠、无连接的数据传输服务。为什么是不可靠、无连接的?因为它不保证IP数据能正确传递至目的地,一旦发生某种错误,可能丢弃数据包,而且在数据被接收到时,IP协议不需要收到确认,这些都造成了其不可靠性。而在数据交换前不建立会话则是说明了其无连接状态。
IP协议是一个基础协议,任何建立在IP协议基础上,利用IP协议传输的其他协议,都会将自己的数据包以一定的格式追加到IP数据包里面,作为载体。最终在接收端对接收到的IP数据包进行解包。
喜欢研究java的同学可以交个朋友,下面是本人的微信号:
协议系列之IP协议的更多相关文章
- 协议系列之UDP协议
上节说的TCP协议虽然提供了可靠的传输,但是也有一个缺点,发送速度慢.那么有没有一种协议能快速发送的呢?这节要讨论的就是UDP协议,它提供了更加快的发送速度,但也牺牲了可靠性,它是一种无连接的传输协议 ...
- 协议系列之TCP协议
3.TCP协议 从上一节我们了解了什么是IP协议,以及IP协议的一些特性,利用IP协议传输都是单向的,不可靠的,无连接状态的.正是这些特性,于是便产生了TCP协议.TCP协议属于传输层,在IP协议网络 ...
- HTTP协议与TCP/IP协议
OSI 是7层 TCP/IP 协议是 4层. OIS 包括的层 从底到上依次为 1.物理层 2.数据链路层 3.网络层 4.传输层 5.会话层 6.表示层 7.应用层 TCP/IP ...
- 网络协议之TCP/IP协议
沙漏计时器型TCP/IP协议族,允许IP on everyting,即支持多种形式和物理层和数据链路层实现:同时支持多种多样的应用层协议,扩展了各式各样的服务. IP协议(网际协议) 与IP协议配套使 ...
- 协议系列之HTTP协议
什么是HTTP\HTTPS HTTP是Hyper Text Transfer Protocol(超文本传输协议)的缩写.HTTP协议用于从WWWserver传输超文本到本地浏览器的传输协议,它能使浏览 ...
- 计算机网络协议OSI TCP/IP协议--001
网桥:连接同构的LAN的网络互联设备,(同构的LAN 网是,应用层到逻辑层) 实 现的功能是:MAC子层和物理层.1.帧的发送与接收.2.缓冲的管理.3.协议转换. 路由器:在网络层实现互联,他 ...
- OSI协议与TCP\IP协议之间的关系
OSI协议 TCP\IP协议 五层协议(学习参考) 应用层 应用层 应用层 表示层 会话层 运输层 运输层 运输层 网络层 网络层 网络层 数据链路层 网络接口层 数据链路层 物理层 物理层 基于五层 ...
- TFTP服务 简单文件传输协议)是TCP/IP协议族中的一个用来在客户机与服务器之间进行简单文件传输的协议,默认端口号为69
(1)yum安装:tftp.tftp-server (2)启动tftp CentOS 6 service xinetd restart chkconfig tftp on CentOS 7 sys ...
- Android网络编程系列 一 TCP/IP协议族之网际层
这篇借鉴的文章主要是用于后续文章知识点的扩散,在此特作备份和扩散学习交流. 网际层包括:IP.ICMP.IGMP 以及处在网际层实际工作在链路层的 ARP 和 RARP等等协议. 1.IP协议 互联网 ...
随机推荐
- ●HDU 3689 Infinite monkey theorem
题链: http://acm.hdu.edu.cn/showproblem.php?pid=3689题解: KMP,概率dp (字符串都从1位置开始) 首先对模式串S建立next数组. 定义dp[i] ...
- [Apio2012]dispatching 左偏树
题目描述 在一个忍者的帮派里,一些忍者们被选中派遣给顾客,然后依据自己的工作获取报偿.在这个帮派里,有一名忍者被称之为 Master.除了 Master以外,每名忍者都有且仅有一个上级.为保密,同时增 ...
- ●BZOJ 4453 cys就是要拿英魂!
题链: http://www.lydsy.com/JudgeOnline/problem.php?id=4453 题解: 后缀数组,离线询问,栈看了一堆题解才看懂,太弱啦 ~ 如果对于一个区间[l,r ...
- MQ(消息队列)常见的应用场景解析
前言 提高系统性能首先考虑的是数据库的优化,之前一篇文章<数据库的使用你可能忽略了这些>中有提到过开发中,针对数据库需要注意的事项.但是数据库因为历史原因,横向扩展是一件非常复杂的工程,所 ...
- python dataframe数据条件筛选
一般情况下我们从一堆数据中选择我们获取想要的数据会通过一下方式: (1)创建链表或数组: (2)用for 循环遍历所有数据,将想要的存入链表或数组. 但是python中我们不需要这么做,我们可以用Pa ...
- 浙大patB习题的一点总结
嘛嘛,patB的习题已经结束了,这些基本上没有啥特别难的,但还是有几道特别坑爹的题(o(╯□╰)o),还是把这些题的代码打包上传吧.
- .net如何引用System.Drawing.Drawing2D 命名空间和System.Drawing.Image及其相关概念
其实这个很简单,直接在引用那里单击右键选择添加框架,然后找到System.Drawing就OK了, 其实并没有网上所说的那样需要下载什么Drawing.BLL. 首先Syetem.Drawing.Dr ...
- 8.QT-对话框(模态与非模态)
对话框介绍 对话框是于用户进行简易交互的顶层窗口 QDialog是Qt中所有对话框窗口的父类,是一种容器类型的组件 QDialog继承于QWidget类,如下图所示: QWidget和QDialog有 ...
- 认识Json解析json生成json
.markdown-body hr::after,.markdown-body::after { clear: both } .loopLine,.messageLine0 { } .markdown ...
- Cisco Port-Channel 设置(链路聚合)
Port-Channel 的在实际工作中的主要作用是将两个或多个端口捆绑成为一个虚拟通道. interface Port-channel1 description port(1/0/5-6) swit ...