第4章 IP协议

第4章 IP网际协议

  • 主要负责将数据包发送给最终的目标计算机,IP能够让世界上任何两台计算机之间进行通信。
  • 鉴于目前的IP(IPv4)已无法应对互联网的需求,于是出现了更高版本的IP协议 IPv6
  • 网络层可以 跨越不同的数据链路 ,即使是在不同的数据链路上也能够实现两段节点之间的数据包传输
  • IP的主要作用就是在复杂的网络环境中 将数据包发给最终的目标地址

网络层与数据链路层

  • 数据链路层提供 直连两个设备 之间的通信功能。
  • 网络层的IP负责在 没有直连的两个网络 之间进行通信传输。
  • 总结:假设从源地址0到目标地址n+1要经过n台设备,数据链路层负责x-y(y-x=1)之间的通信,ip负责0到n+1的通信,ip协议在整个过程中不变,数据链路协议在会更换n次。

地址

  • 数据链路层的MAC地址用来标识同一个链路中不同计算机的一种识别码
  • 网络层Ip地址用于在 连接到网络中的所有主机中识别出进行通信的目标地址 ,因此在TCP/IP通信中所有主机或路由器必须设定自己的IP地址

分片

  • 不同的数据链路,它们各自最大的传输单位( MTU: Maximum Transmission Unit)可能不同(以太网:1500字节,FDDI:4352字节,ATM:9180字节)
  • 如果IP的上一层可能会要求传送比这些MTU更多字节的数据,所以IP进行 分片处理(IP Fragmentation)

无连接与有连接

  • 有连接 : 在面向有连接的情况下,需要事先建立连接。如果对端主机关机或不存在,也就不能建立连接。
  • 无连接 :即使对端主机关机或不存在,数据包还是会被发送出去。

IP属于面向无连接型

  • 对于一台主机来说,它会何时从哪里收到数据也是不得而知的。通常应该进行网络监控,让主机只接收发给自己的数据包。若没有做好准备很有可能会错过一些该收的包。因此,在面向无连接的方式下可能会有很多冗余的通信

为什么IP要采用面向无连接?

  1. 简化:管理连接时一个相当繁琐的事情。
  2. 提速:每次通信之前都要事先建立连接,会降低处理速度。需要有连接时,可以委托上一层(传输层TCP)提供此项服务。

为了提高可靠性,上一层的TCP采用面向有连接型

  1. IP只尽最大努力把数据包发送到最终目标地址,不做最终收到与否的验证,还会发生丢包、错位以及数据量翻倍等问题。
  2. 网络分层协议在上一层传输层TCP协议中提供可靠的性服务,保证对端主机确实接收到数据。

网络分层的意义

  • 简化具体实施和编程
  • 如果要一种协议规定所有的功能和作用,那么该协议的具体实施和编程就会变得非常复杂,无法轻易事项。
  • 明确TCP与IP各自协议的最终目的,也有利于后续对这些协议进行扩展和性能上的优化。

IP地址

  • 网络标识:区分不同的网段,作为路由的依据
  • 主机标识:区分同一网段的不同主机
  • 子网掩码:区分网络标识和主机标识

IP地址的分类

通过开头和标识位位数就可以推断出网络标识位

  • A类地址:A类IP地址以 0 开头的地址,第 1-8 为网络标识位(0.0.0.0 ~ 127.0.0.0)
  • B类地址:B类IP地址以10 开头的地址,第 1-16位 为网络标识位(128.0.0.1 ~ 191.255.0.0)
  • C类地址:C类IP地址以110开头的地址,第 1-24位 为网络标识位(192.168.0.0 ~ 239.255.255.0)
  • D类地址:D类IP地址以1110开头的地址,第 1-32位 为网络标识位(224.0.0.0 ~ 239.255.255.255)

广播

  • 0:对应的网络地址或IP地址不可获知
  • 1:作为广播地址
  • 本地广播ip: 本地网段网络标识+全为1的主机标识
  • 直接广播ip: 其他网段网络标识+全为1的主机标识

多播

相对于广播,多播既可以穿透路由,又可以实现只给那些必要的组发送数据包

  • 广播:A,B,C类地址,主机标识全为1
  • 多播:D类地址(1110 + 28位组编号)

子网掩码

  • 子网掩码**(网络标识位全为1,主机位全为0)**
  • 子网掩码使一个IP地址可以不再受限于自己的类别(ABCD),而是可以用子网掩码自由的定位自己的网络标识长度。

二进制

  • 00000001: 1
  • 00000010: 2
  • 00000100: 4
  • 00001000: 8
  • 00010000: 16
  • 00100000: 32
  • 01000000: 64
  • 10000000: 128

