计算机网络

计算机网络,第1张

    声明: 1. 本文为我的个人复习总结, 并非那种从零基础开始普及知识 内容详细全面, 言辞官方的文章
              2. 由于是个人总结, 所以用最精简的话语来写文章
              3. 若有错误不当之处, 请指出

IP基础知识 点分十进制 五类网络地址:

主机号全为 1 指定某个网络下的所有主机,⽤于⼴播

主机号全为 0 指定某个网络

子网掩码:

掩盖掉主机号,剩余的就是⽹络号

将主机地址分为两个部分:⼦⽹⽹络地址和⼦⽹主机地址

  1. 判断是否能进行广播(网络号相同)

  2. 更细粒度地划分子网

无分类地址 CIDR:

a.b.c.d/x ,其中 /x 表示前 x 位属于⽹络号, x 的范围是 0 ~ 32

IP 地址与路由控制

路由控制表中记录着⽹络地址与下⼀步应该发送⾄路由器的地址

127.0.0.1 : 本机回环地址, 本机内的应用程序发生网络通信

0.0.0.0: 代表一个集合, 所有不明的ip地址都可以用0.0.0.0来通配指代, 比如DHCP时, 初始客户端没有自己的ip地址, 源地址就可以使用0.0.0.0来指代

IPv6 相⽐ IPv4 的⾸部改进:
  1. 取消了⾸部校验和字段。 因为在数据链路层和传输层都会校验,因此 IPv6 直接取消了 IP 的校验。

  2. 取消了分⽚**/**重新组装相关字段。 分⽚与᯿组是耗时的过程,IPv6 不允许在中间路由器进⾏分⽚与᯿组,这

    种 *** 作只能在源与⽬标主机,这将⼤⼤提⾼了路由器转发的速度。

  3. 取消选项字段。 选项字段不再是标准 IP ⾸部的⼀部分了,但它并没有消失,⽽是可能出现在 IPv6 ⾸部中的

    「下⼀个⾸部」指出的位置上。删除该选项字段使的 IPv6 的⾸部成为固定⻓度的 40 字节。

路由器和交换机的区别?

路由器 工作在网络层, 功能是识别IP地址并根据IP地址转发数据包

交换机 工作在数据链路层, 功能是识别MAC地址并根据MAC地址转发数据帧

IP相关协议 ARP:

ip -> MAC

流程:

  1. 查询缓存表
  2. 广播询问, 等待收到应答
  3. 如果是新的映射, 则加入缓存

RARP:

MAC -> ip

DHCP:

基于UDP

流程:

  1. 客户端⾸先发起 DHCP 发现报⽂(DHCP DISCOVER) 的 IP 数据报,由于客户端没有 IP 地址,也不知道

    DHCP 服务器的地址,所以使⽤的是 UDP ⼴播通信,其使⽤的⼴播⽬的地址是 255.255.255.255(端⼝

    67) 并且使⽤ 0.0.0.0(端⼝ 68) 作为源 IP 地址。DHCP 客户端将该 IP 数据报传递给链路层,链路层然后

    将帧⼴播到所有的⽹络中设备。

  2. DHCP 服务器收到 DHCP 发现报⽂时,⽤ DHCP 提供报⽂(DHCP OFFER) 向客户端做出响应。该报⽂仍

    然使⽤ IP ⼴播地址 255.255.255.255,该报⽂信息携带服务器提供可租约的 IP 地址、⼦⽹掩码、默认⽹关、

    DNS 服务器以及 IP 地址租⽤期。

  3. 客户端收到⼀个或多个服务器的 DHCP 提供报⽂后,从中选择⼀个服务器,并向选中的服务器发送 DHCP 请

    求报⽂(****DHCP REQUEST进⾏响应,回显配置的参数。

  4. 最后,服务端⽤ DHCP ACK 报⽂对 DHCP 请求报⽂进⾏响应,应答所要求的参数

如果租约的 DHCP IP 地址快期后,客户端会向服务器发送 DHCP 请求报⽂:

  1. 服务器如果同意继续租⽤,则⽤ DHCP ACK 报⽂进⾏应答,客户端就会延⻓租期。

  2. 服务器如果不同意继续租⽤,则⽤ DHCP NACK 报⽂,客户端就要停⽌使⽤租约的 IP 地址。

中继代理:

如果 DHCP 服务器和客户端不是在同⼀个局域⽹内 路由器⼜不会转发⼴播包,那不是每个⽹络都要配⼀个 DHCP 服务器?

所以有了DHCP 中继代理, ,对不同⽹段的 IP 地址分配也可以由⼀个** DHCP 服务器统⼀进⾏管理。

NAT:

把私有 IP 地址转换成公有 IP 地址,

但并不能缓解IPV4地址缺少的压力, 所以有了 NATP, ip不再是唯一网络地址字段, 而是将ip与port结合作为唯一网络地址字段

ICMP:

互联⽹控制报⽂协议

功能:

确认 IP 包是否成功送达⽬标地址、

报告发送过程中 IP 包被废弃的原因和改善⽹络设置等

类别:

  1. 「查询报⽂类型」

    ⽤于诊断的查询消息

    • ping查询目标主机是否可到达

    • 询问目标主机的时间戳

  2. 「差错报⽂类型」

    通知出错原因的错误消息

ICMP实际应用 ping —— 查询报⽂类型的使⽤

​ 每发出⼀个请求数据包,序号会⾃动加 1 。为了能够计算往返时间 RTT ,它会在报⽂的数据部分插⼊发送时间。

​ 源主机会检查,⽤当前时刻减去该数据包最初从源主机上发出的时刻,就是 ICMP 数据包的时间延迟

使⽤了 ICMP ⾥⾯的 ECHO REQUEST**(类型为** 8 ) 和 ECHO REPLY(类型为 0)。

traceroute —— 差错报⽂类型的使⽤

原理:

  1. 故意设置特殊的 TTL**,来追踪去往⽬的地时沿途经过的路由器,将 TTL 设置 为 1 ,则遇到第⼀个路由器,就牺牲了,接着返回 ICMP 差错报⽂⽹络包,类型是时间超时

  2. 接下来将 TTL 设置为 2 ,第⼀个路由器过了,遇到第⼆个路由器也牺牲了,也同时返回了 ICMP 差错报⽂数据
    包,如此往复,直到到达⽬的主机

发送⽅如何知道发出的 UDP 包是否到达了⽬的主机呢?

traceroute 在发送 UDP 包时,会填⼊⼀个不可能的端⼝号值作为 UDP ⽬标端⼝号(⼤于 3000 )。当⽬的主

机,收到 UDP 包后,会返回 ICMP 差错报⽂消息,但这个差错报⽂消息的类型是「端⼝不可达」。

当差错报⽂类型是端⼝不可达时,说明发送⽅发出的UDP包到达了⽬的主机

欢迎分享,转载请注明来源:内存溢出

原文地址: http://www.outofmemory.cn/langs/739529.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-04-28
下一篇 2022-04-28

发表评论

登录后才能评论

评论列表(0条)

保存