网络基础】TCP/IP协议四层模型怎么理解

2020-10-21 09:47发布

3条回答
小猪仔
2楼 · 2020-10-21 09:57

 TCP/IP协议族是一个四层协议系统:

这里写图片描述

1. 数据链路层

  1.1 作用 
  (1) 实现网卡接口的网络驱动,以处理数据在以太网线等物理媒介上的传输 
  (2) 网络驱动程序隐藏了不同物理网络的不同电气特性,为上层协议提供一个统一的接口 
  1.2 协议应用 
  ARP和RARP(Reverse Address Resolve Protocol)即逆地址解析协议,该协议实现了IP地址和物理地址(MAC地址)之间的转换

2. 网络层

  2.1 作用 
  网络有分局域网(LAN, Local Area Network)和广域网(WAN, Wide Area Network)。对于后者通常需要使用众多分级的路由器来连接分散的主机或者LAN,即通讯的两台主机一般不是直接连接,而是通过多个中间节点(路由器)连接的,从而形成网络拓扑连接。 
  (1) 网络层的任务之一就是选择这些中间节点,以确定两台主机间的通讯路径。 
  (2) 其次网络层对上层协议隐藏了网络拓扑连接的细节,在使得传输层看来通讯双方是直接连接的 
  2.2 协议应用 
  (1) IP协议: IP协议(Internet Protocol)是网络层最核心的协议,它根据数据包的目的IP地址来决定如何投递该数据包。若数据包不可直接发送给目标主机,那么IP协议就为它寻找一个合适的下一跳路由器,并将数据包交付给该路由器去转发,如此循环直至到达目标主机或者发送失败而丢弃该数据包。 
  (2) ICMP协议: ICMP协议(Internet Control Message Protocol,因特网控制报文协议)是IP协议的补充,用于检测网络的连接状态,如ping应用程序就是ICMP协议的使用。ICMP包发送是不可靠的,所以不能依靠接收ICMP包解决网络问题;ICMP与TCP/UDP不同,它们是传输层协议,虽然都具有类型域和代码域,但是前者和后者不同,ping用到的ICMP协议,不是端口。ICMP协议使用的是IP协议而非使用下层协议提供的的服务,所以严格来讲它并非网络层协议,而是网络层程序。

3. 传输层

  3.1 作用 
  传输层的作用是为应用程序提供端对端通讯的”错觉”,即为应用程序隐藏了数据包跳转的细节,负责数据包的收发、链路超时重连等。 
  3.2 协议应用 
  (1) TCP协议: TCP协议(Transmission Control Protocol, 传输控制协议)为应用程序提供可靠的、面向连接的、基于流的服务,具有超时重传、数据确认等方式来确保数据包被正确发送到目的端。因此TCP服务是可靠的,使用TCP协议通讯的双方必须先建立起TCP连接,并在系统内核中为该连接维持一些必要的数据结构,比如连接的状态,读写缓冲区,多个定时器等。当通讯结束时双方必须关闭连接以释放这些内核数据。基于流发送意思是数据是没有长度限制,它可源源不断地从通讯的一段流入另一端。 
  (2) UDP协议: UDP协议(User Datagram Protocol, 用户数据报协议)与TCP协议相反,它为应用程序提供的是不可靠的、无连接的基于数据报的服务。 
  无连接: 通讯双方不保持一个长久的联系,因此应用程序每次发送数据都要明确指定接收方的地址; 
  基于数据报的服务: 这是相对于数据流而言的,每个UDP数据报都有一个长度,接收端必须以该长度为最小单位将其内容一次性读出,否则数据将被截断。 
  UDP不具有发送时是被重发功能,所以UDP协议在内核实现中无需为应用程序的数据保存副本,当UDP数据报被成功发送之后,UDP内核缓冲区中该数据报就被丢弃了。 
  (3) SCTP协议: SCTP(Stream Control Transmission Protocol, 流控制传输协议)是为了在因特网上传输电话信号而设计的。

