程序员笔试面试系列-网络与通信知识点
2015-07-25 12:34
561 查看
无论面试什么样的程序语言,计算机网络与通信的相关基础知识是必须储备的。本文即从理论的角度对网络与通信重要知识点进行归纳与整理,希望对大家有所帮助。
物理层定义了为建立、维护和拆除物理链路所需的机械的、电气的、功能的和规程的特性,其作用是使原始的数据比特流能在物理媒体上传输。物理层的网络设备有:集线器、中继器等。
(2) 数据链路层(data link layer)
数据链路层将物理层比特流数据封装成数据;采用 MAC 地址对介质访问层进行控制;发现并改正错误或通知上层进行更改。 数据链路层的网络设备有:交换机和网桥等。
(3) 网络层(network layer)
网络层确定数据包从源端到目的端的传输路径,检查网络拓扑,以决定传输报文的最佳路由。网络层的网络设备有:路由器和三层交换机等。
(4)传输层(transport layer)
传输层也称为运输层,负责从会话层接受数据,并且在必要的时候把它分成较小的单元,传输给网络层,并确保到达对方各段的信息准确无误。
(5) 会话层(session layer)
会话层的主要的功能是对话管理,数据流同步和重新同步。
(6) 表示层(presentation layer)
表示层的主要的功能是将数据转换成计算机应用程序相互理解的格式,如数据压缩、加密、表示等。
(7) 应用层(application layer)
应用层包含大量实用的协议,其任务是显示接收到的信息,把用户的新数据发送到低层。如发送电子邮件、网络管理都是在应用层进行。
TCP/IP 中的网络接口层对应 OSI 模型中的物理层和数据链路层,是 TCP/IP 的最底层,负责数据帧(帧是独立的网络信息传输单元)的发送和接收。网络接口层将帧放在网上,或从网上将帧取下来。
(2)网际层(IP 层)
TCP/IP 的网际层提供寻址和路由选择协议,路由器主要工作在此层。TCP/IP 的网际层对应于OSI/RM 参考模型的网络层,该层主要运行以下几个协议。
网际网协议 IP:负责在主机和网络之间寻址和路由数据包。
地址解析协议 ARP:获得同一物理网络中的硬件主机地址。
网际控制消息协议 ICMP:发送消息,并报告有关数据包的传送错误。
互联组管理协议 IGMP:被 IP 主机拿来向本地多路广播路由器报告主机组成员。
(3)传输层
传输层位于应用层和网络层之间,为终端主机提供端到端的连接,以及流量控制(由窗口机制实现)、可靠性(由序列号和确认技术实现)、支持全双工传输等等。
传输层有两个传输协议:传输控制协议 TCP:为应用程序提供可靠的通信连接。适合于一次传输大批数 据的情况。并适用于要求得到响应的应用程序。 用户数据报协议UDP:提供了无连接通信,且不对传送包进行可靠的保证。适合于一次传输小量数据,可靠性则由应用层来负责。
(4) 应用层
应用程序间进行沟通的层,如简单电子邮件传输(SMTP)、文件传输协议(FTP)、网络远程访问协议(Telnet)等。TCP/IP 参考模型已经成为当前网络互联事实上的国际标准。
网桥:工作在数据链路层,在LAN间存储与转发帧;以太网交换机:工作在数据链路层,相当于多接口的网桥;路由器:工作与网络层,为数据选择最优网络传输路径(数据库-路由表是其关键)。
协议用于在主机之间传输数据。TCP 协议则确保数据在传送过程中不出现错误和丢失。
地址的映射。
VLAN 是指在物理网络基础架构上,利用交换机和路由器的功能,配置网络的逻辑拓扑结构,从而允许网络管理员任意地将一个局域网内的任何数量网段聚合成一个用户组,就好像它们是一个单独的局域网。简单地说,VLAN 将区域分散的组织在逻辑上成为一个新的工作组,而且同一工作组的成员能够改变其物理地址而不必重新配置节点。
TCP 则提供面向连接的服务。TCP 不提供广播或多播服务。由于 TCP 要提供可靠的、面向连接的传输服务,因此不可避免地增加了许多的开销。这不仅使协议数据单元的首部增大很多,还要占用许多的处理机资源。
域名解析:就是将用户访问的名字变换成网络地址(IP 地址)的方法和过程,从概念上讲,域名解析是一个自上而下的过程。
拥塞控制就是防止过多的数据注入到网络中,这样可以使网络中的路由器戒链路不致过载。
四种拥塞控制的算法:满开始、拥塞避免、快重传、快恢复
第二次握手:服务器受到 syn 包,并确认 syn 包,同时自己也发送一个 syn 包;
第三次握手:客户端收到服务。
1 OSI/RM 参考模型
(1) 物理层(physical layer)物理层定义了为建立、维护和拆除物理链路所需的机械的、电气的、功能的和规程的特性,其作用是使原始的数据比特流能在物理媒体上传输。物理层的网络设备有:集线器、中继器等。
(2) 数据链路层(data link layer)
数据链路层将物理层比特流数据封装成数据;采用 MAC 地址对介质访问层进行控制;发现并改正错误或通知上层进行更改。 数据链路层的网络设备有:交换机和网桥等。
(3) 网络层(network layer)
网络层确定数据包从源端到目的端的传输路径,检查网络拓扑,以决定传输报文的最佳路由。网络层的网络设备有:路由器和三层交换机等。
(4)传输层(transport layer)
传输层也称为运输层,负责从会话层接受数据,并且在必要的时候把它分成较小的单元,传输给网络层,并确保到达对方各段的信息准确无误。
(5) 会话层(session layer)
会话层的主要的功能是对话管理,数据流同步和重新同步。
(6) 表示层(presentation layer)
表示层的主要的功能是将数据转换成计算机应用程序相互理解的格式,如数据压缩、加密、表示等。
(7) 应用层(application layer)
应用层包含大量实用的协议,其任务是显示接收到的信息,把用户的新数据发送到低层。如发送电子邮件、网络管理都是在应用层进行。
2 TCP/IP 参考模型
(1)网络接口层TCP/IP 中的网络接口层对应 OSI 模型中的物理层和数据链路层,是 TCP/IP 的最底层,负责数据帧(帧是独立的网络信息传输单元)的发送和接收。网络接口层将帧放在网上,或从网上将帧取下来。
(2)网际层(IP 层)
TCP/IP 的网际层提供寻址和路由选择协议,路由器主要工作在此层。TCP/IP 的网际层对应于OSI/RM 参考模型的网络层,该层主要运行以下几个协议。
网际网协议 IP:负责在主机和网络之间寻址和路由数据包。
地址解析协议 ARP:获得同一物理网络中的硬件主机地址。
网际控制消息协议 ICMP:发送消息,并报告有关数据包的传送错误。
互联组管理协议 IGMP:被 IP 主机拿来向本地多路广播路由器报告主机组成员。
(3)传输层
传输层位于应用层和网络层之间,为终端主机提供端到端的连接,以及流量控制(由窗口机制实现)、可靠性(由序列号和确认技术实现)、支持全双工传输等等。
传输层有两个传输协议:传输控制协议 TCP:为应用程序提供可靠的通信连接。适合于一次传输大批数 据的情况。并适用于要求得到响应的应用程序。 用户数据报协议UDP:提供了无连接通信,且不对传送包进行可靠的保证。适合于一次传输小量数据,可靠性则由应用层来负责。
(4) 应用层
应用程序间进行沟通的层,如简单电子邮件传输(SMTP)、文件传输协议(FTP)、网络远程访问协议(Telnet)等。TCP/IP 参考模型已经成为当前网络互联事实上的国际标准。
3 常用网络设备
网卡:网络适配器,工作在数据链路层;中继器:工作在物理层的信号处理设备。集线器:工作在物理层的信号再生转发设备,相当于多口的中继器。网桥:工作在数据链路层,在LAN间存储与转发帧;以太网交换机:工作在数据链路层,相当于多接口的网桥;路由器:工作与网络层,为数据选择最优网络传输路径(数据库-路由表是其关键)。
4 TCP/IP 协议
TCP/IP 协议是在 ARPAnet 的基础上研制产生的,与其他协议相比,TCP/IP 协议具有跨平台性,从而可实现各种不同网络和计算机的互联,随着 ARPAnet 逐渐发展成为 Internet,规定连入 ARPAnet的计算机必须采用 TCP/IP 协议,TCP/IP 协议实际上已经成为 Internet 的标准连接协议。TCP/IP 协议其实是一个协议簇,内部包含了 ARP,IP,ICMP,IGMP,UDP,TCP 等 100 多个协议,TCP/IP 协议是其中最重要的、确保数据完整传输的两个协议,IP协议用于在主机之间传输数据。TCP 协议则确保数据在传送过程中不出现错误和丢失。
5 控制报文协议 ICMP
IP 提供的数据传输是不可靠的,在丢失数据报的同时,IP 规定,应该给源主机一个错误报告,这个工作是 ICMP 协议完成的。6 ARP 与 RARP
在因特网中,尽管路由器和主机都能够识别 IP 数据报,但无论在广域网还是在局域网中,路由器和主机发送和接收到的都是各种不同类型的数据帧。当一台主机要发送数据给另一台主机时,如果它们在同一子网内部,则源主机必须获取目的主机的 MAC 地址,如果不在同一子网内部,则源主机需要获取相应路由器的 MAC 地址。只有这样,才能最终形成完整的数据帧,目的主机或网关才能接收到。如何将 IP 地址映射成 MAC 地址呢?地址解析协议 ARP 将完成 IP 地址向 MAC 地址的映射;RARP 将完成 MAC 地址向 IP地址的映射。
7 路由选择基本原理
数据报传输过程中经过若干个路由器最后到达与目的站处于同一网络上的路由器。路由器根据IP 数据报的目的地址,找到一条转发的路径,这一过程,称为路由选择。 路由器选路的依据是 IP 路由表。每个路由器上都保存一张 IP 路由表,IP 路由表存储着有关可能的目的地址及怎样到达目的地址的信息,在转发 IP 数据报时,查询 IP 路由表,决定把数据报发往何处。路由表的建立有两种方法,一是人工设定的,二是路由器按照一定的方法学习的,前一种称为静态路由,后一种称为动态路由。8 虚拟局域网 VLAN
将局域网上的用户或节点划分成若干“逻辑工作组”。VLAN 是指在物理网络基础架构上,利用交换机和路由器的功能,配置网络的逻辑拓扑结构,从而允许网络管理员任意地将一个局域网内的任何数量网段聚合成一个用户组,就好像它们是一个单独的局域网。简单地说,VLAN 将区域分散的组织在逻辑上成为一个新的工作组,而且同一工作组的成员能够改变其物理地址而不必重新配置节点。
9 TCP 与 UDP 比较
UDP 在传送数据之前不需要先建立连接。对方的传输层在收到 UDP 报文后,不需要给出任何确认。虽然 UDP 不提供可靠交付,但在某些情况下 UDP 是一种最有效的工作方式。TCP 则提供面向连接的服务。TCP 不提供广播或多播服务。由于 TCP 要提供可靠的、面向连接的传输服务,因此不可避免地增加了许多的开销。这不仅使协议数据单元的首部增大很多,还要占用许多的处理机资源。
10 DNS
域名系统(Domain Name System)的缩写,指在 Internet 中使用的分配名字和地址的机制。域名系统允许用户使用友好的名字而不是难以记忆的数字——IP 地址来访问 Internet 上的主机。域名解析:就是将用户访问的名字变换成网络地址(IP 地址)的方法和过程,从概念上讲,域名解析是一个自上而下的过程。
11 TCP 的流量控制和拥塞控制
流量控制就是让发送方的发送速率不要太快,要让接收方来得及接受。通常利用滑劢窗口机制实现流量控制。发送方的发送窗口不能超过接收方给出的接收窗口的数值。拥塞控制就是防止过多的数据注入到网络中,这样可以使网络中的路由器戒链路不致过载。
四种拥塞控制的算法:满开始、拥塞避免、快重传、快恢复
12 三次握手机制
第一次握手:客户端发送 syn 包到服务器,等待服务器确认;第二次握手:服务器受到 syn 包,并确认 syn 包,同时自己也发送一个 syn 包;
第三次握手:客户端收到服务。
13 套接字
套接字就像插座,网络连接就像插头插入通讯双方的插座。套接字 socket=(IP 地址:端口号)。相关文章推荐
- Windows无法连接到选定网络,网络可能不在区域中。请刷新可用网络的列表,重新尝试
- TCP Segment Offload(TSO)的实现原理浅析
- TCP Segment Offload(TSO)的实现原理浅析
- Linux网络流量实时监控工具-ifstat
- Linux下的网络配置命令
- android 网络异步加载数据进度条
- nyoj-170-网络的可靠性(找度数1)
- 通过AFNetworking发送和获取网络资源
- 网络拍卖系统的设计
- 手动配置linux 网络时,修改默认网关,设置防火墙
- [AD]使用NetDiag工具测试工作站和服务器的网络连接和DNS解析
- [AD]使用DCDiag工具测试域控制器的网络连接和DNS解析
- iOS- 网络请求的两种常用方式GET & POST的区别
- poj 1144 Network 【求一个网络的割点的个数 矩阵建图+模板应用】
- java使用http get以及post方式读取网络数据
- [Python学习] 简单网络爬虫抓取博客文章及思想介绍
- 使用ConnectivityManager监听网络状态变化
- Android http超时选项的测试
- Android http超时选项的测试
- google linux kernel tcp reuseport patch