七层模型:
应用层: 与其它计算机进行通讯的一个应用应用程序和服务器所在,HTTP(WEB)
表示层: 编码--<二进制 主要功能是定义数据格式及加密。
会话层: 管理会话,数据加解密 定义了如何开始,控制和结束一个会话,包括对个双向消息的控制和管理,以便在只完成连续消息的一部分可以通知应用,从而使表示层看到的数据是连续的,,在某些情况下,如果表示层收到了所有的数据,则用会话层表示收到了所有的数据,用数据代表表示层。
传输层: 使用端口号标记不同的程序或者服务,0-65535,其中0-1023著名端口
实例:TCP,UDP,SPX
网络层:对端对端的包传输进行定义,定义了能够标识所有结点的逻辑地址,还定义了路由实现的方式和学习的方式。 该层还定义了如何将一个包分解成更小的包的分段方法。
实例: IP
数据链路层:定义在单个链路上如何传输数据;
物理层:常用于多个规范完成对所有细节的定义:
著名端口(目标端口)
HTTP:TCP 80
HTTPS:TCP 443
TELENET: 远程登陆 TCP 22
SSH: UDP 67/68
RIP: 路由信息协议 UDP 520
FTP: 文件传输协议 20/21
POP3:110
DNS: 域名解析协议
SNMP: 简单的网络管理协议 UDP 161
传输层协议TCP/UDP
UDP:User date protocol 用户数据协议
面向非链接的不可靠的传输协议,报头8byte,仅仅使用源目端口标记不同的程序
散列函数的特点: 1》 不等长输入,等长输入 2》雪崩效应
TCP:传输控制协议,面向连接的可靠的传输协议,
面向连接: 三次握手,四次挥手
三次握手:
第一次握手:客户端首先向服务器发送一个syn包(ack = j),到服务器,等待服务器进行
确认
第二次握手; 服务器收到syn包,必去确认客户的SYN包(ack = j + 1 ),同时自己也发送一个SYN包(syn = k ),即SYN+ACK包
第三次握手:客户端收到服务器的SYN +ACK包,向服务器发送一个确认包(ack = k +1 ),发送完成后客户端和服务器进行数据连接状态,开始发送数据:
四次挥手:
第一次挥手:客户端首先发送一个FIN=1,的请求,要求断开,
第二次挥手:服务器收到FIN后发送一个确认包给客户端,服务器待关闭状态
第三次挥手:服务器发送一个FIN包用来关闭连接进入关闭确认状态
第四次挥手:客户端收到FIN后,给服务器发送一个确认包完成四次挥手结束数据传输
可靠性; 确认 重传 流控 排序
对数据进行分段的作用,基于每个字节一个段
网络层:转发数据包和路由,IP 协议 ,分为IPv4和IPV6
路由器(三层交换/防火墙),基于IP地址进行逻辑寻址--
数据链路层:封装数据帧
物理层:
IPv4 地址:32位二进制,使用点分十进制的形式表示作用(看起来方便)
一个IP地址存在网络位和主机位
网络位唯一标识某个主机
一个完整的IP地址需要网络掩码
网络掩码:32位二进制,使用点分十进制的形式表示,由连续的1和连续的0构成
掩码为1, 标识IP对应位为网络位
掩码为0,标识IP对应为主机位
IP地址分类:
A:0--------- 0-127 /8 255.0.0.0
B:10----------- 128-191 /16 255.255.0.0
C:110 ----------- 192-223 /24 255.255.255.0
D:1110---------- 224-239 组播地址, 只能作为目标
E:1111----- 240-255 保留地址
ABC单播地址,D组播地址
数据转发形式:单播,组播,广播
单播地址的分类:
1,私有地址: 1)免费 2)在一个局域网内唯一
2,共有地址: 1)付费 2) 全球唯一
特殊IP地址:
1,0.0.0.0 缺省 (代表所有) 无效地址(没有地址).
2,255.255.255.0 全局广播地址
3,169.254.0.0/16 PC通过DHCP没有请求到地址时自行分配的地址
4,127.0.0.1: 本地环回地址,测试TCP/IP协议栈是否正常
5,主机位全0: 代表一个网络范围
例如:192.168.1.0 255.255.255.0
6,主机位全1: 代表某个范围的广播地址
例如:192.168.1.255 255.255.255.255.0
ARP: Address Resolution Protocol , 地址解析协议
作用:已知对方MAC,请求对方ip
RARP: 逆向ARP, 已知对方MAC,请求对方ip
免费(无故)Gratuitous ARP: 使用ARP的方式请求自己的IP地址对应的MAC
检测IP地址冲突
ARP代理:
DHCP:动态主机配置协议
作用:统一分发和管理IP地址
基本概念: 基于UDP 67/68端口 ,67代表服务器,68代表客户端
数据包:
Discover 发现
Offer 提供
Request 请求
Ack:确认包
Release:释放
工作过程:
需要自动获取IP地址的客户端开启自动获取IP地址之后,本地广播发出DHCP Discover数据包,
源IP地址0.0.0.0,目标IP地址255.255.255.255,源MAC地址为本地网卡MAC,目标MAC为FFFF-FFFF-FFFF,
源端口为68,目标端口为67;
开启了DHCP服务的服务器收到此数据包后,发送免费ARP以确定所要下发的IP地址没有冲突,再本地基于广播的形式回复DHCP Offer数据包,
源IP是服务器IP地址,目标IP地址255.255.255.255,源MAC为服务器网卡MAC,目标MAC为FFFF-FFFF-FFFF,
源端口为67,目标端口为68;
客户端使用DHCP Request数据包请求IP地址,服务器回复ACK给客户端,客户端拿到IP地址。
租期:默认租期为1440min/24h/一天。
续租:当租期到达1/2时,客户端若依然在线,客户端主动发出Request数据包来续租;
若续租失败,继续在7/8的租期再次发送Request数据包续租;
若依然失败,那租期到达时地址被收回,客户端若想继续使用,需要重新获取地址。
