计算机网络之基础篇

一、计算机网络概述
1.什么是计算机网络
  计算机网络主要由一些通用的、可编程的硬件互连而成,通过这些硬件,可以传送不同类型的数据,并且可以支持广泛和日益增长的应用。
2.计算机网络的分类
  按照网络的作用范围:广域网(WAN)、城域网(MAN)、局域网(LAN)
  按照网络使用者:公用网络、专用网络
3.计算机网络的发展历史
  互联网的发展历史:
   第一阶段:单个网络ARPANET,交换机+电脑
   第二阶段:三层结构互联网,主干网+地区网+校园网
   第三阶段:多层次ISP(Internet Service Provider,网络服务提供商)互联网,主干ISP+地区ISP+校园/公司/家庭…
  中国互联网的发展历史:
   1980年开始互联网实验,1989年第一个公立网络建立运行,1994年接入国际互联网。
4.计算机网络的层次结构
  层次结构设计的基本原则:
   各层之间是相互独立的;
   每一层需要有足够的灵活性;
   各层之间完全解耦。
  OSI七层模型:并没有成为广泛使用的标准模型,标准制定周期过长,设计不合理。

  TCP/IP四层模型:

5.计算机网络的性能指标
  速率:bps=bit/s
  时延:发送时延、传播时延、排队时延、处理时延
  往返时间RTT:数据报文在端到端通信中的来回一次的时间
二、物理层概述
1.物理层的作用:连接不同的物理设备,传输比特流。
2.信道的基本概念:信道是往一个方向传输信息的媒体,一条通信电路包含一个发送信道和一个接受信道。
  单工通信信道:只能一个方向通信,没有反方向反馈的信道;
  半双工通信信道:双方都可以发送和接受信息,但不能同时发送也不能同时接收;
  全双工通信信道:双方都可以同时发送和接收。
 3.信道的分用-复用技术:大大提升信道的利用率,如下图,分为频分复用、时分复用、波分复用、码分复用。

三、数据链路层
 1.数据链路层概述
  封装成帧:“帧”是数据链路层数据的基本单位,帧的结构如下图:

  透明传输:“透明”是指即使控制字符在帧数据中,但是要当做不存在去处理。原理如下图,即在控制字符前加上转义字符ESC。

  差错检测:奇偶校验码、循环冗余校验码CRC
   奇偶校验码:局限性:当出错两位时,检测不到错误。
   循环冗余检验码:根据传输或保存的数据而产生固定位数校验码
2.最大传输单元
  最大传输单元MTU(Maximum Transmission Unit),数据链路层的数据帧不是无限大的,数据帧长度受MTU限制。
  路径MTU:由链路中MTU的最小值决定。
3.以太网协议详解
  MAC地址:每一个设备都拥有唯一的MAC地址,共48位,使用十六进制表示。
  以太网协议:是一种使用广泛的局域网技术,是一种应用于数据链路层的协议,使用以太网可以完成相邻设备的数据帧传输,数据格式如下:

计算机网络之网络层篇

一、网络层IP协议相关
1.IP协议详解
  虚拟互联网络的产生:实际的计算机网络错综复杂;物理设备通过使用IP协议,屏蔽了物理网络之间的差异;当网络中主机使用IP协议连接时,无需关注网络细节,于是形成了虚拟网络。如下图所示:

  IP协议使得复杂的实际网络变为一个虚拟互联的网络;并且解决了在虚拟网络中数据报传输路径的问题
  IP数据报的格式:
  其中,版本指IP协议的版本,占4位,如IPv4和IPv6;首部位长度表示IP首部长度,占4位,最大数值位15;总长度表示IP数据报总长度,占16位,最大数值位65535;TTL表示IP数据报文在网络中的寿命,占8位;协议表明IP数据所携带的具体数据是什么协议的,如TCP、UDP。
2.IP协议的转发过程
  仅从网络层来看,转发过程如下图所示:

3.IP地址的子网划分
  分类的IP地址:A类(8网络号+24主机号)、B类(16网络号+16主机号)、C类(24网络号+8主机号),对比如下:
  无分类编址CIDR:网络前缀+主机号,更加有效的分配IPv4的地址空间。
