当前位置: 首页 > java >正文

JAVA EE_网络原理_网络层

                                      

晨雾散尽,花影清晰。

                                                        ​​​​​​​        ​​​​​​​        ​​​​​​​               ​​​​​​​        ​​​​​​​        ​​​​​​​        ​​​​​​​               ----------陳長生.


 ❀主页:陳長生.-CSDN博客❀

📕上一篇:数据库Mysql_联合查询-CSDN博客


 

1.IP协议

1.1.基本概念

        IP协议是网络层的核心协议,负责将数据从一端传送到另一端

        

主机:有IP标识,但没有路由选择

路由:既有IP标识也有路由选择

节点:图中的任意一个图形都为节点(即任意主机和路由器)

1.2.协议头格式

4位版本:指IP协议版本,标识IPv4,目前常用的有IPv4和IPv6。

4位首部长:以4字节为单位表示IP头部长度。

8位服务位:实际上只有4位服务位,分别是最大吞吐量(传输速率),最小延迟(发送和接受数据的时间),最高可靠性(减少丢包率),最小成本(对应时间内消耗最少),4个服务位具有唯一性,也就是同一时间只有有一个服务位进行。

16位总长度:长度为64kb的长度,当超过64kb就会进行数据分组。

16标识:会为分组后的数据包提供IP报头,便于后续重组数据。

13位片偏移:为传输的数据保证顺序性。

3位标志位:有一位不使用,有一位禁止分片,有一位作为数据传输的结束标志。

8位生存时间:数据在传输时,会经历多个路由点,我们将数据传送到下一个路由器位“下一条”,那么8位生存时间一般表示为32/64/128跳,如果超出了,那么就丢弃该数据包。

8为协议:描述当前的数据包应该使用哪种协议。

16位首部校验和:用于校验数据包是否正确,如JAVA EE_网络原理_UDP与TCP-CSDN博客中讲解的校验和相同。

 

2.地址管理

2.1.网络划分

可将网段划分为网络号和主机号

网络号:相同局域网中的网络号必须相同,不同局域网中的网络号必须不同。

主机号:相同局域网中的主机号必须不同(若相同会产生两个一样IP地址的主机,那么这两台主机就会竞争一个IP地址而导致上不了网),不用局域网中的主机号可以相同。

我们有可以将网络划分为3类

A类:8位网络号,24位主机号(大范围)

B类:16位网络号,16位主机号(中范围)

C类:24位网络号,8位主机号(小范围)

2.2.特殊的IP地址

网络号:主机位全为0,代表该段的整段子网

广播地址:主机位全位1,代表该段子网的广播IP,往这个IP上发送数据,该段子网的其他IP也能接收0到

环回地址:IP为127.0.0.1,可以自己发送数据自己接收,一般用于测试,例如:本地服务测试,网络协议验证,开发调试,安全隔离

2.3.私有IP地址和公网IP地址

2.3.1.私有IP地址

         即局域网中使用的IP地址

地址范围可分为:

  • 10.*
  • 127.16.*~127.32.*
  • 192.168.*

2.3.2.公网IP地址 

        除了私网中的范围其余都是公网IP地址

2.4.IP地址的数量和限制

        目前最常用的为IPv4,它的数量为2^32 大约45亿左右,这个数量在早期的网络环境中是完全够用的,但随着网络越来越发达,IP地址愈发紧张,那么总有办法来缓解IP紧张的问题。

2.4.1.动态分配IP地址

        因为地球不同的地方有时间差,就举例中国和美国,昼夜颠倒,当中国人晚上休息的时候,他们手机上的IP地址是空闲的,但因为时间差,美国这时候就就为白天,使用手机和电脑的人就多了,那么就可以将中国地区的IP地址暂时给美国地区的人使用,这便是动态分配IP。

        这个办法在早期是有用的,但是人口越来越多,这种办法也没法有效缓解IP紧张的情况。

2.4.2.NAT机制(网络地址映射)

假设有A和B两个设备

  1. 在相同局域网中,A和B设备可以直接通信。
  2. 在不同局域网中,A和B不能直接通信。
  3. 若A为内网的IP,B为外网的IP,A可以访问B,B不能访问A(应为外网B是唯一的,但内外A不是唯一的,所以B不知道要访问哪个A),但是B可以通过A的访问路径来找到A

2.4.3.路由选择

        路由选择是一种探索式,启发式的发送数据的方式,一个路由器不知道数据目的地的时候,会向相邻路由器发送数据,此时相邻的路由器也不知道数据目的地,于是又向相邻路由器发送数据,当发送次数超出最大限制时,就会停止发送,丢弃该数据。

以下面为例:              长生与小美是异地恋,都处于不同的位置,那么他们在网络上聊天的时候,数据就会从长生位置的路由器开始找对方位置,如果找不到,那么就会往更大的范围的路由器去找,依次到Y1省时,它知道小美在X1省,那么就会向X1省发送数据,此时依次向下路由器寻找,直到找到小美所在的区域。

 

 

http://www.xdnf.cn/news/5388.html

相关文章:

  • PowerShell 脚本中文乱码处理
  • 《Linux命令行大全(第2版)》PDF下载
  • TAPIP3D:持久3D几何中跟踪任意点
  • Java--图书管理系统(简易版优化)
  • Oracle — 内置函数
  • Python Bug 修复案例分析:多线程数据竞争引发的bug 两种修复方法
  • Java多态详解
  • 图形学、人机交互、VR/AR领域文献速读【持续更新中...】
  • TypeScript 类型保护详解
  • 《Go小技巧易错点100例》第三十一篇
  • stm32week15
  • 轻量服务器与宝塔
  • 【递归、搜索与回溯算法】导论
  • 2025第九届御网杯网络安全大赛线上赛 区域赛WP (MISC和Crypto)(详解-思路-脚本)
  • [Java实战]Spring Boot 快速配置 HTTPS 并实现 HTTP 自动跳转(八)
  • Java反序列化漏洞
  • 第一章 初识Java
  • Kotlin Multiplatform--03:项目实战
  • 机器学习总结
  • C/C++实践(四)C++跨平台开发的系统性挑战与深度解决方案
  • 基于SpringBoot的小区停车位管理系统
  • 集合(1)
  • MATLAB中矩阵和数组的区别
  • Python-Venv多环境管理
  • JavaEE--文件操作和IO
  • cookie和session的区别
  • Qt开发经验 --- 避坑指南(14)
  • 【Linux篇】高并发编程终极指南:线程池优化、单例模式陷阱与死锁避坑实战
  • SpringBoot主入口类分析
  • 虚幻引擎5-Unreal Engine笔记之UE编辑器退出时的保存弹框