传输层协议介绍以及静态路由原理与配置

1、TCP和UDP协议

TCP/IP协议的传输层协议主要有两个:TCP(传输控制协议)和UDP(用户数据报协议)

1-1、TCP协议

TCP是面向连接的,可靠的进程到进程的通信协议。TCP提供全双工服务,即数据可在同一时间进行双向传输,每一个TCP都有发送缓存和接收缓存、用来临时存储数据。

1-1-1、TCP报文段

TCP报文段,TCP将若干个字节构成分组,称为报文段。
源端口号:发送方进程的端口号。

目标端口号:接收端进程的端口号。接收端收到数据段后,根据这个端口号来确定把数据送给哪个应用程序的进程。

序号:发送端为每个字节进行编号,便于接收端正确重组。当TCP从进程接收数据字节时,把它们分片成数据段存储在发送缓存中,并对每一个字节进行编号。当数据到达目的地后,接收端会按照这个序号把数据重新排列,保证数据的正确性。

确认号:对发送端信息的确认,接收端响应消息时将会用它来告诉发送端这个序号之前的数据段都已经收到,如确认号是x,就是表示前x-1个数据段都已经收到。

首部长度:用它可以确定TCP首部数据结构的字节长度。一般情况下TcP首部是20字节,但首部长度最大可以扩展为60字节。

控制位:URG:紧急位。'紧急指针有效位。

ACK:确认位。只有当 ACK=1时,确认序列号字段才有效;当 ACK=0时,确认号字段无效。PSH:急迫位。标志位为1时,要求接收方尽快将数据段送达应用层。

RST:重置位。当 RST值为1时,通知重新建立TCP连接。

URG:紧急位。'紧急指针有效位。

ACK:确认位。只有当 ACK=1时,确认序列号字段才有效;当 ACK=0时,确认号字段无效。PSH:急迫位。标志位为1时,要求接收方尽快将数据段送达应用层。

RST:重置位。当 RST值为1时,通知重新建立TCP连接。

SYN:同步(连接)位。同步序号位,TCP需要建立连接时将这个值设为1。
FIN:断开位。当TCP完成数据传输需要断开连接时,提出断开连接的一方将这个值设为1。

窗口大小:说明本地可接收数据段的数目。这个值的大小是可变的

校验和:用来做差错控制。字段检验的范围包括首部和数据这两部分。

紧急指针:和URG配合使用,当URG=1时有效。

选项:在TCP首部可以有多达40字节的可选信息。

1-1-2、TCP连接

TCP建立连接的过程为三次握手(PC1和PC2,确认号和序列号先不看):
第一次握手:首先PC1先发送给PC2 SYN=1进行请求。
第二次握手:PC2接收到PC1发送的SYN=1的请求,需要回一个ACK=1消息确认。
第三次握手:PC2回复PC1 ACK消息的同时,还需要再发送一个SYN=1的消息给PC1,进行双向连接,当PC1接收到PC2发送的SYN请求并确认时,三次手握就结束了,可以进行数据传输了。在这里插入图片描述
第四次断开连接挥手:PC1会发送FIN断开位给PC2并且带ACK确认位,PC2收到后会回复ACK进行确认,同时如果PC2也想跟PC1断开连接,也要发送一个FIN和ACK给PC1,然后当PC1接受到PC2发送的FIN后并回复ACK,此时PC1和PC2已经断开连接了。
在这里插入图片描述

2-1、UDP协议

UDP是一个无连接、不保证可靠性的传输层协议。但是UDP也有优点,UDP的首部结构简单,再数据传输时能实现最小的开销。

2、静态路由的原理与配置

2-1、路由原理

路由器工作在OSI参考模型的网络层,它的重要作用时能够将数据包发送到正确位置,并在转发过程中选择最佳路径。

2-2、路由器的工作原理

根据路由表转发数据

A主机向B主机转发数据,A主机的端口号是1.0,B主机的端口号是4.0,中间横跨一个2.0端口的路由器:A主机发送一个date出去,会先从网关开始发送,E0接口就是A主机的网关,到达E0接口之后,数据就已经进入路由器A了,然后路由器A会查看自己的路由表,有网段对应的接口号,A主机想发送到的B主机的端口号是4.0,所以路由器会在路由表查询4.0端口对应的接口号S0。数据从路由器右边的接口S0出去进入路由器B,路由器接收到数据之后,也一样会去查路由表,寻找端口号为4.0的接口,为E0,再将数据从路由器B右边接口E0传输给主机B。
在这里插入图片描述

2-3、路由表的形成

路由表是在路由器中维护路由条目的集合,路由器根据路由表做路径选择。

路由表的形成:直连网段和非直连网段

2-4、静态路由和默认路由

静态路由是由管理员在路由器中手动配置的固定路由。静态路由是单向的,也就是说如果希望实现双向通信,必须在通信双方配置双向的静态路由。而且静态路由的不足之处就是缺乏灵活性。

默认路由是一种特数的静态路由,是当路由表中数据包的目的地址之间没有匹配表项时路由器做除的选择。

2-5、路由器转发数据包的封装过程

核心关键:IP地址始终不变,MAC地址始终在变。

主机A的IP地址为:192.168.1.2/24,MAC地址为:00-11-12-21-11-11。主机B的IP地址为:192.168.2.2/24,MAC地址为:00-11-12-21-66-66。

主机A想发送数据给主机B(目的地址是192.168.2.2),数据会先经过网关,路由器A的E0接口,在数据进入路由器A之后,主机A知道自己的IP地址与MAC地址,也知道网关的IP地址,但是不知道网关的MAC地址,所以会进行一次ARP请求,去获取到网关的MAC地址22-22,进行第一次封装,源MAC地址就为11-11,目的MAC地址为22-22, 在数据进入网关的时候,它的目的IP地址是不会变的,因为要去路由表查询对应接口。

在数据进入路由器A的时候,会进行解封装,需要查看里面的目的IP地址,去除掉MAC头部查看IP地址,路由器A认为这个IP数据包是要通过自己进行路由转发,然后路由器A会查找自己的路由表, 寻找与目标IP地址192. 16.2.2相匹配的路由表项,然后根据路由表的下一跳地址将数据包转发到E1接口。此时路由器A的E1接口并不知道路由器B的E1接口,先进行ARP请求,获得路由器BE1接口的MAC地址为44-44,然后数据会在路由器A的E1接口进行第二次封装,源MAC地址就是33-33,目标MAC地址就是44-44。

数据进入路由器B之后,会进行第二次解封装,去除MAC头部,查看到IP地址,并与路由表进行匹配,然后根据路由表的下一跳信息将数据包转发到E0接口,路由器B发现目的网段与自己的E0口直接相连,但是不知道目的网段的MAC地址,会进行ARP请求,查找主机B的MAC地址为66-66,此时数据会在路由器B的E0口进行第三次封装,源MAC地址为55-55,目的MAC地址为66-66,然后就可以将封装的数据发送给主机B了。
在这里插入图片描述

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值