前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Java网络编程--网络协议

Java网络编程--网络协议

作者头像
CodingDiray
发布2019-09-25 16:19:13
1.2K0
发布2019-09-25 16:19:13
举报
文章被收录于专栏:Coding DiaryCoding Diary

OSI网络七层协议

为使不同计算机厂家的计算机能够互相通信,以便在更大的范围内建立计算机网络,有必要建立一个国际范围的网络体系结构标准。OSI网络七层协议就是在这个基础上制定出来的,其从最底层开始依次是物理层,数据链路层,网络层,传输层,会话层,表示层,应用层。

各层主要功能

物理层:使原始的数据比特流能在物理介质上传输 数据链路层:通过校验,确认和反馈重发等手段,形成稳定的数据链路 网络层:进行路由选择和流量控制(IP协议) 传输层:提供可靠的端口到端口的数据传输服务(TCP/UDP协议) 会话层:负责建立,管理和终止进程之间的会话和数据交换 表示层:负责数据格式转换,数据加密和解密,压缩与解压缩等 应用层:为用户的应用进程提供网络服务

传输控制协议TCP

传输控制协议TCP是网络中一个重要的传输层协议。TCP提供面向连接的,可靠,有序的字节流传输服务。应用程序在使用TCP之前,需要通过三次握手建立TCP连接。连接结束后需要通过四次挥手断开连接。

TCP握手机制

建立连接时三次握手:

断开连接时四次挥手:

用户数据报协议UDP

用户数据报协议UDP是网络中一个重要的传输层协议。提供无连接的,不可靠的数据报尽力传输服务。由于UDP无需建立连接,首部开销小,协议格式也更简洁。

TCP和UDP的比较

Socket编程

Socket编程是网络中应用最广泛的网络应用编程接口,实现了三种底层协议接口

  • 数据报类型套接字SOCK_DGRAM (面向UDP接口)
  • 流式套接字SOCK_STREAM(面向TCP接口 )
  • 原始套接字SOCK_RAW(面向网络层协议接口IP,ICMP等)

主要Socket API及其调用过程:

Socket API核心方法只能用于服务端的listen(), accept()方法,只能用于客户端的connecty()方法,还有socket(), bind(), send(), recv(), sendTo(), recvFrom(), close()等方法。

本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2019-08-12,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 Coding Diary 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • OSI网络七层协议
  • 各层主要功能
  • 传输控制协议TCP
  • TCP握手机制
  • 用户数据报协议UDP
  • TCP和UDP的比较
  • Socket编程
相关产品与服务
数据传输服务
腾讯云数据传输服务(Data Transfer Service,DTS)可帮助用户在业务不停服的前提下轻松完成数据库迁移上云,利用实时同步通道轻松构建高可用的数据库多活架构,通过数据订阅来满足商业数据挖掘、业务异步解耦等场景需求。同时,DTS 还提供私有化独立输出版本 DTS-DBbridge,支持异构数据库和同构数据库之间迁移和同步,可以帮助企业实现完整数据库迁移(如 Oracle)。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档