TCP/IP协议基础概念

为知笔记http://a36bf370.wiz03.com/share/s/2zq_dM1mlQS52P2klg35rzwa2_RkEz3Awkm02IK0Af1KKmOW

TCP/IP协议基础概念

IP协议又称互联网协议,支持网间互联的数据报协议。TCP协议又称传输控制协议,它规定一种可靠的数据信息传递服务。实际中常把这两个协议统称为TCP/IP协议。

OSI参考模型的推荐分层。其中上三层有被称为应用层,下两层称为物理链路层。
TCP和UDP属于传输层,IP协议属于网络层。

IP地址和端口号

IP地址用于表示网络中的一个通信实体,一般指pc主机,而一个端口则对应通信实体中一个程序。要完成端对端的网络通信,就需要携带这两个信息以便能找到通信实体中的处理单元。
IP地址是一个32位的整数,为了便于记忆4个9位的二进制,如255.255.255.255.
端口是一个16位的整型,值为0-65535,用于表示数据由哪个程序处理。
- 公认端口 0-1023 : 他们紧密绑定一些特定的服务。
- 注册端口 1024-49151 :他们松散的绑定一些服务,我们自己写的或者下载的应用程序通常使用这个范围内的端口。
- 动态私有端口 49152-65535,为应用程序使用的动态端口,一般应用程序不会使用这些端口。

基于TCP协议的网络编程

TCP/IP通信协议是一种可靠的网络协议,在通信两端各建立一个Socket,形成网络虚拟链路进行同信。java使用Socket对象来代表两端的通信端口,并通过Socket产生IO流来进行网络通信。
通过使用IP协议,保证了计算机能发送和接收分组数据,通过TCP协议提供可靠并且无差错的通信服务。TCP为此进行了三次握手和使用重发机制。
- 三次握手
- 重发机制 当一个通信实体发出一个消息给另一个通信实体后,需要收到另一个通信实体的确认信息,如果没有收到另一个通信实体的确认信息,则会再次重发刚才发送的信息。

基于UDP协议的网络编程

UDP协议是以一种不可靠协议,在通信的两端各建立要给Socket,但没有虚拟链路。由于不需要确认是否发送成功,所以速度比较快,但会丢包。
UDP协议的主要作用是完成网络数据流和数据报之间的转换。在发送端,UDP协议将网络数据流封装成数据包,然后发送。在接受端,UDP协议将数据包转换成数据流。

UDP协议和TCP协议的对比

  • TCP协议 :可靠,传输大小无限制,但是需要建立连接,差错控制开销大。
  • UDP协议 :不可以靠,传输大小限制在64kB以下,不需要建立连接,差错控制开销小。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值