Java第十五章小结

课后习题1-5

1.网络通信协议分为几层?各层解决的问题是什么?

preview

物理层

它的主要作用是传输比特流(就是由1、0转化为电流强弱来进行传输,到达目的地后在转化为1、0,也就是数模转换与模数转换)。这一层的数据叫做比特。

数据链路层

它的具体工作是接收来自物理层的位流形式的数据,并封装成帧,传送到上一层;同样,也将来自上层的数据帧,拆装为位流形式的数据转发到物理层。这一层的数据叫做帧。

网络层

该层的主要任务就是:通过路由选择算法,为报文(该层的数据单位,由上一层数据打包而来)通过通信子网选择最适当的路径。这一层定义的是IP地址,通过IP地址寻址,所以产生了IP协议。

传输层

传输层的主要功能就是:监控数据传输服务的质量,保证报文的正确传输。

会话层

它的作用就是建立和管理应用程序之间的通信。

表示层

表示层负责数据格式的转换,将应用处理的信息转换为适合网络传输的格式,或者将来自下一层的数据转换为上层能处理的格式。

应用层

应用层是计算机用户,以及各种应用程序和网络之间的接口,其功能是直接向用户提供服务,完成用户希望在网络上完成的各种工作。

参考:一文看懂网络七层协议/OSI七层模型 - 知乎 (zhihu.com)

2.TCP和UPD协议有什么不同?为什么称TCP是面向连接的可靠的协议?

TCP全称Transmission Control Protocol(传输控制协议)是一种面向连接的、可靠的、基于字节流的传输层通讯协议。

UDP全称User Datagram Protocol(用户数据报协议)是一种面向事务的、基于流、简单不可靠的信息传送协议。

区别

  • TCP 是面向连接的,UDP 是面向无连接的
  • UDP程序结构较简单
  • TCP 是面向字节流的,UDP 是基于数据报的
  • TCP 保证数据正确性,UDP 可能丢包
  • TCP 保证数据顺序,UDP 不保证

TCP面向连接:面向连接,在服务器与客户端通信之前需要三次握手建立连接,通信之后需要四次挥手断开连接。

3.在JAVA语言中,网络编程是从协议的什么层次开始的?程序设计时,什么情况下选择JAVA高层次网络编程,什么情况下选择低层次网络编程?

传输层。低层次网络编程是TCP和UDP,高层次网络编程是基于URL的。

4.socket编程时,目的地址和端口号需要在什么地方指出?使用数据报时,又在什么地方指出

在第二步进行绑定操作时,目的地址、目的端口号都需要指明。

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

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值