IP协议

IP协议

1.IP协议格式

  1. 4位版本:用来表示IP协议的版本,目前有两个版本,IPv4和IPv6
  2. 4位首部长度IP头部的长度是多少个32bit,也就是 length * 4 的字节数.4bit表示最大的数字是15,因此IP头部最大长度是60节
  3. 8位服务类型:其实只有四位是有效果的.
    最小延时:传输一个数据报的时间尽量短.
    最大吞吐量:一定时间内传输的数据尽量多.
    最高可靠性:在传输过程中最不容易丢包.
    最小成本:在传输过程中消耗的硬件资源最低.
    这四种形态是互斥的,只能切换到其中一种形态.
  4. 16位总长度:指定整个IP数据包的长度,如果需要携带比较长的数据,IP协议会自动的把一个数据报拆分成多个数据报,接收方在进行分用的时候,也会把多个数据报合并成一个数据报
  5. 16位标识:表示属于同一个数据包的各个分片,在进行分片的时候,标识原始数据的部分,每一片的标识位是相同的
  6. 3位标志位:
    bit1:保留位为0(不用)
    bit2:是否允许拆包
    bit3:标识"结束标记",标识当前的包是否是最后一个,为0则表示是最后一个包
  7. 13位片偏移:表示当前分片在原报文中处在哪个位置,通过片偏移,就可以区分包的先后顺序.
  8. 8位生存时间:数据报到达目的的最大报文跳数,单位是次,初始情况下会有个数值(32/64/128),通常是64为,每次经过一个路由器转发,TTL就会-1,减到0了就会被丢弃,
  9. 8位协议:描述上层的协议类型
  10. 16位首部校验和:鉴别头部是否错误
  11. 32位源IP地址和32位源IP目的地址:表示发送端和接收端

2.IP地址

IP地址:标识每个主机的具体位置,它为互联网上的每一个网络和每一台主机分配一个逻辑地址.来屏蔽物理地址上的差异.

IP地址,其实是一个32位的整数(4个字节),按照32位的表示方式,使整个数字会变得很大,于是就采用点分十进制的方式表示,使用三个". ",把32位分成4个部分,每个部分就是8位,1个字节,每个字节的范围就是0-255.

IP地址分为两个部分:网络号和主机号

1.网络号:表示网段,保证相互连接的两个网段有不同的标识

2.主机号:标识主机,同一个网段内,主机之间具有相同的网络号,但必须有不同的主机号

如何区分主机号和网络号?

将IP地址和子网掩码进"按位与"操作(二进制相同位,与操作,两个都是1结果为1,否则就为0)就得到的就是网络号

将子网掩码二进制按位取反,再与IP地址按位与,得到的就是主机号

特殊的IP地址:

  • 将IP中的主机地址全都设为0,就成了网络号,代表这个局域网
  • 将IP地址中的主机地址全设为1,就成了广播地址,用于给同一个链路中互相连接的所有主机发送数据包,例如手机投屏到电视,处于同一个局域网中.
    127.0.0.1本机环回测试

2.1 解决IP地址不够用的方案

其实32位表示的数据量非常有限,也就是42亿9千万,并且IP不能够重复.这就会导致IP地址不够用的问题.针对这样的问题有多种解决方案,这里采用两点:1.动态分配IP地址(DHCP),2.NAT机制(网络地址转换)

1.动态分配IP地址:采用的按需分配,当一个设备不需要上网时,就不会分配IP地址,只有需要的时候,才会分配.通过优化DHCP配置,确保IP地址的有效和及时回收

2.NAT机制(网络地址转换):

把IP地址分为两类:

1.内网IP:不同的局域网内的设备,内网IP可以重复,同一个局域网内的设备,IP不能重复.比如以:10.,172.16. -172.31.*,192.168.开头的都属于是内网IP.

2.外网IP:外网IP不能重复.

1)局域网内之间的设备进行通信,是可以通信的,局域网内部IP地址都是唯一的.

2)A局域网中的设备,想和B局域网中的设备通信,这个时候就需要带有一个外网IP的设备进行中转

3)局域网内部的设备访问带有外网IP的设备.

我们平时使用到的手机等电子设备,他们都会有一个内网IP,还有一类设备就是"服务器",服务器可以有外网IP,

客户端请求:

1)客户端向服务器发送一个请求,其中包含源IP(例如10.0.0.10)和目标IP(例如202.244.174.37)。此请求包括IP头和有效载荷。

NAT转换(出站):

2)当请求通过带有NAT的路由器时,路由器会将IP头中的源IP(10.0.0.10)替换为自己的外部IP地址(例如163.221.120.9)。这是为了确保服务器的响应可以正确路由回内部网络中的正确设备。

服务器响应:

3)服务器接收到具有翻译后源IP(163.221.120.9)的请求并发送响应。响应包括源IP(例如202.244.174.37)和目标IP(例如163.221.120.9),以及源端口和目标端口。

NAT转换(入站):

4)当响应通过路由器时,NAT机制使用其映射表将IP头中的目标IP(163.221.120.9)替换为原始的内部IP地址(例如10.0.0.10)。这确保了响应被正确定向到内部网络上的正确客户端。

客户端接收响应:

5)客户端接收响应,通信成功完成。

其实当触发NAT的时候,就会维护一个映射表,其中记录了替换前的IP和替换后的IP.

3.IPv6

IPv6是16个字节,128位,表示IP地址,相比IPv4的32位地址提供了更多的地址组合,解决了IPv4地址空间有限的问题。

相关推荐
不爱学习的YY酱1 小时前
【计网不挂科】计算机网络期末考试——【选择题&填空题&判断题&简述题】试卷(4)
网络·计算机网络
装睡的小5郎1 小时前
家庭宽带如何开启公网ipv4和ipv6
网络
yfs10241 小时前
压缩Minio桶中的文件为ZIP,并通过 HTTP 响应输出
网络·网络协议·http
有谁看见我的剑了?1 小时前
Ubuntu 22.04.5 配置vlan子接口和网桥
服务器·网络·ubuntu
hgdlip1 小时前
有什么办法换网络ip动态
网络·tcp/ip·智能路由器
超栈1 小时前
HCIP(11)-期中综合实验(BGP、Peer、OSPF、VLAN、IP、Route-Policy)
运维·网络·网络协议·计算机网络·web安全·网络安全·信息与通信
დ旧言~1 小时前
【网络】应用层——HTTP协议
开发语言·网络·网络协议·http·php
不爱学习的YY酱1 小时前
【计网不挂科】计算机网络期末考试——【选择题&填空题&判断题&简述题】试卷(1)
网络·计算机网络
汪小敏同学1 小时前
【Django进阶】django-rest-framework中文文档——快速入门
网络·windows·oracle
徐浪老师2 小时前
OSPF动态路由配置实验:实现高效网络自动化
网络·自动化·智能路由器