网站logo显示,昆明企业公司网站建设,荆门网站建设,兰州seo技术优化排名公司网络Ⅰ 零、概述0. 网络协议1. 网络协议分层OSI 七层模型TCP/IP 五层模型 2. 协议报头3. 通信过程 一、应用层1.1 #x1f517;HTTP 协议1.2 #x1f517;HTTPS 协议 二、传输层2.1 端口号2.2 netstat - - 查询网络状态2.3 pidof - - 查看服务器的进程 id2.4 #x1f517;UD… 网络Ⅰ 零、概述0. 网络协议1. 网络协议分层OSI 七层模型TCP/IP 五层模型 2. 协议报头3. 通信过程 一、应用层1.1 HTTP 协议1.2 HTTPS 协议 二、传输层2.1 端口号2.2 netstat - - 查询网络状态2.3 pidof - - 查看服务器的进程 id2.4 UDP 协议2.5 TCP 协议 三、网络层 查询计算机 ip 地址命令iifconfig
inetIP地址
ether以太网16 进制零、概述
0. 网络协议
协议是一种“约定”。
现有的这些许多不同厂商之间生产的计算机能够相互顺畅的通信正是因为他们共同接受并遵守着同一套由权威定制的标准。这就是 网络协议。
1. 网络协议分层
OSI 七层模型 OSIOpen System Interconnection开放系统互连七层网络模型称为开放式系统互联参考模型是一个逻辑上的定义和规范。 应用程序中
应用层表示层会话层 操作系统中
传输层网络层 设备驱动程序与网络接口中
数据链路层物理层
TCP/IP 五层模型
OSI 七层模型的最大优点是将服务、接口和协议这三个概念明确地区分开来概念清楚理论也比较完整。但是, 它既复杂又不实用所以我们按照 TCP/IP 五层模型来讲解 应用层 负责 应用程序间沟通。 如简单电子邮件传输SMTP、文件传输协议FTP、网络远程访问协议Telnet等。我们的网络编程主要就是针对应用层。 传输层 负责 两台主机之间的数据传输。 如传输控制协议 (TCP)能够确保数据可靠的从源主机发送到目标主机 网络层 负责 地址管理和路由选择。 例如在 IP 协议中通过IP地址来标识一台主机并通过路由表的方式规划出两台主机之间的数据传输的线路路由。路由器Router工作在网路层。 数据链路层 负责 设备之间的 数据帧 的传送和识别。 例如网卡设备的驱动、帧同步就是说从网线上检测到什么信号算作新帧的开始、冲突检测如果检测到冲突就自动重发、数据差错校验等工作。有以太网、令牌环网无线 LAN 等标准。交换机Switch工作在数据链路层。 物理层 负责 光 / 电信号的传递方式。 比如现在以太网通用的网线双绞线、早期以太网采用的的同轴电缆现在主要用于有线电视、光纤, 现在的 wifi 无线网使用电磁波等都属于物理层的概念。物理层的能力决定了最大传输速率、传输距离、抗干扰性等. 集线器Hub工作在物理层。
网络协议的五层模型的位置关系
2. 协议报头
用户使用网络互相交互时从应用层开始每层向下传输时都会加上本层协议的报头。传到局域网或以太网后再由底向上进行解析后将属于本层的报头解开剩余的数据传给上层。 每一层都会把上层交付给自己的数据作为自己的 有效载荷 每一层都有自己的协议报头 对应的层报头有效载荷 自己要发送的报文这就是 封装 在逻辑上网络协议都认为自己在和对方同层协议在通信 同层协议都能互相认识对方的报头即都能做到 a. 将报头进行有效载荷进行分离 b. 将有效载荷交付给上层的那一个具体协议
3. 通信过程
两个主机通信的本质是两个主机的 OS 与网络协议栈在通信。
任何人要通信需要有唯一的一个标识符。对于机器也是如此对于计算机每台计算机都配有网卡网卡在出厂的时候就在网卡内部写入了网卡的 sn 号MAC 地址 全球唯一。
路由器 是连接两个子网下通信的桥梁实际上也是一个 主机或者叫 节点。其有三层结构
网络层链路层物理层此处不做讨论 网络层的报头为报文定制最终目标路上根据该地址进行路径选择IP 地址
链路层的报头根据路径选择的结果来选择下一跳主机MAC 地址。
IP 协议及其以上的协议于任何网络方面是没有差异的即 IP 地址屏蔽了底层子网机制的差异。
IP协议向下网络可以具有明显的差异。
数据的封装和分用 不同的协议层对数据包有不同的称谓在传输层叫做段(segment)在网络层叫做数据报 (datagram)在链路层叫做帧(frame)。 应用层数据通过协议栈发到网络上时每层协议都要加上一个数据首部(header)称为 封装 (Encapsulation)。首部信息中包含了一些类似于首部有多长载荷(payload)有多长上层协议是什么等信息。 数据封装成帧后发到传输介质上到达目的主机后每层协议再剥掉相应的首部根据首部中的“上层协议字段“将数据交给对应的上层协议处理称为 分用。 一、应用层
一端发送时构造的数据在另一端能够正确的进行解析这种约定就是 应用层协议 。
程序员自然可以自行定制协议但有如下非常好的协议设计是可以直接拿来使用的。
1.1 HTTP 协议
HTTP 协议介绍
1.2 HTTPS 协议
HTTPS 协议介绍 二、传输层
传输层用作提供传输策略负责数据能够从发送端传输至接收端。
2.1 端口号
端口号Port标识了一个主机上进行通信的不同的应用程序。
通过 源 IP 地址、目标 IP 地址、协议号、源端口号、目标端口号 这五个数字可以识别一个通信。
端口号范围划分 0 - 1023知名端口号。 HTTP、FTP、SSH 等这些广为使用的应用层协议他们的端口号都是固定的。 ssh 服务器使用 22 端口
ftp 服务器使用 21 端口
telnet 服务器使用 23 端口
http 服务器使用 80 端口
https 服务器使用 443 端口1024 - 65535操作系统动态分配的端口号。 客户端程序的端口号就是由操作系统从这个范围分配的。 其中也不乏有数据库或一些特殊的服务在其中比如
mysql使用 3306 端口2.2 netstat - - 查询网络状态
netstat -naup:
-n拒绝显示别名能显示数字的全部转化成数字
-a(all)显示所有选项
-u(udp)仅显示 udp 相关选项
-p显示建立相关链接的程序名netstat -nltp:
-n拒绝显示别名能显示数字的全部转化成数字
-l仅列出有在 Listen (监听) 的服务状态
-t(tcp)仅显示tcp相关选项
-p显示建立相关链接的程序名2.3 pidof - - 查看服务器的进程 id
pidof [进程名]通过进程名查看进程 id
2.4 UDP 协议
UDP 协议介绍
2.5 TCP 协议
TCP 协议介绍
TCP 和 UDP 的对比 TCP 和 UDP 之间的优点和缺点不能简单绝对的进行比较。 TCP 用于可靠传输的情况应用于文件传输重要状态更新等场景。 UDP 用于对高速传输和实时性要求较高的通信领域 例如早期的 QQ视频传输...等另外 UDP 可以用于广播。归根结底TCP 和 UDP 都是程序员的工具什么时机用具体怎么用还是要根据具体的需求场景去判定。 三、网络层