网络原理——初识

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

网络发展史

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

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

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

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

局域网和广域网

局域网(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)

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

相关推荐
BingoGo15 小时前
OpenSwoole 26.2.0 发布:支持 PHP 8.5、io_uring 后端及协程调试改进
后端·php
JaguarJack15 小时前
OpenSwoole 26.2.0 发布:支持 PHP 8.5、io_uring 后端及协程调试改进
后端·php·服务端
JaguarJack2 天前
推荐 PHP 属性(Attributes) 简洁读取 API 扩展包
后端·php·服务端
BingoGo2 天前
推荐 PHP 属性(Attributes) 简洁读取 API 扩展包
php
JaguarJack3 天前
告别 Laravel 缓慢的 Blade!Livewire Blaze 来了,为你的 Laravel 性能提速
后端·php·laravel
郑州光合科技余经理3 天前
代码展示:PHP搭建海外版外卖系统源码解析
java·开发语言·前端·后端·系统架构·uni-app·php
DianSan_ERP3 天前
电商API接口全链路监控:构建坚不可摧的线上运维防线
大数据·运维·网络·人工智能·git·servlet
feifeigo1233 天前
matlab画图工具
开发语言·matlab
dustcell.3 天前
haproxy七层代理
java·开发语言·前端
norlan_jame3 天前
C-PHY与D-PHY差异
c语言·开发语言