4. 应用层

  4.1 作用 
  前面所述的三层负责处理网络通讯的相关细节,这部分需要稳定高效,因此它们是在操作系统的内核空间中,而应用层是在用户空间实现的,负责处理众多业务逻辑,如文件传输、网络管理。 
  4.2 协议应用 
  应用层的协议很多,如: 
  (1) telne协议: 远程登录协议,它使我们能在本地完成远程任务 
  (2) OSPF协议: OSPF协议(Open Shorttest Path First, 开放最短路径优先)是一种动态路由更新协议,用于路由器之间的通讯,以告知对方自身的路由信息 
  (3) DNS协议: DNS协议(Domain Name Service, 域名服务)提供机器域名到IP地址的转换。如百度的机器域名是www.baidu.com,对应的IP地址是http://119.75.217.109/。 
另外注意,ping是应用程序而非协议,它利用网络层的ICMP协议监测网络连接。 
应用层协议可以跳过传输层直接使用网络层提供的服务,比如ping程序和OSPF协议;又可以既使用TCP服务,又可以使用UDP服务,如DNS协议。在/etc/services文件中可以看到应用程序使用的协议: 
这里写图片描述


敦敦宁
3楼 · 2020-10-21 10:55

TCP/IP 协议

TCP/IP协议定义了计算进行网络通信的过程一套处理标准,该标准定义了计算机在网络中如何发送数据、数据格式如何定义、发出消息后在网络中如何寻址找到目标计算机,最后目标计算机又如何检验收到消息的正确性、对数据拆解最后得到消息内容。

有了这些标准后我们的生产提供TCP/IP服务的软件商家就有了一套统一的规范,大家只要遵循这个规范去实现自己的软件功能。

TCP/IP协议族

因为实现TPC/IP协议功能包括数据的发送、与硬件的交互、消息路由规则、格式定义、错误验证,每个功能有对应的协议规范,所以我们把这些协议统称为TCP/IP协议族。

TCP/IP 四层模型 和OSI七层模型

之前不太懂为什么有OSI七层模型、四层模型、五层模型,他们的区分标准是,OSI七层模型是理论上的分层方式,而四层模型是实践过程中的分层模型。

OSI七层模型ISO(国际标准化组织)提出的一套理论性的网络标准化协议,可以把它看成一本教科书,它在指定之前是没有经过实践的,而为什么我们实践的过程中又没有遵循OSI的标准来分层呢,是因为我们在实践的过程中发现有些功能不必要分得那么细,而TCP四层模型就是我们实践过程中发现比较合理的分层,虽然我们实际过程中都没有按OSI分为七层,但是OSI对我们实践过程分层有着指导性的意义。

TCP/IP四层模型的每一层所划分的职责

网络访问层

网络访问层主要是管理物理网络准备所需要的数据,包括

1、与计算机网络适配器连接。

2、根据合适的方式调整数据传输(不同的传输介质和网络格式不同)

3、把数据转化为电子流或脉冲的形式在传输介质上传输。

4、对发送的数据添加错误检查信息、对接收的数据进行数据检验。

网际层

网际层主要是解决数据由一个计算机的IP如何路由到目标计算机的过程规范,我们的计算机消息发送出去后,是经过了哪些处理才能正确的找到目标计算机,其中包含了IP、ARP、RARP、DNS、ICMP等协议。

MAC地址

我们的消息如果要在网络中找到对应的目标计算机,那么我们的计算机一定要有一个唯一的地址标识才行,而能区分我们计算机唯一的标识就是我们的网络适配器地址,我们的网络适配器地址是由厂商生产时候就规定了一个复杂的英文串组成。

IP地址

由于MAC地址是一段复杂的字串组成不利于我们计算机进行逻辑运算,而我们的消息要在网络中快速路由到目标计算机,那么就一定需要有一套逻辑运算的规则,,所以就有了ARP协议,ARP协议规定了如何把MAC地址转换为可以用于逻辑运算的数字IP地址。

域名

因为IP地址过长不方便进行记忆,所以为了让用户更方便记忆所以衍生了DNS的服务,DNS完成了把IP地址转为简单容易记忆的域名地址。

传输层

传输层主要提供以下几个功能

1、提供应用程序接口,为网络应用程序提供网络访问的途径;

2、提供可以从多个应用层序接收消息的功能(多路复用),同时也提供可以把消息分发给应用程序的功能(多路分解)。

3、对数据进行错误检测、流量控制。

TCP

TCP是一个面向连接的协议主要包括以下几个特性

1、TCP面向连接,需要进行三次握手建立连接,四次挥手断开连接。

2、面向流的处理,可以一个个字节的方式接收数据,然后把这些数据组成数据段,发给网际层。

