网络层:向上只提供简单灵活的、无连接的、尽最大努力交付的数据报服务。
TCP/IP协议中的网络层常常被称作网际层(internet layer)或IP层,这个名词强调了此层是由很多网络构成的互连网络。
网际协议IP:配套的有ICMP(网际控制报文协议)、IGMP(网际组管理协议):使用IP
ARP(地址解析协议):被IP使用
将网络互相连接起来需要使用一些中间设备:
物理层:转发器(repeater)
数据链路层:网桥或桥接器(bridge)
网络层:路由器(router)
网络层以上:网关(gateway)。用网关连接两个不兼容的系统需要在高层进行协议的转换
IP地址:给互联网上的每一台主机(或路由器)的每一个接口分配一个在全世界范围内是唯一的32(4组数,每组为8位二进制)位标识符。IP地址的结构可以在互联网上很方便地进行寻址。
分类的IP地址:将IP地址划分为若干个固定类,每一类都由两个固定长度的字段组成,第一个是网络号(net-id),它标志主机(或路由器)所连接到的网络,一个网络号在整个互联网范围内必须是唯一的。第二个是主机号(host-id),它标志该主机(或路由器)
A类地址:网络号1个字节,主机号3个字节,开头固定为0(称为类别位)
A类地址网络号占1个字节,只有7位可供使用,但可指派的为126(2^7-2),
网络号全为0,意思是“本网络”,网络号为127(即01111111)保留为本地软件的环回测试本主机的进程之间的通信之用。
A类地址的主机号占3个字节,因此一个A类网络中的最大主机数是2^24-2,即
16777214。减2的意思是:全为0的主机号字段表示该IP地址是“本主机”所
连接到的单个网络地址(例如,5.6.7.8主机所在的网络地址为5.0.0.0),而全1
表示“所有的(all)”,因此全1的主机号字段表示该网络上的所有主机。
IP地址空间共有2^32(即4294967296)个地址。整个A类由2^31个,占全部
的一半。
00000000 00000001 00000000 00000000--10000000 11111111 11111111 11111110
0.1.0.0——127.255.255.254
B类地址:网络号2个字节,主机号2个字节,开头固定为10
B类网络号占2byte,只剩下14位可分配,因为网络号字段后面的14位无论怎么取值也不可能出现使整个2字节的网络号字段成为全0或全1,因此不存网络总数减2的问题。但实际上128.0.0.0是不指派的,而可以指派的B类最小网络地址为128.1.0.0。因此B类地址可指派的网络数为2^14 - 1,即16383。B类地址的每一个网络上的最大主机数是2^16 - 2,即65534。这里减2是因为要扣除全为0和1的主机号。整个B类地址空间约有2^30个地址,占全部的25%。
10000000 00000001 00000000 00000000--10111111 11111111 11111111 11111110
128.1.0.0——191.255.255.254
C类地址:网络号3个字节,主机号1个字节,开头固定为110
C类地址由3个字节的网络号字段,由21位可以进行分配。C类网络地址192.0.0.0也是不指派的,可以指派的C类最小的网络地址是192.0.1.0,因此C类地址可指派的网络总数是2^21 - 1,即2097151。每一个C类地址的最大主机数是2^8-2,即254。整个C类地址空间约有2^29个地址,占整个IP地址的12.5%。
11000000 00000000 00000001 00000000--11011111 11111111 11111111 11111110
192.0.1.0——223.255.255.254
IP地址都是32位二进制代码,但为了表示方便,用点分十进制法表示
实际上IP地址是标志一台主机(或路由器)和一条链路的接口。
一个网络是指具有相同网络号net-id的主机的集合,因此,用转发器或网桥连接起来的若干个局域网仍为一个网络。
IP地址,和硬件地址:网络层及以上使用的是IP地址,数据链路层使用的是硬件地址,在发送数据时,数据从高层下到低层,然后才到通信链路上传输。使用IP地址的IP数据报一旦交给了数据链路层,就被封装成MAC帧了。MAC帧在传送时使用的源地址和目的地址都是硬件地址,写在MAC帧的首部。连接在通信链路上的设备在收到MAC帧后,根据MAC帧首部中的硬件地址决定收下或丢弃。只有在剥去MAC帧的首部和尾部后把MAC层的数据上交给网络层后,网络层才能在IP数据报的首部中找到源IP地址和目的IP地址。
MAC地址:固化在硬件适配器rom(可以理解为主机,一台电脑有一个,一个手机也有一个MAC地址)中的48位地址,即6个字节,采用16进制表示
地址解析协议ARP:用于解决已经知道了一个机器的IP地址,需要找出其对应的硬件地址。
对于已经有了硬件地址,为何还需要IP地址的疑惑:为了方便用户使用,硬件地址过于复杂,连接到互联网的主机只需各自拥有一个唯一的IP地址,调用ARP可以实现通过IP地址来寻找物理地址进行通信。
在路由表中,对每一条路由最主要的是以下两个信息:目的网络地址,下一跳路由器地址
划分子网:没有划分子网时,IP地址为两级结构。划分后,IP地址变成三级结构。划分子网是把IP地址的主机号这部分再划分,而不改变原来的网络号。
A类IP地址子网掩码:255.0.0.0
B类IP地址子网掩码:255.255.0.0
C类IP地址子网掩码:255.255.255.0
ICMP(Internet Control Message Protocol):网际控制报文协议,此协议是为了更有效的转发IP数据报和提高交付成功的机会。
ICMP的一个重要应用就是:分组网间探测PING(Packet InterNet Groper),用来测试两台主机之间的连通性。PING使用了ICMP回送请求与回送回答报文。PING是应用层直接使用网络层ICMP的一个例子。它没有通过运输层的TCP和UDP。
路由器:是一个具有多个输入端口和多个输出端口的专用计算机,其任务是转发分组。
IPv6:地址由v4的32位增大到128位,地址数量相比扩大了2^96倍。
专用地址(private address):这些地址只能用于一个机构的内部通信,而不能用于和互联网上的所有主机通信。如果任意选择一些IP地址作为本机构内部使用的本地地址,那么当机构内部的某台主机需要和外网连接时,那么这种仅在内网使用的IP就和外网某个IP重合。
虚拟专用网VPN(virtual private network):专门规定了一些IP地址,用于企业的不用区域的子公司通过公用的互联网线路进行通信,但是不与外网通信。
网络地址转换NAT(Network Address Translation):虚拟专用网要连接到外网,又不申请公用IP地址,通过架设一台路由器,路由器具有至少一个公用IP地址,通过这台路由器来发送接收IP数据报。