网络基础02

PPP协议

互联网用户通常都要连接到某个ISP 才能接入到联网。PPP 协议就是用户计算机和ISP进行通信时所使用的数据链路层协议。

PPP 的首部和尾部分别为四个字段和两个字段 首部的第一个字段和尾部的第二个字段都是标志字段 F(Flag),规定为 0x7E(符号“0x”表示它后面的字符是用十六进制表示的。十六进制的 7E 的二进制表示是01111110)。标志字段表示一个帧的开始或结束。因此标志字段就是 PPP 的定界符。连续两帧之间只需要用一个标志字段。如果出现连续两个标志字段,就表示这是一个空帧,应当丢弃。 首部中的地址字段 A规定为 0xFF(即 11111111),控制字段C规定为 0x03(即00000011)。最初曾考虑以后再对这两个字段的值进行其他定义,但至今也没有给出。可见这两个字段实际上并没有携带 PPP 的信息。 PPP 首部的第四个字段是 2字节的协议字段。当协议字段为 0x0021 时,PPP 的信息字段就是 IP 数据报。若为 0xC021,则信息字段是 PPP 链路控制协议 LCP 的数据,而0x8021表示这是网络层的控制数据。 信息字段的长度是可变的,不超过 1500 字节。 尾部中的第一个字段(2字节)是使用 CRC的检验序列FCS

VLAN

虚拟局域网 VLAN 是由一些局域网网段构成的与物理位置无关的逻辑组,而这些网段具有某些共同的需求。每一个 VLAN 的都有一个明确的标识符,指明发送这个帧的计算机属于哪一个 VLAN。

