- 由于数据链路层编程和通信与设备紧密关联,网络层编程和操作系统紧密关联。Java网络编程从传输层开始,并根据编程使用协议的层次分为高层次网络编程(基于应用层)和低层次网络编程(基于传输层)。
- 基于URL使用高层次网络编程,基于传输层开发(TCP、UDP)使用低层次网络编程。
- 物理层(Physical Layer):局部局域网上传送数据框(frame),它负责管理电脑通信设备和网络媒体之间的互通,通过物理电气接口实现互联设备间的比特形式的信息传输
- 数据链路层(Data link Layer):负责网络寻址、错误侦测和改错,是网络相邻节点设备间二进制信息传输的数据通道,负责数据通道的建立和拆除。
- 网络层(Network Layer):决定数据的路径选择和转寄,将网络表头(NH)加至数据包,以形成分组,解决跨越多个链路的甚至不同网络设备之间的通信问题,是一种端到端的通信
- 传输层(Transport Layer):把传输表头(TH)加至数据以形成数据包,解决处于不同网络设备间的通信传输、通信管理,对上层需要通信的数据信息分解为标准的数据单元,这些数据单元到达终端后能对这些数据单元进行重新排序和整合。
- 会话层(Session Layer):负责在数据传输中设置和维护电脑网络中两台电脑之间的通信连接,为用户交互信息而按特点规律建立的连接,提供会话地址和会话管理服务
- 表示层(Presentation Layer):将会话层得到的数据转化为应用层可以理解的表达形式,或则将数应用层数据转化为会话层可以传输的形式
- 应用层(Application Layer):提供为应用软件而设的界面,以设置与另一应用软件之间的通信
-
TCP与UDP都是传输层的协议
-
TCP (Transmission Control Protocol)——传输控制协议
-
UDP (User Data Protocol)——用户数据报协议
| TCP | UDP | |
|---|---|---|
| 传输数据可靠性 | TCP是一个可靠的协议,它能确保接收方完全正确地获取发送方所发送的全部数据。 | UDP是一个不可靠的协议,发送方所发送的数据报并不一定以相同的次序到达接收方,也不能保证接收方一定能收到。 |
| 通讯方式 | 进行数据传输之前必然要建立连接,发送方与接收方在该连接之上传递数据。 | 发送方和接收方未建立连接,每个数据报中都给出了完整的地址信息。 |
| 传输数据量 | 一旦连接建立起来,双方的socket就可以按统一的格式传输大量的数据。 | 传输数据时有大小限制,每个被传输的数据报必须限定在64KB之内。 |
| 特点 | TCP传输量大,可靠性强。 | UDP操作简单,传输效率高。 |
| Java支持 | ServerSocket、Socket | DatagramSocket、DatagramPacket |
- TCP协议的通信过程有差错检测,重传,接受确认等机制,保证其通信是可靠的。
- UDP完全依赖IP协议,它没有建立连接和撤销连接阶段,因此传输的结果有可能是失败。
未完待续。。。。。。。。。。。。。。。。。。



