大二下实训-第二天

文章目录

  • 前言
  • 局域网/广域网
    • 局域网
      • 局域网基本定义
      • 局域网相关概念
    • 广域网
      • 广域网基本定义
      • 广域网相关概念
  • IP以及相关协议
    • IP协议
    • ARP(地址解析协议)
    • ARP相关协议
    • 对IP包的处理
    • ICMP测试工具
  • TCP/UDP
    • TCP基本定义
    • 连接和断开过程
    • TCP三次握手建立连接
  • TCP四次握手断开连接
  • 总结


前言

本博客仅做学习笔记,如有侵权,联系后即刻更改

科普:

大二下实训-第二天_第1张图片


局域网/广域网

局域网

局域网基本定义

功能

在一个较小的物理范围内为计算机提供高资源共享通信服务

特点

带宽高,传输距离短,连接终端多,所以局域网是多路访问的

对应OSI模型的物理层,数据链路层、网络层

  • 物理层:规定了硬件设备、线缆、接口的物理特性
  • 数据链路层:二层寻址,以及数据封装,上层协议标识
  • 网络层:三层寻址,路径选择

主要技术

  • 以太网:
    应用最广泛,定义了各种传输介质、传输速率,以及如何进行寻址(数据链路层、网络层)
  • 令牌环:通过环接口收尾相连形成拓扑
    一个节点需要发送数据,必须先获得令牌(一种特殊的MAC控制帧),令牌有一个标志位,代表路径上数据传输的情况(忙/闲),特点是需要维护令牌
  • FDDI环网技术:
    光纤分部接口,一种环网

局域网相关概念

以太网集线器(HUB)

本质上就是总线,工作在物理层,拓展接口,组成星型拓扑

CSMA/CD

载波监听多路访问/冲突避免

  • 先听再发,边听边发,冲突延迟再发

MAC地址

物理地址,一台主机对应一个MAC地址,无法改变

  • 48位2进制,以12位16进制表示
    前24位厂商标识,后24位自定义

单播/广播

单播:1对1
广播:1对所有

  • 数据链路层目的MAC全F

以太网流量控制:

半双工/全双工

  • 链路是否允许同时双向传输数据
    半双工:
  • 使用CSMA/CD来进行冲突规避
    接收反向发送电压型号制造冲突,迫使发送方停止发送
    全双工:
    接收方提供反向发送PAUSE帧,通知对方停止发送

以太网拓展

冲突域:

  • 同一时间只有一台设备能够发送报文

广播域:

  • 同一段地址,同一段VLAN就是一个广播域
    HUB(集线器):工作在物理层,连接在同一集线器下的设备组成一个冲突域
    Switch(交换机):交换机隔离冲突域

A、B、C网络区分

A类

  • IP地址就由1个字节的网络地址和3个字节的主机地址组成
    网络地址的最高位必须是0,网络地址有2^7=126个,
    每个网络可容纳2^24-2=16581373台主机

特殊IP地址

  • 10.x.x.x 是私有地址(所谓私有地址就是在互联网上不使用,而被使用在局域网络中的地址),范围(10.0.0.0 ~ 10.255.255.255)
  • 127.x.x.x 是保留地址,用作循化测试用的。

B类

  • IP地址就由3个字节的网络地址和1个字节的主机地址组成
    网络地址的最高位必须是110,网络地址有2^21=2097152个,
    每个网络可容纳2^8-2=254台主机
  • 因为10000000.0000000.00000000.00000000是网络地址,10111111.11111111.11111111.11111111是广播地址

广域网

广域网基本定义

由于局域网传输距离有限,这个时候就需要广域网,它的传输距离更长,同时成本也更高,需要租用运营商链路

广域网对应OSI模型的物理层、数据链路层、网络层

物理层:

  • 定义了各种传输介质的标准、速率
    数据链路层:
  • 数据需要在广域网传输,必须封装广域网能够识别的协议,PPP、HDLC、LAPB、帧中继
    网络层:
  • 主要用于三层寻址,路径选择

连接方式