子网掩码

  • 直接使用A类、B类、C类地址会显得浪费资源,为此人们使用子网掩码的组合方式减少这种浪费,实际使用的过程中都是使用子网掩码而非A、B、C类地址。
  • 子网掩码网络标识位全为1主机标识位全为0。一个IP地址不在受限于自己所属的类别,而是由子网掩码自由的定位自己的网络标识长度。

子网掩码两种表示方式

  • IP地址   172. 20. 100. 52(..*.00110100)
  • 网络地址  172. 20. 100. 0(IP地址&子网掩码)
  • 广播地址  172. 20. 100. 63(..*.0011111111网络地址主机号为1)
  • 子网掩码  255. 255. 255. 192( ..*.11000000)
  • IP地址   172. 20. 100. 52 /26

延缓IP地址耗尽问题

CIDR(Classless Inter-Domain Routing)

  • 定义:采用任意长度分割IP地址的网络标识和主机标识(无类型域间选路)
  • 对应利用子网掩码,区分网络标识位和主机位,将通过(IP地址&子网掩码)结果相同的主机,划分为统一个网段

VLSM(Variable Length Subnet Mask)

  • 同一组织下的不同部门所拥有的主机数不同,为此人们提出组织内要使用可变长度的、高效的IP地址分配方式。

全局地址与私有地址

  • 它不要求为每一台主机或路由器分配一个固定的IP地址,而是在必要的时候只为相应数量的设备分配唯一的IP地址
  • 尤其对于那些没有连接互联网的独立网络中的主机,只要保证在这个网络内地址唯一,可以不用考虑网络即可配置相应的IP地址。
  • 私有网络的IP地址
    • 10.0.0.0 ~ 10.255.255.255 (10/8) A类
    • 172.16.0.0 ~ 172.31.255.255 (172.16/12) B类
    • 192.168.0.0 ~ 192.168.255.255 (192.168/16) C类(现在公司用的也是192.168)
  • 除私有IP之外的为全局IP(公网IP)
  • NAT : 互换私有IP与全局IP的技术,配有私有地址的主机与配有全局地址的互联网主机实现通信(现在有很多学校、家庭、公司内部正采用在每个终端设置私有IP,而在路由器(宽带路由器)火灾必要的服务器上设置全局IP地址,如果配有私有IP的地址主机连网时,则通过NAT进行通信)。

互联网现状

  • IPv6可以解决使用私有地址的各种限制,但还没有得到普及,IPv4地址又即将耗尽
  • 努力使用IPv4结合NAT技术解决现有问题

路由控制

路由控制表(Routing Table)的形成方式

  1. 管理员手动设置(静态路由控制)
  2. 路由器与其他路由器相互交换信息时自动刷新(动态路由控制)
  3. 用途 : 路由控制表中记录着网络地址与下一步应该发送至路由器的地址
  4. 默认路由标记 : 0.0.0.0/0
  5. 主机路由 : “IP地址/32”,整个IP地址的所有位都将参与路由,基于主机上网卡配置的IP地址本身。
  6. 环回地址 : 同一台计算机上的程序之间进行网络通信时所使用的一个默认地址127.0.0.1,与该地址具有相同意义的是一个叫做localhost的主机名。

路由控制表的聚合

  • 对内即使有多个子网掩码,对外呈现的也是同一个网络地址。
  • 路由器A: 192.168.2.0/24
  • 路由器B: 192.168.3.0/24
  • 路由器C: 聚合A,B对外呈现为192.168.2.0/23

路径MTU发现

  • 找到数据链路中最小的MTU,发送主机按照最小MTU的大小将数据报分片后发送,避免在中途的路由器上进行分片处理,提升性能以及网路的利用率。
  • 主机通过ICMP的不可达信息获得MTU的值,主机进行分片处理重新发送,重复操作直到主机不再受到ICMP不可达信息。

在这里插入图片描述

IPv6

  • 8个16位字节

IPv4首部

  • 版本(Version):4比特位,标识IP首部的版本号。IPv4的版本号为4
  • 首部长度(IHL:Internet Header Length):4比特位,表明IP首部的大小,单位为4字节。对于没有可选项的IP包,首部长度则设置为5(20字节)
  • 总长度(Total Length):16比特位,表示IP首部与数据部分合起来的总字节数,IP包的最大长度为65535字节
  • 协议(Protocol):8比特位,表示IP首部的下一个首部隶属于哪个协议(IP:4、TCP:6、ICMP:1…)
  • 源地址(Source Address):32位比特位
  • 目标地址(Destination Address):32位比特位

术语

  • BGP(Border Gateway Protocol):边界网关协议
  • ICANN (Internet Corporation for Assigned Names and Numbers):互联网名称与数字地址分配机构

猜你喜欢

转载自blog.csdn.net/DMW2016/article/details/82974829