目录
目标
熟悉TCP网络协议相关内容
OSI网络七层模型
目的是构建最大的网络,分层的意义是让每一层的设计人员,不需要取关注整个网络层次,只需要关注对应的网络层次结构。
各层的主要功能
低三层目的:屏蔽底层网络复杂性,太过底层。
IP协议可以定位到某一台机器,但是无法定位到某一个端口。
传输层:承上启下的作用,保证了跨进程跨机器的数据传输,TCP/UDP就是对具体传输层的定义。
高三层:有的直接定义层应用层,即只有5层模型。
传输层控制协议TCP
特点:面向连接(即在网络处理之前要先建立连接)、可靠,有序。
TCP握手机制
握手不是为了打通网络关系,是为了确保数据发送之前,最大层度检测网络是否通畅。
握手机制,连接目的是为了让传输数据更加可靠。
用户数据报协议UDP
只有一个目的地,不保证数据一定传输过去,协议精简,内容小。
UDP和TCP比较
一般对数据可靠性要求不高时,可以使用UDP,例如:音视频,物联网日志上报,快速,资源占用少,可以接受偶尔的丢包。
Socket编程
一个统一的网络编程接口,最广泛的网络应用编程接口,在操作系统底层就已经提供了,只要是操作系统上建立网络,都需要这套接口。
java的socket是在此基础上做的一层封装,提供了一系列java的API。
Socket API
比较底层的API,C语言级别,java对其进行封装,提供出来的会有些不同。