Java-计算机网络-1

1. 计算机网络

1.1 请介绍七层网络体系结构。

参考回答

  1. 为什么分七层

    支持异构网络的互联互通。

  2. 七层分别负责的内容(功能)

    ​ OSI 模型把网络通信的工作分为 7 层,从下到上分别是物理层、数据链路层、网络层、传输层、会话层、表示层和应用层

    (1) 物理层

    ​ 任务:透明地传输比特流。

    ​ 功能:为数据段设备提供传送数据通路

    ​ 传输单位:比特

    ​ 所实现的硬件:集线器,中继器

    (2)数据链路层

    ​ 任务:将网络层传输下来的IP数据报组装成帧

    ​ 功能:a. 链路连接的建立、拆除和分离

    ​ b. 帧定界和帧同步

    ​ c.差错检测

    ​ 传输单位:帧

    ​ 所实现的硬件:交换机、网桥

    ​ 协议:PPP,HDLC、SDLC、STP、ARQ

    (3)网络层

    ​ 任务:a. 将传输层传下来的报文段封装成分组

    ​ b.选择合适的路由,使得传输层传下来的分组能够交付到目的主机

    ​ 功能:a. 为传输层提供服务

    ​ b. 组包和拆包

    ​ c. 路由选择

    ​ d.拥塞控制

    ​ 传输单位:数据段

    ​ 所实现的硬件:路由器

    ​ 协议:ICMP、ARP、RARP、IP、IGMP、OSPF

    (4)传输层

    ​ 任务:负责主机中两个进程之间的通信

    ​ 功能:

    ​ a. 为端到端连接提供可靠的服务

    ​ b. 为端到端连接提供流量控制、差错控制、服务质量等管理服务

    ​ 传输单位:报文段(TCP)或用户数据报(UDP)

    ​ 协议:TCP、UDP

    (5)会话层

    ​ 任务:不同主机上各进程间的对话

    ​ 功能:管理主机间的会话进程,包括建立、管理以及终止进程间的会话。是一种端到端的服务

    (6)表示层

    ​ 负责处理在两个内部数据表示结构不同的通信系统之间交换信息的表示格式,为数据加密和解密以及为提高传输效率提供必需的数据压缩以及解压等功能。

    (7)应用层

    ​ 任务:提供系统与用户的接口

    ​ 功能:

    ​ a.文件传输

    ​ b. 访问和管理

    ​ c. 电子邮件服务

    ​ 协议:FTP、SMTP、POP3、HTTP、DNS、TELnet

1.2 请介绍五层网络体系结构。

参考回答

五层网络体系结构分分别为:应用层、运输层、网络层、数据链路层、物理层。各层功能分别如下:

  1. 第五层——应用层(application layer)

    (1) 应用层(application layer):是体系结构中的最高。直接为用户的应用进程提供服务。

    (2) 在因特网中的应用层协议很多,如支持万维网应用的HTTP协议,支持电子邮件的SMTP协议,支持文件传送的FTP协议等等。

  2. 第四层——运输层(transport layer)

    (1) 运输层(transport layer):负责向两个主机中进程之间的通信提供服务。由于一个主机可同时运行多个进程,因此运输层有复用分用的功能。

    ​ a. 复用,就是多个应用层进程可同时使用下面运输层的服务。

    ​ b. 分用,就是把收到的信息分别交付给上面应用层中相应的进程。

    (2) 运输层主要使用以下两种协议:

    **(1) 传输控制协议TCP(Transmission Control Protocol):**面向连接的,数据传输的单位是报文段,能够提供可靠的交付。 
    **(2) 用户数据包协议UDP(User Datagram Protocol):**无连接的,数据传输的单位是用户数据报,不保证提供可靠的交付,只能提供“尽最大努力交付”。
  3. 第三层——网络层(network layer)

    ​ 网络层(network layer)主要包括以下两个任务:

    ​ (1) 负责为分组交换网上的不同主机提供通信服务。在发送数据时,网络层把运输层残生的报文段或用户数据报封装成分组或包进行传送。在TCP/IP体系中,由于网络层使用IP协议,因此分组也叫做IP数据报,或简称为数据报。

    ​ (2) 选中合适的路由,使源主机运输层所传下来的分组,能够通过网络中的路由器找到目的主机。

  4. 第二层——数据链路层(data link layer)

    数据链路层(data link layer):常简称为链路层,我们知道,两个主机之间的数据传输,总是在一段一段的链路上传送的,也就是说,在两个相邻结点之间传送数据是直接传送的(点对点),这时就需要使用专门的链路层的协议。

    ​ 在两个相邻结点之间传送数据时,数据链路层将网络层交下来的IP数据报组装成帧(framing),在两个相邻结点之间的链路上“透明”地传送帧中的数据。

    ​ 每一帧包括数据和必要的控制信息(如同步信息、地址信息、差错控制等)。典型的帧长是几百字节到一千多字节。

    注意:”透明”是一个很重要的术语。它表示,某一个实际存在的事物看起来却好像不存在一样。”在数据链路层透明传送数据”表示无力什么样的比特组合的数据都能够通过这个数据链路层。因此,对所传送的数据来说,这些数据就“看不见”数据链路层。或者说,数据链路层对这些数据来说是透明的。

    (1) 在接收数据时,控制信息使接收端能知道一个帧从哪个比特开始和到哪个比特结束。这样,数据链路层在收到一个帧后,就可从中提取出数据部分,上交给网络层。 
    (2) 控制信息还使接收端能检测到所收到的帧中有无差错。如发现有差错,数据链路层就简单地丢弃这个出了差错的帧,以免继续传送下去白白浪费网络资源。如需改正错误,就由运输层的TCP协议来完成。
  5. 第一层——物理层(physical layer)

    物理层(physical layer):在物理层上所传数据的单位是比特。物理层的任务就是透明地传送比特流。

1.3 了解网络编程协议吗?客户端发送给服务器的请求,怎么确定具体的协议?

参考回答

​ 了解,客户端发送给服务器端的请求,可以根据统一资源定位系统(uniform resource locator,URL)来确定具体使用的协议。

答案

剩余60%内容,订阅专栏后可继续查看/也可单篇购买

Java岗位面试真题宝典 文章被收录于专栏

本面试宝典均来自校招面试题目大数据进行的整理

全部评论
网络层的数据传输单元是数据包,传输层才是数据段!
点赞 回复 分享
发布于 2021-11-12 11:06

相关推荐

11-14 16:15
已编辑
湖南工业大学 Java
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务