JAVA知识点全总结——(五)网络

上一篇:JAVA知识点全总结——(四)数据库

5. 网络

5.1 OSI七层协议

OSI七层协议分别是:物理层、数据链路层、网络层、传输层、会话层、表示层、应用层。

  • 物理层是我们传输信息的一些介质,比如双绞线、网线等
  • 数据链路层是对数据传输最基本的协议,比如数据传输的0和1按照什么方式进行理解,传输机制是全双工还是半双工
  • 网络层是定义IP的选址,和一些路由的规则,怎么讲信息发送给网络上另外的机器
  • 传输层能够建立端到端的连接,进行数据的传输和理解
  • 上三层可以统一理解为应用层,有封装的很多种传输协议

5.2 IP/ICMP

每一台连接网络的计算机都有一个唯一的IP地址,多台计算机交互的时候根据IP地址确认,相互传输的IP数据报的消息,IP协议是不可靠的,ICMP是辅助IP的一种协议,用来为IP数据报做差错检测。

5.3 UDP

UDP是一种无连接的传输层协议,其实UDP就是在IP的基础上增加了一些类似差错检测的基本功能而封装的,A发送给B端UDP的数据包,并不能了解B是否获得,如果传输的代价低而且对准确性的要求不高可以用UDP。

常见的UDP协议:DNS

5.4 TCP

TCP是面向连接的协议,在连接和释放的时候会进行三次握手和四次挥手来确保成功的创建和释放,在数据传输的时候用滑动窗口协议和一些相关的算法保证数据送达的效率。

5.5 三次握手

  1. 客户端和服务端打开连接,服务端进入监听模式Listen
  2. 客户端向服务端发送消息,SYN=1,ACK=0,seq=x(本次服务开始的初始序号),进入SYN-SENT
  3. 服务端接收到消息,向客户端发送SYN=1,ACK=1,seq=y(服务端初始序号),ack=x+1(表示希望客户端下一个从x+1开始发送),进入SYN-RCVD
  4. 客户端接受到回执,向服务端再发送SYN=1,ACK=1,seq=x+1(开始发送x+1),ack=y+1(希望对方下一个发送y+1),进入完成状态
  5. 服务端收到消息也进入完成状态

5.6 四次挥手

  1. 客户端先进入关闭状态,发送请求FIN=1,ACK=0,seq=u(u-1是最后发送给服务端的序号),状态变为FIN-WAIT1
  2. 服务端接收到请求,通知响应的服务即将关闭,也进入关闭状态,发送FIN=0,ACK=1,seq=w(服务端向客户端发送的最后一个序号),ack=u+1,进入CLOSE-WAIT状态等待其他服务的关闭
  3. 其他服务关闭后,且客户端没有重发请求,服务端再次发送一条,FIN=1,ACK=1,seq=v,ack=u+1,进入LAST-ACK状态
  4. 客户端接受到消息之后,会发送一条消息FIN=0,ACK=1,seq=u+1,ack&#
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值