计算机网络相关知识

690 阅读9分钟

【OSI参考模块】

7 应用层

  • 协议:Telnet、SSH、HTTP、SMTP、POP、SSL/TLS、FTP、MIME、HTML、SNMP、MIB、SIP、RTP
  • 功能:针对特定应用的协议,例如
    • 电子邮件<->电子邮件协议
    • 远程登录<->远程登录协议
    • 文件传输<->文件传输协议
  • 对应TCP/IP分层模型:应用层

6 表示层

  • 协议:
  • 功能:主要负责数据格式的转换。将应用处理的信息转换成合适网络传输的格式,或者将来自下一层的数据转换为上层能够处理的格式,屏蔽差异。
  • 对应TCP/IP分层模型:应用层

5 会话层

  • 协议:
  • 功能:通信管理,负责建立和断开通信连接(数据流动的逻辑通路),以及数据的分割等数据传输相关的管理,管理传输层以下的分层。
  • 对应TCP/IP分层模型:应用层

4 传输层

  • 协议:TCP、UDP
    • TCP:面向连接的、可靠的流协议,三次握手,四次挥手
    • UDP:不具可靠性的数据报协议
  • 功能:管理两个节点之间的数据传输,负责可靠传输(确保数据被可靠的传送到目标地址),只在通信双方节点上进行处理,而无需在路由器上处理。
  • 对应TCP/IP分层模型:传输层,操作系统

3 网络层

  • 协议:
    • IP
    • DNS:域名<->IP
    • ARP:以IP地址为线索,用来定位下一个应该接收数据分包的网络设备对应的MAC地址。
      • 借助ARP请求与ARP响应两种类型的包确定MAC地址。
      • 由于路由器广播的包能够被同一个链路上的所有主机或者路由器接收,因此ARP的请求包也就会被这同一个链路上所有的主机和路由器进行解析。如果ARP请求包中的目标IP和自己的IP一致,阿九把自己的额MAC的地址塞到ARP响应包返回给主机。
      • ARP转发表只缓存一段时间。
    • NAT:私有地址<->全局地址
    • NAPT:转换TCP、UDP端口号,实现一个全局IP和多个主机的通信;
  • 功能:地址管理与路由选择。
  • 对应TCP/IP分层模型:互联网层,操作系统
  • 相关技术:
    • IP:需要对不同的数据链路进行抽象;面向无连接协议;IP地址;子网掩码;全局地址&&私有地址;NAT;路由控制;ARP

2 数据链路层

  • 功能:互连设备之间传送和识别数据帧,即数据帧和比特流之间的转换。
  • 对应TCP/IP分层模型:网卡层(网络接口层),设备驱动程序与网络接口
  • 相关技术:
    • MAC地址:在使用网卡(NIC)的情况下,MAC地址一般都会而被烧入到ROM(只读内存)中。
      • 理论上MAC地址应该唯一,但是存在不唯一的情况:当一台主机上启动了多个虚拟机时,由于没有硬件的网卡,只能由虚拟软件自己设定MAC地址给多个虚拟网卡,因此就很难保证生成的MAC地址是对无二的了。但是即使MAC地址相同,只要不是同一个数据链路就不会出现问题。
    • 根据MAC地址:以太网交换机根据数据流链路层中每个帧的目标MAC地址,决定从哪个网络接口发送数据,用以参考、记录发送接口的表就叫做转发表,其内容可以自动“学习”生成。

1 物理层

  • 功能:以’0’、’1’代表电压的高低、灯光的闪灭,界定连接器和网线的规格;也就是比特流和电子信号之间的切换。
  • 设备:中继器
  • 对应TCP/IP分层模型:硬件层,设备驱动程序与网络接口

【区分】

数据链路层和网络层的关系?

  • 数据链路层提供直连两个设备之间的通信功能,相当于把一个包送到下一个设备处的能力;
  • 网络层(IP)负责在没有直连的两个网络之间进行通信传输,相当于设定目标,指定一个包最终要到达哪里。

地址?

  • MAC地址:用来标识同一个链路中不同计算机的一种识别码;
  • IP地址:用于在链接到网络中的所有主机中是被出进行通信的目标地址,属于网络层地址;
    • IP地址由网络和主机两部分标识组成。
    • 同一个网段相连的主机:网段相同,主机标识不同;
    • 不同网段的主机:网段不同,但主机标识可能重复;
    • 网络地址+主机地址===》IP地址不会重复
  • IP地址分为4类。
  • 子网掩码:将主机地址部分用作子网地址,可以将原网络分成多个物理网络的一种机制。
    • 一个IP地址有两种识别码:IP地址本身和表示网络部的子网掩码。
    • 二进制的子网掩码是也是32位:对应IP地址网络标识表福的位全部为1,对应的IP地址主机标识部门全部为0

