Java网络编程——基础知识

网络基础知识

计算机网络提供的功能:

  • 资源共享;
  • 信息传输与集中处理;
  • 均衡负荷与分布处理;
  • 综合信息服务;

通信协议

实现通信的约定,负责对传输速率、传输代码、代码结构、传输控制步骤、出错控制等制定处理标准。

通信协议的组成:

  • 语义部分,用于决定双方对话的类型;
  • 语法部分,用于决定双方对话的格式;
  • 变换规则,用于决定双方的应答关系;

开放系统互连参考模型

这个模型把计算机网络分为物理层、数据链路层、网络层、传输层、会话层、表示层、应用层七层。

IP协议

IP协议是一种非常重要的通信协议,又称为互联网协议,是支持网间互联的数据报协议,提供网间连接的完善功能,包括IP数据包对顶互联网范围内的地格式;

TCP协议

即传输控制协议,它规定一种可靠的数据信息传递服务。

TCP三次握手过程
1.主机A通过向主机B发送一个含有同步序列号的标值位的数据段,向主机B请求建立连接,通过这个数据段主机A告诉主机B两件事情:我想要和你通信;你可以用哪个序列号作为起始数据段来回应我。
2.主机B收到主机A的请求之后,用一个带有确认应答(ACK)和同步序列号(SYN)标志位的数据段响应主机A,也告诉主机A两件事情:我已经收到你的请求了,你可以传输数据了;你要用哪个序列号作为起始数据段来回应我。
3.主机A收到这个数据段后,再发送一个确认应答,确认已收到主机B的数据段:“我以收到恢复,我现在要开始传输数据了“
SYN这个标志位只有在TCP建立连接时才会被置1,握手完成之后被置0。
断开连接
断开连接要进行4次
A:数据传完了,可以停止了吗?
B:消息收到,但我还没有做好准备,请稍等!
B:好了,可以停止了
A:好的,过会没有消息我就关闭了。
1.当主机A完成数据传输之后,将控制位FIN置1,提出停止TCP连接的请求。
2.主机B受到FIN后对其作出响应,确认这一方向上的TCP连接将关闭,将ACK置1。
3.有B端再提出反方向的关闭请求,将FIN置1。
4.主机A对主机B的请求进行确认,将ACK置1,双方向的关闭结束。

端口

IP地址用于唯一确定标识网络上的一个通信实体,但一个通信实体可以有多个通信程序同时提供网络服务,此时还需要端口
端口是一个16位的整数,用于表示数据交给哪个通信程序处理,端口就是应用程序与外界交流的出入口。
同一台主机上不能有两个程序同时使用一个端口,端口号从0到65535,通常分为三类:

  • 公认端口:0~1023,紧密绑定一些特定服务;
  • 注册端口:1024~49151,松散的绑定一些应用程序;
  • 动态或私有端口:40152~65535,动态端口;

猜你喜欢

转载自blog.csdn.net/mashaokang1314/article/details/84627756