网络结构模式(软件结构)
C/S结构
服务器 - 客户机,即 Client - Server(C/S)结构
C/S 结构通常采取两层结构:
- 服务器负责数据的管理
- 客户机负责完成与用户的交互任务
在C/S结构中,应用程序分为两部分:
-
服务器部分是多个用户共享的信息与功能,执行后台服务
如控制共享数据库的操作
-
客户机部分为用户所专有,负责执行前台功能
在出错提示、在线帮助等方面有强大的功能,并且可以在子程序间自由切换
优点:
充分发挥客户端 PC 的处理能力
,很多工作可以在客户端处理后再提交给服务器,所以 C/S 结构客户端响应速度快
B/S结构
B/S 结构(Browser/Server,浏览器/服务器模式)
- WEB浏览器是客户端最主要的应用软件
这种模式统一了客户端,将系统功能实现的核心部分集中到服务器上,简化了系统的开发、维护和使用
客户机上只要安装一个浏览器,服务器安装数据库
浏览器通过 Web Server 同数据库进行数据交互
缺点:
- 协议一般是固定的:http/https(无法发送大数据)
- 客户端服务器端的交互是请求-响应模式,通常动态刷新页面,响应速度明显降低
MAC地址
网卡
是一块被设计用来允许计算机在计算机网络上进行通讯
的计算机硬件
,又称为网络适配器
或网
络接口卡NIC
- 网卡拥有 MAC 地址,使得用户可以通过电缆或无线相互连接
每一个网卡都有一个被称为 MAC 地址的独一无二
的 48 位串行号
网卡的主要功能:
1.数据的封装与解封装
2.链路管理
3.数据编码与译码
MAC 地址用于在网络中唯一标识
一个网卡
一台设备若有一或多个网卡,则每个网卡都需要并会有一个唯一的 MAC 地址
MAC 地址的长度为 48 位(6个字节)
通常表示为 12 个 16 进制数,如:00-16-EA-AE-3C-40 就是一个MAC 地址
- 用
ifconfig
查看
IP地址
ip协议
在因特网中,IP 协议是能使连接到网上的所有计算机网络实现相互通信的一套规则
,规定了计算机在因特网上进行通信时应当遵守的规则
。
只要遵守
IP 协议
就可以与因特网互连互通
- 以太网和分组交换网,因为它们所传送数据的基本单元(技术上称之为“帧”)的格式不同,它们相互之间不能通信
- IP 协议实际上是一套由软件程序组成的协议软件
- 它把各种不同“帧”统一转换成“IP 数据报”格式
- 这种转换是因特网的一个最重要的特点,使所有各种计算机都能在因特网上实现互通
IP地址
IP 地址(Internet Protocol Address)
是指互联网协议地址- IP 地址是 IP协议提供的一种
统一的地址格式
- 为互联网上的每一个网络和每一台主机分配一个
逻辑地址
,以此来屏蔽物理地址的差异
IP 地址是一个
32 位
的二进制数,通常被分割为 4 个“ 8 位二进制数”(01100100.00000100.00000101.00000110)
IP 地址通常用“点分十进制”表示
把每个8位(1个字节)翻译成十进制,用.分割
IP 地址编址方式
-
为了便于
寻址
以及层次化构造网络
每个 IP 地址包括两个标识码(ID),即网络ID和主机ID
-
同一个物理网络上的所有主机都使用同一个网络 ID
网络上的一个主机(包括网络上工作站,服务器和路由器等)有一个
主机ID
与其对应
分类ip地址
IP地址={<网络号>,<主机号>}
- 网络号:主机或路由器所连的网络
- 主机号:表示这个主机或路由器
- 网络号在整个互联网范围内唯一
- 主机号在网络号的网络范围内要唯一
- 从而:ip地址在整个互联网唯一
近年来,路由选择更广泛选择:无分类的ip地址
特殊的地址
- 每一个字节都为 0 的地址( “0.0.0.0” )对应于
当前主机
- IP 地址中的每一个字节都为 1 的 IP 地址( “255.255.255.255” )是当前子网的
广播
地址 127
.0.0.1 到127
.255.255.255 用于回路测试
,如:127.0.0.1可以代表本机IP地址
子网掩码
划分子网
从主机号
借用若干位作为子网号
—ip地址=网络号+(子网号+主机号)
子网掩码(subnet mask)
来指明一个 IP 地址的哪些位标识的是主机所在的子网
,以及哪些位标识的是主机的位掩码
。
子网掩码只有一个作用:
就是将某个 IP 地址
划分成网络地址
和主机地址
两部分。
子网掩码不能单独存在,它必须结合 IP 地址一起使用
- 子网掩码由 1 和 0 组成,且每一位 1 和 0 连续
- 网络号:IP地址和子网掩码进行&操作
- 主机号:IP地址和
取反后的子网掩码
进行&操作
端口
TCP/IP协议中的端口
,是逻辑意义上的端口,指计算机内部或交换机路由器内的端口
- 可以理解为找到应用进程编号(地址)
- 一个 IP地址的端口可以有 65536(即:2^16)个之多
一个端口标识了一个读写缓冲区的地址
- 注意,这里的端口是软件端口,是各种
协议进程
与运输实体
进行层间交互的一种地址
端口类型
- Well Known Ports(熟知端口)
范围从 0 到 1023
,它们紧密绑定于一些特定的服务
- 80 端口分配给 WWW 服务
- 21 端口分配给 FTP 服务
- 23 端口分配给
Telnet服务
- 注册端口(Registered Ports)
端口号从 1024 到 49151,它们松散地绑定于一些服务,给没有熟知端口号的应用程序使用
前两个都给服务器使用
范围从 49152 到 65535是:动态或短暂端口号
,在客户端进程动态选择,结束回收
网络模型
OSI 七层参考模型
国际标准化组织(ISO)制定的一个用于计算机或通信系统
间互联
的标准体系
-
物理层-----定义物理设备标准,主要作用是传输比特流
- 由1、0转化为电流强弱来进行传输,到达目的地后再转化为1、0,J也就是
数模转换与模数转换
- 这一层的数据叫做
比特
- 由1、0转化为电流强弱来进行传输,到达目的地后再转化为1、0,J也就是
-
数据链路层----建立
逻辑连接
、进行硬件地址寻址
、差错校验
等功能
- 定义了如何让
格式化数据
以帧为单位
进行传输- 将
比特
组合成字节
进而组合成帧
,用MAC地址访问介质
- 网络层----进行
逻辑地址
(IP)寻址
在位于不同地理位置的
网络
中的两个主机
系统之间提供连接和路径选择
- 网络层正是管理这种连接的层
- 传输层----定义了一些传输数据的
协议
和端口
号
TCP:传输控制协议,传输效率低,可靠性强,用于传输可靠性要求高,数据量大的数据),UDP:用户数据报协议,用于传输可靠性要求不高,数据量小的数据
将从下层接收的数据进行分段
和传输,到达目的地址后再进行重组
- 常常把一层数据叫做
段
会话层:通过传输层(端口号:传输端口与接收端口)建立数据传输的通路
主要在你的系统之间发起会话或者接受会话请求
表示层:数据的表示、安全、压缩
主要是进行对接收的数据进行解释、加密与解密、压缩与解压缩等
应用层:网络服务与最终用户的一个接口
这一层为用户的
应用程序
(例如电子邮件、文件传输和终端仿真)提供网络服务
TCP/IP 四层模型
Internet(因特网)使用的主流协议族
是 TCP/IP 协议族,它是一个分层、多协议的通信体系
由于传输层和网络层在网络协议中的地位十分重要,所以在 TCP/IP 协议中它们被作为独立的两个
层次。
-
传输层:作为 TCP/IP 协议的第二层,运输层在整个 TCP/IP 协议中起到了中流砥柱的作用
且在运输层中, TCP 和 UDP 也同样起到了中流砥柱的作用。
-
网络层:在 TCP/IP 协议中
网络层
可以进行网络连接的建立和终止
以及IP 地址的寻找
等功能。
路由器在主机间转发分组
只使用到了网络层,没有用到传输层
TCP/IP的实际使用
某些应用层
可以直接使用ip层
,甚至直接使用网络接口层
协议
网络协议的简称,网络协议
是通信计算机双方
必须共同遵从的一组约定
它的三要素是:语法、语义、时序
- 语法:如何拼接数据
- 语义:每个包的含义
- 时序:拼接顺序
它最终体现为:在网络
上传输的数据包的格式
协议往往分成几个
层次
进行定义分层是为了:使某一层协议的改变不影响其他层次的协议
常见协议
- 应用层常见的协议
- FTP协议(File Transfer Protocol 文件传输协议)
- HTTP协议(Hyper TextTransfer Protocol 超文本传输协议)
- 传输层常见协议
- TCP协议(Transmission Control Protocol 传输控制协议)
- UDP协议(UserDatagram Protocol 用户数据报协议
- 网络层常见协议
- IP 协议(Internet Protocol 因特网互联协议)
- ICMP 协议(Internet Control Message Protocol 因特网控制报文协议)
- IGMP 协议(Internet Group Management Protocol 因特网组管理协议)
- 网络接口层常见协议
- ARP协议(Address Resolution Protocol 地址解析协议)
- RARP协议(Reverse Address Resolution Protocol 反向地址解析协议)
UDP协议
- 校验和:检测UDP用户数据报在传输中是否有错,有错就丢弃
TCP协议
首部长度(数据偏移):TCP 报文段的数据
起始处距离 TCP 报文段首部的起始处
有多远
IP地址
-
总长度:指
首部
加上数据
的总长度 -
标志(flag):
-
MF = 1 即表示后面“还有分片”的数据报
-
MF = 0 表示这已是若干数据报片中的最后一个
-
标志字段中间的一位记为 DF,意思是“不能分片”,只有当
DF = 0
时才允许分片
-
-
协议:
指出此数据报携带的数据要提交给上层所使用的协议
目的:以便使目的主机的 IP 层知道应将数据部分上交给哪个处理过程
常用的 ICMP(1),IGMP(2),TCP(6),UDP(17),IPv6(41)
以太网帧协议
ARP协议
网络通信过程
封装
上层协议
使用下层协议
提供的服务是通过封装
实现的
什么是封装
每层协议都将在上层数据
的基础上加上自己的头部信息
(有时还包括尾部信息
),以实现该层的功能,这个过程就称为封装
分用
当帧到达目的主机时,将沿着协议栈自底向上依次传递
什么是分用
各层协议依次处理帧中本层负责的头部数据,以获取所需的信息,并最终将处理后的帧交给目标应用程序,这个过程称为分用
(demultiplexing)
封装就是源主机自上而下封装数据,分用就是目的主机自下而上解析数据
数据发送过程
具体例子
假设:
-
源主机和目的主机用QQ发消息
-
源主机和目的主机的端口号都是2425
-
源主机的ip地址:192.168.1.1
目的主机的ip地址:192.168.1.3
-
源主机的mac地址: 01:02:03:04:05:06(每个数字16进制)
目的主机的mac地址:0a:0b:0c:0d:0e:0f
ARP:通过ip寻找mac
arp:会把IP地址和物理地址缓存在主机上