网络基础初识

IP地址

IP 代表了一台机器在网络上的一个位置,由32位二进制(4字节)表示 .为了简化表示,将4个字节由.符号分开,每一部分都是0~255的数字代表1字节.

  • 在终端cmd中输入ipconfig可以看到自己电脑的ipv4地址

端口号

端口号描述的是使用的应用软件,网络传输数据之后,通过IP找到电脑,又通过端口号来找到应用,数据就给到对应的应用使用.

  • 程序之间使用的端口号不能相同

进行一次网络通信,IP 和 端口各两个.

  • 源端口 源IP,
  • 目的IP 目的端口

协议

网络之间需要有约定好传输格式,遵守协议确保各厂家生产之间能够互通

协议分层

维护网络安全.实现网络通信.就要要遵守各种各样的协议,管理复杂多样的协议,采用分层结构. 上层调用下层功能,下层为上层提供服务.

  • 上层协议直接调用下层协议的内容,不需要了解细节.(封装好了)
  • 层与层之间的交流不能越级交流
  • 某层的更改不会对其他不相邻层造成影响.
  • TCP/IP 是现在最广泛使用的网络协议,(5层)
  1. 应用层
    应用拿到数据之后,数据要用来做什么用
  2. 传输层
    起点 在哪,发送到的目的地又在哪 (香港) -> (北京)
  3. 网络层
    规划一条传输路径 (香港) -> (广东) -> (北京)
  4. 数据链路层
    传输路径之间的方式,香港到广东坐船还是开车,广东到北京是飞机还是火车...
  5. 物理层
    硬件的配合使用

过程:

  1. 首先应用层应用将数据打包,通过应用开发者约定好的字符串连接方式,将各种各样的信息封装在一起
  2. 传输层 主要有TCP协议和UDP协议,TCP协议确保数据能准确到达,可能重复发送,UDP发送更快,但是不理会信息是否到达

传输层生成 生成一个报头,将报头和应用层发送过来的数据连接.

报头里面装载着一些传输的重要信息,UDP协议中报头装载了两地端口号 ,TCP更为复杂

  1. 网络层继续在前面添加了IP报头

传输层传过来的数据被封装在一起,由IP报头引领寻找目的IP

  1. 数据链路层,生成帧头和帧尾,中间IP报头以及它的内容再次封装放在帧头和帧尾之间.

5.物理层将以上二进制转换成光信号/电信号/电磁波信号传递给下一硬件


下一硬件又会一层一层的往上拆解

  1. 下一硬件物理层 -> 生成二进制信息

  2. 到达数据链路层拆解以太网帧头帧尾

  3. 到达网络层,拆解

然后再次封装,准备发送给下一硬件

又通过硬件发送到下一硬件,直到到达指定端口,被应用接收使用.

相关推荐
侠客行03171 天前
Mybatis连接池实现及池化模式
java·mybatis·源码阅读
蛇皮划水怪1 天前
深入浅出LangChain4J
java·langchain·llm
老毛肚1 天前
MyBatis体系结构与工作原理 上篇
java·mybatis
风流倜傥唐伯虎1 天前
Spring Boot Jar包生产级启停脚本
java·运维·spring boot
Yvonne爱编码1 天前
JAVA数据结构 DAY6-栈和队列
java·开发语言·数据结构·python
Re.不晚1 天前
JAVA进阶之路——无奖问答挑战1
java·开发语言
你这个代码我看不懂1 天前
@ConditionalOnProperty不直接使用松绑定规则
java·开发语言
chian-ocean1 天前
深入 CANN:使用 `tbe-op` 构建自定义高性能算子
网络
fuquxiaoguang1 天前
深入浅出:使用MDC构建SpringBoot全链路请求追踪系统
java·spring boot·后端·调用链分析
琹箐1 天前
最大堆和最小堆 实现思路
java·开发语言·算法