tcp/ip体系结构

一、网络OSI参考模型七层结构

  • 计算机网络是一个非常复杂的系统,俩个计算机系统必须高度协调才能相互通信。

  • 为了设计该网络,人们采取分层的思想,将庞大而复杂的问题转化为若干较小的问题

  • 为了实现不同体系结构的网络通信和信息交换,ISO国际标准化组织制定了一个描述 网络通信所需要的全部功能的总框架,OSI(七层网络模型)

  • OSI参考模型,自下而上分别是 物理层数据链路层网络层传输层会话层表示层应用层。每层实现相对独立的功能,通过接口为上层提供服务。

    • 物理层:负责在俩个相邻节点间 透明的传输比特流;它为在物理媒体上传输的位流 建立规则;定义电缆如何连接网卡上,用何种传送技术在电缆上发送数据,定义了位同步及检查。本层的协议数据单元为比特,工作在物理层的设备有 集线器,中继器,放大器

    • 数据链路层(链路:是一条 点到点的物理线路,中间没有任何其他的交换节点):计算机之间的通路往往是由许多链路串接而成的。数据链路层的任务就是将 网络层下来的数据组装成帧,在俩个相邻节点间的链路上无差错的传递以帧为单位的数据。每一帧包括数据和控制信息,控制信息界定边界和帧检测。

    • 网络层:俩个计算机之间的通信,可能经过多个节点和链路,或 由路由器互联的子网。网络层的任务 是 为每台计算机编址路由选择,使 发送方的传输层的分组 能够 正确的按着地址找到目的方,并交付给目的方的传输层。网络层的数据传输单位是 分组或包(packet),包太大可能被分片,然后在目的节点上进行重组。网络层设备 包括 路由器,包过滤防火墙。

      • 设备层次特点
        集线器、中继器物理层共享方式,在一个端口向另外一个端口发送信息时候,其他端口就不能再由信息传递
        网桥、交换机链路层根据MAC地址寻址,通过站表选择转发接口。不同接口属于不同冲突域,属于同一个广播域。
        路由器网络层连接不同网络,根据IP地址进行子网划分和寻路,支持多个广播域
    • 传输层:主要任务是为俩个主机上的进程 之间 建立 一条传输链路,透明的传送报文。报文是传输层的传送单位,当报文较长时,要先分割成分组,然后交给网络层。

    • 会话层:不参与具体的数据传输,它在俩个互相通信的进程之间建立、协调交互方式,如 确定双工或单工

    • 表示层:解决用户信息的语法表示问题

    • 应用层:是用户的应用程序访问网络服务的地方,它负责整个网络因公程序的工作。

二、TCP/IP体系结构

  • 现在规模最大,覆盖全世界的Internet 并没有使用OSI标准,而是使用TCP/IP 体系结构,是一个四层体系结构。包括 网络接口层网络层传输层应用层

  • 网络接口层:包括操作系统的设备驱动程序和计算机中对应的网络接口卡。作用是从网络层接收数据包,把数据包进一步处理成数据帧,通过网络设备进行传输,或从网络上(链路层)接收数据帧,解开数据帧为数据包 交给网络层。该层相当于OSI模型的物理层+数据链路层

  • 网络层:他负责把信息从一台主机传送到指定接受的另一台主机。在TCP/IP协议簇中,网络层协议包括IP协议,ARP/RARP协议,ICMP协议,ICMP协议

  • 传输层:为俩台主机的应用提供端到端的通信。主要包括,TCP和UDP协议。

  • 应用层:负责处理特定的应用程序细节,包括http,ftp,smtp等

  • 请添加图片描述

三、链路层

  • TCP/IP支持多种链路层协议,比如以太网,令牌网,FDDI网络等

  • 以太网数据帧,链路层协议数据单元为帧,包括帧头和数据。数据可以是IP数据包,或ARP/RARP请求应答包。

  • 以太网v2帧

  • 目标地址(DA)源地址(SA)类型数据填充帧检验序列(FCS)
    6字节,接收者网卡接口地址48位6字节,发送者网卡接口地址48位2字节,报文类型上层协议内容,46-1500字节小于46字节,
    • 目标地址:6字节,接收者网卡接口地址48位
    • 源地址:6字节,发送者网卡接口地址48位
    • 类型:报文类型,2字节
    • 数据:上层协议内容,46-1500字节
    • 填充:小于46字节,数据字段小于46字节,则填充
    • 帧检验序列:4字节
  • 实际传送的比MAC帧多8字节,包含俩个字段。第一个字段7个字节,用于接收端和发送端时钟同步。第二个字段 是帧开始定界符:10101011

  • 最小传输单元,以太网最小传输单元46字节。

  • 最大传输单元,链路层对帧的数据部分有最大长度限制,以太网最大MTU1500字节,因此以太网数据帧最大长度1518字节。如果IP层传送的数据长度大于MTU,IP数据包需要分片,使得每个分片不大于MTU

  • 路径MTU,俩个通信主机 经过多个网络,每个网络的链路层有不同的MTU,那么这条通路上的最小的MTU为路径MTU

  • 一个IP数据包分片后,分片在网络上独立传输,到达目的后进行重组。重组在目的端的IP层完成。因此,分片和重组对于传输层是透明的

  • 网络接口卡,每个接入网络的设备必须友哥网络接口卡,网卡上MAC(media Access Control)地址。

