IP(internet protocol, 网际协议)

IP相当于OSI参考模型中的第三层 -- 网络层。

--网络层的下一层--数据链路层的主要作用是在 同一种数据链路 的节点之间进行包传递,而一旦跨越多种数据链路,就需要借助网络层。

网络层 和数据链路层的关系:

数据链路层负责两个直连设备之间的通信, 作为网络层的IP负责实现 没有直连的两个网络层 之间的通信。

IP地址:

之前介绍过数据链路中的MAC地址(网卡地址),其作用是区分同一个链路中的不同的计算机。作为网络层的IP也有这种地址信息,成为IP地址,在TCP/IP通信中,所有的主机,路由器都必须设定自己的IP地址。

路由控制:

世界上有很多个子网络,每个自网络都是由很多个计算机构成的。从源计算机发出的数据,要最终到达目标计算机,中间需要经过很多子网络,每个子网络都有一个路由器,路由器负责自网络之间的通信。源计算机发出的数据,到第一个离自己最近的路由器之后,该路由器看到目标计算机的IP,会查看路由控制表格(每个路由器都有一份),根据该表格决定将数据发送到哪一个子网络,,下一个路由器收到后做同样的动作,最终将信息传递给目标计算机。

图中一跳 指的是:从源mac地址到目标mac地址之间的区间,是 一个主机或路由器的网卡 不经过其他路由器而直接到达相邻 主机/路由器的网卡的一个区间。

IP属于面向无连接类型:

IP面向无连接,即在发包之前不需要建立与对端目标地址之间的连接,直接发送,即使对端主机关机或不存在也会将包发送。

IP为什么采用面向无连接类型呢: 原因1)简化  2) 提速。面向连接比面向无连接更加复杂,甚至管理每个连接本身都会是一个相当繁琐的过程,另外每次传送之前都需要先建立连接,会降低速度。

需要有连接时,可以委托IP所在层(网络层)的上一层(传输层)提供此服务。

Ref:

《图解TCP/IP》--竹下隆史  4.1,4.2章节

TCP/IP学习笔记12-- IP协议基础的更多相关文章

  1. TCP/IP学习笔记7--TCP/IP模型通信例子学习

    "一位如蝴蝶般美丽的女子向我飞来,翩翩的舞姿如同云端轻盈的叶儿." -------------------------------------------------------- ...

  2. TCP/IP学习笔记6--TCP/IP模型

    "五月的风慢慢地吹过湖面,泛起波浪层层,一只鸟儿飞过来,在我面前婉转歌唱" TCP/IP是当今计算机网络世界使用最为广泛的协议.该方面的知识对于那些想做网络编程的人来说是只至关重要 ...

  3. tcp/ip学习笔记-TCP

    tcp/ip学习笔记-TCP 彭会锋 报文发送采用的是tcp_output函数,

  4. Linux 学习笔记之超详细基础linux命令 Part 12

    Linux学习笔记之超详细基础linux命令 by:授客 QQ:1033553122 ---------------------------------接Part 11---------------- ...

  5. Linux 学习笔记之超详细基础linux命令(the end)

    Linux学习笔记之超详细基础linux命令 by:授客 QQ:1033553122 ---------------------------------接Part 14---------------- ...

  6. Java IO学习笔记四:Socket基础

    作者:Grey 原文地址:Java IO学习笔记四:Socket基础 准备两个Linux实例(安装好jdk1.8),我准备的两个实例的ip地址分别为: io1实例:192.168.205.138 io ...

  7. Linux 学习笔记之超详细基础linux命令 Part 14

    Linux学习笔记之超详细基础linux命令 by:授客 QQ:1033553122 ---------------------------------接Part 13---------------- ...

  8. Linux 学习笔记之超详细基础linux命令 Part 13

    Linux学习笔记之超详细基础linux命令 by:授客 QQ:1033553122 ---------------------------------接Part 12---------------- ...

  9. Linux 学习笔记之超详细基础linux命令 Part 9

    Linux学习笔记之超详细基础linux命令 by:授客 QQ:1033553122 ---------------------------------接Part 8----------------- ...

  10. Linux 学习笔记之超详细基础linux命令 Part 7

    Linux学习笔记之超详细基础linux命令 by:授客 QQ:1033553122 ---------------------------------接Part 6----------------- ...

随机推荐

  1. spark中的scalaAPI之RDDAPI常用操作

    package com.XXX import org.apache.spark.storage.StorageLevel import org.apache.spark.{SparkConf, Spa ...

  2. May Cook-Off 2019 解题报告

    太气了.Atcoder unrated了. 这一场时间太不友好了.昨天下午一时兴起就去补了一发.题很好,学到好多东西. Chain Reaction 题意:给一个矩阵,这个矩阵是稳定的当且仅当每一个元 ...

  3. C++ socket bind() 函数绑定错误

    VS2015编译错误: errorCxxxx: 'initializing' : cannot convert from 'std::_Bind<false,void,SOCKET&,s ...

  4. mysql addtime() 函数

    mysql> select addtime('1997-12-31 23:59:52' , '1 1:1:1'); +-------------------------------------- ...

  5. nRF51822 Beacon 扫描请求包的设置

    Nordic 公司自己做有 iBeacon的板子和 SDK,很少有人拥有这个SDK,我最近在朋友那也拿到了一个,但是还没有时间看. 现在我们用普通的SDK自带的 Beacon 例程来做开发,开发的时相 ...

  6. JS filter的使用

    定义和用法 filter() 方法创建一个新的数组,新数组中的元素是通过检查指定数组中符合条件的所有元素. 注意: filter() 不会对空数组进行检测. 注意: filter() 不会改变原始数组 ...

  7. HAProxy+Keepalived高可用负载均衡

    一 基础准备 1.1 部署环境及说明 系统OS:CentOS 6.8 64位 HAProxy软件:HA-Proxy version 1.5.18 Keepalived软件:keepalived-1.3 ...

  8. D3.js的v5版本入门教程(第十一章)——交互式操作

    D3.js的v5版本入门教程(第十一章) 与图形进行交互操作是很重要的!所谓的交互操作也就是为图形元素添加监听事件,比如说当你鼠标放在某个图形元素上面的时候,就会显示相应的文字,而当鼠标移开后,文字就 ...

  9. iview 的事件绑定

    iview 内的组件样式是不错,有时候我们想用它且绑定某个事件: 比如,我们使用了步骤条组件(Steps),然后绑定点击事件,实现每次点击某个步骤条内的step 就显示此step的具体信息, < ...

  10. edusoho上传视频弹出abort之解决方案

    错误描述:edusoho上传如avi.mp4等容量大的图片(如100m以上或500m等)弹出abort提示框 原因:是因为web服务器apache默认上传文件有限制导致的 解决办法如下: (1)首先修 ...