网络协议与 IP 编址

网络协议与 IP 编址

之前大概了解过了网络的一些基础概念,见文章: 网络基础概念

之前简单了解OSI模型分层:

TCP/IP模型 OSI模型 TCP/IP对等模型
应用层
应用层 表示层 应用层
会话层
主机到主机层 传输层 传输层
因特网层 网络层 网络层
网络接入层 数据链路层 数据链路层
物理层 物理层

在分层模型中,传输层、网络层、数据链路层方便有自己进行区分的通信方式。 TCP/IP协议栈定义的标准协议:

应用层 Telnet(23)、FTP(20,21)、TFTP(60udp)、SNMP(25)、HTTP(80)、SMTP、DNS(53)、DHCP
传输层 TCP、UDP
网络层 ICMP、IGMP、IP
数据链路层 PPPOE、Ethernet、PPP
物理层

分层中每层PDU协议数据单元都添加了对应的报文头部进行标识。网络层中添加逻辑地址(IP地址)进行封装。 网络层主要的协议包括:IP 协议,ICMP 协议,IPX

IP 协议

IP 协议:Internet Protocol 因特网协议,定义并阐述了 IP 报文的格式。有 IPV4 和 IPV6 两个版本,现在逐渐在从 V4-V6 版本迭代。IP 协议为网络层设备提供逻辑地址,负责数据表的寻址和转发。

IP 头部字段信息:

  • Version:版本
  • header length:头部的长度,如果不带 OPTION 字段为 20,最长 60
  • type of service:服务类型。只有在有 QoS 差分服务要求时,这个字段才起作用
  • total length:整个 IP 数据包的长度
  • identification:标识某个数据包的标识符
  • flags:标记位,记录是否分片
  • fragment offset:包偏移量,确定分片的长度,默认接口 MTU1500
  • TTL:生存时间(255/128),每经过一个三层设备减少 1,用于防环
  • protocal:下一层协议。指出此数据包携带的数据使用何种协议,以便目的主机的 IP 层将数据部分上交给哪个进程处理。
  • header checksum:首部检验和
  • source ip address:数据包源地址
  • destination ip address:数据包目的地址
  • options:可选字段
  • padding:可变,填充字段

数据字段解析 报文数据

IP 地址

IP地址结构

用于在网络中标识一个节点,用于 IP 报文寻址。

采用点分十进制标识,一个 IP 地址有 32bit(4 字节),1Byte(字节)=8bit,刚好IP地址为32个二进制位数,每8为为一个字节(byte),因此为4字节。

二进制:二进制(binary)是在数学和数字电路中以2为基数的记数系统,是以2为基数代表系统的二进位制。这一系统中,通常用两个不同的符号0(代表零)和1(代表一)来表示。左侧为高位,右侧为地位。
IP地址表示法

地址由网络部分和主机部分构成,网络部分标识同一个网络,主机部分用于区分网络内不同主机,可以分配终端使用。

子网掩码,区分网络部分与主机部分,网络位全部置为1。

网络号:一个网络范围,即同一个网络。二进制主机位全部置 0 就是网络位。

主机位:具体范围里面的具体节点,属于网络号里的一个主机。

广播地址:一个网络主机位全部置 1,为广播地址,不能分配使用。

IP 地址分类:

主机数量:2^N

可用主机数量:2^N -2

私有地址:

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

特殊地址:

IPV4 VS IPV6

子网划分

假设有一个C类网段地址:192.168.10.0;默认情况下,网络掩码为24位,包括24位网络位,8位主机位。

从上面我们指定一个网络地址包括网络位和主机位,地址分ABC类,都有默认掩码,将网络位固定,主机位的个数就是这个网段的可用数量;通过将网络位增加,可以增加网段,但是网段内主机数量减少实现子网划分。这个可以简单理解为原来一个网络有256个IP,可以划分为2个128小的网段,除去网络号全0和全1。

子网划分要多多练习才能熟练掌握或者通过子网计算工具。

从主机位借位。

可用子网数量:2^N ,N 为借位数

可变长子网掩码,VLSM (Variable Length Subnet Mask)

ICMP:因特网消息控制协议

Internet 控制消息协议 ICMP (Internet Control Message Protocol)是 IP 协议的辅助协议。 通常用于在两台网络设备间进行状态检测,判断主机间网络状态,会返回不同的状态值。
ICMP协议

总结:

这次复习了上次的网络基础概念,网络分层模型以及各层对应的报文头部,在网络层是使用IP协议,通过逻辑地址进行区分不同主机的。

因为计算机只认识0和1,为了便于人们使用点分十进制表示,每8个bit为一个字节(byte),因此IP地址最大为255,最小为0。

IP地址常用被划分为A、B、C类,IP地址由网络位和主机位组成,IP地址必须要通过逻辑地址和子网掩码才能唯一确定一个IP。网络地址位全部置位1表示掩码,主机位全置位1表示广播地址。

可以通过减少或增加网络位和主机位实现子网划分,VLSM可变长子网掩码。

ICMP协议,通过ICMP来测试网络主机的连接情况。

本文由mdnice多平台发布

相关推荐
吾店云建站8 小时前
WordPress 6.7 “Rollins”发布
科技·程序人生·职场和发展·创业创新·程序员创富
Tiger Z12 小时前
文献阅读 | Nature Methods:使用 STAMP 对空间转录组进行可解释的空间感知降维
程序人生
少喝冰美式2 天前
大语言模型在序列推荐中的应用
人工智能·程序人生·自然语言处理·大模型·大语言模型·计算机技术·大模型应用
百晓生说测试2 天前
15:00面试,15:08就出来了,问的问题有点变态。。。
自动化测试·软件测试·功能测试·程序人生·面试·职场和发展
提笔惊蚂蚁2 天前
java-web-苍穹外卖-day1:软件开发步骤简化版+后端环境搭建
java·开发语言·前端·程序人生
吾店云建站2 天前
使用ACF插件向WooCommerce商城产品添加自定义字段
程序人生·职场和发展·创业创新·流量运营·程序员创富
程序员曦曦3 天前
一文熟悉redis安装和字符串基本操作
自动化测试·软件测试·数据库·redis·功能测试·程序人生·缓存
看山还是山,看水还是。3 天前
Oracle 外键
运维·数据结构·数据库·笔记·程序人生·oracle·全文检索
百晓生说测试3 天前
外包干了5年,技术退步太明显了。。。。。
自动化测试·软件测试·功能测试·程序人生·面试·职场和发展
少喝冰美式3 天前
大模型在金融行业的应用场景和落地路径
人工智能·程序人生·自然语言处理·金融·大模型·大模型落地·大模型应用场景