以太网和交换机

导读:本篇文章讲解 以太网和交换机,希望对大家有帮助,欢迎收藏,转发!站点地址:www.bmabk.com

以太网和交换机

1.以太网MAC地址

作用:

​ 用来识别一个以太网上的某个单独的设备或一组设备

组成:

​ 前24比特为供应商标识后24比特为供应商对网卡的唯一编号

2.以太网数据帧

组成:

​ 数据帧依次以前导码 起始定界符 目的地址 源地址 类型 数据 帧校验序列组成

image-20220423093413098

3.交换机

工作原理:

​ 基于MAC地址的转发

转发原理:

image-20220423093553028

(例子:已知ABC三台主机要通讯且相连在同一交换机上,A发送数据帧包含B的目标地址到交换机,交换机学习A的源目标地址并记录端口,并进行广播给BC,B选择回应,记录B的MAC地址和端口)

以太网接口工作模式:

​ (1)单工:两个设备进行通信,一个设备发另一个只能接收

​ (2)半双工:两个设备通讯,两个都可以发送和接收但是不能同时进行

​ (3)全双工:两个设备通讯,可以 同时进行接收与发送

命令行层次关系:

image-20220423093911730

4.以太网IP数据包

ip数据包格式:

image-20220423094015412

​ (1).版本:就是看协议版本如ipv4就是版本,通讯双方必须得版本一致

​ (2).首部长度:ip包头长度

​ (3).优先级与服务类型:确定数据包的优先级,那个优先送,用于实现QOS(服务质量)的要求

​ (4).总长度:ip数据的总长度,包括版本首部长度和优先级与服务类型和数据(方便统计和卡死65535字节多了分割下一个)

​ (5).标识符:数据分片后打上标记,以便接收节点可以重组被分片的数据包

​ (6).标志:相当于包工头,和标识符一起传输来看最后一个分片是否发出

​ (7).段偏移量:在分片序列中将各个分片串接起来,并根据打的标签将数据连接起来

​ (8).TTL:生命周期字段,设定好生命周期,每经过一次三层网络设备就失去一次直到为0就消失

​ (9).协议号:可以看出封装上层那个协议ICMP:1 TCP:6 UDP:17

​ (10).首部校验和:只检查数据包的头部,不包括数据,应为没经过一次路由器就会重新计算这个选项(比如每经过一次路由器TTL 就会减少然后就要重新计算,或者是确定标识符有没有乱有没有缺)

ARP协议:

(1).什么是ARP协议:

​ ARP协议是地址解析协议,通过解析ip地址得到MAC地址

(2).ARP协议作用:

​ 数据链路层主要是靠MAC地址寻址,所以需要网络层将ip数据库包解析成MAC地址

(3).ARP协议工作原理

image-20220423094510969

(例子:A要发送信息给C,A需要发送一个数据包里面源地址是A的IP和MAC,目标地址则是C的IP和MAC,但是C的MAC地址不知道所以在区域内广播,B收到广播发现目标IP不是自己就直接丢弃,C发现Ip地址是自己就会把自己的ip填进去回复A,A就会把MAC地址和对应的IP放进缓存表中)

5.TCP/UDP

TCP:

(1)什么是TCP:

​ 名称:传输控制协议

特性:面向连接的网络协议,是指通讯双方在通讯之前先要建立连接,且有重传机制,数据未发送成功将重新传输,而且每一个 TCP协议都有发送缓存和接收缓存,用来临时存储数据

(2)TCP报文段:

image-20220423095207204

​ (1).源端口号:发送方进程的端口号

​ (2).目标端口号:接收端进程的端口号,接收端根据端口号将数据发送给那个应用程序进程

​ (3).序号:发送端为每个字节进行编号,便于接收的时候进行正确的重组,且有的时候数据丢失的话可以通过编号能知道是否丢失,接收端接收数据时会放入缓存中方便调用

