wireshark
应用层:所有能产生网络流程的程序(比如QQ就是,记事本就不是)
表示层:在传输之前是否加密、压缩、二进制、ASCII
会话层:(比如浏览器同时开多个窗口,但是数据包还是可以正常到自己的窗口,会话层的功劳)
传输层:可靠传输 流量监控 不可靠传输
网络层:负责选择最佳路径,规划IP地址
数据链路层:帧的开始和结束、透明传输、差错检验
物理层:接口标准、电器标准、如何在物理链路上传输的更快
略
1)封装成帧 2)透明传输 3)差错检验
1)单播(unicast)帧(一对一)
2)广播(broadcast)帧(一对全体)
3)多播(multicast)帧(一对多)
此处的地址为MAC地址而非IP地址
FCS为检验此帧是否异常,当帧接受的时候就没有FCS了,所以抓包抓不到。
负责在不同的网络之间尽力转发数据包,基于数据包的IP地址转发
不负责丢失重传,不负责顺序
ARP协议获取目标IP地址的MAC地址。如果目标是本网段的地址,那么可以获得目标IP地址主机的MAC地址;如果目标不是本网段的地址,那就获得网关的MAC地址。
ARP协议发送广播包
略
检测网络是否畅通 ping
略
TCP 需要将要传输的文件分段传输 建立会话 可靠传输
UDP 一个数据包能干完成数据通信 不分段 不需要建立会话 不需要流量控制 不可靠传输
UDP是无连接的,即发送数据之前不需要建立连接。
UDP使用最大努力交付,即不保证可靠交付,也不使用拥塞控制。
UDP是面向报文的。UDP没有拥塞控制,很适合多媒体通信的要求。
UDP支持一对一、一对多、多对一和多对多的交互通信。
UDP的首部开销小,只有8个字节。
IP地址加端口 = 套接字
TCP是面向连接的传输协议
每一条TCP连接只能有两个端点,每一条TCP连接只能是点对点的(一对一)
TCP提供可靠交付的服务
TCP提供全双工通信
面向字节流
熟知端口,数值一般为0~1023
FTP:21
TELNET:23
SMTP:25
DNS:53
HTTP:80
HTTPS:443
RDP:3389
登记端口号,数值为1024~49151(比如自己写的网站的端口)
客户端端口,数值为49152~65535(当你与服务器建立连接时)
序号:当前数据中第一个字节在整个文件中的位置(用于发送)
确认号:当前数据中最后一个字节在整个文件中的位置+1(用于回应请求)
数据偏移:首部的长度
URG:在发送端TCP缓冲区的优先级(先发送)
ACK:0时确认号无效,1时确认号有效
PSH:在接收端TCP缓冲区的优先级(先读)
SYN:建立会话时用
FIN:要释放连接时FIN=1
窗口:接收发送缓存的大小
略