OSI&&tcp_ip

osi七层模型

  • 应用层:各种应用协议
  • 表示层:数据的格式化,加解密,压缩解压等
  • 会话层:建立、管理、终止实体之间的会话链接
  • 传输层:数据的分段和重组 端到端的数据服务
  • 网络层:将分组从源端传到目的端;逻辑寻址
  • 数链层:将分组数据封装成帧;实现两个相邻节点的通信
  • 物理层:在介质上传输比特;机械和电气规定

tcp/ip

  • 应用层:提供应用程序网络接口
    • http、telnet、ftp、tftp
  • 传输层:建立端到端的链接
    • tcp、udp
  • 网络层:寻址与路由选择
    • ip
  • 数链层:物理介质访问
    • ethernet、ppp、802.3
  • 物理层:二进制数据流传输
    • 接口和线缆

物理层

物理层设备

  • 网络适配器
  • 集线器
  • 分线器
  • 中继器
  • 调制解调器
  • 光纤收发器

数据链路层

传输数据帧的层次:

数据成帧,帧的传输以及差错处理,数据链路的通路管理等等几个问题

帧头包含原mac地址,目的mac地址等等信息,帧尾包含fsc,用于纠错处理。

差错控制技术:

原端—>通信信道---->目的端

在源端解码错误 在信道产生噪音干扰

流量控制:

控制对方的流量的发送速率,不超过接收端的处理能力

链路管理:

数据链路的建立,维持和释放

局域网技术:

局域网标准化委员会(简称IEEE 802委员会)定义了多种主要的LAN网:以太网(Ethernet 802.3)、令牌环网(Token Ring 802.5)、光纤分布式接口网络(FDDI 802.8)、异步传输模式网(ATM)、无线局域网(WLAN 802.11)。

IEEE 802.3

描述带冲突检测的载波监听多路访问(CSMA/CD)的访问方法和物理层规范

IEEE 802.11

描述无线局域网访问控制方法和物理层技术规范(1999)

局域网只涉及OSI的物理层和数据链路层。当不同的局域网需要在网络层实现互连时,可以借助其他已有的通用网络层协议(如IP协议)实现。局域网的数据链路层分为逻辑链路控制(LLC)和介质访问控制(MAC)两个功能子层,

MAC子层负责与硬件参数相关部分,所以靠近物理层

  1. ​ 数据帧的封装
  2. ​ 帧的寻址与识别
  3. ​ 帧的接收与发送
  4. ​ 链路的管理
  5. ​ 帧的差错控制

mac地址:网卡的mac地址都是唯一的,可以用命令去改变但是容易造成局域网震荡

mac地址前二十四位由IEEE给出,后二十四位由运营商自行分配

LLC子层负责与硬件无关的部分,所以靠近网络层

以太网技术

以太网是出现最早的局域网,也是目前最常见、最具有代表性的局域网,它是当今TCP/IP采用的主要的局域网技术。CSMA/CD(Carrier Sense Multiple Access/Collision Detection),即载波监听多路访问/冲突检测,是早期共享式以太网用于解决冲突的协议,即介质访问控制方。CSMA/CD 的工作原理:先听后发,边发边听,冲突停发,随机延迟后重发

冲突域:

在共享介质上,当两个节点同时传输数据时,从两个设备发出的帧在物理介质上相遇,从而发生碰撞,彼此数据都被破坏,即称为冲突。

广播域:

在以太网中,如果一个结点发送广播数据包,那么这个局域网网络中的其它结点也将会收到这个广播数据包。

交换式以太网

核心是交换机,采用全双工,不共享通信介质,由交换机负责转发数据帧,不会产生冲突

交换式以太网中,交换机的每个端口构成了一个冲突域。

交换式以太网中的所有结点也构成了一个广播域。

交换机工作原理

交换机工作于数据链路层,可以识别数据包中的MAC地址信息,根据MAC地址进行转发,并将这些MAC地址与对应的端口记录在自己内部的一个地址表中。

(1)当交换机从某个端口收到一个数据包,它先读取包头中的源Mac地址,这样它就知道源Mac地址的机器是在哪个端口上的;

(2)再去读取包头中的目的Mac地址,并在地址表中查找相应的端口;

(3)如表中有与这目的地址对应的端口,把数据直接复制到这端口上;

(4)如果表中找不到相应的端口则把数据包广播到所有端口上,当目的机器对源机器回应时,交换机又可以学习一目的Mac地址与哪个端口对应,在下次传送数据时就不再需要对所有端口进行广播了。

​ 不断的循环这个过程,对全网的Mac地址信息都可以学习到,交换机就是这样建立和维护它自己的地址表。

交换机的分类

按网络结构位置划分,可划分为:接入层交换机、汇聚层交换机和核心层交换机。

●核心层交换机:

​ 一般采用机箱式模块化设计,机箱中可承载管理模块、光端口模块、高速电口模块、电源等,具有很高的背板容量。

●汇聚层交换机:

​ 可以是机箱式模块化交换机,也可以是固定配置的交换机,具有较高的接入能力和带寬,一般会包含光纤端口、高速电口等端口;

●接入层交换机:

​ 一般是固定配置的交换机,端口密度较大,具有较高的接入能力,以10/100M端口为主,以固定端口或扩展槽方式提供1000Mbps的上联端口。

网络层

网络层主要是将数据包从源端找到合适网络路径送达目标端,由于上层下来的报文通常很长,不适合直接在分组交换的网络中传输,网络层规定了数据单元的类型和格式,将其称为包,它完成传输层报文和网络层分组间的相互转换。

