2,网络参考模型

pass:仅代表个人理解,有不当之处,请见谅

目标

明白各个网络模型含义

遗留问题:明白tcpdump中的{Flags [P.]} 字段含义

复习TCP三次握手,四次挥手,

可以自己口述握手、挥手过程 理解每个字段含义

理解Control字段中所有标识位的含义

跨设备访问需要携带mac地址吗

同vlan下的不同网段是否可以获取到ARP

什么是PDU

基础概念:

什么是数据:数据是各种信息的载体

数据传输:数据在不同设备之间的传递

PDU:协议数据单元

osi七层模型:

物理层:在媒介上传输比特流;提供电气和机械规约

数据链路层:把分组数据转换成帧格式,提供点到点、点到多点的数据传输;差错检测。(MAC、ARP、广播、CSMA/CD)

网络层:定义逻辑地址(IP地址),实现数据从源到目的地的转发

传输层:建立、维护、取消一次端到端的数据传输;控制传输节奏的快慢以及数据的排序(TCP/UDP)

会话层:在通信双方建立、管理和终止会话

表示层:进行数据格式的转换,已确保一个系统生成的应用层数据能被另一个系统的应用层所识别和理解

应用层:对应用层提供接口

TCP/IP参考模型:

tcp/ip的四层参考模型分别是 网络接入层、网际互联层、传输层、应用层

网络接入层分别对应:OSI七层模型中的物理层和数据链路层

网际互联层对应网络层

传输层对应传输层

应用层分别对应:会话层、表示层、应用层

TCP/IP常见协议:

物理层:.。。。有什么协议???

数据链路层:PPPOE(以太网点对点协议),Ethernet(以太网技术标准,IEEE802.3),PPP(点对点协议)

网络层:ICMP(控制报文协议),IGMP(组管理协议),IP(网际互连协议)

传输层:TCP(是一种面向连接的、可靠的、基于字节流的通信协议),UDP(面向无连接的传输协议) 会话层:telnet远程登陆协议,FTP文件传输协议,TFTP简单文件传输协议,SNMP简单网络管理协议,HTTP超文本传输协议,SMTP简单邮件传输协议,DNS域名解析系统,DHCP动态主机配置协议

基于Etherenet协议构成的网络类型称为:以太网/广播网类型实现多点之间的链接;属于MA(多路访问)网络

基于PPP协议构建的网络类型:P2P(点到点网络),只有两个节点组成,点到点通信

TCP:报文格式

control字段中

TCP Flags(tcp header第十四个字节)
        我们再仔细看下上面提到的flags概念,flags位于tcp header的第十四个字节,包含8个比特位,也就是上图的CWR到FIN。这8个比特位都有特定的功能用途
分别是:CWR,ECE,URG,ACK,PSH,RST,SYN,FIN。
        CWR ,ECE 两个flag是用来配合做congestion control的,一般情况下和应用层关系不大。发送方的包ECE(ECN-Echo)为0的时候表示出现了congestion,接收方回的包里CWR(Congestion Window Reduced)为1表明收到congestion信息并做了处理。我们重点看其他六个flag。
        URG URG代表Urgent,表明包的优先级高,需要优先传送对方并处理。像我们平时使用terminal的时候经常ctrl+c来结束某个任务,这种命令产生的网络数据包就需要urgent。
        ACK 也就是我们所熟悉的ack包,用来告诉对方上一个数据包已经成功收到。不过一般不会为了ack单独发送一个包,都是在下一个要发送的packet里设置ack位,这属于tcp的优化机制,参见delayed ack。
        PSH Push我们上面解释过,接收方接收到P位的flag包需要马上将包交给应用层处理,一般我们在http request的最后一个包里都能看到P位被设置。
        RST Reset位,表明packet的发送方马上就要断开当前连接了。在http请求结束的时候一般可以看到一个数据包设置了RST位。
        SYN SYN位在发送建立连接请求的时候会设置,我们所熟悉的tcp三次握手就是syn和ack位的配合:syn->syn+ack->ack。
        FIN Finish位设置了就表示发送方没有更多的数据要发送了,之后就要单向关闭连接了,接收方一般会回一个ack包。接收方再同理发送一个FIN就可以双向关闭连接了。
        这8个flag首字母分别是:C E U A P R S F。初看难以记忆,我脑洞了下,把它们组合成 supr cafe,当然少了super少了个e,我可以将就下。我们在使用tcpdump的时候会经常看到这几个flag,[S],[P],[R],[F],[.]。其他几个都好理解,[.]特殊点,是个占位符,没有其他flag被设置的时候就显示这个占位符,一般表示ack。

三次握手:

表述: 首先PC1 SYN包请求建立连接,此时seq=a,ack=0; pc2收到后回复SYN请求建立连接以及ack确认连接。此时seq=b,ack=a+1; pc1收到后回复ack确认连接,此时seq=a+1,ack=b+1

TCP使用序列号(seq)与确认序列号(ack)保证数据的可靠与有序传输

  1. 表述:pc1发送数据载荷长度为12字节,此时seq=a+1,ack=b+1
  2. 此时ack值等于a也就是 a+1后的值,pc2收到后回复seq=b+1,ack=a+1+12(数据载荷的长度信息)
  3. pc1收到回复后继续发送数据载荷长度为66字节,此时seq = a+13,ack=b+1
  4. pc2确认收到后回复seq=b+1,ack=a+1+66(数据载荷的长度信息)
  5. pc1的ack字段没有增长是因为pc1是发送端,且接收端返回的载荷长度为0
  6. 在此过程中如果pc2未按照预定值返回对应ack,pc1会从pc2返回的数据载荷长度返回对应数据包

