概述
IP 协议主要负责将数据包发送到最终目标终端。这一章我们就来聊一聊关于IP协议的相关内容 它的两个版本v4 v6 ip 地址 路由控制 IP包格式 IP 的分片和重组等等 让我们一起来看吧
著名的IP 网际协议
什么是IP
IP (Internet Protocol) 网际协议 或者也叫互联网协议。 工作在七层的第三层网络层。它的出现主要用来提高网络的可扩展性,为了解决网络互联问题,实现大规模 的 异构网络的互通互连。根据上层端到端的设计原则,IP只为主机提供一种无连接的 不太可靠的 尽力而为的数据包传输服务。
网络层的主要功能是什么
作为七层里的第三层 网络层,主要是定义了逻辑地址IP 并负责IP 地址的寻址,实现不同链路之间,或者说不同局域网之间的互通。
网络层的主要实现设备时路由器,连接不同的局域网,还可以只能选择最佳路径 实现不同网络之际的互通互连。当然这其中关在还在于IP 地址和IP 数据包的作用
IP的基础知识
IP大致可以分为三大作用模块 分别时 IP寻址 路由 以及IP 包的分片和重组
关于IP地址
在TCP/IP 通信中所有主机或路由器必须设定自己的IP 以便实现通信,这个就像一个城市或者一个地区每家每户都有的地址一样。正因为有了IP 在互联网上我们才能唯一确定一个目标并将数据传送给对方。那么这个地址就是 IP 地址。
并且不论一台主机与那种链路网络连接 其IP地址都不会改变关于IP 地址的详述我们在后面段落中聊。
何为路由控制
Routing 路由控制 指将分组数据包发送到最终目标地址的功能,也可以确定到达目标的通路。
HOP 译为 跳, 从远端主机到目标端可能需要经过很多个数据链路网(也就是局域网) 而局域网之间往往时通过路由器设备连接的,所以每经过一个路由器设备就是一跳 ,一个HOP .所以路由也时通过很多跳来完成的。 因此IP 路由 也叫多跳路由。
路由控制表,也叫路由表。
那么路由器是如何实现不同网段之间转发数据的呢,因为路由器中有一个叫路由表的文件,里面记录了通往众多目标网段的网段地址和对应到这个网段的下一跳地址(也就是我们 说的下一个路由器的地址),这样当源端数据包交给路由器后路由器查看自己的路由表 看看数据包的目标地址在路由表中如何走,按照路由表转发就好了,那么如果路由表中没有记录呢,那就毫不留情的丢弃。
数据包就是这样 每经过一个路由器 根据目标IP 查看自己的路由表决定转发给下一个路由器,下一个路由器在继续这个过程 逐渐到达目标的。
抽象化数据链路
我们之道二层数据链路层构成的局域网时有很多种类的,比方我们上一章提到的 以太网 令牌环 ATM FDDI 等等各自有不同的协议规范,但在网络层要实现他们之间的互通必须抽象化这些差异性 也就是屏蔽到这些差异。这也是IP 的重要作用,抽象化数据链路,无论什么样的链路都一视同仁。统一规范。
但这里有个物理问题,就是每种链路它们 固定的最大传输单位(MTU )是不同的,比方以太网最大传输 1500 字节 FDDI 是 4352 字节 而ATM 则可以是 9180字节。那么 IP 如何解决这个问题呢。 这就是我们后面要讲的IP 的分片和重组。
面向无连接类型
IP包我们前面提到是面向无连接的,就是IP 包随时想发就发,不需要和目标端建立联系,无需通知对方说我要发包了啊。这样的结果是很可能 对方主机存不存在 开机没有不知道,那么是不是收到数据,何时收到也不知道。只管发了,所以就容易造成冗余。
IP包之所以采取这种无连接类型 一是为了速度 而是简化IP包。大家也不用担心,虽然IP 面向无连接 但上层传输层 的TCP 可是面向连接的正好给IP 救场。
IP地址的基础知识
IP地址的定义
这里是指IPv4, 32位二进制网络编码,唯一标识网络中的一台主机。所有参与互联网或者网络通信的主机或者其他只能设备都必须配置IP地址。计算机处理的是二进制32位 但是人们书写的时候不习惯,我们采取点分十进制的方式,就是将32位二进制每8位一分,分为四组,每组间用 . 分割,将每组的3位二进制换算成十进制 书写如下如
IP地址在主机上,并不是依据主机的台数来配置的,而是每一台主机的网卡上设置,所以一台电脑可以配置多个网课亦可以配置多个IP 地址,一块网卡也可以设置多个IP