目录
一、网络层
1.icmp协议
1.icmp(网际控制报文协议):ICMP协议是一个网络层协议 ping网络连通性检测
icmp是一个“错误侦测与回馈机制”,通过IP数据包封装
tracert也是icmp协议
2.ping
1.ping是网络设备,windows,unix和linux平台上的一个命令,其实是一个小巧而使用的应用程序,该应用基于icmp协议
2.ping常用于探测到达目的节点和网络双向可达性
3.ping的一些命令(windows命令)
显示自己的IP地址 ipconfig
ping - -help 显示帮助的命令
-t 长ping
-l size 发送缓冲区大小
-w 超时等待时间
-n 指定ping几次
ping -t IP地址 长ping
ping -l 指定包的大小(1600 2000) ip地址
ping -w 指定等待时间(默认时秒 :2) ip地址
ping -n 指定的次数(5) ip地址
ping -a 显示主机名
3.ARP协议
ARP协议:将一个已知的ip地址解析成mac地址
最先动起来的协议 apr没有源和目的mac地址
两个作用
1.检测地址冲突
2.将ip地址转换成mac地址
4.冲突域
两台设备同时发消息时,互相干扰,那他们就处于同一冲突域
5.广播域
一台机器发送广播,能收到消息的机器,都在同一广播域
二.传输层tcp/udp协议
1.tcp和udp协议
tcp/udp协议组的传输层协议
tcp:传输控制协议 面向连接
udp:用户数据报协议 无连接
tcp提供全双工服务,既数据同一数据,同一时间双向传输
2.tcp/udp协议的特性
tcp特性
1.工作在传输层
2.面向连接协议
3.全双工协议
4.半双工(四次挥手)
5.错误检查
6.将数据打包成段,排序(分片)
7.确认机制()
8.数据恢复,重连
9.流量控制,滑动窗口
udp特性
1.工作在传输层
2.提供不可靠的网络访问
3.非面向连接协议
4.有限的错误检查
5.传输性能高
6.无数据恢复特性
3.tcp报文段
1.确认号
确认号:规定了A下一次发送的序号X+1
不允许随机产生
A电脑————————>B电脑
A会随机产生一个 序号为x的数据包发给B
A电脑<————————B电脑
B电脑收到以后,会随机产生一个回复包,随机产生序号y
在回复包中会产生一个新的字段
2.控制位
A想和B请求建立连接状态 syn=1 同步位
A和B已经断开连接 fin=1 结束位
控制位:描述了A,B两台电脑目前处于什么状态。请求连接,结束连接,已连接。
URG:表示本报文段中发送的数据是否包含紧急数据。
ACK:表示是否前面确认号字段是否有效。
SYN:在建立连接时使用,用来同步序号
FIN:表示通知对方本端要关闭连接了,标记数据是否发送完毕。
3.TCP的三次握手
tcp建立连接的过程称为三次握手
1.发送SYN报文(seq=x,SYN=1)
2.发送SYN=ACK报文(seq=y,ack=x+1,SYN=1,ACK=1)
3.发送ACK报文(seq=x+1,ack=y+1,ACK=1)
过程:pc1想和pc2建立连接,pc1会发送syn=1序号为随机数x的报文给pc2,pc2收到pc1的报文会回复一个syn+ack报文给pc1,该报文序号为随机生成的y,确认号为x+1(ack=x+1)
(同步位)syn=1 (确认位)ACK=1 pc1收到pc2同意建立连接的报文,会回复一个ack报文,该报文序号为x+1,确认号为y+1,ack=1,pc1和pc2就建立连接了。
三次握手示意图
解除连接关系(四次挥手)