计算机网络学习01-TCP/IP 五层模型概述

TCP/IP 五层模型

01 协议分层

谈论计算机网络模型之前,我们先来谈谈,为什么要分层,这样的好处是什么。

当谈到Internet 时,我们总能听到的一个词汇就是协议(protocol)。协议定义了发送者、接收者和所有中间设备为了高效通信需要遵循的规则。当通信简单时,我们可能只是需要一个简单的协议:当通信复杂时,我们可能需要把任务划分到不同层,每层需要一个协议,也就是说需要协议分层( protocol layering )。

  • 协议分层允许我们将一个复杂的任务分解成几个较小的、简单的任务。(把复杂的任务划分为多个简单的子任务)。
  • 协议分层的优越性之一是它允许我们将服务从实现中分离出来。(这一层的服务只需要接收低层的服务,向高层提供服务,并且不用关心这一层是如何实现的)。
  • 协议使得通信不只是用于两个端系统,中间系统只需要一些层次而不是所有的层次。

02 五层模型

TCP/IP 五层模型从高层到底层分别为应用层,传输层,网络层,数据链路层,物理层。TCP/IP 五层模型图例其中,应用层、传输层和网络层的任务是端到端的(end-to-end)。但是数据链路层和物理层的任务是点到点的(hop-to-hop)其中一个跳步是一个主机或路由器。也就是说,高三层的任务范围是互联网,低两层的任务范围是链路。TCP/IP协议簇中的对等体

应用层

