TCP/IP四层模型 —— 关于网络层的那些协议那些事儿

网络层概念

网络层是OSI参考模型中的第三层,介于传输层和数据链路层之间,它为数据链路层提供的两个相邻端点之间的数据帧的传送功能上,进一步管理网络中的数据通信,将数据设法从源端经过若干个中间节点传送到目的端,从而向运输层提供最基本的端到端的数据传送服务。

简单来说,网络层负责的就是地址管理和路由选择,为每一条数据选择合适的路径。

在TCP/IP协议族中,网络层协议包括IP协议,ICMP协议(Internet互联网控制报文协议)以及IGMP协议(Internet组管理协议)

网络层只有IP协议的话,进行数据传输是不可靠的,因此需要其他协议帮助

  • ICMP是IP协议的附属协议。IP层用它来与其他主机或路由器交换错误报文和其他重要信息。
  • IGMP是Internet组管理协议。它用来把一个UDP数据报多播到多个主机。

IP协议格式

在这里插入图片描述
如上图:

  • 四位版本号:IPV4/IPV6
  • 四位首部长度:标识IP报头长度 (一个单位代表四字节,最小20字节/最长60字节)
  • 八位服务类型:三位弃用,一位置0,四位TOS字段-最大吞吐量/最小成本/最高可靠性/最小延时
  • 16位数据报长度,限制IP报文最大长度不超过64K-20-8
  • 分片标识:标识当前分片属于哪一个上层报文(传输数据大于MTU会进行数据分片)
  • 三位标志: 一位保留,一位禁止分片位,一位分片标志位(一般置为1 1 0)
  • 13位分片偏移:标识当前分片位于原始报文的什么位置(2^13 --> 8192 ,单位8个字节,因此描述道0-65536)
  • 八位TTL:报文的最长生存周期,每经过路由器-1,默认64/128,防止路由环路
  • 八位上层协议:记录传输层协议类型
  • 16位校验和:校验数据一致性
  • 32位源端/对端IP地址:描述通信的两方
  • 0-40字节选项数据:保存特殊服务信息

MTU与mss关系图:

MTU是链路层最大传输单元,而mss则可以理解为传输层所能传输最大数据大小。
在这里插入图片描述
MTU通常默认1500字节,因此在网络层如果数据大于1500字节,就会进行分片
在这里插入图片描述
不考虑选项数据,当传输层封装的报文为2500字节时,网络层会取出1480字节+20字节的IP头部进行封装,向链路层传递。

IP地址管理

IP地址在网络层就相当于一个主机的标识,主机在网络中的绝大多数行为,比如请求资源,都要通过IP地址进行操作。

IP地址分为IPV4/IPV6地址。

  • ipv4地址其实是一个uint32_t的整形,也就是说ipv4地址一共不到43亿个。
  • ipv6地址相比于ipv4最显著的区别就是ipv6地址有128位。

IP地址的组成包含两部分,网络号+主机号。

  • 网络号,俗称网段,也就是当前网络的标识。
  • 主机号就是一个主机在网络中的唯一标识。

我们在这里详细解释ipv4地址。

早期网段划分

网段的划分分为早期和当前,早期划分方式不合理,因此人们对其进行改造,衍生出了当前网段的划分。

早期将网络号划分为了五部分:

  • A:用于组建大型网络,高一位0,7位网络号,24位主机号。
    网络号范围:0-127,IP地址范围0.0.0.0-127.255.255.255
  • B:用于组建中型网络,高二位10,14位网络号,16位主机号。
    网络号范围:128.0-191.255,IP地址范围:128.0.0.0-191.255.255.255
  • C:用于组建小型网络,高三位110,21位网络号,八位主机号。
    网络号范围:192.0-233.255,IP地址范围:19.0.0.0-233.255.255.255
  • D:特殊IP地址
  • E:特殊IP地址

无类域间路由(CIDR)

传统划分IP地址的方法都是8位划分的,要不就是前8位网络ID,后24位主机ID;或前16位网络ID,后16位主机ID,或前24位网络ID,后8位主机ID,这种划分IP地址的方法是固定的.
无类域间路由这种划分IP地址的方法,可以划分这种地址,前10位是网络ID,后22位是主机ID这种ID地址,他并不强行规定哪些位是网络ID,哪些位是主机ID。

子网掩码

因为不规定明确的网络ID和主机ID,于是提出了子网掩码的概念,根据子网掩码配合IP地址可以判断出哪些位是网络ID,哪些位是主机ID。