​ (4).确认号:接收端响应消息时会用它告诉发送端他的数据全部发送完毕

​ (5).首部长度:
它指出TCP报文段的数据起始处距离TCP报文段的起始处有多远。这个字段实际上是指出 TCP报文段的首部长度。由于首部中还有长度不确定的选项字段,所以首部长度是变化的
(6).保留:平时不用,留着做冗余的

​ (7).URG: 紧急位,当URG=1时,告诉接收端有紧急数据

​ (8).ACK:确认位,ACK=1时表示接收端收到了数据

​ (9).PSH:急迫位,当PSH=1时要求接收端尽快送达至应用层(加急!就如果数据传送到接收端,本应该将缓存存满再读,加急 之后存多少读多少)

​ (10).RST:重置位,当RST=1时将重新建立TCP连接

​ (11).SYN:同步(连接)位,发送连接请求是SYN=1

​ (12).FIN:断开位,当TCP完成数据传输时,提出需要断开的一方FIN=1

​ (13).窗口大小:说明本地可接收数据段的数目,网络通畅时接收端响应消息会将这个值变大,网络环境不好时,减少值保证数据 可靠传输(流量控制机制)

​ (14).校验和:差错校验。检查范围包括首部和数据这两个部分。数据段在发送和接收时都会进行校验和计算,两次校验一致时表 明数据正确,如果不一致时就会丢弃

​ (15).紧急指针:配合URG使用,指具体紧急位置

​ (16).选项:在TCP首部可以有40字节的可选信息

(3)三次握手四次挥手

三次握手(建立连接):

image-20220423095654963

​ 1.Seq:序列号

​ 2.SYN:连接位

​ 3.ACK:确认位

​ 4.Ack:确认号

(流程:pc1向pc2请求建立连接所以发送SYN报文,里面包含着sep(pc1序列号)=x(随机)和确认连接位SYN=1(请求连接pc2),pc2接收到请求(ACK=1)并请求连接(SYN=1)所以pc发送SYN+ACK报文,里面包含seq(pc2序列号)=y(随机)和ACK=1(确认收到pc1发的请求)和SYN=1(请求连接pc1)以及Ack=x+1(pc1的seq+1,表示收到),pc1收到后发送ACK报文,里面包含着ACK=1(确认收到pc2的请求)和Ack=y+1(pc2的seq+1)以及Seq序列号x+1(客户端序号为1))

四次挥手(断开连接)

image-20220423100017880

​ 1.FIN:断开位

​ 2.ACK:确认位

(流程:pc1要和pc2断开连接,首先pc1发送FIN/ACK报文里面包括FIN=1(断开位请求)和ACK=1(确认位请求),pc2接收到报文先回复ACK=1(确认收到pc1的请求),然后进入半断开过程(比如pc2有些传输任务没传完,等全部传完了),后面再发送FIN/ACK报文给pc1,里面包含着ACK=1(确认收到上一条消息)和FIN=1(断开位请求),pc1收到后回复ACK报文里面包含ACK=1(确认收到pc2的断开请求)。

(4)TCP常用端口号:

​ 21 FTP:FTP服务器所开放的控制端口

​ 23 TELNET:用于远程登陆,可以远程控制管理目标计算机

​ 25 SMTP:SMTP服务器开放的端口,用于发送邮件

​ 80 HTTP:超文本传输协议

​ 110 POP3:用于文件的接收

UDP:

什么的UDP:

​ 名称:用户数据报协议

​ 特性:UDP协议是无连接,可靠性相对不强的传输层协议。发送端不关心发送的数据是否到达主机数据是否出错,收到数据的主 机也不会告诉发送方是否收到数据,它的可靠性由上层协议来保障

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

文章由极客之音整理,本文链接:https://www.bmabk.com/index.php/post/6110.html

(0)
小半的头像小半

相关推荐

极客之音——专业性很强的中文编程技术网站,欢迎收藏到浏览器,订阅我们!