有 10台计算机分配在三个楼层中,构成了三个局域网,即: LAN1:(A1,A2,B1,C1), LAN2:(A3,B2,C2), LAN3:(A4, B3,C3 这 10个用户划分为三个工作组,也就是说划分为三个虚拟局域网 VLAN。即:VLAN1:(A1,A2,A3,A4),VLAN2:(B1, B2, B3); VLAN3:(C1, C2, C3)。

以太网帧格式的扩展

虚拟局域网协议允许在以太网的帧格式中插入一个 4 字节的标识符,称为 VLAN 标记(tag),用来指明发送该的计算机属哪一个虚拟局域网。插入VLAN 标记得出的帧称为 802.1Q 。

VLAN 标记字段的长度是 4 字节,插入在以太网 MAC 的源地址字段和类型字段之间。 VLAN 标记的前两个字节总是设置为 0x8100,称为IEEE 802.10标记类型。 当数据链路层检测到 MAC 的源地址字段后面的两个字节的值是 0x8100 时,就知道现在插入了 4 字节的 VLAN 标记。于是就接着检查后面两个字节的内容。 在后面的两个字节中,前3位是用户优先级字段,接着的一位是规范格式指示符CFI(Canonical FormatIndicator)最后的 12位是该虚拟局域网 VLAN 标识符 VID(VLAN ID),它唯一地标志了这个以太网帧属于哪一个 VLAN。 由于用于 VLAN 的以太网的首部增加了 4 个字节,因此以太网的最大长从原来的1518字节(1500字节的数据加上18 字节的首部)变为1522字节。

ISO 五层模型——网络层

网络层的主要任务是实现网络互连,进而实现数据包在各网络之间的传输。 网络层提供的两种服务: (1)面向连接的虚电路服务 (2)无连接的数据报服务

数据报转发过程

交换机基于数据帧的MAC地址转发数据帧,路由器基于数据包的IP地址转发数据报。 数据包在传输过程不变,过网络设备数据帧要用新的物理层地址重新封装。 MAC地址决定了数据帧下一跳哪个设备接收,而IP地址决定了数据包的起点和终点。

ARP

地址解析协议,即ARP(Address Resolution Protocol),是根据IP地址获取物理地址的一个TCP/IP协议。主机发送信息时将包含目标IP地址的ARP请求广播到网络上的所有主机,并接收返回消息,以此确定目标的物理地址;收到返回消息后将该IP地址和物理地址存入本机ARP缓存中并保留一定时间,下次请求时直接查询ARP缓存以节约资源

ARP是一种用于将IP地址解析为物理MAC地址的协议,它在数据链路层上操作。以下是ARP协议的工作过程:

(1)主机A需要发送数据到目标主机B,但只知道目标主机的IP地址。在发送数据之前,主机A首先检查本地的ARP缓存表,看是否已经有目标IP地址对应的MAC地址。如果有,则可以直接使用该MAC地址发送数据。

(2)如果ARP缓存表中没有目标IP地址对应的MAC地址,主机A会发送一个ARP请求广播。ARP请求包含主机A的MAC地址、IP地址和目标IP地址,以及一个操作码,指示这是一个ARP请求。

(3)所有收到ARP请求的主机都会检查目标IP地址是否与自己匹配。如果目标IP地址与自己匹配,则该主机会将自己的MAC地址作为响应发送给主机A。

(4)主机A收到ARP响应后,会更新本地的ARP缓存表,将目标IP地址和MAC地址的映射关系存储起来。

(5)主机A现在知道了目标主机B的MAC地址,可以使用该MAC地址发送数据包到目标主机B。 (6)主机B收到数据包后,进行相应的处理和响应。 总结来说,ARP协议的工作过程包括主机A发送ARP请求广播,其他主机收到请求后回复自己的MAC地址,主机A收到响应后更新ARP缓存表,并使用目标主机的MAC地址发送数据。通过这种方式,ARP协议实现了将IP地址解析为对应的MAC地址,以便在局域网中进行通信。

ICMP

为了提高 IP 数据报交付成功的机会,在网际层使用了网际控制报文协议 ICMP (Internet Control Message Protocol)。 ICMP 允许主机或路由器报告差错情况和提供有关异常情况的报告。 ICMP 不是高层协议,而是 IP 层的协议。 ICMP 报文作为 IP 层数据报的数据,加上数据报的首部,组成 IP 数据报发送出去。

ICMP——PING

Ping原理发送一个ICMP回显请求报文给目的主机,并等待回显的ICMP应答,然后打印出回显的报文。Ping不通一个目的ip地址,并不一定表示这个IP不存在或者没有连接到网络上,因为对方主机有可能做了限制,比如防火墙做了禁ping,因此Ping不通并不是说主机挂了,这点需注意。

电脑突然连接不上网络诊断顺序

1.ping 127.0.0.1 先检查TCP/IP协议栈是否正常。 2.ping 本地ip 检查你网卡是否工作正常。 3.ping 网关地址 检查和网关连接性。 4.ping 远程网站 检查远程连接

ping命令返回信息分析 1.Request timed out(请求超时) (1)对方已关机或者网络上没有这个地址 (2)对方与自己不在同一个网段内,通过路由也无法找到对方 (3)对方存在但是设置了ICMP数据包过滤屏蔽(如防火墙设置) 怎么知道对方是存在还是不存在呢?可以用ping -a探测对方,如果能得到对方的NetBIOS名称,说明对方存在,但是有防火墙设置。如果得不到,多半是对方关机或者不存在,或不在同一个网段。 (4)网卡IP地址设置错误,如网卡手动设置出现问题。

2.Destination host Unreachable(目的主机不可达) (1)对方和自己不在同一个网段内,而自己又没有设置默认的路由。 (2)网线出现了故障。 这里要分辨出“Destination host Unreachable”和“time out”的区别,所经过的路由器的路由表中具有到达目标的路由,而目标因为其他原因不可到达,这时候会出现“time out”,如果路由表中连到达目标的路由都没有,就会出现“Destination host Unreachable”

3.Bad IP address 表示可能没有连接到DNS服务器,所有没有办法解析这个ip地址,也可能是ip地址不存在。

4.Source quench received 表示对方或者中途的服务器繁忙无法回应。

5.Unknown host(不知名主机) 该远程主机名字不能被DNS服务器转换为IP地址。故障原因可能是域名服务器有问题或者其名字不正确,或者网络管理员的系统与远程主机之间的同信线路有故障。

6.No answer(无响应) 说明本地系统有一条通向中心主机的路由,但是却接受不到它发给中心主机的任何信息。故障原因可能是:中心主机没有工作;本地或中心主机网络配置不正确;本地或者中心的路由器没有工作;通信线路故障;中心主机存在路由选择问题。

IGMP

Internet 组管理协议称为IGMP协议(Internet Group Management Protocol),是因特网协议家族中的一个组播协议。该协议运行在主机和组播路由器之间。 IGMP协议共有三个版本,即IGMPv1、v2 和v3。

IGMP协议是主机跟路由器之间的控制协议 主机通过IGMP协议向组播路由器报告自己想加入的组 路由器通过IGMP协议查询网段上是否还有特定组的成员

ISO 五层模型——传输层

传输层向它上面的应用层提供通信服务 根据应用程序的不同需求,传输层需要有两种不同的协议,即面向连接的TCP和无连接的UDP 用户数据报协议UDP(User Datagram Protocol) 传输控制协议 TCP(Transmission Control Protocol)

UDP

无连接的,即发送数据之前不需要建立连接 使用尽最大努力交付,即不保证可靠交付,不使用流量控制和拥塞控制 面向报文的。发送方的 UDP 对应用程序交下来的报文,在添加首部后就向下交付 IP层 支持一对一,一对多,多对一和多对多交互通信 首部开销小,仅8字节

UDP数据报

(1)源端口号:在需要对方回信时选用。不需要时可用全 0 (2)目的端口号:这在终点交付报文时必须使用 (3)长度:其最小值是 8(仅有首部) (4)校验和:检测UDP用户数据报在传输中是否有错。有错就丢弃 (5)伪首部:用来计算校验和,临时添加既不向下传送也不向上递交

TCP

面向连接的 每一条TCP连接只能有两个端点EP,只能是一对一通信。 面向字节流 “流”(stream)指的是流入到进程或从进程流出的字节序列 可靠传输,使用流量控制和拥塞控制,无差错、不丢失、不重复并且按序到达 首部最小20字节,最大60字节

TCP报文

(1)源端口和目的端口:各 2个字节,分别写入源端口号和目的端口号 (2)序号:4字节,本报文段所发送的数据的第一个字节的序号 (3)确认号:4字节,是期望收到对方下一个报文段的第一个数据字节的序号 (4)数据偏移:4位,它指出TCP报文段的数据起始处距离TCP报文段的起始处,实际上是指出TCP报文段的首部长度 (5)保留:占6位,保留为今后使用,但目前应置为0 (6)标志位: URG ,紧急数据指令,表示紧急指针有效,报文段包含高优先级数据; ACK ,确认指令,表示确认号有效,对已接收数据进行确认; PSH ,立即推送指令,指示接收方立即将数据提交给应用层,不用等缓冲区装满; RST ,重置指令,表示出现严重错误,常用于拒绝非法报文段以及拒绝连接请求; SYN ,序号同步指令,在 TCP 三次握手建立连接时,将本端选定序号告诉对端; FIN ,连接关闭指令,用于告诉对端,本端数据已发送完毕,连接关闭; (7)窗口:占2个字节,存放的是数据是字节为单位的窗口值告诉对方,本报文段首部中的确认号算起,接收方目前允许对方发送的数据量。这是让发送方设置发送窗口的依据 (8)检验和:占2个字节,检验的范围包括首部和数据这两部分 (9)选项:长度可变,最长可达40字节。当没有使用“选项“时,TCP 的首部长度

三次握手

1.第一次握手 客户端向服务端发送连接请求报文段。SYN=1,ACK=0,seq=x。请求发送后,客户端便进入SYN-SENT(同步已发送)状态。 2.第二次握手 服务端收到连接请求报文段后,如果同意连接,会发送一个应答:SYN=1,ACK=1,seq=y,ack=x+1。发送完应答后服务端进入SYN-RCVD(同步收到)状态。 3.第三次握手 客户端收到服务端连接同意的应答后,还会向服务端发送一个确认报文段,表示:服务端发来的连接同意应答已经成功收到。ACK=1,seq=x+1,ack=y+1。客户端发完这个报文段后便进入ESTABLISHED(已建立连接)状态,服务端收到这个应答后也进入ESTABLISHED状态,此时连接的建立完成!

四次挥手

1.第一次挥手 客户端数据发送完成,则它向服务端发送连接释放请求。该请求只有报文头,头中携带的主要参数为:FIN=1,seq=u(u-1是客户端向服务端发送的最后一个字节的序号)。此时,客户端将进入FIN-WAIT-1(终止等待1)状态。 2.第二次挥手 服务器收到客户端连接释放报文,通知相应的高层应用进程,告诉它客户端向服务器这个方向的连接已经释放了。此时服务端进入了CLOSE-WAIT(关闭等待)状态,并向客户端发出连接释放的应答,其报文头包含:ACK=1,ack=u+1,并且带上自己的序列号seq=v。 客户端收到该应答后,进入FIN-WAIT-2(终止等待2)状态,等待服务器发送连接释放报文。 第二次挥手完成后,客户端到服务端方向的连接已经释放,服务端不会再接收客户端的数据,客户端也没有数据要发送了。但服务端到客户端方向的连接仍然存在,服务器若发送数据,客户端依然要接受。这个状态还要持续一段时间,也就是整个CLOSE-WAIT(关闭等待)状态持续的时间。 3.第三次挥手 服务端将最后的数据发送完毕后,就向客户端发送连接释放报文,其报文头包含:FIN=1,ack=u+1,由于在CLOS-WAIT状态,服务端很可能又发送了一些数据,假定此时的序列号为seq=w,此时,服务器就进入了LAST-ACK(最后确认)状态,等待客户端的确认。 4.第四次挥手 客户端收到服务器的连接释放报文后,向服务端发出确认应答,报文头:ACK=1,ack=w+1,而自己的序列号是seq=u+1,此时,客户端就进入了TIME-WAIT(时间等待)状态。 该状态会持续2MSL(最长报文段寿命)时间,这个期间TCP连接还未释放,若该时间段内没有服务端的重发请求的话,客户端就进入CLOSED状态,撤销TCB。 服务端只要收到了客户端发出的确认,立即进入CLOSED状态。同样,撤销TCB后,就结束了这次的TCP连接。

ISO 五层模型——应用层

应用层是解决通过应用进程的交互来实现特定网络应用的问题

端口号

TCP/IP体系的传输层使用端口号来区分应用层的不同应用进程

FTPTELNETDNSTFTPHTTPHTTPSDHCPSNMPSMTP...
212353698044367/6816125...
DHCP交互

第一步:搜索阶段 当DHCP客户端第一次登录网络的时候,计算机发现本机上没有任何IP地址设定,将以广播方式发送DHCP discover发现信息来寻找DHCP服务器,即向255.255.255.255发送特定的广播信息。网络上每一台安装了TCP/IP协议的主机都会接收这个广播信息,但只有DHCP服务器才会做出响应。(DHCP DISCOVER) 第二步:提供阶段 在网络中接收到DHCP discover发现信息的DHCP服务器就会做出响应,它从尚未分配的IP地址池中挑选一个分配给DHCP客户机,向DHCP客户机发送一个包含分配的IP地址和其他设置的DHCP offer提供信息。因为此时客户端还没有IP,所以返回信息也是以广播方式返回的。(DHCP OFFER) 第三步:选择阶段 DHCP客户端接受到DHCP offer提供信息之后,选择第一个接收到的提供信息,然后以广播方式回答一个DHCP request请求信息,该信息包含向它所选定的DHCP服务器请求IP地址。(DHCP REQUEST) 第四步:确认阶段 当DHCP服务器收到DHCP客户端回答的DHCP request请求信息之后,便向DHCP客户端发送一个包含它所提供的IP地址和其他设置的DHCP ack确认信息,确认租约,并指定租约时长。告诉DHCP客户端可以使用它提供的IP地址。然后,DHCP客户机便将其TCP/IP协议与网卡绑定,另外,除了DHCP客户机选中的DHCP服务器外,其他的DHCP服务器将收回曾经提供的IP地址。(DHCP ACK)

DHCP工作原理

1)四个数据包

客户机第一次登录网络: discover 发现 广播 寻找DHCP服务器 offer 回应 单播 回应DHCP请求 request 请求 广播 请求租用IP地址 ack 确认 单播 把IP地址租给客户机

客户机第二次登录网络: request 请求 广播 请求租用原来用过的IP地址 ack 确认 单播 还把原来的地址给客户机 nack 不确认 单播 地址已经租给别的主机了

2)租约的更新和释放 IP地址租约默认为1天 客户端会在这两时间点自动更新租约:50%,87.5% 客户端可以手动更新租约:ipconfig /renew 客户端可以时间把IP地址立刻还给服务器,租约的释放:ipconfig /release

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值