专线:

  • 某个企业独占使用这个链路,针对与数据传输,这个链路是共享型的
    电路交换:
  • 电话线,按需建立,需要运营商建立逻辑链路,不需要拆除
    分组交换:
  • 发送数据时,运营商设备会将数据分组,同一时刻链路只能传递某一个分组的流量

广域网相关概念

常用接口和线缆

链路层协议(了解):PPP、HDLC

分组交换广域网技术(了解):ATM、FR(帧中继)、X.25

IP以及相关协议

协议分类:

IP:

  • 标识节点、链路、IP寻址、IP转发、适应各种链路

ARP:

  • 地址解析,以IP去请求MAC,将IP与MAC地址形成对应关系

RARP:

  • 反向地址解析,以MAC去请求IP

ICMP:

  • 网络监测,典型应用 ping、tracertroute

IP协议

IP协议报文关键字段

  1. 源目IP
  2. 上层协议:TCP/UDP
    ttl:time to live,用于防环,每经过一个三层节点TTL - 1 ,TTL为0则丢弃数据包

IP地址

网络号/主机号
掩码
网关
地址分类(A、B、C)
如何去根据需求切分子网掩码

ARP(地址解析协议)

动态将IP地址解析为MAC地址的协议
由于封装时需要由目的MAC,这个时候需要去查缓存或者去解析

主机通过ARP解析到目的MAC地址后,将在自己的ARP缓存表中增加相应的IP地址到MAC地址的映射表项,用于后续到同一目的地报文的转发。

ARP分为请求和回复两过程:

  • ARP请求(广播):
    二层封装:源/目MAC,目的MAC全F
    send IP
    send MAC
    target IP
    target MAC FFFFFF
  • ARP回复(单播):
    二层封装:源/目MAC
    send IP
    send MAC
    target IP
    target MAC
同网段ARP请求
不同网段ARP请求