4.网络地址转换NAT技术
  用于多个主机通过一个公有IP访问访问互联网的私有网络中,减缓了IP地址的消耗,但是增加了网络通信的复杂度。
二、网络层其他协议
1.ARP协议与RARP协议
  ARP(Address Resolution Protocol)协议指地址解析协议,可以把网络层32位地址转化为数据链路层MAC48位地址
  ARP缓存表:是IP地址与MAC地址的映射对应表(IP地址是变化的):
  RARP(Reverse Address Resolution Protocol)协议指逆地址解析协议,可以把数据链路层MAC48位地址转化为网络层32位地址。
2.ICMP协议
  网际控制报文协议(Internet Control Message Protocol),可以报告错误信息或者异常情况,ICMP报文封装在IP数据报当中。结构如下:

  ICMP协议的应用:
   Ping应用:网络故障的排查;
   Traceroute应用:可以探测IP数据报在网络中走过的路径。
三、IP的路由算法
1.路由的概述
  关于路由算法的要求:正确的完整的、在计算上应该尽可能是简单的、可以适应网络中的变化稳定的公平的
  自治系统AS:指处于一个管理机构下的网络设备群,AS内部网络自治管理,对外提供一个或多个出入口,其中自治系统内部的路由协议为内部网关协议,如RIP、OSPF等;自治系统外部的路由协议为外部网关协议,如BGP。
2.内部网关路由协议
  a.RIP协议:
   距离矢量(DV)算法:每一个节点使用两个向量Dᵢ和Sᵢ,Dᵢ描述的是当前节点到别的节点的距离,Sᵢ描述的是当前节点到别的节点的下一节点,每一个节点与相邻的节点交换向量Dᵢ和Sᵢ的信息,每一个节点根据交换的信息更新自己的节点信息,如下图:

   RIP协议的过程:
    (1)路由器初始化路由信息(两个向量Dᵢ和Sᵢ);
    (2)对相邻路由器X发过来的信息,对信息的内容进行修改(下一跳地址设置为X,所有距离加1)
       i. 检索本地路由,将信息中新的路由插入到路由表里面
       ii. 检索本地路由,对于下一跳为X的,更新为修改后的信息
       iii. 检索本地路由,对比相同目的的距离,如果新信息的距离更小,则更新本地路由表
    (3)如果3分钟没有收到相邻的路由信息,则把相邻路由设置为不可达(16跳)。
  b.OSPF协议相关:
   Dijikstra算法:解决有权图从一个节点到其他节点的最短路径问题,该算法“以起点为中心,向外层层扩展”。
   算法描述:
      (1)初始化两个集合(S, U)(S为只有初始顶点点A的集合,U为其他顶点集合);
      (2)如果U不为空,对U集合顶点进行距离的排序,并取出距离A最近的一个顶点D;
        i. 将顶点D的纳入S集合
        ii.更新通过顶点D到达U集合所有点的距离(如果距离更小则更新,否则不更新)
        iii. 重复2步骤
      (3) 直到U集合为空,算法完成。
   链路状态(LS)协议:向所有的路由器发送信息,消息描述该路由器与相邻路由器的链路状态(距离、时延、带宽等),只有链路状态发生变化时,才发送更新信息。
   OSPF(Open Shortest Path First:开放最短路径优先)协议:核心是Dijkstra算法。
   OSPF协议的过程:
   RIP与OSPF的对比:
3.外部网关路由协议
  BGP(Border Gateway Protocol)边际网关协议:是运行在AS之间的一种协议。

计算机网络之传输层篇

一、UDP协议详解
 1.UDP(User Datagram Protocol: 用户数据报协议),是一个非常简单的协议,结构如下:

 2.UDP协议的特点:

  • UDP是无连接协议;
  • UDP不能保证可靠的交付数据
  • UDP是面向报文传输的;
  • UDP没有拥塞控制
  • UDP首部开销很小。