子网掩码时一个uint32_t的数。由连续的二进制1组成
比如11111111 11111111 11111111 11000000

  • 子网掩码和IP地址相与会得到当前网络的网络号,
  • 子网掩码取反可以得到当前网络的主机号范围,

特殊IP地址

二进制下

  • IP地址全0:可以实现当前主机的任意网卡地址,常用于服务端监听地址,绑定监听本地的所有地址。
  • IP地址全1:全网广播地址,常用于DHCP请求地址
    主机号全0:网络号的标识,不可分配
    主机号全1:UDP局域网广播地址,适配当前网络的所有主机,不可分配
    127.0.0.1:本地虚拟回环网卡的IP地址,本地网络测试通信

因此在一个网络中不是所有的IP地址都能划分的,应该减去2.

路由选择

网络可以分为公网/外网,私网/内网
公网/者外网就是我们常听到互联网。
私网/内网是一个私有网络,仅限于内部通信。

ipv4明显IP地址不够分配, 因此由DHCP动态地址分配和NAT网络地址转换等方式解决。

DHCP动态地址分配简单来说,当前主机IP地址为0.0.0.0,向255.255.255.255,发送一个获取IP地址的请求,当DHCP服务器收到后,就会分配IP地址。

NAT(网络地址转换 )和 NAPT(网络地址端口转换)。
它们都是地址转换,NAPT与NAT的区别在于 NAT是NAT是一对一转换,NAPT是多对一转换。 通俗来说NAT是一个内部地址转换成一个外部地址进行通信的,而NAPT是多个内部地址使用同一地址不同端口转换成外部地址进行通信的。

简单来说:NAPT发送数据的时候会在源地址和目标地址上加上端口号(比如源地址:192.168.1.2:1010,目标地址:200.1.1.2:1020),回来的数据也是一样。

NAPT与NAT的区别在于,NAPT不仅转换IP包中的IP地址,还对IP包中TCP和UDP的Port进行转换。这使得多台私有网主机利用1个NAT公共IP就可以同时和公共网进行通信。(NAPT多了对TCP和UDP的端口号的转换)

IP地址转换和port转换对双方完全透明

路由选择就是路由器根据拿到的数据的IP地址,在路由表中匹配,将数据发往对应的网络。

路由表:
在这里插入图片描述

ICMP协议和IGMP协议

ICMP协议,英文全称(Internet Control Message Protocol),就是网际控制信息协议。
主要是用于补充IP传输数据报的过程中,发送主机无法确定数据报是否到达目标主机。

ICMP报文分为出错报告报文和查询报文两种。若数据报不能到达目标主机,ICMP出错报告报文可以以回送信息的方式,向源主机发去信息,并不能纠正数据报中的任何出错。除了出错报告,ICMP还可以诊断出某些网络问题,这就是ICMP的查询报文。

IGMP协议,英文全称(Internet Group Management Protocol),网络组管理协议。主要用于建立和管理多播组,对IP分组广播进行控制。

  • 2
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
TCP/IP四层模型和五层模型是两种常用的网络协议参考模型,用于描述计算机网络中不同层次的功能和通信规则。 TCP/IP四层模型包括:网络接口层、互联网层、传输层和应用层。网络接口层负责将数据包转换成适合传输的物理格式,并进行网络接口的选择。互联网层负责进行网络间的数据传输,通过IP协议来确定数据包的传输路径。传输层负责提供端到端的数据传输服务,包括TCP和UDP协议TCP提供可靠的面向连接的传输服务,而UDP提供不可靠的面向无连接的传输服务。应用层包括各种网络应用协议,如HTTP、FTP、SMTP等,负责应用程序之间的通信。 五层模型TCP/IP四层模型的基础上增加了一个会话层。五层模型包括:物理层、数据链路层、网络层、传输层和应用层。物理层负责数据在物理媒介上的传输,包括电缆、光纤等。数据链路层负责将数据分帧,并进行错误检测和纠正,如以太网、无线局域网等。网络层负责进行数据包的路由选择和寻址,如IP。传输层提供端到端的数据传输服务,如TCP和UDP。应用层包括各种应用层协议,如HTTP、FTP等。 两种模型虽然在命名和层次划分上有所不同,但其基本结构和功能相似。TCP/IP模型是互联网中使用最广泛的模型,而五层模型是OSI参考模型中的一部分。无论使用哪种模型,它们都为网络的设计、实现和管理提供了一种标准化的方法,使不同厂商和组织之间的网络设备和应用能够进行互通和协作。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值