TCP/IP学习笔记12-- IP协议基础
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协议基础的更多相关文章
- TCP/IP学习笔记7--TCP/IP模型通信例子学习
"一位如蝴蝶般美丽的女子向我飞来,翩翩的舞姿如同云端轻盈的叶儿." -------------------------------------------------------- ...
- TCP/IP学习笔记6--TCP/IP模型
"五月的风慢慢地吹过湖面,泛起波浪层层,一只鸟儿飞过来,在我面前婉转歌唱" TCP/IP是当今计算机网络世界使用最为广泛的协议.该方面的知识对于那些想做网络编程的人来说是只至关重要 ...
- tcp/ip学习笔记-TCP
tcp/ip学习笔记-TCP 彭会锋 报文发送采用的是tcp_output函数,
- Linux 学习笔记之超详细基础linux命令 Part 12
Linux学习笔记之超详细基础linux命令 by:授客 QQ:1033553122 ---------------------------------接Part 11---------------- ...
- Linux 学习笔记之超详细基础linux命令(the end)
Linux学习笔记之超详细基础linux命令 by:授客 QQ:1033553122 ---------------------------------接Part 14---------------- ...
- Java IO学习笔记四:Socket基础
作者:Grey 原文地址:Java IO学习笔记四:Socket基础 准备两个Linux实例(安装好jdk1.8),我准备的两个实例的ip地址分别为: io1实例:192.168.205.138 io ...
- Linux 学习笔记之超详细基础linux命令 Part 14
Linux学习笔记之超详细基础linux命令 by:授客 QQ:1033553122 ---------------------------------接Part 13---------------- ...
- Linux 学习笔记之超详细基础linux命令 Part 13
Linux学习笔记之超详细基础linux命令 by:授客 QQ:1033553122 ---------------------------------接Part 12---------------- ...
- Linux 学习笔记之超详细基础linux命令 Part 9
Linux学习笔记之超详细基础linux命令 by:授客 QQ:1033553122 ---------------------------------接Part 8----------------- ...
- Linux 学习笔记之超详细基础linux命令 Part 7
Linux学习笔记之超详细基础linux命令 by:授客 QQ:1033553122 ---------------------------------接Part 6----------------- ...
随机推荐
- fitnesse wiki界面设置变量
有时候我们可能多组测试数据会到同一个值,这样我们就可以设置一个变量,修改时只需要修改一个地方即可,而不需要对每组测试数据的这列数据进行修改 如下图: (1)定义变量:!define A {10} , ...
- HBASE-LSM树(转载)
HBASE-LSM树 1.B+树 关于B树.B+树.B树的了解参考:* http://blog.csdn.net/v_july_v/article/details/6530142 优点: 走进搜索引擎 ...
- CSS链接伪类:超链接的状态
一.状态: a:link{属性:值;} 链接默认状态 a:visited{属性:值;} 链接访问之后的状态 a:hover{属性:值;} 鼠标放到链接上显示的状态 a:active{属性:值;} 链接 ...
- vue中前端弹窗队列展示
在前端写一个弹窗可能很简单,那如果同时有多个弹窗呢 这样的话就要考虑弹窗的展示问题,肯定是不能叠加在一起的,这时候就要通过队列(先进先出)来展示 思路就是根据队列来实现,至于具体的实现方式,可以在项目 ...
- C语言博客06-结构体
1.本章学习总结 1.1 学习内容总结 结构体如何定义.成员如何赋值 1.结构体的一般形式为: struct 结构体名 { 数据类型 成员名1: 数据类型 成员名2: : 数据类型 成员名n: }: ...
- Time of Trial
Time of Trial(思维) 题目大意:一个人想逃,一个人要阻止那个人逃跑 ,阻止者念每一个符咒的时间为b[i],逃跑者念每一个符咒的时间为a[i],逃跑者如果念完了第i个符咒,阻止者还没有念完 ...
- SpringMVC自定义类型转换器
SpringMVC 自定义类型转换器 我们在使用SpringMVC时,常常需要把表单中的参数映射到我们对象的属性中,我们可以在默认的spring-servlet.xml加上如下的配置即可做到普通数据 ...
- Lararel安装和虚拟主机配置
Laravel 对系统有些要求,当然,所有这些要求 Laravel Homestead 虚拟机都能满足,因此强烈推荐你使用 Homestead 作为你的开发环境. 当然,假如你不使用 Homestea ...
- IDEA中执行maven命令:mvn clean 时报错
问题描述: 完成项目中的功能后,想要git一下,就用maven命令先清除一下编译文件,紧接着系统报错 Error executing Maven. 2 problems were encountere ...
- SQL server 表结构转Oracle SQL脚本
SQL server 表结构转Oracle SQL脚本 /****** Object: StoredProcedure [dbo].[getOracle] Script Date: 2019/7/25 ...