TCP/IP 网络模型详解

一、TCP/IP 网络模型

TCP/IP网络模型,也被称为互联网协议套件(Internet Protocol Suite),与 OSI 模型相比,它通常被分为四个层级。这些层级包括:

1、应用层

这是TCP/IP模型的最高层,直接为用户提供各种网络服务。应用层协议定义了数据交换的格式和规则,以便不同的应用程序之间能够进行通信。常见的应用层协议包括HTTP(用于Web通信)、FTP(文件传输协议)、SMTP(简单邮件传输协议)、DNS(域名系统)等。

应用层是不用去关心数据是如何传输的,就类似于,我们寄快递的时候,只需要把包裹交给快递员,由他负责运输快递,我们不需要关心快递是如何被运输的。

当两个不同设备的应用需要通信的时候,应用就把应用数据传给下一层,也就是传输层。

2、传输层

传输层负责在源主机和目标主机之间提供端到端的通信服务。它主要关注数据包的传输质量,包括数据的可靠性、顺序性、错误检测以及流量控制等。传输层有两个重要的协议:TCP(Transmission Control Protocol)和UDP(User Datagram Protocol)。TCP提供面向连接的、可靠的传输服务,而UDP则提供无连接的、不可靠的传输服务。

当设备作为接收方时,传输层则要负责把数据包传给应用,但是一台设备上可能会有很多应用在接收或者传输数据,因此需要用一个编号将应用区分开来,这个编号就是端口。由于传输层的报文中会携带端口号,因此接收方可以识别出该报文是发送给哪个应用。

端口号(16位)目的端口号(16号)
序号(32位)
确认序列(32位)
首部长度(4位)保留(6位)

U

R

G

A

C

K

P

S

H

S

Y

N

F

I

N

窗口大小(16位)
校验和(16位)紧急指针(16位)
选线
数据

3、网络层

负责在网络上寻址、路由和转发数据包,确保数据从源到目的地的正确传递。主要协议包括 IP 协议,以及 ICMP(Internet Control Message Protocol)用于网络诊断和错误报告。

IP 协议会将传输层的报文作为数据部分,再加上 IP 包头组装成 IP 报文。

 IP 地址拥有两种意义:

1、一个是网络号,负责标识该 IP 地址是属于哪个「子网」的;

2、一个是主机号,负责标识同一「子网」下的不同主机;

这需要配合子网掩码才能算出 IP 地址 的网络号和主机号。

举个例子,比如 10.100.122.0/24,后面的/24表示就是 255.255.255.0 子网掩码,255.255.255.0 二进制是「11111111-11111111-11111111-00000000」,总共24 个1,为了简化子网掩码的表示,用/24代替255.255.255.0。

知道了子网掩码,将IP地址(10.100.122.2)与子网掩码(255.255.255.0)进行按位与运算,就可以得到网络号,如下图所示:

将子网掩码(255.255.255.0)取反后与IP地址进行进行按位与运算,就可以得到主机号

4、网络接口层

这是TCP/IP模型中最底层的一层。生成了 IP 头部之后,接下来网络接口层会在 IP 头部的前面加上 MAC 头部,并封装成数据帧(Data frame)发送到网络上。其功能通常由网络接口卡(NIC)及其驱动程序、物理介质(如以太网、Wi-Fi等)以及相关的网络协议(如以太网协议)来实现。

IP 头部中的接收方 IP 地址表示网络包的目的地,通过这个地址我们就可以判断要将包发到哪里,但在以太网的世界中,这个思路是行不通的。

什么是以太网呢?电脑上的以太网接口,Wi-Fi接口,以太网交换机、路由器上的千兆,万兆以太网口,还有网线,它们都是以太网的组成部分。以太网就是一种在「局域网」内,把附近的设备连接起来,使它们之间可以进行通讯的技术。

以太网在判断网络包目的地时和 IP 的方式不同,因此必须采用相匹配的方式才能在以太网中将包发往目的地,而 MAC 头部就是干这个用的,所以,在以太网进行通讯要用到 MAC 地址。

MAC 头部是以太网使用的头部,它包含了接收方和发送方的 MAC 地址等信息,我们可以通过 ARP 协议获取对方的 MAC 地址。

所以说,网络接口层主要为网络层提供「链路级别」传输的服务,负责在以太网、WiFi 这样的底层网络上发送原始数据包,工作在网卡这个层次,使用 MAC 地址来标识网络上的设备。

觉得有帮助的话,打赏一下呗。。

           

  • 10
    点赞
  • 14
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值