全局地址和私有地址?IPV4耗尽?

  • 如果一台主机一个IP,那么IP将有耗尽的危险。
  • 为解决上述问题除了使用IPV6,还采用以下方法:不再给每个主机或路由器分配一个固定的IP,只给一个网络中担负了转发数据包功能的设备分配一个整个互联网范围内唯一的IP,然后在其局域网内的主机所分配到的IP 是随意设置的私有IP,在这些主机的数据包想要发送到互联网中的时候,就结合NAT技术,把私有IP转换成全局IP。
  • 在不同域出现相同的私有IP并不会影响使用。

IP地址与路由控制?

  • IP地址的网络地址部分用于进行路由控制,也就是对于网络层而言,在两个网络之间,首先找的是网段所在的网络,然后再在这个网络中找对应的主机;
  • 设备:路由器;

DNS的工作原理?

  • 你在浏览器输入了网址,然后浏览器通过UDP协议(用户数据报协议,一种无连接的传输层协议)向本地服务器的53号端口发送了DNS解析请求。
  • 如果本地DNS服务器缓存了该域名的DNS记录,则浏览器就会立刻从缓存中得到该域名的ip地址。如果没有该记录就回向根服务器请求,然后根服务器收到请求后,会返回给本地服务器相应的顶级域名DNS服务器地址。以www.baidu.com为例,就回返回解析com顶级域名的服务器。【本地服务器DNS缓存查询:首先查浏览器缓存,查OS缓存,查host文件缓存】
  • 然后本地服务器知道顶级域名服务器(TLD-顶级域)的地址后就会向该服务器发送解析请求,然后顶级域名服务器返回给本地DNS服务器百度的权威服务器的IP地址。
  • 同上,本地DNS服务器向百度的权威DNS服务器发起查询请求,就回得到百度权威DNS服务器返回给本地服务器的百度服务器的IP地址。【其实,TLD服务器不会直接返回网站域名的IP,其只会返回该域名的授权命名服务器地址,即权威DNS服务器。当我们购买域名并绑定到一个IP地址上的时候,域名注册商会广播这条信息到权威服务器和顶级域名服务器。】
  • 最后,本地DNS服务器会把百度服务器的IP地址返回给你的电脑,同时将这条记录缓存在本地DNS服务器。
  • 注意:以上这种方式称为“先递归,再轮询”的查询方式,计算机网络中还存在其他的查询方式如仅仅的”递归“,可是上面这种查询方式时最常用的。
    • 顶级域(TLD) :域名中 .右面的部分。例如,baidu.com 而 .com 是顶级域TLD;
    • 二级域名(SLD):位于点号的左边,上例中的baidu;
    • 三级域名:位于二级域名点号左边的部分;
    • ??www.google.com.hk/ 怎么说?

【TCP/IP分层模型】

  • 应用层———会话层、表示层、应用层---应用程序
  • 传输层———传输层----操作系统
  • 互联网层———网络层----操作系统
  • 网卡层———数据链路层---设备驱动程序与网络接口
  • (硬件)———物理层---设备驱动程序与网络接口

【设备】

  • 网卡:使计算机连网的设备,出厂时自带Mac地址;
  • 中继器:从物理层上延长网络的设备;
  • 网桥/2层交换机:从数据链路层上延长网络的设备;
  • 路由器/3层交换机:通过网络层转发分组数据的设备;
  • 4~7层交换机:处理传输层以上各层网络传输的设备;
  • 网关:转换协议的设备;
  • 以太网交换机:持有多个端口的网桥。

【数据包】

在每个分层中,都会对所发送的数据附加一个首部,在这个首部中包含了该层必要的信息,如发送的目标地址和相关协议信息等。 网络中传输的数据包由两部分组成:

  •    一部分是协议所要用到的首部;
    
  •   另一部分是上层传过来的数据;
    

概念:

  • 包:全能性术语;
  • 帧:用于表示数据链路层中包的单位;
  • 数据报(包):IP和UDP等网络层以上的分层中包的单位;
  • 段:TCP数据流中的信息;
  • 消息:应用协议中数据的单位;
  • 流:不间断的数据结构;

【发送数据包的过程】

【通信方式】

  • 半双工:只发送或只接收;具备接收和发送的能力,但是不能同时发送或接收;
  • 全双工:允许在同一时间既可以发送数据也可以接收数据;
  • 单工:通信只在一个方向上进行,这种方式的应用实例有:监视器、打印机、电视机;