初级JAVA程序员应该掌握的计算机网络知识

计算机网络学习的重要性

计算机网络知识真的很重要。它是计算机专业的一个很重要的基础知识,也是考研408之一,更是面试题的重点,来,让我们一起学习一下。

计算机网络需要掌握哪些知识?

其实要掌握的东西很简单,就是研究生考纲。本篇博客会从考纲中选取重要的知识点作为讲解。来,我们过一下计算机网络
  [考查目标]
  1。掌握计算机网络的基本概念、基本原理和基本方法。
  2。掌握计算机网络的体系结构和典型网络协议,了解典型网络的组成和特点,理解典型网络设备的工作原理。
  3。能够运用计算机网络的基本概念、基本原理和基本方法进行网络系统的分析、设计和应用。
  一、计算机网络体系结构
  (一)计算机网络概述
  1。计算机网络的概念、组成与功能
  2。计算机网络的分类
  3。计算机网络的标准化工作及相关组织
  (二)计算机网络体系结构与参考模型
  1。计算机网络分层结构
  2。计算机网络协议、接口、服务等概念
  3.ISO/OSI参考模型和TCP/IP模型
  二、物理层
  (一)通信基础
  1。信道、信号、宽带、码元、波特、速率、信源与信宿等基本概念
  2。奈奎斯特定理与香农定理
  3。编码与调制
  4。电路交换、报文交换与分组交换
  5。数据报与虚电路
  (二)传输介质
  1。双绞线、同轴电缆、光纤与无线传输介质
  2。物理层接口的特性
  (三)物理层设备
  1。中继器
  2。集线器
  三、数据链路层
  (一)数据链路层的功能
  (二)组帧
  (三)差错控制
  1。检错编码
  2。纠错编码
  (四)流量控制与可靠传输机制
  1。流量控制、可靠传输与滑动窗口机制
  2。停止-等待协议
  3。后退N帧协议(GBN)
  4。选择重传协议(SR)
  (五)介质访问控制
  1。信道划分
  频分多路复用、时分多路复用、波分多路复用、码分多路复用的概念和基本原理。
  2。随机访问
  ALOHA协议,CSMA协议,CSMA/CD协议,CSMA/CA协议。
  3。轮询访问
  令牌传递协议
  (六)局域网
  1。局域网的基本概念与体系结构
  2。以太网与IEEE802.3
  3.IEEE802.11
  4。令牌环网的基本原理
  (七)广域网
  1。广域网的基本概念
  2.PPP协议
  3.HDLC协议
  (八)数据链路层设备
  1。网桥的概念及其基本原理
  2。局域网交换机及其工作原理。
  四、网络层
  (一)网络层的功能
  1。异构网络互连
  2。路由与转发
  3。拥塞控制
  (二)路由算法
  1。静态路由与动态路由
  2。距离-向量路由算法
  3。链路状态路由算法
  4。层次路由
  (三)IPv4
  1.IPv4分组
  2.IPv4地址与NAT
  3。子网划分、路由聚集、子网掩码与CIDR
  4.ARP协议、DHCP协议与ICMP协议
  (四)IPv6
  1.IPv6的主要特点
  2.IPv6地址
  (五)路由协议
  1。自治系统
  2。域内路由与域间路由
  3.RIP路由协议
  4.OSPF路由协议
  5.BGP路由协议
  (六)IP组播
  1。组播的概念
  2.IP组播地址
  (七)移动IP
  1。移动IP的概念
  2。移动IP通信过程
  (八)网络层设备
  1。路由器的组成和功能
  2。路由表与路由转发
  五、传输层
  (一)传输层提供的服务
  1。传输层的功能
  2。传输层寻址与端口
  3。无连接服务与面向连接服务
  (二)UDP协议
  1.UDP数据报
  2.UDP校验
  (三)TCP协议
  1.TCP段
  2.TCP连接管理
  3.TCP可靠传输
  4.TCP流量控制与拥塞控制
  六、应用层
  (一)网络应用模型
  1。客户/服务器模型
  2.P2P模型
  (二)DNS系统
  1。层次域名空间
  2。域名服务器
  3。域名解析过程
  (三)FTP
  1.FTP协议的工作原理
  2。控制连接与数据连接
  (四)电子邮件
  1。电子邮件系统的组成结构
  2。电子邮件格式与MIME
  3.SMTP协议与POP3协议
  (五)WWW
  1.WWW的概念与组成结构
  2.HTTP协议

第一章 计算机网络体系结构

计算机网络为什么要分层?

因为网络太复杂了。
分层使灵活性更强。
分层使各层都是独立的。
分层使各层结构上可以分开。
分层可以促进标准化工作。

协议和服务的区别?

协议是水平方向的,服务是垂直方向的。

第二章 物理层

物理层是做什么用的?

物理层是所有网络的基础,物理层要尽可能屏蔽掉物理设备、传输媒体和通信手段的不同,使数据链路层感觉不到这些差异的存在从而专注于本层的服务。物理层主要包括网络连接器,传输介质和数字比特。物理层中使用数字调制解调技术具有将模拟信号(电信号)转化成数字比特以及将数字比特转化成模拟信号(电信号)的作用。物理层就是通过网络连接器发送数字比特经过传输介质,再经过网络连接器发送数字比特经过传输介质,再经过网络连接器发送数字比特经过传输介质的一层。(下图来源于网络)
在这里插入图片描述

