一、OSI七层参考模型
应用层 --通过人机交互来实现各种各样的服务
表示层--编码 解码 加密 解密
会话层--发现 建立 维持 终止会话进程
传输层--通过端口号来区分不同的服务 端口号:0-65535 静态端口号1-1023
动态端口号1024-65535
0--特殊端口号--保留端口号
0--在网络编程中使用--代表所有端口号
TCP--传输控制协议
面向连接的可靠传输协议
UDP--用户数据报文协议
非面向连接的不可靠传输协议
可靠机制:确认 重传 排序 流控
面向连接---三次握手 四次挥手
网络层:根据IP地址来进行逻辑寻址 IPV4 IPV6
数据链路层:---交换机
LLC 逻辑链路控制子层
为上层服务提供FCS校验 --封装和解封装
MAC 媒介访问控制子层
根据MAC地址来进行物理寻址
MAC地址--物理地址---设备在出场之后烧录在网卡上的
物理层:定义电气电压 光学特性 接口规范
二、PDU--协议数据单元
上三层---数据报文
四层封装--数据段
三层封装--数据包
二层封装--数据帧
一层-------比特流
面向连接----三次握手 四次挥手
可靠---------确认 重传 排序 流控
三次握手
SYN--同步序列号请求 ---请求连接的一种方式
Seq--序列号--记录发送的次数 ---随机生成---不同厂商设定的
Ctl--控制位
Ack---确认
Ack=seq+1
Sequence number --序列号
四次挥手
FIN--请求断开连接
ACK--确认
seq相同---同时发送----时间间隔
比如在网络环境比较复杂的情况,客户端可能会连续发送多次请求。如果只设计成两次握手的情况,服务端只能一直接收请求,然后返回请求信息,也不知道客户端是否请求成功。这些过期请求的话就会造成网络连接的混乱。
所以设计成三次握手的情况,客户端在接收到服务端SEQ+1的返回消息之后,就会知道这个连接是历史连接,所以会发送报文给服务端,告诉服务端。
所以TCP设计成三次握手的目的就是为了避免重复连接。
2、挥手为什么需要四次?三次不可以吗?
因为TCP是全双工通信的
(1)第一次挥手
因此当主动方发送断开连接的请求(即FIN报文)给被动方时,仅仅代表主动方不会再发送数据报文了,但主动方仍可以接收数据报文。
(2)第二次挥手
被动方此时有可能还有相应的数据报文需要发送,因此需要先发送ACK报文,告知主动方“我知道你想断开连接的请求了”。这样主动方便不会因为没有收到应答而继续发送断开连接的请求(即FIN报文)。
(3)第三次挥手
被动方在处理完数据报文后,便发送给主动方FIN报文;这样可以保证数据通信正常可靠地完成。发送完FIN报文后,被动方进入LAST_ACK阶段(超时等待)。
(4)第四挥手
如果主动方及时发送ACK报文进行连接中断的确认,这时被动方就直接释放连接,进入可用状态。
三、TCP的头部 报头---报文的头部
Resv---预留位--保留出来的----服务质量---
Rst--重置位
Urg--紧急指针--urgent pointer
Ctl ---控制位--只有0和1 为0 不生效 为1 生效
Window size --窗口大小 ---滑动窗口
Checksum ---校验和
Options---选项---有就有 没有就没有
FTP:文件传输协议
数据端口(数据传送端口)TCP 20
控制端口(传送控制信号)一般为TCP 21
telnet TCP 23 明文
SSH(安全外壳) TCP 22 密文
http TCP 80 8080
https TCP 443
SMTP(发邮件) TCP 25
POP3(收邮件) TCP 110
tftp UDP 69
DNS TCP/UDP 53
VNC TCP 5900
四、UDP报头
IP报头
Version 版本 IPv4
IHL IP header length
Service type ---服务类型
Packet length --数据包的长度
标识 标志 片偏移 ----支撑跨层封装
Time to live ---生存时间 主要作用--防止环路
取值范围 0-255
默认 情况下每经过一台路由器减1,为0 不传递
Protocol 协议号 ---标识上层协议
TCP 6
UDP 17
IPv4
TCP/IP协议栈---以太网 ethernet
Application --应用层
Presentation-表示层
Session--会话层
Trassport--传输层
Network--网络层
Data link--数据链路层
Physical--物理层
Network access ---网络接入层
Internet--因特网
TCP/IP协议只支持TCP/IP网络---IP网络
Network---包含的网络层协议--IPX appletalk
TCP/IP五层模型/四层模型
相同点: 2者都是模型化层次化
下层对上层提供服务支持
每层协议彼此相互独立
不同点:OSI先有模型才有协议
TCP/IP先有协议才有模型
TCP/IP协议栈只适用于TCP/IP网络层量不同
信号衰减-->物理加压--->中继器---信号失真--->交换机---->广播风暴-->路由器
中继器---产生冲突
路由器的作用:
- 隔离广播域/划分广播域
- 连接不同的网络
- 路由
交换机的作用:
- 无线延长传输距离
- 实现单播
- 解决冲突域
冲突域---可能产生冲突的地方
广播域--广播的范围
数据从设备的一个接口进入,从其他接口转发出去
默认情况下,一个交换机属于一个广播域
解决冲突:
- FIFO --先入先出
First in first out
- CSMA/CD --带冲突检测的载波多路访问技术
IPv4地址--枯竭
NAT
32位的二进制数
计算机---二进制
二进制--十进制
192.168.1.1 ---- 点分十进制
11000000.10101000.00000001.00000001