计算机网络知识点总结(ICMP、PING、OSPF、TIMEWAIT、CLOSEWAIT、HTTPS、HTTP2.0)

概述

五层模型

  • 应用层:为特定的应用程序提供数据传输服务(HTTP,DNS)数据单位是报文
  • 传输层:为进程提供通用的数据传输服务,由于应用层的协议会很多,定义通用的传输层协议就支持不断增多的应用层协议
    TCP:报文段
    UDP:用户数据报
  • 网络层:在计算机网络进行通信的两个计算机之间可能会经过很多个数据链路,也可能还要经过很多的通信子网,网络层的任务就是选择合适的网间路由和交换节点,确保数据及时传送
    网络层把传输层产生的报文段或者用户数据报封装成分组(IP数据报)进行传送
  • 数据链路层:数据链路层考虑的是两个计算机节点之间的点对点传输,会将ip数据报封装成帧。(两台主机之间的数据传输的时候,总是在一段一段的链路上进行传送的)
  • 物理层:实现相邻的计算机节点之间比特流的透明传输,尽可能屏蔽掉具体的传输介质和物理设备之间的差异。使其上层的数据链路层不必考虑网络的具体传输介质是什么。

表示层: 数据压缩,加密以及数据描述,使应用程序不必关心在各台主机中数据内部格式不同的问题
会话层:建立以及管理会话
TCP/IP协议:相当于五层协议中数据链路层和网络层合并为网络接口层(应用层可能会直接使用IP层或者网络接口层)
在向下的传播过程汇总不断添加下层协议所需要的首部或者尾部,而在向上的过程中不断拆开首部或者尾部

物理层

纯硬件设备,主要用来连接计算机等网络终端。

数据链路层

  • 封装成帧
  • 透明传输
  • 差错校验(循环冗余CRC来检查比特差错)

CSMA/CD协议

CSMA/CD 表示载波监听多点接入 / 碰撞检测。

多点接入 :说明这是总线型网络,许多主机以多点的方式连接到总线上。
载波监听 :每个主机都必须不停地监听信道。在发送前,如果监听到信道正在使用,就必须等待。
碰撞检测 :在发送中,如果监听到信道已有其它主机正在发送数据,就表示发生了碰撞。虽然每个主机在发送数据之前都已经监听到信道为空闲,但是由于电磁波的传播时延的存在,还是有可能会发生碰撞。

PPP协议

互联网用户通常需要接到ISP之后才能接入网络,PPP协议就是用户计算机和ISP进行通信是所采用的的数据链路层协议

MAC地址

MAC 地址是链路层地址,长度为 6 字节(48 位),用于唯一标识网络适配器(网卡)。

一台主机拥有多少个网络适配器就有多少个 MAC 地址。例如笔记本电脑普遍存在无线网络适配器和有线网络适配器,因此就有两个 MAC 地址。

局域网

局域网是一种典型的广播信道,网络为一个单位所拥有,地理范围和站点数目有限
(星型,环型,直线型)

交换机

  • 交换机具有自学习能力,学习的是交换表的内容,交换表中存储着 MAC 地址到接口的映射。
  • 目的 MAC 若不存在,交换机才广播到所有的端口,接收端口回应后交换机会“学习”新的地址,并把它添加入内部地址表中。

网络层(IP层)

IP地址分类

IP地址是互联网协议地址,是IP协议提供的一种统一的地址格式,为互联网上的每一个网络和每一台主机分配一个逻辑地址,来屏蔽物理地址的差异。
IP地址编制方案将IP地址空间划分为ABCDE五类,其中ABC是基本类,DE作为多播和保留使用,为特殊地址。
每个IP地址包括,网络号和主机号,同一个物理网络上的所有主机都使用同一个网络号。
在这里插入图片描述

  • A类地址:以0开头,第一个字节范围0~127
  • B类地址,以10开头,第一个字节范围128~191
  • C类地址,以110开头,第一个字节范围192~223
  • D类地址,以1110开头,第一个字节范围224~239
  • E类地址,以1111开头,保留地址

IP地址与物理地址的区别

  • 物理地址MAC地址,是数据链路层和物理层使用的地址
  • IP地址是网络层和以上各层使用的地址,是一种逻辑地址

有了IP地址为什么还需要mac地址?
https://www.zhihu.com/question/21546408

IP地址本质上是终点地址,它在跳过路由器(hop)的时候不会改变,而MAC地址则是下一跳的地址,每跳过一次路由器都会改变。

这就是为什么还要用MAC地址的原因之一,它起到了记录下一跳的信息的作用。

