TCP协议
tcp/ip 模型
应用层
传输层
网络层
接口层
tcp和udp的区别
tcp:面向连接,在传递数据之前,会测试主机的联通性,如果通才会传输真实数据
udp:无连接,不会测试主机的联通性,直接传递真实数据
tcp / ip 协议族
1机确定应用程序依靠pid号(pid号是系统随机产生的,每打开一个程序,系统会自动分配给你一个pid号)
2.涉及到网络传输的应用程序,需要依靠端口号来进行区别
客户端程序的端口号,是随机产生的 服务端程序的端口号一般是固定
端口号:
1.服务端一般固定,客户端随机产生
2.前1024端口号被知名程序使用
3.端口号的范围 2^16=65,536 0 - 65535
4.一个端口号只能被一个应用程序使用 tcp 80 只有一个
5.协议最终体现形式是某个程序
确认号:
确定对面收到了我的包,并且约定我下一个包的序号需要加一
控制位: 目前两台电脑处于什么阶段
SYN(同步位): 请求建立连接
FIN(断开位): 断开连接
ACK (确认位):确认同意连接 确认断开连接
syn=1 请求建立连接
syn=1 ack=1 同意建立连接
fin=1 ack=1 同意断开
tcp三次握手
客户端:closed syn-sent estab
服务端:closed listen syn-rcvd estab
fin-wait1 pc1 发送 断开请求给pc2 pc1处于此状态
close-wait pc1 收到pc1断开请求 pc2处于此状态 半断开
fin-wait2 pc1 收到pc2的确认报文但是没有同意断开 pc1处于
last-ACK pc2 发送同意断开报文后所处在的状态
time-wait 2msl pc1也同意分手后处于的状态
telent协议: 测试远端服务器的端口是否打开
udp端口号
tftp 69
rpc 111
ntp 123
dns 53
dhcp 67
tcp端口号
http 80
ftp 20 21
https 443
ssh 22
dns 53
telnet 23
mysql 3306
redis 6379
tomcat 8080