网络原理——初识

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

网络发展史

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

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

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

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

局域网和广域网

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

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

相关推荐
御形封灵1 小时前
基于原生table实现单元格合并、增删
开发语言·javascript·ecmascript
TG:@yunlaoda360 云老大1 小时前
如何了解腾讯云国际站代理商FL有什么跨境优势呢?
网络·云计算·腾讯云
应茶茶1 小时前
从 C 到 C++:详解不定参数的两种实现方式(va_args 与参数包)
c语言·开发语言·c++
Data_agent2 小时前
1688获得1688店铺列表API,python请求示例
开发语言·python·算法
2301_764441332 小时前
使用python构建的应急物资代储博弈模型
开发语言·python·算法
丿BAIKAL巛2 小时前
Java前后端传参与接收全解析
java·开发语言
飞Link2 小时前
GDN:深度学习时代的图偏差网络异常检测全解析
网络·人工智能·深度学习
code bean2 小时前
【C++】Scoop 包管理器与 MinGW 工具链详解
开发语言·c++
yanghuashuiyue2 小时前
Java过滤器-拦截器-AOP-Controller
java·开发语言
小冷coding3 小时前
【Java】高并发架构设计:1000 QPS服务器配置与压测实战
java·服务器·开发语言