对于目的地在其他子网的数据包,路由器只需要让数据包到达那个子网即可,而剩下的工作就由子网内部解决了。
因为如果我们只用 MAC 地址的话,我们会发现路由器需要记住每个 MAC 地址所在的子网是哪一个,因为如果我们只用 MAC 地址的话,我们会发现路由器需要记住每个 MAC 地址所在的子网是哪一个
和MAC不同的是,IP地址是和地域相关的,对于位于同一个子网上的设备,我们给他们分配的IP的前缀是一样的,这个前缀就像邮政编码一样这样。路由器通过IP地址的前缀就能知道这个设备在那个子网上了,现在路由器只需要记住每个子网的位置即可,大大减少了路由器所需要的内存

ARP协议(重点)

网络层的 ARP 协议完成了 IP 地址与物理地址的映射。首先,每台主机都会在自己的 ARP 缓冲区中建立一个 ARP 列表,以表示 IP 地址和 MAC 地址的对应关系。当源主机需 要将一个数据包要发送到目的主机时,会首先检查自己 ARP 列表中是否存在该 IP 地址对 应的 MAC 地址:如果有,就直接将数据包发送到这个 MAC 地址;如果没有,就向本地 网段发起一个 ARP 请求的广播包,查询此目的主机对应的 MAC 地址。

此 ARP 请求数据包里包括源主机的 IP 地址、硬件地址、以及目的主机的 IP 地址。 网络中所有的主机收到这个 ARP 请求后,会检查数据包中的目的 IP 是否和自己的 IP 地 址一致。如果不相同就忽略此数据包;如果相同,该主机首先将发送端的 MAC 地址和 IP 地址添加到自己的 ARP 列表中,如果 ARP 表中已经存在该 IP 的信息,则将其覆盖,然后给源主机发送一个 ARP 响应数据包,告诉对方自己是它需要查找的 MAC 地址;源主机收到这个 ARP 响应数据包后,将得到的目的主机的 IP 地址和 MAC 地址添加到自己的 ARP 列表中,并利用此信息开始数据的传输。如果源主机一直没有收到 ARP 响应数据包,表示 ARP 查询失败。

ICMP协议(重点)

用于在IP主机、路由器之间传递控制消息
ICMP 是为了更有效地转发 IP 数据报和提高交付成功的机会。它封装在 IP 数据报中,但是不属于高层协议。
ICMP 报文分为差错报告报文和询问报文。
在这里插入图片描述

Ping原理(重点)

Ping是ICMP的一种重要用用,主要用来测试两台主机之间的连通性
Ping的原理是通过向目的主机发送ICMP Echo请求报文,目的主机收到之后会发送Echo回答报文。Ping会根据时间和成功响应的次数估算出数据报往返时间和丢包率

同一网段:

  1. 应用程序ping会判断发送的是主机名还是IP地址,调用函数gethostby name()解析主机名B,将主机名转换成一个32位的IP地址。这个过程叫做DNS
  2. ICMP协议打包这个数据包和机器B的IP地址转交给IP协议层。
  3. 由于主机A和主机B在同一个局域网内,必须把目标主机的IP地址转换为48位的MAC地址,即调用ARP协议,在局域网内发送ARP请求广播,查找主机B的硬件地址。
  4. 主机B的ARP协议层接收到主机A的ARP请求后,将本机的硬件地址填充到合适的位置后,发送ARP应答到主机A.
  5. 主机A发送ICMP数据包到主机B.
  6. 主机B接收到主机A的ICMP包,发送响应包。
  7. 主机A接收到主机B的ICMP响应包。

ping命令详解

Traceroute

  • Traceroute是ICMP的另一个应用,用来跟踪一个分组从源点到终点的路径
  • Traceroute发送的IP数据报封装的是无法交付的UDP用户数据报,并由目的主机发送终点不可达差错报告报文
  • ping 工具也可以进行侦测,但是,因为 IP 头的限制,ping 不能完全的记录下所经过的路由器。所以Traceroute 正好就填补了这个缺憾。
原理:

TTL:生存时间,它的存在视为了防止无法交付的数据报在网络中不断兜圈子,以路由器跳数为单位,当TTL为0是丢弃数据报

当我们在使用ping命令时,返回结果里会带一个TTL值。这个东西的含义其实就是Time To Live,指的是报文在网络中能够‘存活’的限制。以前这个限制方式是设定一个时间(Time To Live中的Time就是这样来的),当报文在网络中转发时,时间超过这个限制,最后一个收到报文的‘路由点’就会把它扔掉,而不继续转发。后来把时间限制改为了跳数限制,就是当报文在网络中转发

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值