目录
[特殊的 IP 地址:](#特殊的 IP 地址:)
♫网络发展历程
♪独立模式
计算机之间相互独立:
♪网络互连
随着时代的发展,越来越需要计算机之间互相通信,共享软件和数据,即以多个计算机协同工作来完成业务,就有了网络互连。 网络互连是指将多台计算机连接在一起,完成数据共享。 数据共享本质是网络数据传输,即计算机之间通过网络来传输数据,也称为网络通信。 根据网络互连的规模不同,可以划分为局域网和广域网。
♪局域网
局域网,即 Local Area Network,简称LAN。局域网是本地局部组建的一种私有网络,可以通过网线直连、集线器组建、交换机组建、交换机和路由器组建来实现局部范围的网络互连。
♪广域网
广域网,即 Wide Area Network,简称WAN。 广域网是通过路由器,将多个局域网连接起来,在物理上组成很大范围的网络,就形成了广域网。广域网内部的局域网都属于其子网,广域网也可以看成是个更大的局域网。
注:互联网(又称公网,外网)是属于全球化的公共型广域网,属于广域网的一个子集。
♫网络通讯的基础
网络互连的目的是进行网络通信,也即是网络数据传输,更具体一点,是网络主机中的不同进程间,基于网络传输数据。
那么,在组建的网络中,如何判断到底是从哪台主机,将数据传输到那台主机呢?这就需要使用IP地址来标识。
♫IP地址
♪什么是IP地址
IP地址主要用于标识网络主机、其他网络设备(如路由器)的网络地址。简单说,IP地址用于定位主机的网络地址。 就像我们发送快递一样,需要知道对方的收货地址,快递员才能将包裹送到目的地。
♪IP地址的格式
IP 地址是一个32位的二进制数,通常被分割为4个"8位二进制数"(也就是4个字节),如: 01100100.00000100.00000101.00000110。通常用"点分十进制"的方式来表示,即 a.b.c.d 的形式(a,b,c,d都是0~255之间的十进制整数,如: 127.0.0.1)。
♪IP地址的组成
P地址分为两个部分,网络号和主机号。
**♩.网络号:标识网段,保证相互连接的两个网段具有不同的标识。
**♩.主机号:标识主机,同一网段内,主机之间具有相同的网络号,但是必须有不同的主机号。
通过合理设置网络号和主机号,就可以保证在相互连接的网络中,每台主机的IP地址都是唯一的。
特殊的 IP 地址:
***♩.***将IP地址中的主机地址全部设为0,就成为了网络号,代表这个局域网
♩. 将IP地址中的主机地址全部设为1,就成为了广播地址,用于给同一个链路中相互连接的所有主机发送数据包
***♩.***127.*的IP地址用于本机环回(loop back)测试,通常是127.0.0.1(系统内部为了性能,不会走网络的方式传输)
IP地址解决了网络通信时,定位网络主机的问题,但是还存在一个问题,传输到目的主机后,由哪个进 程来接收这个数据呢?这就需要端口号来标识。
♫端口号
♪什么是端口号
在网络通信中,IP地址用于标识主机网络地址,端口号可以标识主机中发送数据、接收数据的进程。
♪端口号的格式
格式 端口号是0~65535范围的数字,在网络通信中,进程可以通过绑定一个端口号,来发送及接收网络数据。
♪特殊的端口号
*♩.*21端口是FTP(文件传输协议)的控制端口,用于管理FTP连接和命令传输。
*♩.*22端口是SSH(安全外壳协议)的默认服务端口,用于安全地远程登录到服务器。
*♩.*23端口是Telnet服务的默认端口,Telnet是一种早期的远程登录协议。
*♩.*80端口是HTTP协议的默认服务端口,用于万维网(WWW)通信
*♩.*443端口是HTTPS协议的默认服务端口,提供加密的数据传输。
*♩.*3306端口是MySQL数据库的默认服务端口。
*♩.*3389端口是Windows远程桌面协议(RDP)的默认服务端口。
有了IP地址和端口号,可以定位到网络中唯一的一个进程,但还存在一个问题,网络通信是基于二进制 0/1数据来传输,网络通信传输的数据类型可能有多种(图片,视频,文本等),如何告诉对方发送的数据是什么样的呢? 。同一个类型的数据,格式可能也不同,如发送一个文本字符串"Hellow world!":如何标识发送的数据是文本类型,及文本的编码格式呢? 基于网络数据传输,需要使用协议来规定双方的数据格式。
♫网络协议
网络协议是网络数据传输经过的所有网络设备都必须共同遵从的一组约定、规则。如怎么样建立连接、怎么样互相识别等。只有遵守这个约定,不同的计算机之间才能相互通信交流。
♫五元组
在TCP/IP协议中,用五元组来标识一个网络通信:
♩. 源IP:标识源主机
♩. 源端口号:标识源主机中该次通信发送数据的进程
♩. 目的IP:标识目的主机
♩. 目的端口号:标识目的主机中该次通信接收数据的进程
**♩.协议号:标识发送进程和接收进程双方约定的数据格式
♫协议分层
对于网络协议来说,往往分成几个层次进行定义,定义好每层间的接口规范,让双方遵循这个规范来对接。
协议分层类似于打电话时,定义不同的层次的协议:
协议分层对于使用方来说,并不关心提供方是如何实现的,只需要使用接口即可;对于提供方来说,利用封装的特性,隐藏了实现的细节,只需要开放接口即可。
♫OSI七层模型
OSI 七层模型就是网络通信过程中协议分层的一种方式,从物理层到应用层,每一层都承担着特定的功能和责任,共同确保数据能够在网络上高效、安全地传输:
由于 OSI 七层模型既复杂又不实用,所以实际组建网络时,只是以 OSI 七层模型设计中的部分分层,也即是以 TCP/IP 五层(或四层)模型来实现。
♫TCP/IP五层模型
TCP/IP 是一组协议的代名词,它还包括许多协议,组成了TCP/IP协议簇。 TCP/IP通讯协议采用了5层的层级结构,每一层都呼叫它的下一层所提供的网络来完成自己的需求。
♪物理层
♩. 功能:物理层主要负责在物理媒介上透明地传输原始比特流(光/电信号的传递方式)。它涉及到电缆、卡和其他硬件的规范,如电气特性、机械特性等。
♩. 应用场景:物理层确保数据能够在物理媒介上有效传输,不受物理条件的限制。例如,光纤和铜缆就是物理层的两种常见传输介质。♪数据链路层
♩. 功能:数据链路层在物理层提供的服务基础上,负责建立可靠的数据传输链路(设备之间的数据帧的传送和识别)。它将物理层的比特流组织成帧,并进行差错控制和流量控制。
♩. 应用场景:数据链路层确保数据在相邻节点之间可靠传输,如以太网协议就是数据链路层的一种实现。♪网络层
♩. 功能:网络层负责为数据包选择路由,并实现不同网络之间的互联。它使用IP地址来标识设备,并执行路由选择算法来确定最佳路径。
♩. 应用场景:网络层确保数据能够跨越不同的网络到达目的地,如互联网就是一个由多个网络组成的大型网络。♪传输层
♩. 功能:传输层提供端到端的数据传输服务,并负责保证数据的可靠传输和流量控制。它使用端口号来标识应用程序,并确保数据正确无误地到达目标应用程序。
♩. 应用场景:传输层确保数据在源主机和目标主机之间可靠传输,如TCP协议就是传输层的一种实现。♪应用层
♩. 功能:应用层直接为用户提供各种网络服务和应用。它包含了许多高层协议,如HTTP、FTP、SMTP等,这些协议为用户提供了与网络交互的手段。
♩. 应用场景:应用层是用户与网络之间的接口,用户通过应用层提供的服务来访问网络资源,如浏览网页、发送电子邮件等注:对于一台主机,它的操作系统内核实现了从传输层到物理层的内容,也即是 TCP/IP 五层模型的下四层; 对于一台路由器,它实现了从网络层到物理层,也即是 TCP/IP 五层模型的下三层;对于一台交换机,它实现了从数据链路层到物理层,也即是 TCP/IP 五层模型的下两层;对于集线器,它只实现了物理层。