14.IP协议与寻址

TCP/IP协议族中最核心的协议,提供不可靠、无连接的数据报传输服务。

·        不可靠:不能保证IP数据报能成功送达。

·        无连接:并不维护后续数据报的状态信息,每个数据报的处理都是相互独立。数据报可能不会按照发送顺序接收。同一站点向另一站点发送的多个数据报可能经过不同的路由到达。

帧格式

IP数据报格式如下。

·        版本:IP协议版本号,目前为4。故称为IPv4.

·        首部长度:以4字节为单位。最小值为5,不包含可选字段的IP首部大小为20字节。最大值为15,故IP首部最大长度为60字节。

·        服务类型(TOS)3bit优先权(已被忽略)4bitTOS字段,1bit未用(0)4bitTOS分别为最小时延、最大吞吐量、最高可靠性、最小费用4bit中只能置其中一个为1。全零时表示一般服务。现在大多数TCP/IP实现都不支持TOS特性,但是无线中QoS有用到该字段

·        总长度:整个IP数据报的长度,以字节为单位。16bit,可知IP数据报最大长度为65535字节。

·        标识符:唯一标示一份IP数据报。通常值递增。

·        标志位:

·        片偏移:

·        TTLtime to live,生存时间。设置了数据报可以经过的最多路由器数。由源主机设置,每经过一个路由器,该值减一,当值为0时,被丢弃。并发送ICMP报文通知源主机。

·        协议:标示基于IP的协议。ICMP1IGMP2TCP6UDP17

·        首部校验和:根据IP首部计算的校验和,不对首部后面的数据进行计算。先置检验和为0,按照16bit进行二进制反码求和,结果存放于检验和字段中。

·        源IP地址

·        目的IP地址

·        可选字段:

安全和处理限制(用于军事领域,详见RFC 1108)

记录路径(让每个路由器都记下它的IP地址)

时间戳(让每个路由器都记下它的IP地址和时间)

宽松的源站选录(为数据报指定一系列必须经过的IP地址)

严格的源站选录(只能经过指定的这些地址)

可选字段必须是32bit的整数倍,必要时需要插入0进行填充,因为IP首部始终是32bit的整数倍(这是首部长度字段要求的)

IP路由选择

对于主机,如果目的主机和源主机直接相连,或者处于同一个网络中,IP数据报就直接发送到目的主机。否则,主机将数据报发送给默认的路由器,由路由器来转发包。

IP层可以配置成路由器的功能,也可以配置成主机功能。区别是,主机不转发数据报,而路由器需要转发包。

IP层在内存中都有一个路由表,当收到数据报进行发送时,都要搜索该表。

路由表每项包含的信息:

·        目的IP地址。可以是主机地址,也可以是网络地址,由下述的标志来标示。

·        下一跳路由器的IP地址,或者是直接连接的接口。

·        标志。一个标志标示目的IP是网路地址还是主机地址,另一个标志指示下一站路由器是否为真正的下一站路由器,还是一个直连的接口。

·        为数据报的传输指定一个网络接口。

IP路由选择主要完成下面的功能:

1) 搜索路由表,寻找与目的IP完全匹配的条目。如果找到,则把报文发给下一站路由或者直连接口(取决于标志字段的值)

2) 搜索路由表,寻找与目的网络号匹配的条目。找到的处理同上。这种搜索网络的匹配方法必须考虑可能的子网掩码。

3) 搜索路由表,寻找标为“默认(default).类似192.168.0.1”的条目。如果找到,处理同上。

如果上述都没成功,则丢弃该包,并返回主机不可达或者网络不可达的错误。

数据包在传输过程中,经过不同的链路层或不同的网络会构造不同的链路层首部,但是IP部分不会更改(忽略路由器的NAT功能)。链路层的目的地址(如果有的话),始终是下一站的链路层地址。

子网寻址

最早:IP地址 = 网络号 + 主机号

子网编址:IP地址 = 网络号 + 子网号 + 主机号

子网对于子网以外的路由器都是透明的,对于子网内部的路由器不透明。

RFC 1009允许含有子网的一个网络使用多个子网掩码。

IP地址编址方案:将IP地址划分为A,B,C,D,E五类,其中A,B,C为基本类,D,E类作为多播和保留使用。

网络类别

最大网络数

IP地址范围

最大主机数

私有IP地址范围

A

126(2^7-2)

1.0.0.0--126.255.255.255

16777214

10.0.0.0--10.255.255.255

