【计算机-OSI七层模型和通信协议】 📅 2026/8/5 21:06:33 计算机-OSI七层模型和通信协议■ 通信简介■ OSI 七层模型■ 应用层■ 传输层■ 网络层■ 数据链路层■ 物理层■ IP地址■ 地址划分■ CIDR■ 端口号■ 防火墙■ 子网掩码■ 网关■ 集线器■ 交换机■ 路由器■ 协议■ IP 协议■ TCP 协议■ UDP 协议■ ARP 协议■ ICMP■ HTTP 协议■ HTTP 响应报文格式■ HTTP 请求方法■ URL编码■ RESTful■ FTP 协议■ 通信简介网络通信本质上是一种进程间通信是位于网络中不同主机上的进程之间的通信属于 IPC 的一种通常称为 socket IPC■ OSI 七层模型■ 应用层应用层由来用户使用的都是应用程序均工作于应用层互联网是开发的大家都可以开发自己的应用程序数据多种多样必须规定好数据的组织形式应用层功能规定应用程序的数据格式。例TCP协议可以为各种各样的程序传递数据比如Email、WWW、FTP等等。那么必须有不同协议规定电子邮件、网页、FTP数据的格式这些应用程序协议就构成了”应用层”。■ 传输层传输层的由来网络层的ip帮我们区分子网以太网层的mac帮我们找到主机然后大家使用的都是应用程序你的电脑上可能同时开启qq暴风影音等多个应用程序那么我们通过ip和mac找到了一台特定的主机如何标识这台主机上的应用程序答案就是端口端口即应用程序与网卡关联的编号。传输层功能建立端口到端口的通信补充端口范围0-655350-1023为系统占用端口tcp协议可靠传输TCP数据包没有长度限制理论上可以无限长但是为了保证网络的效率通常TCP数据包的长度不会超过IP数据包的长度以确保单个TCP数据包不必再分割。■ 网络层网络层由来有了ethernet、mac地址、广播的发送方式世界上的计算机就可以彼此通信了问题是世界范围的互联网是由一个个彼此隔离的小的局域网组成的那么如果所有的通信都采用以太网的广播方式那么一台机器发送的包全世界都会收到这就不仅仅是效率低的问题了这会是一种灾难.■ 数据链路层数据链路层由来:单纯的电信号0和1没有任何意义必须规定电信号多少位一组每组什么意思数据链路层的功能定义了电信号的分组方式■ 物理层物理层功能:主要是基于电器特性发送高低电压(电信号)高电压对应数字1低电压对应数字0■ IP地址■ 地址划分地址的划分是把第一个字节划分为若干等分。IP地址根据网络ID的不同分为5种类型A类地址、B类地址、C类地址、D类地址和E类地址A类地址10.0.0.0126.0.0.00111 1111 1111 1111 1111 1111 1111 1111 10.0.0.01111 1111 1111 1111 1111 1111 1111 1111 126.0.0.0网络数 126 - 0 126个 每个网络容纳 255 X 255 X 255 16581375B类地址128.0.0.0191.255.255.2551111 1111 1111 11111111 1111 1111 1111 128.0.0.01111 1111 1111 1111 1111 11111111 1111 191.255.255.255网络数 191-128X 255 16065个 每个网络容纳 255X255 65025可用的B类网络有16382个每个网络能容纳6万多个主机C类地址 192.0.0.0 223.255.255.2551111 1111 1111 1111 1111 11111111 1111 192.0.0.01111 1111 1111 1111 1111 11111111 1111 223.255.255.255网络数 223-192X 255 X255 2015775个 每个网络容纳 255个D类地址⑴ D类地址不分网络地址和主机地址它的第1个字节的前四位固定为1110。⑵ D类地址范围224.0.0.1—239.255.255.254E类地址⑴ E类地址也不分网络地址和主机地址它的第1个字节的前五位固定为11110。⑵ E类地址范围240.0.0.1—255.255.255.254■ CIDR■ 端口号端口号本质上就是一个数字编号用来在一台主机中唯一标识一个能上网能够进行网络通信 的进程端口号的取值范围为 0~65535。通过“IP 地址端口号”来区分主机不同的进程。■ 防火墙所谓“防火墙”是指一种将内部网和公众访问网(如Internet)分开的方法它实际上是一种隔离技术。防火墙是在两个网络通讯时执行的一种访问控制尺度它能允许你“同意”的人和数据进入你的网络同时将你“不同意”的人和数据拒之门外最大限度地阻止网络中的黑客来访问你的网络。换句话说如果不通过防火墙公司内部的人就无法访问InternetInternet上的人也无法和公司内部的人进行通信。■ NAT 模式 虚拟机系统中的ip地址转换成宿主机的ip地址从而借助宿主主机访问其他主机也可以访问宿主主机所在的公网。■ host- only 模式虚拟机所在的虚拟网络是一个全封闭的网络它唯一能够访问的是宿主主机。■ Bridged 桥接模式局域网络一台独立的主机可以可以访问同网段中任何一台机器虚拟机必须配置 ip DNS 网关 和主机在一网段以实现通过宿主主机访问外网。■ 子网掩码它是一种用来指明一个IP地址的哪些位标识的是主机所在的子网以及哪些位标识的是主机的位掩码。子网掩码不能单独存在它必须结合IP地址一起使用。子网掩码只有一个作用就是将某个IP地址划分成网络地址和主机地址两部分。子网掩码是一个32位地址用于屏蔽IP地址的一部分以区别网络标识和主机标识并说明该IP地址是在局域网上还是在远程网上。子网掩码——屏蔽一个IP地址的网络部分的“全1”比特模式。对于A类地址来说默认的子网掩码是255.0.0.0对于B类地址来说默认的子网掩码是255.255.0.0对于C类地址来说默认的子网掩码是255.255.255.0。IP地址的网络号和主机号各是多少位呢如果不指定就不知道哪些位是网络号、哪些是主机号这就需要通过子网掩码来实现。子网掩码的长度也是32位左边是网络位用二进制数字“1”表示1的数目等于网络位的长度右边是主机位用二进制数字“0”表示0的数目等于主机位的长度。这样做的目的是为了让掩码与ip地址做按位与运算时用0遮住原主机数而不改变原网络段数字而且很容易通过0的位数确定子网的主机数11111111 11111111 11111111 00000000中前三个字节全1代表对应IP地址中最高的三个字节为网络地址后一个字节全0代表对应IP地址中最后的一个字节为主机地址。这种位模式叫做子网模subnet mask或“子网掩码”。作用是用于屏蔽IP地址的一部分以区别网络标识和主机标识并说明该IP地址是在局域网上还是在远程网上。是用于将一个大的IP网络划分为若干小的子网络。子网掩码划分未做子网划分的ip地址网络号主机号做子网划分后的ip地址网络号子网号子网主机号 由主机号划分成子网号和子网主机号/示例*/比如172.16.2.160/255.255.255.0【1】在没有划分子网的情况下这个IP地址的【网络号】就是172.16.2.0【主机号】为 0.0.0.160【2】划分子网情况如172. 16. 2. 160/255.255.255.192(IP地址/掩码)10101100 00010000 00000010 10100000 (二进制)11111111 11111111 11111111 11000000 子网掩码------------------------------------------相与(理解成相乘10101100 00010000 00000010 10000000172.16.2.128这就是子网号// 有128个子网。10101100 00010000 00000010 10000001172.16.2.129是第一个主机10101100 00010000 00000010 10111110172.16.2.190最后一个主机10101100 00010000 00000010 10111111 广播地址 172.16.2.191/示例/I P 地址 192.168.0.254子网掩码 255.255.255.0AND运算转化为二进制进行运算I P 地址 11000000.10101000.00000000.11111110子网掩码 1111 1111.1111 1111.1111 1111.0000 0000AND运算 11000000.10101000.00000000.00000000转化为十进制后为192.168.0.0示例三I P 地址 192.168.0.4子网掩码 255.255.255.0AND运算转化为二进制进行运算I P 地址 11000000.10101001.00000000.00000100子网掩码 11111111.11111111.11111111.00000000AND运算11000000.10101001.00000000.00000000转化为十进制后为192.168.0.0通过以上对三组计算机IP地址与子网掩码的AND运算后我们可以看到它运算结果是一样的。均为192.168.0.0所以计算机就会把这三台计算机视为是同一子网络然后进行通讯的。/例如/找到本地连接右键-属性-TCP/IP-属性里面可以填写IP地址。你就写192.168.1.10子网掩码是255.255.255.0.另外一个机子写192.168.1.20,子网掩码也写255.255.255.0.其余不用填这两台机子就可以通。■ 网关比如有网络A和网络B网络A的IP地址范围为192.168.1.1~192. 168.1.254子网掩码为255.255.255.0;网络B的IP地址范围为192.168.2.1~192.168.2.254子网掩码为255.255.255.0。在没有路由器的情况下两个网络之间是不能进行TCP/IP通信的即使是两个网络连接在同一台交换机(或集线器)上TCP/IP协议也会根据子网掩码(255.255.255.0)判定两个网络中的主机处在不同的网络里。而要实现这两个网络之间的通信则必须通过网关。如果网络A中的主机发现数据包的目的主机不在本地网络中就把数据包转发给它自己的网关再由网关转发给网络B的网关网络B的网关再转发给网络B的某个主机。网络B向网络A转发数据包的过程也是如此。所以说只有设置好网关的IP地址TCP/IP协议才能实现不同网络之间的相互通信。■ 集线器■ 交换机■ 路由器■ 协议协议全称传输安全性核心特点 / 加密机制主要用途 / 备注SSHSecure Shell✅ 安全加密传输• 建立在应用层和传输层之上• 采用公钥加密非对称密钥对• SSH1使用RSA交换密钥CRC校验完整性有缺陷支持DES/3DES/Blowfish/RC4• SSH2使用DSA/DH交换密钥HMAC保证完整性增加AES/Twofish算法修补了SSH1缺陷安全的远程管理有效防止信息泄露。目前主流使用SSH2版本。TelnetTelecommunication Network❌ 不安全明文传输• 无任何加密措施• 数据以明文形式在网络中传输远程登录到网络计算机。因安全隐患现已被SSH取代。Telnet/SSLTelnet over SSL✅ 安全SSL加密• 在Telnet基础上引入SSL协议• SSL位于TCP/IP与应用层之间为通信提供安全支持带有SSL加密的Telnet解决了原生Telnet明文传输的安全问题。NFSNetwork File System⚠️ 取决于配置• 基于RPC远程过程调用协议实现• 采用C/S架构• 本身只是文件系统无独立传输功能网络文件共享允许目标机直接运行主机共享目录下的程序类似Windows文件共享。TFTPTrivial File Transfer Protocol❌ 不安全无认证/加密• TCP/IP协议族中的简单文件传输协议• 开销很小实现简单客户机与服务器之间的简单文件传输常用于网络设备固件升级、无盘工作站启动等场景。■ IP 协议■ TCP 协议TCPTransmission Control Protocol传输控制协议是一种面向连接的、可靠的、基于 IP 的传输协议。①、 TCP 协议工作在传输层对上服务 socket 接口对下调用 IP 层②、 TCP 是一种面向连接的传输协议通信之前必须通过三次握手与客户端建立连接关系后才可通信③、 TCP 协议提供可靠传输不怕丢包、乱序。TCP 协议如何保证可靠传输①、 TCP 协议采用发送应答机制即发送端发送的每个 TCP 报文段都必须得到接收方的应答才能认为这个 TCP 报文段传输成功。②、 TCP 协议采用超时重传机制发送端在发送出一个 TCP 报文段之后启动定时器如果在定时时间内未收到应答它将重新发送该报文段。③、由于 TCP 报文段最终是以 IP 数据报发送的而 IP 数据报到达接收端可能乱序、重复、所以 TCP协议还会将接收到的 TCP 报文段重排、整理、再交付给应用层。■ UDP 协议■ ARP 协议■ ICMP■ HTTP 协议HTTP 超文本传输协议英文 HyperText Transfer Protocol缩写 HTTP是一种用于分布式、协作和超媒体信息系统的应用层协议。HTTP 的应用最为广泛譬如大家经常会打开网页浏览器查询资料通过浏览器便可开启 HTTP 通信。HTTP 协议工作于客户端用户、服务器端网站模式下浏览器作为 HTTP 客户端通过 URL 向HTTP 服务端即 WEB 服务器发送请求。 Web 服务器根据接收到的请求后向客户端发送响应信息。借助这种浏览器和服务器之间的 HTTP 通信我们能够足不出户地获取网络中的各种信息。■ HTTP 响应报文格式■ HTTP 请求方法■ URL编码■ RESTful■ FTP 协议文件传输协议File Transfer ProtocolFTPFTP 是基于客户———服务器C/S模型而设计的FTP的传输有两种方式ASCII、二进制。使用 TCP 传输而不是 UDPFTP允许用户以文件操作的方式如文件的增、删、改、查、传送等与另一主机相互通信FTP数据传输过程不同的协议层对数据包有不同的称谓在传输层叫做段segment在网络层叫做数据报datagram在链路层叫做帧frame。数据封装成帧后发到传输介质上到达目的主机后每层协议再剥掉相应的首部最后将应用层数据交给应用程序处理。两台计算机在不同的网段中那么数据从一台计算机到另一台计算机传输过程中要经过一个或多个路由器。