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. python 中的tile函数,shape函数,sum函数

    1.tile函数: tile函数是模板numpy.lib.shape_base中的函数.函数的形式是tile(A,reps) A的类型几乎所有类型都可以:array, list, tuple, dic ...

  2. STM32F103 串口-IAP程序升级

    STM32F103 串口-IAP程序升级 通常情况下我们给STM32系列的单片机烧录程序文件的时候,使用SWD.J-link或者通过设置BOOT引脚后,使用串口进行程序下载,这样的方式直接一次性将程序 ...

  3. 简述Python的深浅拷贝以及应用场景?

    浅拷贝:copy.copy                       深拷贝:copy.deepcopy 浅拷贝指仅仅拷贝数据集合的第一层数据,深拷贝指拷贝数据集合的所有层 主要应用在字符串,数字的 ...

  4. [Javascript] Keyword 'in' to check prop exists on Object

    function addTo80(n ) { + n; } function memoizedAddTo80 (fn) { let cache = {}; return (n) => { /*k ...

  5. Bagging and Random Forest

    Bagging和随机森林RF. 随机森林是最受欢迎和最强大的机器学习算法之一.它是一种称为Bootstrap Aggregation或bagging的集成机器学习算法. bootstrap是一种强大的 ...

  6. Tensorflow细节-P309-高维向量可视化

    import matplotlib.pyplot as plt import tensorflow as tf import numpy as np import os from tensorflow ...

  7. svn服务的安装与设置 .

    1.  下载svn软件并安装,本人使用的是如下软件:                 TortoiseSVN-1.6.5.16974-win32-svn-1.6.5               Vis ...

  8. CLR内部异常(上)

    当我们提到CLR里的“异常”,要注意一个很重要的区别.有通过如C#的try/catch/finally暴露给应用程序,并由运行时提供机制全权实现的托管异常.也有运行时自己使用的异常.大部分运行时开发人 ...

  9. lyft amundsen简单试用

    昨天有说过amundsen 官方为我们提供了dockerc-compose 运行的参考配置,以下是一个来自官方的 quick start clone amundsen 代码 amundsen 使用了g ...

  10. bash循环得到日期目录

    #!/bin/bash today=$(date "+%Y%m%d") echo 'today is :'${today} single_input="raw_data/ ...