四、网络层

  • 网络层作用是把信息从一台主机传送到指定接收的主机。网络层协议包括,ARP/RARP协议,ICMP协议,IGMP协议。

  • IP协议

    • TCP、UDP、ICMP、IGMP数据都是以IP 数据包的格式传输。

    • IP地址:网络接口卡可以有俩个以上的IP地址

    • IP地址分为A,B,C,D,E;E类地址暂未使用;D类地址一般用于多播地址

    • 子网和子网掩码:把主机号的前几位作为i子网号,其余的作为主机号。

    • IP报文格式

    • 请添加图片描述

    • 版本:4位,IP协议版本,目前主流为4,IPv4.

    • 首部长:4位,IP包头长度,以4字节为单位。首部长度>=5字节

    • 服务类型:8位,包括3位优先权字段(基本不用),4位TOS(服务类型)字段,最后以为0。TOS分别标识最小延时,最大吞吐量,最高可靠性,最小费用

    • 总长度:IP数据包的总长度,字节为单位。IP包最大长度,65535

    • 标识:数据包的ID号,当IP包出现分片时,每个分片ID号相同。

    • 生存周期:ttl,表示允许经过最大路由器数。没经过一个路由器ttl-1,0时丢弃报文

    • 协议类型:指数据包携带的数据部分使用的协议,使目的主机IP层知道上交给哪个处理。ICMP:1,ICMP:2,TCP:6,EGP:8,UDP:17

    • 校验和:根据IP头部计算的校验和,不对数据部分计算,上层协议有自己的校验和

    • 源地址:发送方的IP地址

    • 目的地址:接收方IP地址

    • 选项:包括安全和处理限制,记录路由,时间戳,源路由选项

  • 地址解析协议ARP

    • 网络层使用IP地址,网络的链路层使用的数据帧
    • 作用使位IP地址找到MAC地址
  • 反向地址解析协议RARP

    • 主机从自己的网卡读取MAC地址,发送RARP请求(广播),请求其他主机响应自己的IP地址
  • 广播

    • 一个主机向网络上所有其他主机发送数据的情况

    • 网卡只接受目的地址为自己的MAC地址或广播地址(ff:ff:ff:ff:ff:ff),若网卡被设置为混杂模式,则它可以接收每个数据帧。

    • 设备驱动程序进行帧过滤,帧类型指明了网络层协议(IP,ARP)

    • IP协议根据IP地址的源地址和目的地址,交给上层TCP或UDP

    • TCP/UDP收到数据后,根据源目的端口过滤,当前没有进程是以哦那个该端口,则丢弃,产生一个ICMP不可达

    • 链路层广播使用链路层广播地址MAC;IP层广播,多播使用特定IP地址。

    • 受限制的广播地址,255.255.255.255,该地址用于主机自动IP地址配置,任何路由器不转发目的地址为受限的广播地址。

  • 控制报文协议ICMP

    • ICMP是IP层,传递差错信息,如PING 采用的ICMP协议。

五、传输层

  • TCP/IP协议族的传输层包括TCP 和UDP。TCP提供有链接的,可靠的数据传输服务;UDP提供无连接,不可靠的传输服务

  • TCP

    • 请添加图片描述

    • 源端口号和目标端口号,用于标识发送端和接收端应用进程。源IP地址,目的IP地址,源端口号,目标端口号唯一确定一个TCP连接

    • 序号:TCP数据流的标识号,32位无符号数。TCP面向流的,传送的报文可以看成是连续的数据流,TCP为每个数据流中每个字节分配一个序号。整个数据的起始序号在连接建立时确定,头部中的序号指报文数据部分的第一个字节的序号。

    • 确认号:ACK,接收端希望收到下一个报文段的数据的第一个字节的序号,等于上次已成功接收的数据段的最后一个字节的序号+1

    • 首部长度:包括 选项 部分的首部长度,以32为一个单位,最大长度60字节

    • 保留:暂无用处 为0

    • 标志位:

      • 紧急位URG,1标识紧急指针有效,需要紧急处理。URG时发送端向接收端发送紧急数据的方式
      • 确认位ACK,确认号有效
      • 推送位PSH,表示发送方希望接收方尽快将包交给应用层处理,不再等待缓存填满
      • 连接重置位RST,表示TCP连接出现严重差错,必须释放连接,然后重新建立连接
      • 同步位SYN,TCP请求时1
      • 终止位FIN,用来释放一个连接
      • 窗口,TCP流量控制通过连接的每个端申明自己的窗口大小实现,窗口大小表明接收期望的字节数,最大65535
  • TCP三次握手哦

    • 请添加图片描述

      主机1发出连接请求报文 syn=1,no=123456

    • 主机2收到连接请求后,记录下主机1的初始序号,主机2发送一个应答报文,应答报文包含主机2的初始序号 ack=1,no=123457,syn=1,34567

    • 主机1收到主机2请求后,主机1发送一个应答报文,ack=1,no=34568

    • 此时,俩个主机TCP连接已建立。

  • TCP数据传输

    • 建立好的TCP连接任何一方可以发送数据,接受对方的数据必须发送确认包,如果发送方在一定时间内没有收到对方的确认,则必须重传
  • TCP连接终止

    • TCP连接时全双工的,连接俩个方向可以同时传递数据,每个方向必须单独关闭。
    • 请添加图片描述
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

小哥(xpc)

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值