二、TCP协议
 1.TCP(Transmission Control Protocol: 传输控制协议),是计算机网络中非常复杂的一个协议,其结构如下:
2.TCP协议的特点:

  • TCP是面向连接的协议;
  • TCP的一个连接有两端,即点对点通信;
  • TCP提供可靠的传输服务;
  • TCP协议提供全双工通信;
  • TCP是面向字节流的协议;
     3.TCP首部之TCP标记的作用

     4.可靠传输的基本原理
      停止等待协议:是最简单的可靠传输协议,但是该协议对信道的利用率不高
      连续ARQ(Automatic Repeat reQuest:自动重传请求)协议:滑动窗口+累计确认,大幅提高了信道的利用率
     5.TCP协议的可靠传输
      基于连续ARQ协议,在某些情况下,重传的效率并不高,会重复传输部分已经成功接收的字节
     6.TCP协议的流量控制
      流量控制指让发送方发送速率不要太快,TCP协议使用滑动窗口实现流量控制。
     7.TCP协议的拥塞控制
      拥塞控制与流量控制的区别:流量控制考虑点对点的通信量的控制,而拥塞控制考虑整个网络,是全局性的考虑。
      拥塞控制的方法:慢启动算法+拥塞避免算法,如下图,纵坐标表示每一次发送数据报文的数量,横坐标表示发送的次数:
     8.TCP连接的三次握手
      如图所示,具体标记详见上面3.TCP标记的含义与作用:
      问:为什么发送方要发出第三个确认报文呢?
      答:避免已经失效的的连接请求报文传送到对方,引起错误
     9.TCP协议的四次挥手
      如图所示
      问:等待计时器为什么需要等待2MSL(最长报文断寿命,一般为2min)?
      答:最后一个报文没有确认,确保发送方的ACK可以到达接收方如果2MSL时间内没有收到,则接收方会重发;确保当前连接的所有报文都已经过期。

计算机网络之应用层篇

一、DNS详解
  DNS(Domain Name System:域名系统):解决IP地址复杂难以记忆的问题。
  1.IP—>DNS服务—>便于记忆的域名
  2.域名由点、字母和数字组成,分为顶级域(com,cn,net,gov,org)、二级域(baidu,taobao,qq,alibaba)、三级域(www)
(12-2-0852)
二、DHCP协议
  DHCP(Dynamic Configuration Protocol:动态主机设置协议):是一个局域网协议,是应用UDP协议的应用层协议。
  作用:为临时接入局域网的用户自动分配IP地址。
三、HTTP协议
  HTTP(HyperText Transfer Protocol:超文本传输协议):是可靠的数据传输协议。
  HTTP请求的方式对比:
   GET:请求指定的页面信息,并返回实体主体。
   POST:向指定资源提交数据进行处理请求。
   DELETE:请求服务器删除指定的页面。
四、HTTPS协议
  HTTPS(secure)安全的HTTP协议。
持续更新。。。