应用层的任务是进程与进程的通信,这一层交换的是消息
应用层的协议有

  • HTTP (Hypertext Transfer Protocl) 超级文本传输协议,是访问万维网(World Wide Web,WWW)的载体。
  • SMTP (Simple Mail Transfer Protocol) 简单邮件传输协议,是电子邮件(e-mail服务的主要协议。
  • FTP(File Transfer Protocol)文件传输协议,用于将文件从一台主机传输到另一台主机。
  • TELNET(TerminalNetwork)远程登录。
  • SSH (Secure Shell)安全外壳,TELNET 和 SSH 用于访问远端的站点。
  • SNMP(Simple Network Management Protocol)简单网络管理协议,对Internet全局或局部进行管理。
  • DNS(Domain Name System)域名系统,使其他的协议能够查询一台计算机的网络层地址。
  • IGMP(Interet Group Management Protocol)因特网组管理协议,用于管理一个组的成员资格。

传输层

传输层的分组格式为(TCP中)或用户数据报(UDP中)。
传输层的协议有

  • TCP (Transmission Control Protocol) 传输控制协议, 是一个面向连接的协议,它在传输数据之前,首先在两台主机的传输层之间建立一条逻辑连接。TCP 协议在两个 TCP 层之间创建一个管道,以便传输字节流。TCP 协议提供流量控制(匹配源主机的发送数据速率与目的主机的接收数据速率,以防止目的主机溢出)、差错控制(保证数据段无差错到达目的地和重新发送受损的数据段)拥塞控制(减少由于网络拥造成的数据段失)。
  • UDP(User Datagram Protocol)用户数据报协议,是一种无连接协议,它传输用户数据报之前不需要创建逻辑连接。在UDP中,每个用户数据报是一个独立的实体,它和前一个或后一个用户数据报没有关系(无连接就是这个意思)。UDP 是一种比较简单的协议,它不提供流量控制、差错控制或拥塞控制。它的简单性(意味着小的额外开销对某些应用程序具有吸引力,这些应用程序发送较短的消息且不能容忍TCP在分组损坏或丢失时使用重发机制。
  • SCTP(Stream Control TransmissionProtocol)流控制传输协议,是一种新协议,它是为多媒体出现的新应用设计的。

网络层

网络层的分组格式为数据报
网络层的主要协议是IP协议,还有一些帮助IP协议工作的辅助协议。

  • IP(Intermet Protocol) 因特网协议,因特网协议定义了在网络层称为数据报的分组格式。IP 同时定义了在这一层使用的地址格式结构。与此同时,IP负责从源主机把一个分组路由到目的主机。这种功能主要是通过每个路由器都将数据报转发到路径上的下一个路由器而实现的。
  • ICMP(Internet ControMessage Protocol)因特网控制报文协议,帮助IP 报告在路由一个分组时遇到的问题。
  • IGMP(Internet Group Management Protocol)因特网组管理协议,协助IP进行多任务处理。
  • DHCP(DynamicHost Configuration Protocol)动态主机配置协议,帮助IP 获取一台主机的网络层地址。
  • ARP (Address Resolution Protocol)址解析协议, 在网络层地址已知时,帮助IP寻找一台主机或一台路由器的链路层地址。

数据链路层

数据链路层的分组格式为 (frame)。
数据链路层没有特定的协议,它支持所有标准和私有的协议。

物理层

物理层之间的逻辑单元为比特 (bit)。

03 一些概念

封装和解封装

封装,就是由 源主机的消息 从高层往低层,层层“加头/尾部”(有效载荷)的过程。解封装,就是目的主机由底层往高层层层呢个移出有效载荷的过程。

地址

TCP/IP协议簇中的地址
应用层的这个名字,是服务站点如baidu.com, 电子邮件地址如666666@qq.com芸芸。端口号,port,做网络通信如socket通信的时候用的。网络层的逻辑地址就是IP地址,是分配的,并不唯一。链路层的MAC地址是唯一的,每个链路层地址用于在网络(LAN 或WAN)中定义一个特定的主机或路由器。

多路复用 多路分解

由于 TCP/IP协议簇在一些层次使用多个协议,因此我们在源端需要进行多路复用multiplexing)在目的端需要进行多路分解(demultiplexing)。在这种情况下,多路复用的意思是一个协议能够封装来自多个上层协议的分组(一次一个)多路分解的意思是一个协议能够进行解封装并且将分组投递到多个上层协议(一次一个)。
多路复用与多路分解
这就要求了协议中要带有用于标识该被封装的分组属于哪种协议的头部字段。

OSI模型

ISO (IntermationalOrganization for Standardization)国际标准化组织
OSI(OpenSystemsInterconnection)开放系统互连
ISO是一个组织;0SI是一种模型。
OSI模型有七层
OSI模型
对于这种决定,提到的原因有两点。首先,TCP/IP存在一种以上的传输层协议。一些会话层的功能在一些传输层协议中已经存在。其次,应用层不只有一个软件,可以在这一层开发很多应用。如果一个特定的应用需要会话层和表示层的一些功能,那么可以在开发那个软件时包含进去。但是OSI模型是未成功的,一是出现的太晚,二是定义不完成也没开发,三是性能也没提高多少。经典马后炮了属于是。

04 七层参考模型 每层的作用

  1. 应用层:网络服务与最终用户的一个接口。这一层为用户的应用程序(例如电子邮件、文件传输和终端仿真)提供网络服务。
  2. 表示层:数据的表示、安全、压缩。主要是进行对接收的数据进行解释、加密与解密、压缩与解压缩等(也就是把计算机能够识别的东西转换成人能够能识别的东西(如图片、声音等)。
  3. 会话层:通过传输层(端口号:传输端口与接收端口)建立数据传输的通路。主要在你的系统之间发起会话或者接受会话请求。
  4. 传输层:定义了一些传输数据的协议和端口号( WWW 端口 80 等),如:TCP(传输控制协议,传输效率低,可靠性强,用于传输可靠性要求高,数据量大的数据),UDP(用户数据报协议,与TCP 特性恰恰相反,用于传输可靠性要求不高,数据量小的数据,如 QQ 聊天数据就是通过这种方式传输的)。 主要是将从下层接收的数据进行分段和传输,到达目的地址后再进行重组。常常把这一层数据叫做段。
  5. 网络层:进行逻辑地址寻址,在位于不同地理位置的网络中的两个主机系统之间提供连接和路径选择。Internet的发展使得从世界各站点访问信息的用户数大大增加,而网络层正是管理这种连接的层。
  6. 数据链路层:建立逻辑连接、进行硬件地址寻址、差错校验等功能。定义了如何让格式化数据以帧为单位进行传输,以及如何让控制对物理介质的访问。将比特组合成字节进而组合成帧,用MAC地址访问介质。
  7. 物理层:主要定义物理设备标准,如网线的接口类型、光纤的接口类型、各种传输介质的传输速率等。它的主要作用是传输比特流(就是由1、0转化为电流强弱来进行传输,到达目的地后再转化为1、0,也就是我们常说的数模转换与模数转换)。这一层的数据叫做比特。

01-总结了TCP/IP 五层模型用到的协议和一些基础概念,后面的章节将展开介绍如何封装和解封装有效载荷,TCP如何保证传输的可靠性,如何实现流量控制,差错控制,拥塞控制等等内容。

  • 4
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值