计算机网络9_IP协议

Posted grooovvve

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了计算机网络9_IP协议相关的知识,希望对你有一定的参考价值。

IP协议叫Internet Protocol 网际协议

是整个TCP/IP中至关重要的协议

负责将数据包发送给最终的目标计算机

能够让世界上任何两台计算机之间进行通信

主要功能与其规范

======================================

1、 IP即网际协议

准确地说主机的定义是:配置有IP地址,但是不进行路由控制的设备;

路由器:既配有IP地址又具有路由控制能力的设备;

节点是主机和路由器的统称。

 

网络层可以跨越不同数据链路

数据链路负责同一种链路节点之间的包传递

 

类比于

旅行的行程表——火车票、机票

网络层——数据链路层

=================================================

2、 IP基础知识

IP大致分为三大作用模块:IP寻址、路由、IP分包与组包

2.1 IP地址属于网络层地址

网桥或交换集线器等物理层或数据链路层数据包转发设备中,不需要设置IP地址。

数据链路的类型对IP地址形式透明。

2.2 路由控制

将分组数据发送到最终目的地址的功能

Hop 一跳,网络中的一个区间。IP路由也叫做多跳路由。

不经过路由器或者网关直接到达的区间。

多跳路由是指路由器或主机在转发IP数据包时只指定下一个路由器或主机,而不是将到最终目的地址为止的所有通路全部指定出来。

路由控制表:该表记录IP数据在下一步应该发给哪个路由器。IP包将根据这个路由表在各个数据链路上传输。

2.3 数据链路的抽象化

IP是实现多个数据链路之间通信的协议。

IP的重要作用之一:对这些不同数据链路的相异特性进行抽象化。

数据链路的地址可以被抽象化为IP地址。

不同数据链路有个最大的区别:它们各自的最大传输单位不同,MTU Maximum Transmission Unit

2.4 IP属于面向无连接型

面向无连接的数据,即使对端主机关机或不存在,数据包还是会被发送出去。

无连接方式下可能会有很多冗余的通信。

为什么IP要采用面向无连接:为了简化、为了提速

面向连接比起面向无连接处理相对复杂。

IP提供尽力服务,为了把数据包发送到最终弄目标地址,尽最大努力。然而,它并不做“最终收到与否的验证”。

问题:丢包、错位、数据量翻倍

因此提高通信可靠性很重要。上层的TCP提供这种功能。

要一种协议规定所有的功能和作用,那么该协议的具体实施和编程就会变得非常复杂。

所以TCP和IP不能融合在一起。

按照网络分层,明确定义每层协议的作用和责任以后,针对每层具体的协议进行编程会更加有利于该协议的实现。

有效分层,明确各自协议的最终目的。有利于扩展和优化。简化各层的具体实现。

======================================

3 、IP地址的基础知识

有必要为每个设备配置正确的IP地址

IP地址是TCP/IP通信的一块基石

 

3.1 IP地址的定义

IP地址由32位正整数来表示。

每八位二进制为一组,分成四组,每组以“.”隔开。

再将每组转化为十进制数。

 

每台主机上的每块网卡都得设置IP地址。通常一块网卡只设置一个IP地址,其实一块网卡也可以配置多个IP地址。此外,一台路由器通常都会配置两个以上的网卡,因此可以设置两个以上的IP地址。

IP地址有两个组成部分:网络标识和主机标识

实际能够连到网络的计算机个数更少了。

 

3.2 IP地址由网络和主机两部分标识组成

IP包被转发到途中谋哥路由器时,正是利用目标IP地址的网络标识进行路由。

 

3.3 IP地址的分类

IP地址分为四个级别,分别为A类、B类、C类、D类。

 

3.4 广播地址

全部为0 主机地址 对应网络地址和IP地址不可获知的情况下使用

全部为1 主机地址 广播地址

 

本网络内广播叫 本地广播

不同网络之间广播叫 直接广播

 

3.5 IP多播

多播可以穿透路由器,又可以实现只给那些必要的组发送数据包的技术就成为了必选之路。

多播使用D类地址,前4位标识是多播,后28位标识多播的组编号。

3.6 子网掩码

使用A类和B类地址,造成一定的浪费。

新的组合方式减少这种浪费

子网与子网掩码:子网掩码的识别码通过子网网络地址细分出比A类、B类、C类、更小粒度的网络。这种网络实际上是将IP地址中主机地址部分用作子网地址,可以将原网络分为多个物理网络的一种机制。

IP地址有两种识别码:IP地址本身、表示网络部的子网掩码。