B

16384(2^14)

128.0.0.0--191.255.255.255

65534

172.16.0.0--172.31.255.255

C

2097152(2^21)

192.0.0.0--223.255.255.255

254

192.168.0.0--192.168.255.255

 

内部私有地址:

A类 10.0.0.0--10.255.255.255

B类 172.16.0.0--172.31.255.255

C类 192.168.0.0--192.168.255.255

特殊的IP地址:

0表示所有的比特为0,-1表示所有的比特位全为1,netid、subnetid和hostid分别表示不为全0或全1的对应字段。子网号栏为空表示该地址没有进行子网划分。

 一、概念 
  将IP地址中的主机号再分成一个子网号和主机号。而不是把IP地址看成单纯的网络号+主机号。举例来说:一个B类网络地址,网络位为16位,主机位为16位。若划分子网则需要对这16主机位继续进行划分,比如在这16bit中将8bit用于子网号,8bit用于主机号,那么就允许有254个子网,每个子网可以有254台主机(由于全0或全1的主机号都是无效的,因此为256-2=254)。

二、特点 
  子网对外部路由器来说隐藏了内部网络组织的细节。比如在一个所有IP地址都有一个B类网络号140.252的网络例子中,划分30个子网(140.252.1.X~140.252.30.X),每个子网上拥有一定数量的主机。与直接使用30个C类地址相比,使用子网寻址功能的好处就是可以缩小Internet路由表的规模。B类地址140.252被划分成子网对除了140.252子网之外的Internet路由器来说都是透明的。如果这里最终访问外部Internet的地址是通过 gateway IP地址140.252.104.1进行的,那么为了到达任何以140.252开头的主机,外部路由器仅需要知道到达IP地址140.252.104.1的路径,这意味着对于整个140.252网络仅需要一条路由表项。而不是像30个C类地址需要30个路由表项那样。

PS: 子网划分对于子网内的路由器是不透明的。至于如何到达路径,则是根据IP路由选择进行的。

 

IP地址

每个计算机必须有一个 IP 地址才能够连入因特网。

每个IP 包必须有一个地址才能够发送到另一台计算机。

 


 

IP 地址包含 4 组数字:

TCP/IP 使用 4 组数字来为计算机编址。每个计算机必须有一个唯一的 4 组数字的地址。

每组数字必须在 0 到 255 之间,并由点号隔开,比如:192.168.1.60

 


 

32 比特 = 4 字节

TCP/IP 使用 32 个比特来编址。一个计算机字节是 8 比特。所以 TCP/IP 使用了 4 个字节。

一个计算机字节可以包含 256 个不同的值:

00000000、00000001、00000010、00000011、00000100、00000101、00000110、00000111、00001000....... 直到 11111111。

现在,您应该知道了为什么 TCP/IP 地址是介于 0 到255 之间的 4 组数字。

 


 

IP V6

IPv6 是 "Internet Protocol Version 6" 的缩写,也被称作下一代互联网协议,它是由 IETF 小组(Internet 工程任务组Internet Engineering Task Force)设计的用来替代现行的IPv4(现行的)协议的一种新的 IP 协议。

我们知道,Internet 的主机都有一个唯一的 IP 地址,IP 地址用一个 32 位二进制的数表示一个主机号码,但 32 位地址资源有限,已经不能满足用户的需求了,因此 Internet 研究组织发布新的主机标识方法,即 IPv6。

在RFC1884 中(RFC 是 Request forComments document 的缩写。RFC 实际上就是Internet 有关服务的一些标准),规定的标准语法建议把 IPv6 地址的 128 位(16 个字节)写成 8 个 16 位的无符号整数,每个整数用 4 个十六进制位表示,这些数之间用冒号(:)分开,例如:3ffe:3201:1401:1280:c8ff:fe4d::db39。

 


 

域名

12 个阿拉伯数字很难记忆。使用一个名称更容易。

用于 TCP/IP 地址的名字被称为域名。w3cschool.cc 就是一个域名。

当你键入一个像 http://www.w3cschool.cc 这样的域名,域名会被一种 DNS 程序翻译为数字。

在全世界,数量庞大的 DNS 服务器被连入因特网。DNS 服务器负责将域名翻译为 TCP/IP 地址,同时负责使用新的域名信息更新彼此的系统。

当一个新的域名连同其 TCP/IP 地址一起注册后,全世界的 DNS 服务器都会对此信息进行更新。

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值