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. [JSOI2007]合金

    Description 某公司加工一种由铁.铝.锡组成的合金.他们的工作很简单.首先进口一些铁铝锡合金原材料,不同种类的 原材料中铁铝锡的比重不同.然后,将每种原材料取出一定量,经过融解.混合,得到新 ...

  2. 51nod 1514 美妙的序列

    Description 长度为n的排列,且满足从中间任意位置划分为两个非空数列后,左边的最大值>右边的最小值.问这样的排列有多少个%998244353 题面 Solution 正难则反 \(f[ ...

  3. 51 nod 1681 公共祖先 (主席树+dfs序)

    1681 公共祖先 基准时间限制:1 秒 空间限制:131072 KB 分值: 80 难度:5级算法题   有一个庞大的家族,共n人.已知这n个人的祖辈关系正好形成树形结构(即父亲向儿子连边). 在另 ...

  4. 【IOI1998】Picture(扫描线+线段树)

    问题来源:IOI1998 D2T1 题意:就是在一个平面内给出n个矩形,叫你计算将这些矩形合并以后,新图形的周长. 例如: 上图是原本的矩形们 ---------->合并后的图形 解题思路:拿一 ...

  5. hdu2669与hdu1576(扩展欧几里德)

    模板: int Extend_Euclid(int a, int b, int &x, int &y){         if(b == 0){             x = 1; ...

  6. 【USACO】又买饲料 单调队列dp

    题目描述 约翰开车回家,又准备顺路买点饲料了(咦?为啥要说“又”字?)回家的路程一共有 E 公里, 这一路上会经过 N 家商店,第 i 家店里有 F i 吨饲料,售价为每吨 C i 元.约翰打算买 K ...

  7. HDU 5412 CRB and Queries 动态整体二分

    Problem Description There are N boys in CodeLand.Boy i has his coding skill Ai.CRB wants to know who ...

  8. Linux 脚本为什么会有#!

    我们在Linux系统终端编辑脚本时第一行通常这么写: #!/usr/bin/env python3 为什么要写这一行,起什么作用? 我们先看看不写这一行会出现什么?那么就会报下面的错误. #!/usr ...

  9. c语言程序第2次作业

    (一)改错题 1.输出带框文字:在屏幕上输出以下3行信息. 错误信息1:{{uploading-image-560144.png(uploading...)} 错误原因:stdio误写为stido 错 ...

  10. Chinese-Text-Classification:Tensorflow CNN 模型实现的中文文本分类器[不分词版]

    从现在的结果来看,分词的版本准确率稍微高一点. 训练过程: 模型评估: 实验三,准备换一下数据集,用这里的数据集来跑这个模型:https://zhuanlan.zhihu.com/p/30736422 ...