因此,在发送端,网络层负责将传输层报文拆成一个一个分组,在接收端,网络层负责将分组组装成报文交给传输层处理,这种将长的报文分割成若干短的分组进行多次传输,即以分组为单位的转发方式称为分组交换(包交换)

作用:

路由转发:源与目的主机之间可能存在多条相通的路径,网络层选择一条“最佳”路径完成数据转发

拥塞控制:合理分配数据包的转发路径,提高转发效率

异种网络的互连:当源主机和目标主机的网络不属于同一种网络类型时,为了解决不同网络在寻址、分组大小、协议等方面的差异,要求在不同种类网络交界处的路由器能够对分组进行处理,使得分组能够在不同网络上传输。

传输层

传输层定义了主机应用程序之间端到端的连通性。传输层中最为常见的两个协议分别是传输控制协议TCP(Transmission Control Protocol)和用户数据包协议UDP(User Datagram Protocol)

TCP:

TCP是一种面向连接的传输层协议,可提供可靠的传输服务

TCP允许一个主机同时运行多个应用进程。每台主机可以拥有多个应用端口,每对端口号、源和目标IP地址的组合唯一地标识了一个会话。端口分为知名端口和动态端口。有些网络服务会使用固定的端口,这类端口称为知名端口,端口号范围为0-1023。如FTP(20 21)、HTTP(80)、Telnet(23)、SNMP(25)服务均使用知名端口。动态端口号范围从1024到65535,这些端口号一般不固定分配给某个服务,也就是说许多服务都可以使用这些端口。只要运行的程序向系统提出访问网络的申请,那么系统就可以从这些端口号中分配一个供该程序使用。

报文详情:
  • TCP通常使用IP作为网络层协议,这时TCP数据段被封装在IP数据包内。
  • TCP数据段由TCP Header(头部)和TCP Data(数据)组成。TCP最多可以有60个字节的头部,如果没有Options字段,正常的长度是20字节。
  • TCP Header是由如上图标识的一些字段组成,这里列出几个常用字段。
  • 16位源端口号:源主机的应用程序使用的端口号。
  • 16位目的端口号:目的主机的应用程序使用的端口号。每个TCP头部都包含源和目的端的端口号,这两个值加上IP头部中的源IP地址和目的IP地址可以唯一确定一个TCP连接。
  • 32位序列号:用于标识从发送端发出的不同的TCP数据段的序号。数据段在网络中传输时,它们的顺序可能会发生变化;接收端依据此序列号,便可按照正确的顺序重组数据。
  • 32位确认序列号:用于标识接收端确认收到的数据段。确认序列号为成功收到的数据序列号加1。
  • 4位头部长度:表示头部占32bit字的数目,它能表达的TCP头部最大长度为60字节。
  • 16位窗口大小:表示接收端期望通过单次确认而收到的数据的大小。由于该字段为16位,所以窗口大小的最大值为65535字节,该机制通常用来进行流量控制。
  • 16位校验和:校验整个TCP报文段,包括TCP头部和TCP数据。该值由发送端计算和记录并由接收端进行验证。

在这里插入图片描述

TCP是一种可靠的,面向连接的全双工传输层协议。

TCP连接的建立是一个三次握手的过程。如图所示:

主机A(通常也称为客户端)发送一个标识了SYN的数据段,表示期望与服务器A建立连接,此数据段的序列号(seq)为a。

服务器A回复标识了SYN+ACK的数据段,此数据段的序列号(seq)为b,确认序列号为主机A的序列号加1(a+1),以此作为对主机A的SYN报文的确认。

主机A发送一个标识了ACK的数据段,此数据段的序列号(seq)为a+1,确认序列号为服务器A的序列号加1(b+1),以此作为对服务器A的SYN报文的确认。

在这里插入图片描述

TCP连接的终止则要经过四次握手。

如图所示:

主机A想终止连接,于是发送一个标识了FIN,ACK的数据段,序列号为a,确认序列号为b。

服务器A回应一个标识了ACK的数据段,序列号为b,确认序号为a+1,作为对主机A的FIN报文的确认。

服务器A想终止连接,于是向主机A发送一个标识了FIN,ACK的数据段,序列号为b,确认序列号为a+1。

主机A回应一个标识了ACK的数据段,序列号为a+1,确认序号为b+1,作为对服务器A的FIN报文的确认。

以上四次交互便完成了两个方向连接的关闭。

UDP

UDP是一种面向无连接的传输层协议,传输可靠性没有保证

UDP头部仅占8字节,传输数据时没有确认机制

使用场景

UDP适合传输对时延敏感的流量,如语音和视频。

在使用TCP协议传输数据时,如果一个数据段丢失或者接收端对某个数据段没有确认,发送端会重新发送该数据段。

TCP重新发送数据会带来传输延迟和重复数据,降低了用户的体验。对于时延敏感的应用,少量的数据丢失一般可以被忽略,这时使用UDP传输将能够提升用户的体验
议,传输可靠性没有保证

UDP头部仅占8字节,传输数据时没有确认机制

使用场景

UDP适合传输对时延敏感的流量,如语音和视频。

在使用TCP协议传输数据时,如果一个数据段丢失或者接收端对某个数据段没有确认,发送端会重新发送该数据段。

TCP重新发送数据会带来传输延迟和重复数据,降低了用户的体验。对于时延敏感的应用,少量的数据丢失一般可以被忽略,这时使用UDP传输将能够提升用户的体验

  • 19
    点赞
  • 17
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值