概述
文章目录
- 本文章由公号【开发小鸽】发布!欢迎关注!!!
- 一. IP协议
- (一) 互联网层
- (二) IP
- 1. 概述
- 2. IP地址
- 3. 路由控制
- 4. 抽象化数据链路
- 5. 无连接
- (三) IP地址
- 1. 定义
- 2. 组成
- 3. IP地址分类
- (1) A类
- (2) B类
- (3) C类
- (4) D类
- (5) 分配IP地址
- 4. 广播地址
- 5. IP多播
- 6. 子网掩码
- 7. 全局地址与私有地址
- 8. 全局IP管理
- (四) 路由控制
- 1. 概述
- 2. IP地址与路由控制
- (五) 数据包分割与组合
- 1. 概述
- 2. 不足
- (六) IPV6
- 1. 概述
- 2. 特点
- (七) IPV4首部
- 1. 版本
- 2. 首部长度
- 3. 区分服务
- 4. 总长度
- 5. 标识
- 6. 片偏移
- 7. 生存时间
- 8. 首部校验和
本文章由公号【开发小鸽】发布!欢迎关注!!!
老规矩–妹妹镇楼:
一. IP协议
(一) 互联网层
互联网层主要有IP(Internet Protocol)和ICMP两个协议组成。IP有ipv4和ipv6两个版本,相当于OSI中的网络层,主要作用是实现终端节点之间的通信,也叫点对点通信 。数据链路层是在互连同一种数据链路的节点之间进行包传递,而一旦跨越多种数据链路,就需要借助网络层了。
主机是配置有IP地址,但是不进行路由控制的设备;而路由器是既配置IP地址又有路由控制能力的设备。
(二) IP
1. 概述
IP大致分为三大模块,IP寻址,路由,以及IP分包与组包。
2. IP地址
IP地址是网络层的识别地址,在TCP/IP通信中所有主机或路由器必须设置自己的IP地址,对于每块网卡,至少要配置一个IP地址。不论一台主机与哪种数据链路连接,其IP地址的形式都保持不变,网络层对数据链路层的特性进行了抽象。另外,在网桥或交换集线器等物理层或数据链路层设备中,不需要设置IP地址。
3. 路由控制
路由控制指的是将分组数据转发到最终目标地址的功能,IP路由称为多跳路由,多跳路由指的是路由器或主机在转发IP数据包时只指定下一个路由器或主机,而不是将到最终目标地址的所有通路都指定出来。一跳为指利用数据链路层以下分层的功能传输数据帧的一个区间,在每一个区间内决定了包在下一跳被转发的路径。
所有主机都维护着一张路由控制表,该表记录了IP数据在下一步应该发送给哪个路由器。
4. 抽象化数据链路
不论数据链路使用的是什么类型,对IP来说都是一样的。不同数据链路最大的区别就是各自的最大传输单位(MTU)不一样,MTU在以太网中是1500字节,在FDDI中是4352字节,当IP要求传送比MTU大的包时需要进行分片处理,将大的IP包分成较小的IP包,到了目标地址再组合起来。但是从IP的角度看,它是忽略数据包在途中的各个数据链路上的MTU的,它只关心对端是否收到并且组合。
5. 无连接
IP面向无连接,不需要建立与对端目标地址之间的链接,只要有数据,就会立即发送。
(三) IP地址
1. 定义
IPv4的地址由32位表示,记忆时以8位为一组,每组以“.”隔开,再转为十进制数,这就是常见的IP地址样式。IP地址并非是根据主机台数配置的,每块网卡至少一个IP地址,路由器至少两个网卡,因此至少两个IP地址。
2. 组成
IP地址由网络地址和主机地址组成,网络地址必须保证相互连接的每个段的地址不重复,而相同段内相连的主机必须有相同的网络地址。最初,网络地址以分类进行区分,现在更多的使用子网掩码进行区分。
3. IP地址分类
IP地址有4个级别,分别是A,B,C,D类,根据IP地址中从1-4位的bit列进行区分。
(1) A类
首位以0开头的地址,1-8位是网络地址,后24位是主机地址。
(2) B类
前两位是10, 1-16位是网路地址,后12位是主机地址。
(3) C类
前三位是110, 1-24位是网路地址,后8位是主机地址。
(4) D类
前四位是1110,1-32位都是网络地址,没有主机地址,常用于多播。
(5) 分配IP地址
在分配IP地址时,注意主机地址不能全部为0或1,全部为0表示对应的网络地址是不可获知的,全部为1的主机地址通常用于广播地址。在分配的时候,需要去掉这两种情况。
4. 广播地址
广播地址用于在同一个链路中相互连接的主机之间发送数据包,将主机地址全部设置为1就是广播地址。广播分为两类,一类是本地广播,在本网络内广播,这个广播地址的IP包会被路由器屏蔽,不会到达该网络以外的链路上;另一类是直接广播,在不同网络直接广播。
5. IP多播
多播用于将包发送给特定组内 的所有主机,现在的1对N,N对N通信需求明显上升,使用多播之前人们使用广播发送,这样会浪费流量,而且广播无法穿透路由,若想给其他网段发送同样的包,只能采用多播。多播使用D类地址,前4位为1110,后28位为多播的组编号。
6. 子网掩码
网路地址相同的主机必须同属于同一个链路,如 B类IP,理论上一个链路内允许6万多台计算机相连,然而实际架构中,不会有这么多计算机连接在一个链路中,这样就会造成地址的浪费。现在使用子网掩码来解决这个问题,子网掩码的网络标识和主机标识不受限于地址的类别,通过子网掩码来识别网络地址,使用二进制表示,也是32位整数,对应于网络地址的部分全部是1,对应于主机地址的部分全部是0。
7. 全局地址与私有地址
IP地址不足的问题十分严重,如果一致按照每台主机唯一IP来分配,问题会更加严重。因此对于没有连接互联网的独立网路中的主机,只要保证在这个网路中的地址唯一即可,不用考虑互联网的IP,则就是私有IP地址。私有IP地址是有范围限制的,如下所示:
10.0.0.0 – 10.255.255.255 10/8
172.16.0.0 – 172.31.255.255 172.16/12
192.168.0.0 – 192.168.255.255 192.168/16
这些IP都是私有IP,而在此之外的IP都是全局IP(公网IP)。私有IP最早计划是不连接互联网,但是之后一种能够转换私有IP和公网IP的技术NAT出现后,私有IP的主机也能够与互联网通信了。
8. 全局IP管理
我们可以向ISP申请公网IP地址。
(四) 路由控制
1. 概述
路由控制表的形成方式有两种,一种是管理员手动设置,林一种是路由器与其他路由器相互交换信息时自动刷新,前者叫静态路由控制,后者叫动态路由控制。IP协议始终认为路由表是正确的,然而IP本身没有制作路由控制表的机制,而是有一个叫做路由协议的协议制作而成。
2. IP地址与路由控制
IP地址的网络地址用于进行路由控制,路由控制表中记录着网络地址与下一步应该发送至路由器的地址,如果表中存在多条相同网络地址记录,则选择最吻合的网络地址,即相同位数最多的地址。
环回地址是在同一台计算机上的程序之间进行通信时所使用的一个默认地址,127.0.0.1,与该地址具有相同意义的一个主机名为localhost,使用这个IP或主机名,数据包不会流量网络中。
(五) 数据包分割与组合
1. 概述
任何一台主机都有必要对IP分片进行相应的处理,在遇到比较大的报文时无法一下子发送出去则会进行分片处理。经过分片之后的IP数据包在被重组的时候,只能由目标主机进行,路由器会做分片但是不会重组。
2. 不足
分片机制的不足在于加重了路由器的处理负荷,而且一旦某个分片丢失,整个IP数据包就作废了,
(六) IPV6
1. 概述
IPV6是为了解决IPV4地址耗尽的问题,共128位,一般写成8个16字节。
2. 特点
IP地址扩大,路由控制表聚合;
性能提升,包首部固定40个字节;
不再采用首部校验码,路由器不用分片处理,只由发送端进行分片;
支持即插即用,没有DHCP既可以自动分配IP地址;
采用认证和加密技术;
(七) IPV4首部
1. 版本
表示IP首部的版本号,IPV4就是4。
2. 首部长度
IP首部的大小。
3. 区分服务
表名服务质量。
4. 总长度
IP首部和数据合起来的总字节数。
5. 标识
用于分片重组,同一个分片的标识相同。
6. 片偏移
用来标识被分片的每一个分段相对于原始数据的位置。
7. 生存时间
实际中指的是可以中转多少个路由器,每经过一个路由器,TTL会减少1,直到变成0丢弃该包。
8. 首部校验和
校验数据包的首部,不检验数据部分,确保IP数据包不被破坏。
最后
以上就是俭朴项链为你收集整理的【计算机网络学习笔记(四)】之 IP协议基本介绍的全部内容,希望文章能够帮你解决【计算机网络学习笔记(四)】之 IP协议基本介绍所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
发表评论 取消回复