Java网络编程(一)

网络分层模型

通过网络发送数据是一项复杂的操作,为了方便程序开发人员个最终用户,隐藏其中的细节,网络通信的不同方面被分解成为多个层。每一层表示为物理硬件(即线缆和电流)与所传输信息之间的不同抽象层次。理论上,每一层只与紧挨其上和其下的层对话。将网络分层,这样就可以修改甚至替换某一层的软件,只要层与层之间的接口保持不变,就不会影响到其它层。

TCP/IP模型

从上到下依次为:应用层、传输层、网际层、主机网络层。

OSI模型

称为开放系统互联参考模型(Open Systems Interconnection Reference Model,OSI)。对于Java网络程序,OSI模型过于复杂,OSI模型与TCP/IP模型最大的区别是,OSI模型将主机网络层分为了数据链路层和物理层,另外在应用层和传输层之间插入了表示层和会话层。OSI模型更加一般化,更适合于非TCP/IP网络,在任何情况下,Java的网络类只工作于TCP/IP网络中,而且始终于星宇网络层或传输层上。

      

网际协议(IP)

网际协议(IP)是世界上使用最为广泛的网际层协议,也是Java唯一能够理解的网际层协议。

在IP之上,运行有很多其他协议,比如传输控制协议(TCP)、用户数据报协议(UDP)、王继控制消息协议(ICMP)。

1)TCP协议(Transmission Control Protocol, TCP),开销很高的协议,支持对丢失或破坏数据进行重传,并按照发送时的顺序进行传送。

2)UDP协议(User Datagram Protocol, UDP),它允许接收方检测被破坏的包,但不保证这些包以正确的吮吸传输(或者包可能根本未发送)。

3)ICMP(Internet Control Message Protocol, ICMP)协议,它使用原始IP数据报在主机之间传递错误消息。使用这个协议最著名的应用是ping程序。

注意:但Java不支持ICMP,也不允许发送原始IP数据报,而只允许发送TCP片或者UDP数据报。

Java支持的协议只有TCP和UDP,以及建立在TCP和UDP之上的应用层协议。所有其他传输层、网际层或则更底层的协议,如ICMP、IGMP、ARP、PARP、RSVP和其他协议在Java程序中只能通过链接到原生代码来实现。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值