网络基础
Posted 不拨牙
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了网络基础相关的知识,希望对你有一定的参考价值。
******************* 目录 ********************* 一,iso网络七层模型 ******************* 一,iso网络七层模型 ******************** A 主机 B 主机 单位 7,应用层 <------------应用层协议-------------> 应用层 APDU 接口| | 6,表示层 <------------ 表示层协议 -----------> 表示层 PPDU 接口 | | 5,会话层 <------------ 会话层协议 -----------> 会话层 SPDU 接口 | | 4,传输层 <------------ 传输层协议 -----------> 传输层 TPDU 接口 | | 3,网络层 <------------ 网络层协议 -----------> 网络层 报文 接口 | | 2, 数据链路层 <------- 数据链路层协议 -------> 数据链路层 帧 接口 | | 1,物理层 <------------- 物理层协议 ---------> 物理层 比特 ***************** TCP/IP四层模型 *********************** 应用层,表示层,会话层 -------> 应用层 (7,FTP 8,SSH) 传输层 -------> 传输层 (5,TCP 6,UDP) 网络层 -------> 网际互联层 (2,IP,3,IGMP,4,ICMP) 数据链路层,物理层 -------> 网络接口层 (1,ARP) 1,ARP ARP - 地址解析协议(Address Resolution Protocol) ARP - 用于通过 IP 来查找基于 IP 地址的计算机网卡的硬件地址。 命令: (1),查看计算机本地解析IP对应MAC地址 # arp -a 2,IP 网际协议(Internet Protocol) IP 负责计算机之间的通信。 IP 负责在因特网上发送和接收数据包。 3,IGMP Internet 组管理协议称为IGMP协议(Internet Group Management Protocol), 是因特网协议家族中的一个组播协议。 该协议运行在主机和组播路由器之间。IGMP协议共有三个版本,即IGMPv1、v2 和v3。 4,ICMP ICMP - 因特网消息控制协议(Internet Control Message Protocol) ICMP 负责网络中的错误处理。 5,TCP 传输控制协议 TCP 用于从应用程序到网络的数据传输控制。 TCP 负责在数据传送之前将它们分割为 IP 包,然后在它们到达的时候将它们重组 6,UDP UDP 是User Datagram Protocol的简称, 中文名是用户数据报协议, 是OSI(Open System Interconnection,开放式系统互联) 参考模型中一种无连接的传输层协议, 提供面向事务的简单不可靠信息传送服务,IETF RFC 768是UDP的正式规范。UDP在IP报文的协议号是17。 例 : FPT封装过程 应用数据 字节流(数据) 应用层 FTPc - 字节流(数据) 传输层 TCF - FTP(21端口) - 字节流(数据) 网络层 IP头 - FTP(21端口) - 字节流(数据) 数据链路层 以太帧头 - IP - FTP(21端口) - 字节流(数据) 7,FTP FTP 是File Transfer Protocol(文件传输协议)的英文简称,而中文简称为“文传协议”。 用于Internet上的控制文件的双向传输。同时,它也是一个应用程序(Application)。 基于不同的操作系统有不同的FTP应用程序,而所有这些应用程序都遵守同一种协议以传输文件。 在FTP的使用当中,用户经常遇到两个概念:"下载"(Download)和"上传"(Upload)。"下载" 文件就是从远程主机拷贝文件至自己的计算机上;"上传"文件就是将文件从自己的计算机中拷贝 至远程主机上。用Internet语言来说,用户可通过客户机程序向(从)远程主机上传(下载)文件。 8,SSH SSH 为 Secure Shell 的缩写,由 IETF 的网络小组(Network Working Group)所制定;SSH 为建 立在应用层基础上的安全协议。SSH 是目前较可靠,专为远程登录会话和其他网络服务提供安全性 的协议。利用 SSH 协议可以有效防止远程管理过程中的信息泄露问题。SSH最初是UNIX系统上的一 个程序,后来又迅速扩展到其他操作平台。SSH在正确使用时可弥补网络中的漏洞。SSH客户端适用于 多种平台。几乎所有UNIX平台—包括HP-UX、Linux、AIX、Solaris、Digital UNIX、Irix,以及其他平 台,都可运行SSH。 一,IPV4详情 1,IP总数量(255*255*255*255 = 4 228 250 625(42亿多)) 2,IP地址分类 A类 : IP地址范围 1.0.0.0 - 126.255.255.255 (2^24-2的数量)。 私有的IP范围 10.0.0.0 - 10.255.255.255 (1千6百多万) B类 : IP地址范围 128.0.0.0 - 191.255.255.255 (2^16-2的数量) 。私有IP范围 172.16.0.0 - 172.31.255.255 (127.0.0.1代表当前的计算机) B类 : IP地址范围 192.0.0.0 - 223.255.255.255 (2^8-2的数量) 。 192.168.0.0 - 192.168.255.255 二,通过IP地址和子网掩码计算本机的网络地址和广播地址 如:IP(192.168.2.187),子网掩码是(255.255.255.0) IP(二进制) 11000000:10101000:00000010:00000000 子网掩码 11111111:11111111:11111111:00000000 网络地址 11000000:10101000:00000010:00000000 (将IP与子网掩码逻辑与运算,即网络地址十进制是:192.168.2.0) 广播地址 11000000:10101000:00000010:11111111 (十进制是:192.168.2.255,就是将主机段的最大值255) 三,端口总结(1-65536) (1),在计算机每开启一服务,如果需要远程交换数据,则默认打开端口号,远程数据通过端口号与远程交换数据。(如果不是刻意去修改端口号,以端口号,大概知道是运行什么类 型的程序) (2),常见端口 FTP(文件传输协议) 20,21 SSH(安全的shell协议) 22 telnet(远程登录协议) 23 DNS(域名系统) 53 http(超文本传输协议) 80 SMTP(简单邮件传输协议)25 POP3(邮局协议3代) 110 (3),查看本机端口 # netstat -an 选项: -a 查看所有连接和监听的端口 -n 显示IP地址和端口号,(而不显示域名和服务名) (4),UDP协议不监听远程端口号(不进行握手)。 四,DNS(domain name system)域名解析 (1),本机的host域名配置静态IP地址的优先级别高于公网。这有什么用?(可以在windows的配置个静态的IP,这样在Xshell的连接时是IP固定的而不随机)。 (2),DNS解析流程 本机---(1,发送网址,如:www.baidu.com)--->DNS服务器---(2,将网址解析成IP)--->本机---(以IP访问,www.baidu.com)--->百度服务器。 (2),DNS查询分类 1,从查询方式分 (1),递归查询 返回查询成功或失败的响应。一般客户机和DNS服务器之间的属于递归查询。即向DNS服务器发出请求,如果当前的DNS服务器查询不到,就向别的DNS 服务器 发起DNS解析请求,直到不停地请求和计算出结果。返回客户机结果。 (2),迭代查询 服务器收到一次迭代查询回复一次结果,这个结果不一定是目标IP与域名的直接映射关系。也可以是其它的DNS服务器的地址。 2,从查询内容上分 (1),正向查询,由域名-->IP (2),反向查询,IP-->域名 (北京DNS服务器。主:202.106.0.20;备:114.114.114.114) 五,局域网 (1),交换机 负责局域网间的通信。所以只仅是局域网通信,可以没有配置网关,DNS,子网掩码。 (2),网关(网间连接器) 负责将局域网的IP转为公网IP实现公网通信 ***************** linux的网络配置 ******************* 一,查看和临时配置IP 1,查看 # ifconfig 2,临时配置 # ifconfig eth0 [IP地址] netmask [子网掩码 3,网卡配置文件 (示例) vim /etc/syconfig/network-script/ifcfg-eth0 DEVICE=eth0 网卡设备名 BOOTPROTO=none 是否自动获取IP(none,static,dhcp) HWADDR=XX:XX:XX:XX:XX:XX MAC地址 NM_CONTROLLED=yes 是否可以由Network Manager图形管理工具托管 ONBOOT=yes 是否随网络服务启动,eth0生效 TYPE=Ethernet 类型为以太网 UUID="xxxx-xxxx-xxxx-xxxx-xxxx" 唯一识别码 IPADDR=xxx.xxx.xxx.xxx IP地址 NETMASK=255.255.255.0 子网掩码 GATWAY=192.168.0.1 网关 DNS1=xxx.xxx.xxx.xxx DNS IPV6INIT=no IPV6没有启用 USERCTL=no 不允许非root用户控制此网卡 4,关于VMware使用Linux的静态IP 1,不能联外网 (1),在 /etc/sysconfig/network-script/eth0lk加入 check_link_down(){ return 1; } (2),虚拟机的网络配置:仅主机模式 (配置的静态IP地址是DHCP随机分配的,# ifconfig 查看的IP就是了。缺点是不能联网) (3),在VMware的网络配置选择:仅主机模式与主机共享专有网络 2,能联网 (1),windwos下的的真实网卡的IP和DNS自动获取 (2),VMwarer 的网络配置选择:net桥接模式 (3),cmd输入 ipconfig -all 将 VMnet8 的网卡信息写入eth0网卡的配置文件 # vim /etc/sysconfig/network-scripts/ifcfg-eth0 # service network (4),修改指定桥接的网卡 编辑-->虚拟网络编辑器t(自己选择当前使用的网卡) 5,局域网主机名 (1),临时修改局域网主机名 # hostname [主机名] 优点:立即生效 缺点:临时生效 (2),永久修改主机名 # vim /etc/sysconfig/network 优点:永久生效 缺点:重启生效 6,DNS配置文件 # vim /etc/resolv.conf 7,网络常用命令 (1),查看网卡的配置信息 # ifconfig (2),启用和关闭网卡 # ifdown [网卡名] (禁用网卡) # ifup [网卡名] (启用网卡) 8,查看本机DNS # nslookup [任意可用域名] 9,相看本机网关 # netstat -rn (# route -n) 10,netstat命令选项 -t:列出tcp协议端口 -u:列出udp协议端口 -n:不使用域名和服务名,面使用IP地址和端口号 -l:列出监听状态的网络服务 -a:列出所有的网络连接 ************************ 网络测试或应用命令 ************************ 1,ping测试指定的IP或域名是否和本机能连接 # ping [IP或域名] 2,telnet 测试指定IP 23端口是否开启 # telnet [IP] [端口] 3,路径由追踪命令,查看数据包经过哪些节点 # traseroute [域名] 4,下载文件 # wget [下载链接] 5,数据包抓取 例: # tcpdump -i eth0 -nnX port 21 选项: -i 指定网上的接口 -nn 将数据包中的域名与服务转为IP和端口 -X 以十六进制和ASCII码显示数据包内容 port 指定监听的端口 6,测试指定的端口是否开启 # tcping ip:端口 (# yum -y install tcping) 7,路径测试 # traceroute ip (# yum -y install traceroute) ************************* 安装服务 ********************************* 1,安装ftp # yum install ************************ SSH服务 ********************************** 1,ssh登录另一台服务器 # ssh [用户名]@[IP] 2,文件下载 # scp [-r] [用户名]@[IP]:[文件路径] [本地路径] 3,文件上传 # scp [-r] [本地文件] [用户名]@[IP]:[上传远程主机文件路径]
以上是关于网络基础的主要内容,如果未能解决你的问题,请参考以下文章
VSCode自定义代码片段14——Vue的axios网络请求封装
[vscode]--HTML代码片段(基础版,reactvuejquery)