javaee论坛

普通会员

225648

帖子

352

回复

366

积分

楼主
发表于 2017-09-04 08:19:14 | 查看: 210 | 回复: 1
IP协议——Internet Protocol
是OSI参考模型第三层网络层的协议族,解决了主机对主机的通信。

IP有三大模块:IP寻址,路由和IP分包与组包。

IP是面向无连接的,无论是否建立了连接,发送端都可以发送信息,接收端则不知道何时会收到信息,这样做的目的是快速高效,而连接控制和信息完整性保证交给上层的TCP协议来完成。

IP寻址

通过IP地址来确定信息收发双方在网络中的位置的过程。

IP地址

IP地址唯一标定网端在网络中的逻辑位置。IP地址是一串32为2进制串,2^32约为43亿多,算是不小的一个数字。然而在通信设备日益增多的今天,这些也已经不够用了,业界采取了一些列的方法来提高IP地址的利用率,同时开发出新的IP地址规范IPv6,等待普及。

IP地址分类:

IP地址按照逻辑意义不同分为两段:网络地址:主机地址。
网络地址表示IP所属的分网区段,主机地址表示在本子网中的位置。分层次可以方便IP的管理。

网络地址和主机地址的划分需要遵循IP地址分类或者子网掩码规则。

A类:“0”开头,前八位是网络地址,地址范围:0.0.0.0-127.0.0.0
B类:“10”开头,前16位是网络地址,地址范围:128.0.0.0-191.255.0.0
C类:“110”开头,前24位是网络地址,地址范围:192.168.0.0-223.255.255.0
D类:“1110”开头,32位全是网地址,224.0.0.0-239.255.255.255

主机地址不能为0或者全为1,全为0用于标示对应的网络地址或IP地址不可获知;全为1通常用于广播。

IP地址通常是用于1对1的单播通信,而广播是向处于同一子网的所有终端发送数据;多播是想同一多播组的终端通信,D类网址用于多播。

“1110”前缀表示多播D类网址,后面的数字用来表示多播组编号。

子网掩码

子网掩码与IP地址成对出现是用来灵活划分网络地址和主机地址的。

子网掩码也是32位2进制串,前x位是1,剩余位是0的子网掩码,表示对应IP的前x位是网络地址,剩余位是主机地址。

例如255.255.255.0就是C类网址的子网掩码。

子网掩码可以不受IP地址分类的限制,即可变长子网掩码Variable Length Subnet Mask(VLSM) 。这样可以大幅提高IP地址利用率。

子网掩码还可以使用在IP地址后面加“/x”的格式表达,例如172.20.55.254/16表示前16位是网络地址,与“IP: 172.20.55.254;Mask:255.255.0.0”意义一致。

路由控制

数据信息在网络中传递的时候采用的一种Hop的模式传递。Hop的含义是“跳”。信息帧在路由与路由之间跳转最终达到目的地。这种模式类似于发快递:快递件(数据)上只写明了收发地址(收发双方IP),但不知道中间会经历怎样的运输环节。而物流公司的每一站(即网络中路由器)会通过尝试知道应该把包裹发到下一站,至于后面怎么走,由下面的物流节点来负责。包裹经过一个又一个的物流点最终到达收货方手中。数据也是一样,经过很多次hop最终到达接收机。中间的Hop的方向则由中转站也就是路由来控制。

路由表

如前所述,信息到了路由器需要知道下一步把它发送到哪。路由表就是用来存储目标地址和下一站地址的表结构。

默认路由:
主机路由:
环回路由:127.0.0.1 localhost

路由聚合

将同一目的地的路由表项聚合为一项,减少路由表大小,缩短查找时间。

IP分包和组包

IP数据包受数据链路数据包限制,即单个IP数据包的大小不能超过数据链路层frame的数据段长度,因此对于大的数据需要由路由器拆分传输然后在目的地重组。

针对于不同的链路层协议自然有不同的IP分包和组包规则,它和链路层协议的帧容量相关,帧容量或者叫最大传输单元Maximum Transmission Unit(MTU):

以太网:1500byte
FDDI:4352byte
ATM:9180byte

实际上数据可能在一次传输过程中被多个路由器切分多次,这会对路由器造成较大负荷,影响效率的,因此更先进的做法是路由MTU发现。路由MTU发现就是通过发送端设置数据包不可切片,发送给路由器,路由器会丢弃并返回ICMP不可达的消息和MTU,根据MTU,发送端进行切片,然后再次发送,以此类推直到送达目的地,这时发送端会记下传输路径中最大的MTU值,之后就根据这个MTU进行切片传输,中间路由器就不再需要重新切片了。这个最大MTU会缓存一段时间,等时间过后重新再做一次路径MTU发现。


普通会员

0

帖子

307

回复

315

积分
沙发
发表于 2019-12-12 07:43:13

我最喜欢回复人少的贴子了,如果贴子沉了,我就会觉得是自己弄沉的,非常有成就感!如果贴子火了,那我有占了前排,这简直是稳赚不赔的生意嘛

您需要登录后才可以回帖 登录 | 立即注册

触屏版| 电脑版

技术支持 历史网 V2.0 © 2016-2017