计算机网络核心知识点总结面试笔试要点相关推荐

  1. 【计算机网络】计算机网络核心知识点

    文章目录 1.计算机网络分类 2.计算机网络的层次结构 3.层次结构设计的基本原则 4.网络层核心知识 5.传输层核心知识 6.MTU-MSS介绍 7.计算机网络的核心指标 8.ifconfig命令简 ...

  2. 计算机网络核心知识点总结

    1. OSI参考模型与TCP/IP参考模型 OSI(Open System Interconnection)参考模型是国际标准化组织(ISO)制定的一个用于计算机或通信系统间互联的标准体系,一般称为O ...

  3. 面试/笔试第一弹 —— 计算机网络面试问题集锦【转】

    (转自:https://blog.csdn.net/justloveyou_/article/details/78303617) 写在前面: 找工作告一段落,期间经历了很多事情,也思考了许多问题,最后 ...

  4. 面试/笔试第一弹 —— 计算机网络面试问题集锦

    写在前面: 找工作告一段落,期间经历了很多事情,也思考了许多问题,最后也收获了一些沉甸甸的东西 -- 成长和一些来自阿里.百度.京东(sp).华为等厂子的Offer.好在一切又回到正轨,接下来要好好总 ...

  5. 光说面试难,9张思维导图,总结Java面试核心知识点,你是否也复习到这样

    各位老铁,面试了吗?有没有找工作啊,小编没有找工作,但是公司通知,马上要开启一个新的项目----脑瓜子嗡嗡的,果然长时间的假期不是白放的,老boss憋着大招呢,正好趁着这段时间,反正早晚要用,就把自己 ...

  6. Java面试详解(2020版):500+ 面试题和核心知识点详解

    与其在网上拼命的找面试题,不如加入我们畅快的阅读. 为了写好这些面试题,我先后拜访了一二十家互联网公司,与不同的面试官和面试者进行面对面探讨,深入了解了企业对于面试者的要求和常见的 Java 面试题型 ...

  7. Java面试核心知识点(283页)Java面试题合集最新版(485页)

    阿里.腾讯两大互联网企业传来裁员消息,很多人都陷入担心,不安情绪蔓延-- 其实大家应该更冷静和理性地看待大厂裁员.每年三四月都是大厂人员调整期,这个季节是各个公司战略调整.战略规划的一个关键期,肯定会 ...

  8. Java 面试全解析:核心知识点与典型面试题

    课程背景 又逢"金九银十",年轻的毕业生们满怀希望与忐忑,去寻找.竞争一个工作机会.已经在职的开发同学,也想通过社会招聘或者内推的时机争取到更好的待遇.更大的平台. 然而,面试人群 ...

  9. C/C++面试笔试知识点总结

    C/C++面试笔试知识点总结 1.const关键字的作用?(变量,参数,返回值) 2.什么是死锁? 3.造成死锁的4个必要条件? 4.如何避免死锁? 5.static关键字作用? 6.c/c++中内存 ...

最新文章

  1. java spring 传大数据类型_Spring MVC前后端数据交互总结
  2. 【转】Android真机抓屏- Android Screen Monitor
  3. android相对布局底部对齐,Android,在edittext中输入时防止相对布局底部对齐的按钮向上移动...
  4. 【 FPGA 】Xilinx FPGA器件命名意义?
  5. 把java的class文件转成java文件
  6. OpenStack Neutron浅析(二)
  7. 一句话,讲清楚java泛型的本质(非类型擦除)
  8. 一份超详细的 Java 问题排查工具单
  9. HTTP 代理如何正确处理 Cookie
  10. Jquery 点击当前的标签对象获取值 与JS整理
  11. 做一个中国式站长必须知道的五十个问题
  12. 多线程调用同一个对象的方法_这一次,让我们完全掌握Java多线程(2/10)
  13. 深入了解什么是服务网格
  14. 码上致富(APP+H5+小程序)淘宝客APP源码导购APP源码代理淘客APP源码
  15. R语言IBM股票月对数收益率的Egarch模型
  16. 各种炫酷的特效html代码,网页样式——各种炫酷效果及实现代码
  17. it行业se是_计算机行业SSE、SE、BSE、PE、PL各自是什么职位意思?
  18. HDU 5234 Happy birthday 最多蛋糕
  19. virtualBox 报VT-x is disabled in the BIOS for both all CPU modes (VERR_VMX_MSR_ALL_VMX_DI的错误
  20. 并发编程入门(五):Java并发包和Java8并发

热门文章

  1. docx批量转换成html,Batch DOCX to HTML Converter(批量docx转换HTML工具)
  2. jquery文字跳动js特效插件
  3. 基于 Formily 的表单设计器实现原理分析 ​
  4. 虚拟机ubuntu下使用gstreamer推流学习笔记(四)简易的.mkv格式视频播放器
  5. 04_LATTICE入门篇之仿真
  6. 2023最新SSM计算机毕业设计选题大全(附源码+LW)之java宜居家居用品网jte0e
  7. 三菱PLC——Q系列和FX3U系列通讯测试
  8. 理财产品信息管理系统(参考答案)
  9. idea中黄色灯泡有什么用_什么是相机上的“灯泡模式”?
  10. PlantUML Themes