第三章 数据链路层

链路层是做什么用的?

物理层刚刚说过了,主要用来传输数字比特。好,我们假设没有链路层,那这些数字比特给网络层,网络层知道做什么吗?很好,网络层不知道,那怎么办呢,由此引出计算机领域至理名言:“计算机科学领域的任何问题都可以通过增加一个间接的中间层来解决”!很好,链路层就是用来解决物理层和网络层之间的矛盾的。链路层将物理层的原始比特转换成网络层使用的帧流,为帧流提供不同程度的可靠性,范围从无连接无确认的服务到可靠的面向连接服务不等。

帧的构造方法有哪几种?

字符计数法/字符填充的首尾定界符方法/比特填充的首尾标志法/违法编码法

第四章 网络层

网络层的主要作用是什么?

网络层通过网络层和传输层的接口,向传输层传输数据。网络层关注的是如何将源端数据包一路发送到接收方,网络层是处理端到端数据传输的最底层,为了将数据包传送到接收方,沿途需要经过很多跳中间路由器。网络层的主要目的是将数据包从源机器路由到目标机器。

讲讲路由算法?

路由算法负责确定一个入境数据应该被发送到哪一条输出线路去。路由算法分为静态路由算法和自适应算法。静态路由算法是预先算好的,缺点是无法相应故障。自适应算法顾名思义,就可以更加聪明的改变路由决策来反映出拓扑变化,动态的计算路由。

第五章 传输层

传输层的目标是什么?

传输层的最终目标是向它的用户提供可靠的,成本有效的数据传输服务,传输层需要充分利用网络层提供给它的服务。传输层和网络层类似,服务类型分为面向连接和无连接的网络服务。传输层使传输服务变得更为可靠。

三次握手

请先看下书里的正确解释,然后再来看我讲的这个三次挥手的通俗解释。
假设你想要通过微信询问你的同学一件事,通常你们的状态都是待连接状态,因为谁也不会天天看微信不是吗。你在微信上说:在吗?这是第一次握手。他如果不回就代表连接未建立。他回了一句:在。这是第二次握手。但是可能这个时候你没看到这个时候连接也没建立,然后假设你看到了你就生怕他把手机塞回去,赶紧回了一句:“嗯呐”!这是第三次握手。这个时候连接就建立了,你跟你同学暂时谁也不会把手机放裤兜里了,就开始聊天了。

四次挥手

聊完天,你觉得是时候把手机放裤兜里了。你回了一句“我得去打王者了”,这是一次挥手。而此时你的同学话闸子刚打开,于是很不情愿的回了你一句“好吧”。这是第二次挥手。思考了一会儿,他决定把想说的话长话短说“xj#eh%…dy&en,知道了吗?”。这是第三次挥手你淡淡的回了一句“嗯。”这是第四次挥手。于是聊天结束啦。

第六章 应用层

DNS是做什么的?

DNS的作用就是解析域名(人类可读的类似人名的东西)为机器的IP地址。它是一个庞大而复杂的分布式系统,由数百万计的域名服务器组成,它利用了复制和缓存的机制,具有鲁棒性。域名服务器在查询时有递归查询和迭代查询两种机制,一次域名解析可以涉及这两种机制,但通常使用迭代查询,因为递归查询会使域名服务器无法承受查询的压力。

HTTP 1.0 和HTTP 1.1的区别是?

HTTP 1.0:非持久的TCP连接,每个对象要单独建立TCP连接。
HTTP 1.1:持久的TCP连接,全部对象只需要建立一个TCP连接。

经典面试题

当你在百度浏览器输入www.google.cn并按回车的时候发生了什么?

选取这个题作为讲解的原因一个是经典,一个是它把上面的知识串起来了。
1.按回车的时候,键盘把物理信号转化成电信号,触发之后的流程。
2.百度浏览器通过DNS查找www.google.cn的ip地址是203.208.43.119
3.DNS查询时会利用缓存信息,优先级是浏览器>操作系统> 路由器>本地域名服务器>根域名服务器
4.百度浏览器使用HTTP/HTTPS协议将请求打包,通过socket传给传输层
5.传输层将包做进一步的封装,交给操作系统的网络层
6.网络层使用ip协议,ip头包含你的ip(客户端)和203.208.43.119这个ip(目标ip)
7.如果203.208.43.119这个ip不是本机ip,操作系统会找网关(ip是192.168.1.1)解析这个ip的Mac地址
8.操作系统是如何找网关的呢,找网关过程使用ARP协议,广播给局域网内所有主机,会返回网关的MAC地址
9.找到网关后,操作系统就将IP包交给MAC层,MAC层经过层层网关最终获得目标ip对应的MAC地址
10.这时候,你的主机就可以通过这个MAC地址就能找到目标服务器。
11.目标服务器收到这个请求后,会解析包里的内容,解析包里的MAC地址给到网络层,IP地址给传输层。
12.此时就会进行著名的三次握手了,此时你的主机和服务器端的TCP连接就建立起来了。

猜你喜欢

转载自blog.csdn.net/qq_32648593/article/details/106729520