网络原理——初识

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

网络发展史

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

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

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

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

局域网和广域网

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

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

相关推荐
@CLoudbays_Martin111 小时前
钓鱼网站应该怎么判断?
服务器·网络·安全
不会c嘎嘎2 小时前
C++ -- list
开发语言·c++
老鱼说AI2 小时前
BPE编码从零开始实现pytorch
开发语言·人工智能·python·机器学习·chatgpt·nlp·gpt-3
星释2 小时前
Rust 练习册 32:二分查找与算法实现艺术
开发语言·算法·rust
BingoGo2 小时前
使用 PHP 和 Raylib 也可以开发贪吃蛇游戏
后端·php
William_cl2 小时前
C# ASP.NET Controller 核心:ViewResult 实战指南(return View (model) 全解析)
开发语言·c#·asp.net
wtrees_松阳2 小时前
Flask数据加密实战:医疗系统安全指南
开发语言·python
cqupyu2 小时前
day6 CSRF和XSS
网络·安全·web安全
zwm_yy2 小时前
php8新增函数
php