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. [HNOI 2014]画框

    Description 题库链接 \(T\) 组询问,每组询问给你个 \(2\times N\) 的带权二分图,两个权值 \(a,b\) ,让你做匹配使得 \[\sum a\times \sum b\ ...

  2. [Codeforces]852A - Digits

    题目大意:给一个10^200000以内的数字,支持一种操作:在数字之间加若干个加号,把原数字变为加法运算后的结果,要求在三次操作内把数字变成个位数,输出方案. 做法:直观的想法是每两位之间都塞加号,事 ...

  3. poj 3335 Rotating Scoreboard(半平面交)

    Rotating Scoreboard Time Limit: 2000MS   Memory Limit: 65536K Total Submissions: 6420   Accepted: 25 ...

  4. hdu3183 RMQ

    A Magic Lamp Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others) Tot ...

  5. IOS UITextView支持输入、复制、粘贴、剪切自定义表情

    UITextView是ios的富文本编辑控件,除了文字还可以插入图片等.今天主要介绍一下UITextView对自定义表情的处理. 1.首先识别出文本中的表情文本,然后在对应的位置插入NSTextAtt ...

  6. angular-cli学习笔记 快速创建代码模板

    组件: ng g component component/demo 服务: ng g service service/news 然后在app.module.ts里引入 ng g service ser ...

  7. Python小代码_8_今天是今年的第几天

    import time date = time.localtime() print(date) #time.struct_time(tm_year=2018, tm_mon=2, tm_mday=24 ...

  8. jmeter录制APP时不能登录的问题

    问题描述: 录制APP时,其他一切挺顺利的,但在登录的时候提示"服务器发生未知错误,请稍后重试".一开始以为是接口问题,用python脚本调用了下,是可以登录的,排除接口问题.百度 ...

  9. 【python标准库模块三】Os模块和Sys模块学习

    Os模块 导入os模块 import os 获取当前工作目录 os.getcwd() 切换目录,跟linux中的cd一样 os.chdir("文件夹名") 递归生成文件夹 os.m ...

  10. Node.js 流

    稳定性: 2 - 不稳定 流是一个抽象接口,在 Node 里被不同的对象实现.例如request to an HTTPserver 是流,stdout 是流.流是可读,可写,或者可读写.所有的流是 E ...