A和B同网段发送IP包,地址解析详细过程:

  1. HostA首先查看自己的ARP表
    确定其中是否包含有HostB的IP地址对应的ARP表项
    如果找到了对应的表项,则HostA直接利用ARP表项中的MAC地址对IP数据包封装成帧,并将帧发送给HostB
  2. 如果HostA在 ARP表中找不到对应的表项
    则暂时缓存该数据包,然后以广播方式发送一个ARP请求
    ARP请求报文中的发送端IP地址和发送端MAC地址为HostA的IP地址和MAC地址,目标IP地址为HostB的IP地址,目标MAC地址为全0的MAC地址
    由于ARP请求报文以广播方式发送,该网段上的所有主机都可以接收到该请求
  3. HostB比较自己的IP地址和ARP请求报文中的目标IP地址
    由于两者相同,HostB将ARP请求报文中的发送端(即 HostA>IP地址和MAC地址存入自己的ARP表中
    并以单播方式向HostA发送ARP响应,其中包含了自己的MAC地址。其他主机发现请求的IP地址并非自己,于是都不做应答
  4. HostA 收到ARP响应报文后,将HostB的MAC地址加入到自己的ARP表中,同时将IР数据包用此 MAC地址为目的地址封装成帧并发送给HostB

ARP相关协议

RARP

与ARP,以MAC地址去请求IP地址

代理ARP

因为ARP不能跨三层

  • 代理即通过三层设备(网关),去代理这个ARP报文,发送到目的端

免费ARP

主动发送ARP的报文,告诉这个网络中本地的IP和MAC,让其他设备刷新MAC表项(或ARP表项)
应用场景

  • 设备替换(把老设备换下来,新设备换上去),刷新终端的arp缓存表
  • VRRP主从切换,刷新交换机(网络设备)的MAC地址表,ARP表
  • 网络中主机IP地址冲突检测

对IP包的处理

对应课件5.4 IP包转发,实际上就是将的源端如何发送数据,如何解析地址,中间设备如何处理,目的端如何解封装

  • 源端
  • 中间设备
  • 目的端

ICMP测试工具

关键字段

Type:错误类型
Code:错误码

操作

ping:提供回显判断是否能通
tracert:

  • 可发现所有经过的三层节点,第一个包TTL = 1 ,到达第一个路由器,回目的不可达, 源主机记录
    发送第二个包TTL=2,同样的过程,直到到达目的

TCP/UDP

TCP基本定义

TCP特点

面向连接、有序、多路复用、可靠传输、流量控制

TCP报文结构

源/目端口号:每一个端口对应一个上层应用
序列号(seq):

  • 每个报文都有一个序列号,不冲突,有序发送,方便重组

确认号(ack):

  • 作为回复,三次握手ack为对方发送过来的序列号+1,数据传输阶段代表接收了多少数据

控制位(flag):

  • SYN:取值0或1,同步序列号,初始化
  • FIN:取值0或1,数据传输完毕
  • PUSH:取值0或1,推数据
  • RST:取值0或1,重置连接
  • ACK:取值0或1,确认标志

窗口值:

  • 分为接收窗口和发送窗口,也就是说我一次可以发送多少数据,接收多少数据;单位bytes

连接和断开过程

三次握手:

  1. 发送方 SYN置位 seq = a
  2. 接收方回 SYN 置位 seq = b ack = a + 1
  3. 发送方 ACK置位,seq = a + 1 (第二个发送的包)ack = b + 1 (代表收到了)

四次断开:

  1. 发送方发送FIN置位,seq = a,代表数据发送完毕
  2. 接收方回复ACK置位,seq = b,ack = a + 1,代表收到了
  3. 接收方回复FIN置位置,seq = c,代表数据接收完毕
  4. 发送方发送ACK置位,seq = a + 1(第二个包)

TCP确认机制

应用背景

  • 如果每发送一个报文就要一个确认,浪费大量的带宽
    所以在HTTP1.1以后,发送方可以发送多个报文,接收方接收完毕以后统一回复ACK置位代表收到了

确认过程

  1. 发送方发送窗口为4096,然后它发送了4个1024长度的报文
  2. 接收方回复ACK置位,ack = 4097(收到了4096 + 1),seq = n

重传机制

重传过程

  1. 发送方发送窗口为4096,发了4个1024长度报文
  2. 由于中间链路质量问题,其中第二个报文在这个路径上丢了
  3. 接收方回回复ACK置位,ack = 1025(代表收到了1024字节 + 1),代表第二个报文丢了
  4. 发送方接收到以后,并不会马上重发,因为他并不能确定这个报文丢了(可能是延迟还未收到)
  5. 直到RTT超时(往返时间),发送方才会将第二个报文重新发送过去;
  6. 接收方收到了第二个报文以后,根据序列号排序,返回ACK置位,ack = 4097(4096 + 1 ),代表全部收到

滑动窗口

  1. 发送方和接收方在三次握手的时候,会协商接收和发送的窗口值;
  2. 发送方按照约定的窗口值发送数据,比如4096
  3. 接收方接收次数据以后回复ACK置位,ack = 4097(4096 + 1 ),由于接收方程序繁忙,会将接受窗口值调整为2048,然后发送出去;
  4. 发送方接收到窗口值为2048,则调整发送窗口值,同时每次只发送2048字节的数据;

TCP三次握手建立连接

A<->B

  • A向B发出连接请求
    将段的序列号标为a,SYN置1
    由于是双方发出的第一个包,ACK无效
  • B收到请求
    读出序列号a,发送序列号为b的包
    将ACK置为1,将确认号置为a+1,同时将SYN置1
  • A收到B的连接确认后,对该确认再次做确认
    收到确认号为a+1、序列号为b的包后
    发送序列号为a+1、确认号为b+1的段进行确认
    B收到确认报文后,连接就建立了

TCP四次握手断开连接

A<->B

  • A要求终止连接
    发送序列号为p的段,FIN置为有效
    同时确认此前刚收到的段
  • B收到A发送的段后
    发送ACK段,确认为p+1,同时关闭连接
  • B发送序列号为q的段
    FIN置为有效,通知连接关闭
  • A收到B发送的段
    发送ACK段,确认号为q+1,同时关闭连接
    TCP连接终止

总结

小小励志

有些事你现在不做,一辈子都不会做了。
如果你想做一件事,全世界都会为你让路。
《搭车去柏林》

你可能感兴趣的:(计算机网络,网络)