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协议的更多相关文章

  1. 协议系列之UDP协议

    上节说的TCP协议虽然提供了可靠的传输,但是也有一个缺点,发送速度慢.那么有没有一种协议能快速发送的呢?这节要讨论的就是UDP协议,它提供了更加快的发送速度,但也牺牲了可靠性,它是一种无连接的传输协议 ...

  2. 协议系列之TCP协议

    3.TCP协议 从上一节我们了解了什么是IP协议,以及IP协议的一些特性,利用IP协议传输都是单向的,不可靠的,无连接状态的.正是这些特性,于是便产生了TCP协议.TCP协议属于传输层,在IP协议网络 ...

  3. HTTP协议与TCP/IP协议

    OSI 是7层         TCP/IP 协议是 4层. OIS 包括的层 从底到上依次为 1.物理层 2.数据链路层 3.网络层 4.传输层 5.会话层 6.表示层 7.应用层 TCP/IP  ...

  4. 网络协议之TCP/IP协议

    沙漏计时器型TCP/IP协议族,允许IP on everyting,即支持多种形式和物理层和数据链路层实现:同时支持多种多样的应用层协议,扩展了各式各样的服务. IP协议(网际协议) 与IP协议配套使 ...

  5. 协议系列之HTTP协议

    什么是HTTP\HTTPS HTTP是Hyper Text Transfer Protocol(超文本传输协议)的缩写.HTTP协议用于从WWWserver传输超文本到本地浏览器的传输协议,它能使浏览 ...

  6. 计算机网络协议OSI TCP/IP协议--001

    网桥:连接同构的LAN的网络互联设备,(同构的LAN 网是,应用层到逻辑层)   实  现的功能是:MAC子层和物理层.1.帧的发送与接收.2.缓冲的管理.3.协议转换. 路由器:在网络层实现互联,他 ...

  7. OSI协议与TCP\IP协议之间的关系

    OSI协议 TCP\IP协议 五层协议(学习参考) 应用层 应用层 应用层 表示层 会话层 运输层 运输层 运输层 网络层 网络层 网络层 数据链路层 网络接口层 数据链路层 物理层 物理层 基于五层 ...

  8. TFTP服务 简单文件传输协议)是TCP/IP协议族中的一个用来在客户机与服务器之间进行简单文件传输的协议,默认端口号为69

    (1)yum安装:tftp.tftp-server   (2)启动tftp CentOS 6 service xinetd restart chkconfig tftp on CentOS 7 sys ...

  9. Android网络编程系列 一 TCP/IP协议族之网际层

    这篇借鉴的文章主要是用于后续文章知识点的扩散,在此特作备份和扩散学习交流. 网际层包括:IP.ICMP.IGMP 以及处在网际层实际工作在链路层的 ARP 和 RARP等等协议. 1.IP协议 互联网 ...

随机推荐

  1. Shell的基本命令(第一天),根据w3c学习得

    Shell是一种应用程序,提供一个界面访问操作系统内核的服务. 1:编写shell脚本 vi test.sh #!/bin/bash #指定这个脚本需要什么解释器来执行 echo "Hell ...

  2. [ZJOI2008]生日聚会

    题目描述 今天是hidadz小朋友的生日,她邀请了许多朋友来参加她的生日party. hidadz带着朋友们来到花园中,打算坐成一排玩游戏.为了游戏不至于无聊,就座的方案应满足如下条件: 对于任意连续 ...

  3. hdu 1166 线段树(sum+单点修改)

    敌兵布阵 Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/32768 K (Java/Others) Total Submi ...

  4. inline使用

    二八法则: 1.将inline限定在最小的,最频繁调用的函数上面.这会使你的调试,二进制升级变得容易,并能将潜在的代码膨胀问题最小化,提高程序运行速度可能性最大化. 2.不要仅仅因为函数模板出现在头文 ...

  5. JavaTCP和UDP套接字编程

    在我们刚开始入门Java后端的时候可能你会觉得有点复杂,包含了很多杂七杂八的知识,例如文件上传下载,监听器,JDBC,请求重定向,请求转发等等(当然也没有很多),但是我们自己真正的去开发一个小型网站( ...

  6. 使用word

    同样这也是生活中常用到的办公软件,word本质是一个排版软件,它与一般的编辑器不同的是,它将整个文本分成了一页一页的,当然这也是方便于打印文档. 使用word还是很容易的,一般来说需要注意以下几方面的 ...

  7. 《Java技术》第一次作业——Java语言基础

    学习总结 Scanner类实现基本数据输入的方法 Scanner 使用分隔符模式将其输入分解为标记,默认情况下该分隔符模式与空白匹配.然后可以使用不同的 next 方法将得到的标记转换为不同类型的值. ...

  8. Vue2学习结合bootstrapTable遇到的问题

    Vue2学习 项目中在使用bootstrapTable的时候,在table里面会有操作结合vue使用过程中点击相应的操作不会起作用 解决办法 1.把事件绑定到父元素上即可,但要判断什么样的需要点击,用 ...

  9. ES6(数组)

    ES6数组新增特性 1. 空数组 2.将伪数组转换成真正的数组 将 p 标签集合转换成真正数组 类似于map的用法,转换数组同时还在遍历. 3.填充数组(将所有数组换成一个值) 1代表起始位置,3代表 ...

  10. 如何在 vmware esxi 中开放 VNC功能及端口实现远程管理 完整篇

    VMWare esxi中开放 VNC功能及端口实现远程管理 完整篇 在多个论坛上看了相关文章,总的写得不完整.现将各方资源整编写完整版.详文如下! (图片来自51CTO) 步骤1. 修改ESXi主机的 ...