TCP和UDP相关
一、 tcp与udp区别?
1.基于连接(tcp)与无连接(tcp)
2.对系统资源的要求(tcp较多,udp少)
3. tcp保证数据正确性,tcp保证数据顺序,udp可能丢包,udp数据包是无序的
4. udp使用场景视频会议、直播。tcp适用于可靠传输的应用,例如文件传输
二、 七层模型是哪七层,每层常见的设备
物理层: 集线器 、双绞线
数据链路层: 网桥网卡、以太网交换机
网络层:路由器、三成交换机
传输层:四层交换机、四层的路由器
会话层
表示层
应用层
三、osi 五层是那些?
1. 物理层
2.数据链路层
3.网络层
4.传输层
5. 应用层
四、 tcp的三次握手过程
SYN:synchronous建立联机
ACK:acknowledgement 确认
1. 客户端发送SYN报文给服务端,进入SYN_SEND 状态
2. 服务端收到SYN报文,回应一个SYN(ack=x+1)报文,进入SYN_RECV状态。
3. 客户端收到服务端的SYN报文,回应一个ACK(AKC=Y+1)报文,进入Established状态。
五、 四次挥手的过程
(1)第一次挥手:Client发送一个FIN,用来关闭Client到Server的数据传送,Client进入FIN_WAIT_1状态。
(2)第二次挥手:Server收到FIN后,发送一个ACK给Client,确认序号为收到序号+1(与SYN相同,一个FIN占用一个序号),Server进入CLOSE_WAIT状态。
(3)第三次挥手:Server发送一个FIN,用来关闭Server到Client的数据传送,Server进入LAST_ACK状态。
(4)第四次挥手:Client收到FIN后,Client进入TIME_WAIT状态,接着发送一个ACK给Server,确认序号为收到序号+1,Server进入CLOSED状态,完成四次挥手。
六、 TCP 十一中状态
1) TCP建立过程中涉及五中状态
* CLOSED 默认初始化状态 ---》 客户端
* LISTEN 建立socket,进入监听状态 ———》服务端
* SYN_SENT 发送syn报文,进入syn发送状态 ————》客户端
* SYN_RCVD 接收syn报文,并回复ack及sysn报文 ————》服务端
* ESTABLISHED 接收syn报文,回复ack,并建立连接————》客户端
* 接收ack报文,建立连接——————》服务端
2) TCP断开过程涉及六中状态
* ESTABLISHED 默认断开钱初始化状态
* FIN_WAIT1 发送断开请求FIN报文 ——————》客户端
* CLOSE_WAIT 收到FIN后向客户端发送ACK ——————》服务端
* FIN_WAIT2 收到服务端返回的ACK报文,等待数据传输 ————》客户端
* LAST_ACK 发送FIN断开请求,发送ack报文 ——————》服务端
* TIME_WAIT 回复FIN 断开请求,发送ack报文————》 客户端
* CLOSED 收到ack报文,立即转变为断开状态 ————》服务端
等到2MSL后,进入断开状态 ----》客户端
* CLOSEING 没有收到回复FIN报文的ACK,直接收到FIN ——————》客户端
八、 在浏览器地址栏键入URL,按下回车之后会经历以下流程:
- 浏览器向 DNS 服务器请求解析该 URL 中的域名所对应的 IP 地址;
- 解析出 IP 地址后,根据该 IP 地址和默认端口 80,和服务器建立TCP连接;
- 浏览器发出读取文件(URL 中域名后面部分对应的文件)的HTTP 请求,该请求报文作为 TCP 三次握手的第三个报文的数据发送给服务器;
- 服务器对浏览器请求作出响应,并把对应的 html 文本发送给浏览器;
- 释放 TCP连接;
- 浏览器将该 html 文本并显示内容;
八、 TCP与UDP端口测试
1) TCP:
telnet host-ip port
2) UDP端口联通测试
a 机器运行
nc -ul 1080 或者 netcat -ul -p 1080
b 机器上运行
nc -u ip 1080
本文来自博客园,作者:鱼丸粗面没鱼丸,转载请注明原文链接:https://www.cnblogs.com/Robi-9662/p/12442447.html