网络原理-初识
⽹络互连的概念
⽹络互连是指通过硬件设备或软件技术将多个独立的⽹络连接起来,实现资源共享和数据通信的过程。常见的⽹络互连场景包括局域网(LAN)之间、局域网与广域网(WAN)之间的连接,以及不同协议⽹络的互通。
局域⽹LAN
局域网是局部组建的一种网络,通过通信设备和传输介质连接的多台计算机组成的网络。局域网与局域网之间没有连接的话并不能通信,
局域⽹组建⽹络的⽅式有很多种:
1.基于网线连接
2.基于集线器组建
3.基于交换机组建
4.基于交换机和路由器组建
⼴域⽹WAN
通过路路由器将多个局域网组建在一起形成了广域网,内部的局域网都属于其子网,同时广域网其实也是个很大的局域网。
网络通信的基础
⽹络互连的⽬的是进⾏⽹络通信,也即是⽹络数据传输,更具体⼀点,是⽹络主机中的不同进程间, 基于⽹络传输数据。
IP地址
IP地址用于定位主机的网络地址,比如送外卖的时候外卖小哥需要知道你的地址。
格式
IP地址是⼀个32位的⼆进制数,通常被分割为4个“8位⼆进制数”(也就是4个字节),如: 01100100.00000100.00000101.00000110。
端口号
在⽹络通信中,IP地址⽤于标识主机⽹络地址,端⼝号可以标识主机中发送数据、接收数据的进程。比如说外卖小哥到了你家楼下还要知道你的电话才可以送到你的手里。
格式
端⼝号是0~65535范围的数字,在⽹络通信中,进程可以通过绑定⼀个端⼝号,来发送及接收⽹络数据。
认识协议
为什么需要协议
网络通讯是基于光信号/电信号->二进制的0/1的数据来进行传输的,传输的数据类型有很多中,比如:文本,图片,视频等,那我怎么知道发送的是什么数据类型呢,所以需要规定协议来规定双方的数据格式。比如说我们的随机从电器不同的充电器口适用于不同的充电器口。因此不同的设备需要遵循同一套协议才行。
协议的概念
协议,⽹络协议的简称,⽹络协议是⽹络通信(即⽹络数据传输)经过的所有⽹络设备都必须共同遵 从的⼀组约定、规则。如怎么样建⽴连接、怎么样互相识别等。只有遵守这个约定,计算机之间才能 相互通信交流。
五元组
在TCP/IP协议中,⽤五元组来标识⼀个⽹络通信:
- 源IP:标识源主机
- 源端⼝号:标识源主机中该次通信发送数据的进程
- ⽬的IP:标识⽬的主机
- ⽬的端⼝号:标识⽬的主机中该次通信接收数据的进程
- 协议号:标识发送进程和接收进程双⽅约定的数据格式
协议分层
在网络通信中我们的协议是非常复杂的,因此将协议分层若干个小的协议并且只有相邻的两层协议之间可以进行交互,上层协议可以调度下层协议,下层协议可以想上层协议提供服务和反馈,并且协议之间的交互不能跨度进行。且分层之后具有解耦性性。这就很像一个公司,一个部门内的组长和组员之间有一定的协议交互,员工不能跨过组长向上交互,,每个人各自复杂各种的任务。员工并开除后换个员工影响也不大。
OSI分层协议
OSI七层模型是⼀种框架性的设计⽅法,其最主要的功能使就是帮助不同类型的主机实现数据传输,且每层负责特定的功能,下层为上层提供服务。但理论分层清晰,但实现复杂,因此还可以再简化。
TCP/IP五层(或四层)模型
每一层之间所负责的重点不同,举个例子帮助更好的理解,我们从下而上解析,物理层其实就是一些符合协议硬件设备。,数据链路层的话就是完成两个相邻设备之间是如何去完成的,所以所数据链路层是基于物理层的,网络层则是考虑两个任意设备之间的通讯是如何完成的,中间也许有很多的交换机在,传输层也是两个任意设备的完成,但是却不考虑过程。而我的应用层就只考虑结果。
- 应⽤层:负责应⽤程序间沟通,如简单电⼦邮件传输(SMTP)、⽂件传输协议(FTP)、⽹络远 程访问协议(Telnet)等。我们的⽹络编程主要就是针对应⽤层。
- 传输层:负责两台主机之间的数据传输。如传输控制协议(TCP),能够确保数据可靠的从源主机发 送到⽬标主机。
- ⽹络层:负责地址管理和路由选择。例如在IP协议中,通过IP地址来标识⼀台主机,并通过路由表 的⽅式规划出两台主机之间的数据传输的线路(路由)。路由器(Router)⼯作在⽹路层。
- 数据链路层:负责设备之间的数据帧的传送和识别。例如⽹卡设备的驱动、帧同步(就是说从⽹线上 检测到什么信号算作新帧的开始)、冲突检测(如果检测到冲突就⾃动重发)、数据差错校验等⼯作。 有以太⽹、令牌环⽹,⽆线LAN等标准。交换机(Switch)⼯作在数据链路层。
- 物理层:负责光/电信号的传递⽅式。⽐如现在以太⽹通⽤的⽹线(双绞线)、早期以太⽹采⽤的的同 轴电缆(现在主要⽤于有线电视)、光纤,现在的wifi⽆线⽹使⽤电磁波等都属于物理层的概念。物理 层的能⼒决定了最⼤传输速率、传输距离、抗⼲扰性等。集线器(Hub)⼯作在物理层
网络设备所在的分层
- 对于⼀台主机,它的操作系统内核实现了从传输层到物理层的内容,也即是TCP/IP五层模型的下四 层;
- 对于⼀台路由器,它实现了从⽹络层到物理层,也即是TCP/IP五层模型的下三层;
- 对于⼀台交换机,它实现了从数据链路层到物理层,也即是TCP/IP五层模型的下两层;
- 对于集线器,它只实现了物理层;
网络数据通讯的基本流程
- 应用程序获取到用户的输入生成一个应用层的结构化数据包且遵守应用层的协议,通过系列化将数据包转变为字符串/二进制bit流。
- 应用层调用传输层的API把数据交给传输层,构造成传输层数据包,传输层的协议主要是TCP,DCP。
- 继续调用网络层的api,把传输层的数据传给网络层,网络层最主要的协议是IP。
- IP协议继续调用数据链路层的api,将网络层的数据传给数据链路层,核心协议是以太网。
- 以太网再将这些数据交给硬件设备以光信号/电信号/电磁波信号传播出去。
从上层到下层每一层数据都要进行加工,添加报头(包含每一层的数据包)。是指在数据传输过程中,将原始数据按照特定协议或规范添加头部、尾部或其他控制信息的过程。这种机制确保数据能够被正确识别、路由、校验和传递。