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

JavaEE 初阶第二十五期:IP协议,网络世界的 “身份通行证”(一)

专栏:JavaEE初阶起飞计划

个人主页:手握风云

目录

一、网络层

1.1. IP协议基础概念

1.2. IP协议头格式


一、网络层

1.1. IP协议基础概念

  • 主机:配有IP地址,但是不进行路由控制的设备;
  • 路由器:即配有IP地址,又能进行路由控制;
  • 节点:主机和路由器的统称

1.2. IP协议头格式

  • 4位版本号:指定IP协议的版本,对于IPv4来说,就是4。
  • 4位首部长度:IP协议中,报头也是变长的。0—15单位是4字节,IP报头最大长度为60字节。
  • 8位服务类型:3位优先权字段(已经弃用),4位TOS字段和1位保留字段(必须置为0)。4位TOS分别表示:最小延时,最大吞吐量,最高可靠性,最小成本,这四者之间可以转换状态,相互冲突,只能选择一个。
  • 16位总长度:IP数据包,报头和载荷的总长度。如果需要在 IP 数据报中携带超过64KB的载荷数据的时候,IP协议也是能够做到的。IP协议自身支持拆包和组包。如果传输层数据包太长了,IP自动拆成多个,每个IP 数据报,负责携带一部分传输层数据包。
  • 8位生存时间(TTL):当前的IP数据报能够在网络上存活多久,单位不是时间,而是次数。初始情况下生存时间是一个整数,数据报每次经过路由器转发一次,TTL-1。如果为0,还没有到达对方,就可以丢弃。
  • 8位协议:描述的是当前的IP 数据报载荷部分,是使用哪个协议(传输层协议)。接收和分用的时候,就需要知道当前数据包载荷部分是使用哪种协议。传输层的协议中,“目的端口"就解决解决了传输层的数据包载荷,需要交给应用层的哪个协议(应用程序) 来处理。网络层的协议中,"8位协议"区分裁荷交给传输层的哪个协议来处理。
  • 16位首部校验和:使⽤CRC进行校验,来鉴别头部是否损坏。因为计算校验和,本身是需要有开销的,所以IP 协议只关心IP报头自身是否出现传输错误。
  • 32位源地址和32位目标地址:IP地址标识了网络上某个设备所处的位置。我们可以通过cmd终端命令ipconfig查看自己设备的IP地址。理论上需要给不同的设备分配不同的IP,如果IP地址不够用,可以使用动态分配内存地址,也就是上网的人分配,不上网的人不分配。但是现在几乎人人都有智能手机,还是会导致IP地址资源紧张,所以现在使用NAT机制(网络地址映射)。所有的IP可以分为两大类:外网IP和内网IP、公网IP和私网IP。同一局域网中,不同设备的内网 IP 不能重复(否则会冲突,无法联网)。外网不可见,互联网上的设备无法直接识别或访问内网 IP。在NAT机制下,假设有两个设备A和B。如果A和B都在同一个局域网中,直接按照 IP 地址转发即可;如果A和B是在两个不同的局域网中,禁止直接进行传输;如果A是内网IP的设备,B是外网IP的设备,A能主动访问B,B不能主动访问A;如果A是外网IP,B 也是外网IP也不涉及NAT直接转发即可。关于内网 IP 如何通过外网 IP 访问互联网,NAT 相当于路由器扮演 “中介”,用自己的外网 IP 替局域网内所有设备与互联网沟通,再把结果分发给对应设备。NAT本质上是让一个局域网内部的所有设备,共用同一个外网IP。本来是一个外网 IP 代表一个设备,现在是一个外网IP代表数以千计个设备了,就如同同一个里面的学生填快递邮寄地址,都会用同一个位置。

        如果同一局域网下,两个不同的设备访问同一应用程序,运营商路由器应该怎么区分,把正确的数据包分给对应的设备。这里就是引入了端口号进行区分。

        当设备A向应用程序发送请求,构造一个数据包,发给运营商路由器的时候,会把A的源IP替换成运营商路由器的IP地址。然后运营商路由器在替换的时候会记录一个映射关系,再发送给应用程序B。而B在收到请求后,根据它自己的业务代码逻辑计算响应,并构造一个响应数据包发给运营商路由器,NAT数据会根据记录的表格对上述内容进行还原。

        如果说两个设备端口号一样,那么运营商路由器在映射的时候就会把相同的端口映射成不同的端口。

        NAT还有一个“副作用”:加强普通用户的网络安全性。被保护在局域网下的设备,只有主动访问别的服务器,才能给响应。不主动,就不会被别的服务器访问。如果一个设备有外网IP,相当于家的大门开在马路上,有了NAT机制,相当于给大门加了门禁。

        NAT机制不是从根本上把IP地址变多了,而是提高了IP 地址的利用率。除了上述方案,IPV6就可以提高IP地址的数量,因为IPV6使用16个字节表示IP地址。但是现在互联网的现状还是以NAT为主,IPV6在世界范围内的普及率非常低。

http://www.dtcms.com/a/406936.html

相关文章:

  • 有一个做炫舞官网活动的网站企业邮箱注册申请126
  • 服务器跨域问题CORS的解决
  • MyBatis进行级联查询
  • MySQL8.0.26-Linux版安装
  • 济南网站建设_美叶网络网址域名查询
  • 深入了解linux网络—— UDP网络通信
  • 招商加盟的网站应该怎么做宝坻做网站哪家好
  • 视频网站开发工具网站备案中是什么意思
  • 物理媒介和分组交换原理
  • Linux常用命令53——file
  • 西双版纳 网站建设网络建设与运维初级
  • 【Python】文件处理(一)
  • win10怎么做网站wordpress wooyun
  • 织梦网站登录网上做网站赚钱吗
  • Linux数据安全与备份策略完全指南
  • 哈尔滨网站建设服务公司暴雪游戏服务中心
  • wordpress 关闭评论网站优化排名提升
  • 硅基计划5.0 MySQL 壹 初识MySQL 初版
  • Linux之挂载新的硬盘(超详细!)
  • 部署 GitLab 服务器
  • C++项目:仿muduo库高并发服务器-------connection模块
  • 网站建设需要的资质互联网保险的发展现状
  • 8-机器学习与大模型开发数学教程-第0章 预备知识-0-8 编程与数值计算基础(浮点数精度、溢出、数值稳定性)
  • php网站开发书微信公众号手机网站开发
  • 做网站需要工商执照吗代人做网站
  • Go基础:模块化管理为什么能够提升研发效能?
  • 合肥专业做网站公司wd wordpress
  • IR 680LT Maleimide,IR 680LT马来酰亚胺用于蛋白质标记与定量分析
  • 打工人日报#20250925
  • Kubernetes Pod 的生命周期与故障排查