网络协议之TCP

Posted baimeishaoxia

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了网络协议之TCP相关的知识,希望对你有一定的参考价值。

技术图片

为了实现计算机的通信,我们为计算机定义了一系列的通信规则,这些规则就是协议.(数据格式封装+传输)

OSI七层网络模型

OSI 七层模型通过七个层次化的结构模型使不同的网格之间实现可靠的通讯。

将复杂的流程分解为几个功能相对单一的子进程。

  • 应用层:提供网络与用户应用软件之间的接口。(网络服务与最终用户的一个接口)
  • 表示层:提供格式化的表示和转换数据服务,加密和压缩。(数据的表示、安全、压缩)
  • 会话层:提供包括访问验证和会话管理在内的建立和维护应用之间的通信机制。(建立、管理、中止会话)
  • 传输层:提供建立,维护和取消传输连接功能,负责可靠的传输数据。(定义传输数据的协议端口号,流控和差错校验)
  • 网络层:处理网络间的路由,确保数及时传送。(逻辑地址寻址,不同网络间的路径选择)
  • 数据链路层:负责无错传输数据、确认帧、发错重传等。(硬件物理地址寻址、逻辑连接、比特流差错控制)
  • 物理层:提供机械、电气、功能和过程特性。(网卡、网线、双绞线、同轴电缆)

OSI是一个理想的模型,因此一般网络系统只涉及其中的几层,很少有系统能够具有所有的7层,并完全遵循它的规定。

在7层模型中,每一层都提供一个特殊的网络功能。从网络功能的角度观察:下面4层(物理层、数据链路层、网络层和传输层)主要提供数据传输和交换功能,即以节点到节点之间的通信为主;第4层作为上下两部分的桥梁,是整个网络体系结构中最关键的部分;而上3层(会话层、表示层和应用层)则以提供用户与应用程序之间的信息和数据处理功能为主。简言之,下4层主要完成通信子网的功能,上3层主要完成资源子网的功能。

TCP/IP参考模型

TCP/IP是传输控制协议/网络互联协议的简称,早期的TCP/IP模型是一个四层结构网络接口层、互联网层、传输层、应用层.后期在使用过程中借鉴OSI七层参考模型,将网络接口层划分为物理层、数据链路层

技术图片

TCP/IP协议是传输控制/互联网协议.又称为网络通讯协议.由网络层的IP协议和传输层TCP协议组成.是一个很大的协议集合.

网络接口层(物理层和数据链路层)

没有特定的协议,支持所有的标准和专用协议.

网络接口层是TCP/IP协议的最底层.负责接收从上一层交来的数据,并且数据报通过底层的物理网络发送出去,此层没有特定的协议.

物理层:计算机传递数据的时候传递都是0和1的数字,而物理层关心的是用什么信号表示0,1是否可以双向通信,最初的连接如何建立及完成连接如何终止,物理层是为数据传输提供可靠的环境,

数据链路层:位于物理层和互联网层之间,用来向网络层提供数据(将计算机传递过来的数据传递给主机)

MAC地址:在通信过程中是用内置在网卡内的地址来标识计算机身份的,MAC地址48位的二进制组成,通常分为6段,用16进制表示(前3段为供应商标识,后3段对应网卡的唯一编号)

网络层(网络IP协议)

位于网络接口层和传输层之间,用于把数据经过若干个中间节点传送到目的主机,提供最基础的数据传输服务(路由、选址)

选址: 交换机根据mac地址寻找对应的主机,需要ip确认计算机的位置

路由: 在多条网络道路间,选择一条最短的路径

传输层(TCP传输控制和UDP用户数据报协议)

位于应用层和网络层之间,定义传输数据的协议和端口号

将数据进行分段打包传输,对每个数据包编号控制顺序,运输过程中丢、重发、丢弃处理,流量控制避免拥塞常用的有TCP、UDP

TCP: 传输控制协议.可靠,面向连接的协议,传输效率低).将数据进行分段打包传输,对每个数据包编号控制顺序.运输过程中丢失、重发、丢弃处理.

UDP: 用户数据报协议,不可靠,无连接服务,传输效率高.发送端不关心发送的数据是否到达目标主机、数据是否出错等,收到数据的主机也不会告诉 发送方是否收到了数据,它的可靠性由上层协议来保障.在数据传输时能实现最小的开销,如果进程想发送很短的报文而对可靠性要求不高可以使用

应用层(HTTP、FTP、DNS)

在应用层要把各式各样的数据如字母、数字、汉字、图片等转换成二进制

数据传输过程:

从高到低

  1. 在应用层将所有数据转为二进制.
  2. 在传输层将二进制数据进行分段处理,分割成小的数据段,并为某个分段后的数据封装上TCP报文头部.(TCP报文内部有一个字段信息标识上层协议或应用程序确保上层数据的正常通信)
  3. 在网络层将传输层封装的数据段封装上IP头部(IP头部有IP地址.用于标识网络的逻辑地址)
  4. 数据链路层.为网络层封装的数据添加上MAC地址(MAC地址就是固化在硬件设备内部的全球唯一的物理地址。)
  5. 物理层将这些二进制数字比特流转换成电信号在网络中传输

从低到高

  1. 物理层将电信信号转化为二进制数据发送到链路层
  2. 链路层中把MAC头部处理掉.并将剩余的传入网络层
  3. 在网络层将IP头部处理掉,并将剩余的传入传输层
  4. 在传输层将TCP头部处理掉,将真实的数据传入应用层

以上是关于网络协议之TCP的主要内容,如果未能解决你的问题,请参考以下文章

计算机网络—网络原理之TCP/IP协议

网络基础之网络协议

TCP/IP学习笔记之IP协议

网络协议之TCP

网络编程之TCP实现聊天

计算机网络笔记之TCP/IP 协议