DNS与hosts
三次握手
- SYN是synchronize(同步)的缩写,这里的同步不是同步异步中的同步,而是同步信息中的同步
- x,y一般从0开始,在这里就是个编号
- ACK是acknowledge(获悉)的缩写
- SYN( x ) 请求同步(100)
- ACK( x+1 ) SYN( y ) 知道了(101) 请求同步(900)
- ACK( y+1 ) 知道了(901)
接下来就是正式开始发送HTTP的内容
为什么需要第三次?
为了防止一些错误的情况
比如第二次B发送同步请求,如果A不在第三次回应并挂断,B无法得知是否跟A建立了连接
这样做也是为了确保客户端(A端)能接收到服务端(B端)的数据
四次挥手
那么关闭TCP连接的时候该怎么做
- FIN代表finish(完成)
- 关闭的时候,x,y一般不为0
- 也可以是B先发FIN,不一定是A先发FIN
- FIN( x )
- ACK( x+1 )
- FIN( y )
- ACK( y+1 )
TCP完整过程
三次握手与四次挥手组成了TCP连接的整个过程
TCP 和 UDP 的区别是什么?
1、基于连接与无连接;
2、对系统资源的要求(TCP较多,UDP少);
3、UDP程序结构较简单;
4、流模式与数据报模式 ;
5、TCP保证数据正确性,UDP可能丢包;
6、TCP保证数据顺序,UDP不保证。
- TCP面向连接有状态,UDP无状态
- TCP可靠,UDP不可靠
- TCP传输效率较低,UDP较高