计算机网络学习——TCP/IP四层模型之网络层

网络层IP协议相关

IP协议

虚拟互连网络

当A需要经过多个设备和网络向B传输数据时,可以将中间经过的所有看成一个虚拟互连网络,不用关心中间的细节,只实现端到端的传输。
在这里插入图片描述在这里插入图片描述实际的计算机网络是错综复杂的,物理设备通过使用IP协议,屏蔽了物理网络之间的差异;当网络中的主机使用IP协议连接时,则无需关注网络细节。

IP协议使得复杂的实际网络变为一个虚拟互连的网络,IP协议使得网络层可以屏蔽底层细节而专注网络层的数据转发,IP协议解决了在虚拟网络中数据报传输路径的问题

IP协议

MAC地址与IP地址的不同:
MAC地址是唯一的不可改变的,每台网络设备都有属于自己的唯一的MAC地址。
IP地址是可改变的,受网络环境影响,连接不同网络是不同的IP地址。
IP地址长度为32位,常分成4个8位;
IP地址常使用点分十进制来表示(0~ 255.0~ 255.0~ 255.0~255)

IP数据报与数据帧的结构:
在这里插入图片描述IP首部的格式:
在这里插入图片描述IP首部的前5行是必须的,每行32个比特位,即4个字节,则IP首部至少有20个字节的长度。
如果IP数据的总长度大于MTU(数据链路层的传输单元),那么数据链路层会将IP协议进行分片,将较长的IP数据报分成多个帧传输。

版本:占4位,指的是IP协议的版本,通信双方的版本必须一致,当前主流版本是4,即IPv4,也有IPv6
首部位长度:占4位,最大数值为15,表示的是IP首部长度,单位是“32位字”(4个字节),也即是IP首部最大长度为60字节
总长度:占16位,最大数值为65535,表示的是IP数据报总长度(IP首部+IP数据)
TTL:占8位,表明IP数据报文在网络中的寿命,每经过一个设备,TTL减1,当TTL=0时,网络设备必须丢弃该报文。作用:如果找不到目标设备,避免无限制传输。
协议:占8位,表明IP数据所携带的具体数据是什么协议的(如:TCP、UDP等)
首部校验和:占16位,校验IP首部是否有出错

IP协议的转发流程

路由表:计算机或者路由器都拥有路由表
在这里插入图片描述
只从网络层看待从计算机A到计算机C的数据传输过程:
在这里插入图片描述每个设备都查询的是自己的本地路由表

从网络层和网络接口层看待从计算机A到计算机C的数据传输过程:

A发出目的地为C的IP数据报,查询路由表发现下一跳为E
A将IP数据报交给数据链路层,并告知目的MAC地址是E
数据链路层填充源MAC地址A和目的MAC地址E
数据链路层通过物理层将数据发送给E路由表IP协议的转发流程

E的数据链路层接收到数据帧,把帧数据交给网络层
E查询路由表,发现下一跳为F
E把数据报交给数据链路层,并告知目的MAC地址为F
E的数据链路层封装数据帧并发送

F的数据链路层接收到数据帧,把帧数据交给网络层
F查询路由表,发现下一跳为C
F把数据报交给数据链路层,并告知目的MAC地址为C
F的数据链路层封装数据帧并发送

我们发现:
1、数据帧每一跳的MAC地址都在变化
2、IP数据报每一跳的IP地址始终不变

子网划分

在这里插入图片描述特殊的主机号
主机号全0表示当前网络段,不可分配为特定主机
主机号为全1表示广播地址,向当前网络段所有主机发消息
特殊的网络号
A类地址网络段全0(00000000)表示特殊网络
A类地址网络段后7位全1(01111111:127)表示回环地址
B类地址网络段(10000000.00000000:128.0)是不可使用的
C类地址网络段(192.0.0)是不可使用的
在这里插入图片描述
127.0.0.1,通常被称为本地回环地址(Loopback Address),不属于任何一个有类别地址类。它代表设备的本地虚拟接口,所以默认被看作是永远不会宕掉的接口。在Windows操作系统中也有相似的定义,所以通常在安装网卡前就可以ping通这个本地回环地址。一般都会用来检查本地网络协议、基本数据接口等是否正常的。

网络地址转换NAT技术

网络地址转换NAT(Network Address Translation)
NAT技术用于多个主机通过一个公有IP访问互联网的私有网络中。
NAT减缓了IP地址的消耗,但是增加了网络通信的复杂度。

网络层其他协议

ARP协议与RARP协议

ARP(Address Resolution Protocol)地址解析协议。
RARP(Reverse Address Resolution Protocol)逆地址解析协议。
作用:将网络层IP32位地址转换成数据链路层MAC48位地址,以此获得IP协议转发流程中下一跳的目的MAC地址。先查询ARP缓存表,才知道目的MAC地址。
协调完成网络层和数据链路层的工作。

ARP缓存表的结构:
在这里插入图片描述当ARP缓存表没有缓存IP地址和MAC地址的映射关系时,也是通过广播的方法获得。

ARP缓存表是ARP协议和RARP协议运行的关键。
ARP缓存表缓存了IP地址到硬件地址之间的映射关系。
ARP缓存表中的记录并不是永久有效的,有一定的期限。
ARP协议直接封装在数据帧里,里面使用到了IP地址,所以属于网络层。

命令行查看ARP缓存表命令:

arp -a

RARP/ARP协议是TCP/IP协议栈里面基础的协议
ARP和RARP的操作对程序员是透明的

ICMP协议

ICMP协议详解

网际控制报文协议(Internet Control Message Protocol)
ICMP协议可以报告错误信息或者异常情况。

IP协议:传输数据。
ARP协议:32位IP地址转换为48位MAC地址。
RARP协议:48位MAC地址转换为32位IP地址。
ICMP协议:封装在IP数据报里,辅助IP协议传输数据。

在这里插入图片描述
在这里插入图片描述

ICMP协议应用

  • Ping应用
    Ping回环地址127.0.0.1
    Ping网关地址
    Ping远端地址

  • Traceroute应用
    Traceroute可以探测IP数据报在网络中走过的路径

猜你喜欢

转载自blog.csdn.net/weixin_44776894/article/details/107449821