TCP的窗口滑动机制控制传输速率

  1. 在三次握手建立连接的过程中会协商win的大小,例如协商值为3
  2. 建立连接后pc1会一直发送数据直至win窗格满载
  3. 如果win窗口满载后pc2及时处理数据,直至处理出空闲窗口,然后然回复ack=最后收到的包的序列号+1,win=空闲的窗口数量,flags=确认连接还存在
  4. pc1收到后继续发送

TCP的关闭:四次挥手

  1. 表述:pc1发送fin请求断开,ack让对方确认是否收到
  2. pc2发送ack表示收到信息
  3. pc2发送fin确认端口,ack让对方确认是否收到
  4. pc1发送ack确认收到,连接断开

TCP和UDP报文格式

TCP:是一种面向连接的、可靠的、基于字节了的传输通信协议

UDP:一个无连接的传输协议

网络层:

含义:
传输层是负责进程之间的连接,网络层则负责数据从一台主机到另一台之间的传递
网络层的PDU被称为 Packet(包)
作用:
为网络中的设备提供逻辑地址也就是IP地址
负责数据包的寻径和转发
常规协议中有:IPv4,IPv6,ICMP,IGMP
ICMP:internet控制报文协议
IGMP:internet组管理协议

数据链路层:

数据链路层工作在网络层和物理层之间,可以向网络层的IP,IPv6等协议提供服务
数据链路层的PDU被称为Frame(帧)
以太网(Ethernet)是常见的数据链路层协议

数据链路层想网络层提供段内通信
负责组帧,物理编制(MAC),差错控制
常见的数据链路层协议有PPP,Ethernet,PPPOE,
PPP:点对点协议,为点对点连接上传输协议数据包提供一个标准方法
PPPOE:以太网的点对点协议,是将点对点协议封装在以太网(Ethernet)框架中的一种网络隧道协议

以太网(Ethernet)协议:

以太网协议是一种广播式数据链路层协议,支持多点接入
个人电脑的接口遵循的就是以太网协议
一般情况下,一个广播域对应一个IP网段

MAC地址:

MAC地址也可以称为以太网地址/物理地址
MAC(Media Access Control)地址在网络中唯一标识一个网卡,每个网卡都需要且会有唯一的一个MAC地址
MAC地址用于在一个IP网段内,寻找具体的物理地址
工作在数据链路层的设备,例如以太网交换机,会维护一张MAC地址表,用于知道数据帧的转发
MAC出厂自带,,具体唯一行,总长度为48bit
表示形式:使用十六进制进行标识,类似于XXXX-XXXX-XXXX(一个X就是一个16进制数,1个十六进制书=4bit的二进制数)

MAC地址分类:
单播MAC地址:第一个字节的第8bit固定取值为0;
组播MAC地址:第一个字节的第8bit固定取值为1;
广播MAC地址:FFFF-FFFF-FFFF,48bit全为1

ARP协议:

ARP:地址解析协议;利用IP获取MAC地址
通过ARP请求报文、ARP响应报文进行地址解析
表述:数据在完成封装后比如,date数据在到传输层时添加源端口和目的端口信息,到网络层时添加源IP和目的IP信息,到数据链路层添加源mac和目的mac地址(此时不知道目的mac是多少的情况下标识为FF-FF-FF-FF-FF-FF),完成封装后发送arp请求
主机A收到arp请求报文后返回源地址和源mac,主机A收到后在本地存储arp信息
arp在TCP/IP协议中数据网络层的协议,但是在OSI七层模型中ARP属于链路层协议
ARP请求属于广播类型报文;广播报文只能在一个广播域下传输;

ARP工作原理:

物理层:

物理层位于模型的最底层
负责比特流在介质上的传输
规范了线缆、针脚、电压、接口等物理特性规范
常见的传输介质有:双绞线、光纤、电磁波等

发送数据封装过程:

表述:应用层产生数据,转入到传输层
传输层添加TCP头部信息,源端口,目的端口形成数据段转入网络层
网络层添加IP头信息;源IP,目的IP形成数据包Packet转入数据链路层
数据链路层添加帧头,帧尾;源MAC和目的MAC地址。

网络数据传输:

表述:PC封装完整数据后转发给网关设备
网关设备往上解封装查看目的MAC是否是自己,然后根据路由表,ARP表,修改目的MAC转发至下一个设备
路由设备解封装后查看目的IP,然后根据路由表,ARP表,修改MAC转发到最终设备

三层传输过程中MAC地址是改变的
二层传输MAC是固定的

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
OSI参考模型是计算机网络中一种用于理解和描述网络通信过程的框架。它由国际标准化组织(ISO)制定,并被广泛接受和应用。 该模型将网络通信过程划分为七个层次,每个层次负责特定的功能。这些层次从物理层开始,到应用层结束。以下是每个层次的简要概述: 1. 物理层:负责传输原始比特流,它规定了电压、电缆和物理接口等细节。 2. 数据链路层:负责将原始比特流组织成帧,并提供错误检测和纠正的功能。它还控制数据传输的流量。 3. 网络层:负责实现数据包的路由和转发。它决定了数据包的最佳路径,并处理不同网络之间的通信。 4. 传输层:负责提供端到端的可靠数据传输。它可以将数据分割成小的数据段,并在传输过程中对这些数据段进行排序和重组。 5. 会话层:负责在通信设备之间建立、管理和终止会话。它提供了会话控制和同步的功能。 6. 表示层:负责数据的格式化、加密和解密,以便于不同系统之间的交互和理解。 7. 应用层:负责提供用户和应用程序之间的接口。它包括各种应用协议,如HTTP、FTP和SMTP。 通过将网络通信过程划分为不同的层次,OSI参考模型提供了一种标准化的方法来设计、实现和管理计算机网络。每个层次有着特定的功能,使得网络中的不同设备和应用程序能够相互协作,实现可靠的通信。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值