1.OSI(国际标准化组织)网络层次7层
网络层次 | 操作对象 | 说明 | 设备 | 协议 |
应用层 | 报文 | 提供访问网络的接口 | - | FTP、Telnet、DNS、SMTP、POP3、HTTP |
表示层 | 对上层数据加密、压缩、格式转换,保证主机应用层信息被另一个主机理解 | - | - | |
会话层 | 管理主机之间的会话进程 | - | - | |
传输层 | - | 第一个端到端的层,负责将上层数据分段并提供端到端的可靠/不可靠传输 | 网关 | TCP、UDP |
网络层 | IP数据报 | 负责对子网的数据包进行路由选择 | 路由器 | IP、ICMP、ARP、RARP |
数据链路层 | 帧 | 将网络层的数据可靠地传输到相邻节点的目标网络层,将数据封装成帧 | 网桥、交换机 | 以太网协议 |
物理层 | - | 为上层协议提供传输数据的可靠物理媒介,确保原始数据可在各种物理媒介上传输 | 中继器、集线器 | - |
2. IP地址划分
(1)网络地址
IP地址=网络号+主机号
网络地址是主机号全为0,它代表整个网络
(2)广播地址
网络地址是主机号全为1,该网络内所有主机都能收到
(3)组播地址
D类为组播地址
地址类别 | 说明 | 范围 |
A类 | 0开头,第一字节为网络号 | 0.0.0.0 ~ 127.255.255.255 |
B类 | 10开头,前两个字节为网络号 | 128.0.0.0 ~ 191.255.255.255 |
C类 | 110开头,前三个字节为网络号 | 192.0.0.0 ~ 223.255.255.255 |
D类 | 1110开头 | 224.0.0.0 ~ 239.255.255.255 |
E类 | 11110开头 | 240.0.0.0 ~ 255.255.255.255 |
(4)特殊地址
IP地址 | 用途 |
255.255.255.255 | 受限广播地址,只用于本地网络,路由器不转发 |
0.0.0.0 | 常用于寻找自己的IP地址 |
127.0.0.0/8 | 回环地址,对本机测试,常用127.0.0.1 |
3. 子网掩码以及网络划分
(1)子网掩码
用于标志两个IP是否属于一个子网,32位,为1表示网络位,为0表示主机位。
若两个IP与子网掩码按位与操作后的结果相同,表示在同一网段。
例如C类地址IP:192.168.0.25 掩码:255.255.255.0
例如B类地址IP:128.168.0.25 掩码:255.255.0.0
(2)网络划分
- 方法一、利用子网数来计算
例如:将IP:168.195.0.0 划分为27个子网
step1. 将子网数转位二进制 27=11011;
step2. 取得改数二进制的位数 N=5
step3. 取得该IP的类子网掩码,将其主机地址前N位置1.
B类子网掩码为:255.255.0.0 将主机号前5位置1后为 255.255.11111000.0,即255.255.248.0
- 方法二、利用主机数来计算
例如:B类IP:168.195.0.0对其进行网络划分,使得子网主机700台
step1. 将主机数转化为2进制,700=1010111100
step2. 获得主机数二进制位数 N=10
step3. 使用子网掩码255.255.255.255向右移动N位,补0
255.255.11111100.00000000 即 255.255.252.0
- 方法三、根据每一个子网的主机数量来计算
例如:一个子网有10台主机
step1. 10 + 1+ 1 + 1 = 13 (其中三个1分别代表网关地址、网络地址、广播地址)
step2. 13 < 2^4 = 16 使用4位
step3. 255.255.255.240 (256 - 16 = 240)
4. 协议
协议 | 名称 | 所属网络层次 | 说明 | 工作流程 |
ARP/RARP协议 | Address Resolution Protocol(地址解析协议) Reverse Address Resolution Protocol(逆地址解析协议) |
网络层 | 根据IP地址获取物理地址的一个TCP/IP协议 / 而RARP是根据mac地址获取自己的IP,这个IP是由RARP服务器发送的 | 例如主机A获取主机B的物理地址:主机A查看路由表,得到主机B的IP,根据B的IP查看自己的ARP缓存,如果有找到B的mac地址;如果没有则广播到网络上所有主机。各个主机收到ARP请求后,查看请求中的IP地址和自己是否一致,不一致则丢弃。主机B收到后查看IP发现一致,则将A的IP和mac地址保存至自己的ARP缓存,然后向A发送自己的mac地址。A接受回复后得到B的mac地址,二者可以发送IP通信。 |
NAT协议 | Network Address Translation(网络地址转换协议) | 网络层 | 接入广域网技术,将私有IP转化为合法IP的技术。解决IP地址不足,有效避免网络外部攻击 | - |
TCP/IP协议 | Transmission Control Protocol(传输控制协议) ------------------ Internet Protocol(网络协议) |
传输层 --- 网络层 |
文件头:[20个字节] 面向连接的通讯协议,只能用于端到端通讯,完成三次握手、四次挥手。采用“带重传的肯定确定”技术实现传输可靠性,使用“滑动窗口”进行流量控制 --------------------- 接收低层数据,并将其发送至高层;接收高层数据,发送至低层 [不可靠传输] |
消息说明: ACK(Acknowledge,确定) SYN(Synchronize,请求同步) FIN(Finally,结束) 三次握手: (客户端)向(服务器)发送[SYN]请求连接,(服务器)回复(客户端)一个[SYN+ACK]表示自己准备好了,(客户端)再向(服务器)发送[ACK]表示我知道你准备好了 四次挥手: (客户端)向(服务器)发送[FIN]表示我没有数据了,但是不着急断了这个socket,如果你还有数据,你可以继续发。(服务器)向(客户端)发送[ACK]表示你的请求我看到了,但是我还没准备好,你等之后的消息吧。(服务器)发送完所有数据后,向(客户端)发送[FIN]表示我这边准备完了,可以断开连接了,(客户端)向(服务器)发送[ACK]表示那就断开吧。 |
UDP协议 | User Datagram Protocol(用户数据报协议) | 传输层 | 文件头:[2字节] 面向无连接,可实现广播发送,它与TCP的区别就在于TCP是面向连接,提供可靠的字节流服务,而UDP面向无连接,提供不可靠的数据报服务 |
- |
路由选择协议 | RIP(Routing Information Protocol,路由信息协议) ------------------ OSPF(Open Shortest Path First,开放式最短路径优先协议) |
应用层 | RIP底层是贝尔曼福特算法,度量标准(Metric)是跳数,一般<=15跳,若》15跳会丢包 --------------------- OSPF底层是迪杰斯特拉算法,Metric是带宽、延迟 |
- |
DNS协议 | Domain Name System(域名解析协议) | 应用层 | 将URL转化为IP地址 | - |
DHCP协议 | Dynamic Host Configuration(动态主机设置协议) | 应用层 | 局域网网络协议,使用了UDP协议,用途是给内部网络自动分配IP,给用户作为对所有计算机中央管理的手段 | - |
HTTP协议 | Hyper Text Transfer(超文本传输协议) | 应用层 | 所有WWW文件都必须遵守 请求: 1.GET:请求读取由URL标志的信息 2.POST:给服务器添加信息 3.PUT:在给定URL下存储文档 4.DELETE:删除指定URL标志资源 |
- |
5.例子
浏览器输入“www.baidu.com”之后执行:
- 应用层:查询DNS,获取域名对应的IP,获取IP后,浏览器向目标IP发送HTTP请求。
- 传输层:建立连接,进行三次握手,并把HTTP会话分成报文段,分别添加源和目的端口,确保可靠性。
- 网络层:路由寻址,查找路由表确定如何到达服务器,通过ARP获取目标网关的MAC地址。
- 数据链路层:传输数据
- 物理层:输出bit
- 服务器端经过物理层→数据链路层→网络层→传输层→应用层,解析请求报文,发送HTTP响应报文。
- 客户端解析HTTP响应报文
- 浏览器开始显示HTML
其中,第一步在应用层中DNS查询如下:
(1)检查本地hosts文件是否有这个网址的映射,如果有,就调用这个IP地址映射,解析完成。
(2)如果没有,则查找本地DNS解析器缓存是否有这个网址的映射,如果有,返回映射,解析完成。
(3)如果没有,则查找填写或分配的首选DNS服务器,称为本地DNS服务器。服务器接收到查询时:如果要查询的域名包含在本地配置区域资源中,返回解析结果,查询结束,此解析具有权威性。
如果要查询的域名不由本地DNS服务器区域解析,但服务器缓存了此网址的映射关系,返回解析结果,查询结束,此解析不具有权威性。
(4)如果本地DNS服务器也失效:如果未采用转发模式(迭代),本地DNS就把请求发至13台根DNS,根DNS服务器收到请求后,会判断这个域名(如.com)是谁来授权管理,并返回一个负责该顶级域名服务器的IP,本地DNS服务器收到顶级域名服务器IP信息后,继续向该顶级域名服务器IP发送请求,该服务器如果无法解析,则会找到负责这个域名的下一级DNS服务器的IP给本地DNS服务器,循环往复直至查询到映射,将解析结果返回本地DNS服务器,再由本地DNS服务器返回解析结果,查询完成。如果采用转发模式(递归),则此DNS服务器就会把请求转发至上一级DNS服务器,如果上一级DNS服务器不能解析,则继续向上请求。最终将解析结果依次返回本地DNS服务器,本地DNS服务器再返回给客户机,查询完成。