子网掩码也是32位数字(二进制数字),将对应IP地址网络标识部分的位全部为1,IP地址主机标识的部分全部位0。

3.7 CIDR 与VLSM

之前的IP地址分类方法,已经无法满足需要。人们开始放弃这种方法。

转向使用任意长度分割IP地址的网络标识和主机标识。

这种方式叫做CIDR 意为 无类型域间选路

CIDR更有效地利用了当前IPv4地址,同时通过路由集中降低了路由器的负担。

 

可以随机修改组织内各个部门的子网掩码长度的机制——VLSM 可变子网掩码

提高IP地址利用率

 

CIDR 和 VLSM 技术 相对缓解了全局IP地址不够用的问题。

但是IP地址的绝对数本身有限的事实无法改变。

3.8 全局地址与私有地址

采用唯一地址的方法,会有IP地址耗尽的危险

新技术:不要求为每一台主机或路由器分配一个固定的IP地址,而是在必要的时候只为相应数量的设备分配唯一的IP地址。

互换私有IP和全局IP的NAT技术诞生后

在学校,公司,家庭中的终端设置私有IP,在路由或在必要的服务器上设置全局IP地址。

而如果配有私有IP的地址主机连网时,则通过NAT进行通信。

 

全局IP地址基本上要在整个互联网范围内保持唯一,但是私有地址不需要,只要在同一个域里保证唯一即可。

私有IP地址结合NAT技术成为现在解决IP地址分配问题的主流方案。

IPv6还没普及

 

3.9 全局地址由谁决定

ISP的出现,全局IP地址由ISP代替用户向ICANN进行申请。网络提供商直接给用户分配全局IP地址,IP地址每次都会变化,由提供商进行维护。不需要用户亲自申请IP地址。

一般的方案是:设置私有地址,通过少数设置全局IP地址的代理服务器结合NAT的设置进行互联网通信。这是IP地址个数就不限于LAN中主机个数而是有代理服务器和NAT的个数决定。

 

互联网其实是由各种各样的域组合而成的。

 

WHOIS 提供 查询IP地址、AS编号、以及搜索域名分配等级和管理人信息的服务

包在传输过程中出现意外,这些异常是在途中其他设备造成的,怎么办?

定位发生异常的设备或线路最近的IP地址。一旦明确了IP地址,就可以跟管理这个IP地址的域管理员取得联系,提出并找到解决问题的突破口。

知道发生问题的IP地址——定位到IP隶属于哪个域或哪个机构。

======================================

4 、路由控制

发送数据包时候用的地址是网络层的地址,即IP地址。

仅仅有IP地址还不足以实现将数据包发送到对端地址。

在数据发送过程中还需要类似于“指明路由器或主机”的信息。

实现IP通信的主机和路由器都必须有一张这样的表。

 

该表的形成方式:一种是管理员手动设置,一种是路由器与其他路由器相互交换信息时自动刷新。

前者叫静态路由控制、后者叫动态路由控制。

为了保证动态路由控制表及时刷新,必须在网络上互连的路由器之间设置好路由协议。

所以该表是由一个叫做“路由协议”的协议制作而成的。IP协议没有制作控制表的机制。

 

4.1 IP地址与路由控制

默认路由

默认路由一般标记为0.0.0.0或default

主机路由

 

环回地址

环回地址是在同一台计算机上的程序之间进行网络通信时所用的一个默认地址

4.2 路由控制表的聚合

=====================================

5 IP分割处理与再构成处理

5.1 数据链路不同,MTU则相异

 

5.2 IP报文的分片与重组

 

5.3 路径MTU发现

路由器不再承担分组的功能

由发送端主机负责分片

接收端主机负责重组

======================================

6、 IPv6

IPv6的地址长度则是原来的4倍,即128比特。一般写成8个16字节。

6.1 IPv6的必要性

解决IPv4地址耗尽的问题,还能弥补IPv4中绝大多数缺陷。

6.2 IPv6的特点

 

6.3 IPv6中地址的标记方法

 

6.4 IPv6地址的结构

 

6.5 全局单播地址

 

6.6 链路本地单播地址

 

6.7 唯一本地地址

 

6.8 IPv6分段处理

 

=====================================

7 、IPv4首部

 

=====================================

8 、IPv6首部格式

 

 

以上是关于计算机网络9_IP协议的主要内容,如果未能解决你的问题,请参考以下文章

linux网络协议栈源码分析 - 网络层IP网际协议

linux网络协议栈源码分析 - 网络层IP网际协议

linux网络协议栈源码分析 - 网络层IP网际协议

软件重点9 网络基础

20160402_TCP/IP协议簇

TCP/IP__TCP/IP协议