Java网络编程 -- 网络协议
2019-08-16 12:34:31来源:博客园 阅读 ()
Java网络编程 -- 网络协议
OSI网络七层协议
为使不同计算机厂家的计算机能够互相通信,以便在更大的范围内建立计算机网络,有必要建立一个国际范围的网络体系结构标准。OSI网络七层协议就是在这个基础上制定出来的,其从最底层开始依次是物理层,数据链路层,网络层,传输层,会话层,表示层,应用层。
各层主要功能
物理层:使原始的数据比特流能在物理介质上传输
数据链路层:通过校验,确认和反馈重发等手段,形成稳定的数据链路
网络层:进行路由选择和流量控制(IP协议)
传输层:提供可靠的端口到端口的数据传输服务(TCP/UDP协议)
会话层:负责建立,管理和终止进程之间的会话和数据交换
表示层:负责数据格式转换,数据加密和解密,压缩与解压缩等
应用层:为用户的应用进程提供网络服务
传输控制协议TCP
传输控制协议TCP是网络中一个重要的传输层协议。TCP提供面向连接的,可靠,有序的字节流传输服务。应用程序在使用TCP之前,需要通过三次握手建立TCP连接。连接结束后需要通过四次挥手断开连接。
TCP握手机制
建立连接时三次握手:
断开连接时四次挥手:
用户数据报协议UDP
用户数据报协议UDP是网络中一个重要的传输层协议。提供无连接的,不可靠的数据报尽力传输服务。由于UDP无需建立连接,首部开销小,协议格式也更简洁。
TCP和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()等方法。
原文链接:https://www.cnblogs.com/coding-diary/p/11354409.html
如有疑问请与原作者联系
标签:
版权申明:本站文章部分自网络,如有侵权,请联系:west999com@outlook.com
特别注意:本站所有转载文章言论不代表本站观点,本站所提供的摄影照片,插画,设计作品,如需使用,请与原作者联系,版权归原作者所有
下一篇:Java入门(一)
- 国外程序员整理的Java资源大全(全部是干货) 2020-06-12
- 2020年深圳中国平安各部门Java中级面试真题合集(附答案) 2020-06-11
- 2020年java就业前景 2020-06-11
- 04.Java基础语法 2020-06-11
- Java--反射(框架设计的灵魂)案例 2020-06-11
IDC资讯: 主机资讯 注册资讯 托管资讯 vps资讯 网站建设
网站运营: 建站经验 策划盈利 搜索优化 网站推广 免费资源
网络编程: Asp.Net编程 Asp编程 Php编程 Xml编程 Access Mssql Mysql 其它
服务器技术: Web服务器 Ftp服务器 Mail服务器 Dns服务器 安全防护
软件技巧: 其它软件 Word Excel Powerpoint Ghost Vista QQ空间 QQ FlashGet 迅雷
网页制作: FrontPages Dreamweaver Javascript css photoshop fireworks Flash