网络协议与 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多平台发布

相关推荐
愚者游世12 小时前
<algorithm> 中 remove、remove_if、remove_copy、remove_copy_if 详解
c++·学习·程序人生·职场和发展·visual studio
pao__pao_2 天前
计算机系统大作业 程序人生-Hello’s P2P
程序人生·职场和发展·课程设计
munubak2 天前
程序人生-Hello’s P2P
程序人生·职场和发展
龙中舞王2 天前
博客园运营危机,我为了保护我的博客回到CSDN
程序人生
练习曲的水果2 天前
程序人生-Hello’s P2P
程序人生·大学生作业
芝士爱知识a2 天前
【程序人生】码农考公指南:是“降维打击”还是“围城自困”?
程序人生·职场和发展·程序员·公务员·考公·职场规划
炒鸡菜6662 天前
程序人生-Hello’s P2P
c语言·程序人生·职场和发展
卓律涤2 天前
【工作篇】 Dell机架式服务器,采用RAID 5,怎么部署win系统
运维·服务器·单片机·嵌入式硬件·深度学习·程序人生·安全
1104.北光c°3 天前
JVM虚拟机【八股篇】:类加载机制与性能调优
java·开发语言·jvm·笔记·程序人生·调优·双亲委派
焦糖玛奇朵婷3 天前
实测扭蛋机小程序:开发简单,互动有趣
java·大数据·程序人生·小程序·软件需求