网络原理——初识

网络原理------初识

网络发展史

独立模式 :计算机之间工作是独立的

每个客户端相互独立,并且各自持有用户信息

随着时代发展,越来越多的计算机之间会互相通信,对一些数据进行共享,多个计算机协同工作完成业务
网络互联 :多台计算机连接一起,数据共享

数据共享的本质是网路数据共享 (通过网络传输的数据),也称网络通信

局域网和广域网

局域网(LAN)

局域网(内网),Local Area Network

就是本地局部组建的一种私有网络

在这个局域网内主机之间可以方便进项网络通信 ,但是如果两个局域网没有连接,这样就是无法进行通信的
局域网组建网络方法

1.网络直接连接

2.集线器进行

3.基于交换机

4.基于路由器和交换机

广域网(WAN)

广域网,Wide Area Network

通过路由器,将多个局域网连接起来,组成了很大范围的网络,其内部有局域网这样的子网(解决了局域网的范围小的问题)

网络通信基础

IP地址

IP地址主要用于标识网络主机、其他网络设备的网络地址,可以简单理解为用于定位主机的网络地址

向使用java使用JDBC对数据库进行操作,这里的127.0.0.1 其实就是自己本机的IP地址,其是一个32位的二进制数,通常被分割为4个"8位二进制数"

但是上面这样是十进制表示,a.b.c.d,并且每个部分都是0~255之间的数

端口号

IP地址用来标识主机,端口号用于标识主机中的进程

并且其是 0 ~ 65535之间的数,进程就可以通过这个端口号,来发送和接收数据

五元组

通过一个五元组来标识一个网络通信

1.源IP:标识源主机

2.源端口号:标识源主机发送数据的进程

3.目标IP:标识目标主机

4.目标端口号:标识目标主机接收数据的进程

5.协议号:发送和接收这两个进程之间约定的协议

协议

我们进行传输数据的时候可以是任何格式,但是网路是基于1/0二进制数据进行传输,那接收方如何直到其传输的是什么数据呢,这时候就有协议

协议:通信双方对传输数据的格式/含义的一种约定 (一种约束)

计算机之间进行网络通信,本质上是电信号/光信号 ,传输的一串01010的二进制编码

因此像网线 使用高低电平(电压)分别表示1和0,光纤 不同的频率表示1和0,wifi等等不同频率表示,因此这些都要遵守一定的协议

协议分层

网络通信是十分复杂的,仅仅通过一个协议进行编程也是十分麻烦的,因此就对其协议进行了分层

这样对其内部进行封装,隐藏内部的一些细节,根据协议提供了一些接口/类进行操作,这样使用就简单了
调用方通过接口来实现服务

OSI七层网络协议

虽然有OSI这个七层网络模型,但是其即复制又不实用,因此就有了TCP/IP五层协议,其实就是将其表示层、会话层和应用层,放一起为应用层

TCP/IP五层协议

1.物理层 :负责光信号/电信号的传递方式(硬件的基础设施)

2.数据链路层 :负责设备之间的数据帧的传送和识别(两个相邻节点具体传输过程)

3.网络层 :负责地址管理和路由其选择(关注的是通信的中间过程)

4.传输层 :负责两台主机之间的数据传输(关系起点和终点,不关系中间过程)

5.应用层:负责应用程序如何使用,数据如何使用

物理层 其会将其把二进制文件转换为 电信号/光信号/电磁波传输出去

不同的协议层对数据包又不同的称呼,传输层叫段(segment),网络层叫数据报(datagram),链路层叫做帧(frame)

传入数据时候,每经过一层,其都会对其进行一次包装 ,相反在传出数据时候,每经过一层,其都会对其进行一次拆包装

相关推荐
chunmiao303220 分钟前
DeepSeek V4-Pro 正式版上线,API 8月17日起分时调价
网络·安全
知无不研42 分钟前
lambda表达式的使用(3)
开发语言·c++·lambda
cfm_29141 小时前
SpringAI + Ollama 本地大模型
java·开发语言·人工智能·语言模型
C++ 老炮儿的技术栈2 小时前
基于Qt实现轻量化本地音乐播放器
开发语言·c++·qt·c·播放器·音乐
迪康Defender3 小时前
AI 重构终端安全运营:智能分析中枢 AI Insight 模块架构与落地场景深度解析
运维·网络·人工智能·其他·安全·重构·架构
qq_448011163 小时前
C语言中的柔性数组
c语言·开发语言·柔性数组
小白学大数据3 小时前
长周期爬虫的数据一致性:断点续爬 + 事务回滚保障采集质量
开发语言·爬虫·测试工具
那年窗外下的雪.3 小时前
AIDC 学习日志 第 04 天 BGP Underlay 基础与路由选择
服务器·学习·php
0x533 小时前
Java网络编程(二)
java·服务器·网络
zlinear数据采集卡3 小时前
D223上位机C#开发实战:从帧解析到波形显示的完整实现
开发语言·arm开发·嵌入式硬件·fpga开发·开源·c#