网络层

网络层负责在不同网络之间尽力转发数据包,基于数据包的ip地址的转发,不负责丢失重传和顺序,重传和顺序其由传输层控制


ip的几个概念

ip地址:通过子网掩码分为网络部分和数据部分,网络部分相同的主机在同一网络,可以相互通信,网络部分不同的通过网关通信

子网掩码:规定了网络部分和主机部分

网关:

那么网关到底是什么呢?网关实质上是一个网络通向其他网络的 IP地址。比如有网络A和网络B,网络A的 IP地址范围为“192.168.1.1~192. 168.1.254”, 子网掩码为255.255.255.0;网络B的IP地址范围为“192.168.2.1~192.168.2.254”,子网掩码为255.255.255.0。在没有 路由器的情况下,两个网络之间是不能进行TCP/IP通信的,即使是两个网络连接在同一台 交换机(或 集线器)上,TCP/IP协议也会根据 子网掩码(255.255.255.0)判定两个网络中的主机处在不同的网络里。而要实现这两个网络之间的通信,则必须通过网关。如果网络A中的主机发现 数据包的目的主机不在本地网络中,就把数据包转发给它自己的网关,再由网关转发给网络B的网关,网络B的网关再转发给网络B的某个主机(如附图所示)。网络A向网络B转发数据包的过程。
所以说,只有设置好网关的IP地址,TCP/IP协议才能实现不同网络之间的相互通信。那么这个IP地址是哪台机器的IP地址呢?网关的IP地址是具有路由功能的设备的IP地址,具有路由功能的设备有路由器、启用了路由协议的服务器(实质上相当于一台路由器)、代理服务器(也相当于一台路由器)。

dns:(域名解析 服务器 应用层,类似电话簿,由于信息量小,影响不大,采用udp传输)


数据包的传输过程

网络层_第1张图片

上图描述:

传输层从应用层接受数据,将所要传输的数据分段(编号),在网络层将源ip和目标ip地址加入到数据中,(属于ip数据报的内容)(如果数据大于数据链路层的最大传输值,需要对数据进行切片传输,切片传输的数据在传输层中通过ip数据报首部信息进行标识)

网络层_第2张图片

ARP 是在通信之前发送广播数据包,找到想要通信的ip地址的mac地址,数据链路层封装数据进行通信

icmp协议用来检测网络是否畅通,ttl值每经过一个路由器值减一(避免数据在网络中不断传输,且不同操作系统的ttl初始值不同)

igmp协议是路由器从公网中获取多播的信息,然后再由路由器周期性的扫描本网段的计算机有哪些绑定了多播地址,从而实现多播


路由器通过路由表在不同网络之间转发数据,两个计算机相互通信,数据来和去经过的路由器很可能不同,

图解释:数据包经过路由器,路由器查看目标ip地址,查找到目标IP地址的ip,然后转发给他,从而实现一次路由器之间的数据转发。上图设置路由表,目标网络是192.168.1.x的网络地址交给ip是172.16.0.。。。



你可能感兴趣的:(TCP/IP)