网络基础初识

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. 到达网络层,拆解

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

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

相关推荐
没有bug.的程序员1 小时前
Java锁优化:从synchronized到CAS的演进与实战选择
java·开发语言·多线程·并发·cas·synchronized·
Alonse_沃虎电子1 小时前
沃虎音频变压器:专业音频系统中的关键组件
网络·物联网·音视频·产品·方案·变压器·电子元器件
卓应米老师1 小时前
【网络配置实战】堆叠的配置
运维·服务器·网络·华为认证
我在人间贩卖青春1 小时前
IP地址与端口号
网络·ip·端口
一个处女座的程序猿O(∩_∩)O2 小时前
Web 服务器负载均衡深度解析:Nginx 配置实践完全指南
java-ee
麦兜*2 小时前
SpringBoot Profile多环境配置详解,一套配置应对所有场景
java·数据库·spring boot
MetaverseMan2 小时前
rpc节点: synchronized (this) + 双检锁,在 race condition 的情况下分析
java·区块链
笃行客从不躺平2 小时前
Seata + AT 模式 复习记录
java·分布式
CTO Plus技术服务中2 小时前
强悍的Go语言开发面试题和答案
java·面试·职场和发展