一、什么是网络协议?
"计算机网络"间进行数据传输(通讯)的标准
二、为什么要有通讯协议 ?
两台机器进行要进行通讯,如果两台机器用的字符集编码不一样,导致传输的指令无法识别,因此需要统一的标准
进行限定。
三、常用的网络协议有哪些?
TCP/IP协议、HTTP协议、FTP协议、Telnet协议、FTP协议、SMTP协议、NFS协议、UDP协议等
四、为了更好的建立计算机网络通讯,提出了OSI/RM模型 (Open System Interconnection/Reference Model),它将网络通讯分为七层。
注:上图参考https://www.cnblogs.com/xianlei/p/tcpip_http.html
五、TCP建立连接三次握手四次挥手
5.1、为什么要三次握手,这样是不是很浪费时间?
1、为了数据的准备传输
2、为了避免浪费资源
5.2、TCP的标志位码
1.SYN:建立联机;2.ACK:确认;3.PSH:传送;4.FIN:结束;5.RST:重置; 6.URG:紧急;
5.3、建立连接需要携带的三个信物(不同的阶段携带不同的东西)
1、SYN(请求建立连接)
2、seq(Sequeuece number):顺序号码,发送方发出为了确认接受方回应ack number=seq+1;
3、ack(Acknowledge number):确认号码,为了回应seq,等于ack=seq+1;
ACK=1
ackNumber=100
5.4、握手
第一次握手:服务器A向服务器B发送建立连接请求(SYN=1),携带一个顺序号码seq number=100,
服务器B收到SYN=1,知道A服务器要与自己建立连接,第一次握手结束。
第二次握手:服务器B收到A请求建立连接后的确认联机操作,向A发送(SYN=1),发送 ackNumber=600+1,
ACK=1(确认我已经收到了你要建立连接的消息),并产生了一个新的随机数seq 600
第三次握手:服务器接受B的回复请求,第一个确认ACK是否等于1以及ack number是否为 第一次发送 100然后加1,如果正确,服务器A则会发送ack number=101加1,ACK=1,B服务器收到后会确认ACK以及seq