3、对数据发送进行流量控制(滑动窗口协议),避免发送和接收方因为缓存写满而造成的数据丢失问题。

3、对数据进行校验、分段的数据有重新排序功能,对错误和丢失的数据有重发机制。

UDP

1、UDP不面向连接。

2、只有有限的错误检验机制

3、不进行流量控制

比较TCP和UDP

因为TCP要进行额外的握手、挥手、数据检验、排序机制,所以TCP的性能要比UDP要慢,但是相较UDP,TCP已经做了比较完善的数据错误验证机制所以这样会省去应用层需要做的大量数据验证工作。

如果应用层对数据的校验不那么重视的话,看可以使用性能上更优的UDP,当然也可以使用UDP传输数据,数据校验的工作放到应用层来做也行,这就会加重开发的任务上。

应用层

TCP/IP的应用层对应于OSI的应用层、会话层、网络层,它们分别功能如下

1、应用层:为用户的应用提供服务并支持网络访问。

2、会话层:负责管理网络中计算之间的通信,提供传输层不具备的连接相关功能。

3、表示层:负责转化数据格式,并处理数据加密和数据压缩。


征戰撩四汸
4楼 · 2022-04-07 17:38

image.png

1.链路层(数据链路层/网络接口层):包括操作系统中的设备驱动程序、计算机中对应的网络接口卡

2.网络层(互联网层):处理分组在网络中的活动,比如分组的选路。

3.运输层:主要为两台主机上的应用提供端到端的通信。

4.应用层:负责处理特定的应用程序细节。


相关问题推荐

  • 回答 3

    交换机上面的线可以随便插,但是主线别忘插了,随便怎么插都可以,不是必须插第一个,网速慢不是因为插错孔,而是络没有设置号,希望能解决你的困惑 1M的线.4个人上,不卡才叫见鬼了,最少得3M才能正常上网 你们所有人都慢还是只有一个人慢...

  • 回答 5

    这里以常见的二层交换机为例,更高层次的交换机不在本次套路内容。交换机工作于OSI七层模型中的第二层,数据链路层;交换机依靠MAC地址进行寻址,内部维护着一张MAC地址表。

  • 回答 6

    交换机的作用:从功能上:交换机是用于连接多台设备,让其具备网络互通的条件。从定义上:交换机是一个网络设备,能连接多台设备到计算机网络中,通过数据包交换的方式,将数据转发到目的地。交换机的连接方式:目前连接线最长采用的有两种:双绞线(网线)和光...

  • 回答 12

    交换机的作用:1、 像集线器一样,交换机提供了大量可供线缆连接的端口,这样可以采用星型拓扑布线。2、 像中继器、集线器和网桥那样,当它转发帧时,交换机会重新产生一个不失真的方形电信号。3、像网桥那样,交换机在每个端口上都使用相同的转发或过滤逻辑...

  • 回答 5

    1、地址不同。传统交换机是从网桥发展而来的,它根据MAC地址,通过站表选择路由,站表的建立和维护由交换机自动进行。路由器属于OSI第三层网络设备,它根据IP地址进行寻址,通过路由表路协议产生。2、性质不同。交换机主要是完成相同或相似的物理介质和链路协...

  • 回答 2

    路由器在网络层,路由器根据IP地址寻址,路由器可以处理TCP/IP协议,交换机不可以。交换机根据MAC地址寻址。交换机在中继层路由器可以把一个IP分配给很多个主机使用,这些主机对外只表现出一个IP。交换机可以把很多主机连起来,这些主机对外各有各的IP。路由...

  • 回答 4

    直接从交换机连接网线到路由器LAN口就可以了

  • 回答 2

    华为路由器交换机配置命令大合集,熟练掌握下面的华为路由器交换机配置知识点,你只需花几分钟的时间就能明白华为路由器交换机配置。交换机的配置命令等等。华为路由器交换机配置命令:计算机命令PCAlogin:root;使用root用户password:linux;口令是linux#shu...

  • 回答 2
    已采纳

    计算机的基本原理是存储程序和程序控制。预先要把指挥计算机如何进行操作的指令序列(称为程序)和原始数据通过输入设备输送到计算机内存贮器中。每一条指令中明确规定了计算机从哪个地址取数,进行什么操作,然后送到什么地址去等步骤。计算机在运行时,先从...

没有解决我的问题,去提问