浅谈TCP/IP协议

本文深入讲解TCP/IP协议,包括协议的基本概念、TCP/IP四层结构、常见网络协议及其功能,如TCP、IP、FTP、SMTP、UDP、DNS、HTTP等。同时介绍了数据包的传送过程及TCP/IP的特点。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1.什么是协议?

协议,是网络协议的简称,网络协议是通信计算机双方必须共同遵从的一组约定。如怎么样建立连接、怎么样互相识别等。
只有遵守这个约定,计算机之间才能相互通信交流。它的三要素是:语法、语义、时序。
(1)语法:即数据与控制信息的结构或格式;
(2)语义:即需要发出何种控制信息,完成何种动作以及做出何种响应;
(3)时序(同步),即事件实现顺序的详细说明。

2.什么是TCP/IP协议?

TCP/IP协议是Transmission Control Protocol/Internet Protocol的简写,中译名为传输控制协议/因特网互联协议,又名网络通讯协议
是Internet最基本的协议、是国际互联网络的基础。它有两个核心协议:位于传输层的TCP协议(传输控制协议)和位于网络层IP协议(网际协议)
TCP/IP协议定义了电子设备如何连入因特网,以及数据如何在它们之间传输的标准。该协议采用了4层的层级结构,每一层都呼叫它的下一层所提供的协议来完成自己的需求。
通俗而言:TCP负责发现传输的问题,一有问题就发出信号,要求重新传输,直到所有数据安全正确地传输到目的地。而IP是给因特网的每一台联网设备规定一个地址。 
注意:TCP/IP协议指的不仅仅只有TCP协议和IP协议,这只是它的核心协议而已,它是一个协议族的统称。
它包括TCP协议、IP协议、以及FTP、SMTP、UDP、DNS、HTTP等协议。网络种的计算机都采用这套协议族进行互联。

3.TCP/IP的4层结构
在这里插入图片描述
(1).应用层

它使应用程序能够直接运行于传输层之上,直接为用户提供服务。包含的主要协议有FTP协议(File Transfer Protocol:文件传输协议)、
SMTP协议(Simple Mail Transfer Protocol:简单邮件传送协议)、SSH协议(远程登录协议)、DNS协议(Domain Name Service:域名服务协议)、
NNTP协议(Network News Transfer Protocol:网络新闻传送协议)和HTTP协议(Hyper Text Transfer Protocol:超文本传输协议)等。

(2).传输层

它的主要功能是对应用层传递过来的用户信息分成若干数据报,加上报头,便于端到端的通信。包括的协议有TCP协议和UDP协议。
面向连接的TCP协议(传输控制协议):TCP协议为应用程序之间的数据传输提供可靠连接;
面向无连接的UDP协议(用户数据报协议):UDP的传送不保证数据是能否到达目的地,也不保证数据报的顺序,不提供重传机制,仅提供声音传送服务的NVP协议(Network Voice Protocol:网络语音协议)。

(3).网络层

它提供跨多个网络的寻址选路功能,使IP数据从一个网络的主机传到另一网络的主机(逻辑寻址)。
包括的协议有IP协议(网际协议),ICMP协议(网际控制报文协议),ARP协议:将IP地址转换成物理地址(MAC地址),RARP协议:将物理地址(MAC地址)转换成IP地址。

(4).网络接口层

网络接口层负责与物理传输的连接媒介打交道,主要功能是接收数据报,并把接收到的数据报发送到指定的网络中去。
该层需要执行不同协议的局域网,通过网关实现协议与TCP/IP的转换,使数据穿过多个互联的网络正确地传输,实现异种网络接入Internet。

4.数据包的传送过程
在这里插入图片描述

在TCP/IP协议中,数据先由上往下将数据装包,然后由下往上拆包
在装包的时候,每一层都会增加一些信息用于传输,这部分信息就叫报头,当上层的数据到达本层的时候,会将数据加上本层的报头打包在一起,继续往下传递
在拆包的时候,每一层将本层需要的报头读取后,就将剩下的数据往上传.

5.TCP/IP的特点

1.分层:是TCP/IP乃至网络通信最核心的策略和模式,分层使得所有的网络应用程序不用关心底层链路传输的细节,也使得不同类型的网络有效地互通。
2.封装:就是应用程序在发送数据的过程中,每一层都增加一些首部信息,这些信息用于和接收端同层次进行沟通。
3.分用策略:在接收端的处理过程就正好相反,也就是所谓的分用策略,数据从底层到最上层的应用程序过程中,数据被逐层拆分,每一层取出自己所需要的信息。

6.常见的网络协议

我这里只是简单的介绍,先大致了解这些协议,后续会对重要协议有详细解说。

1.TCP协议

TCP(Transmission Control Protocol:传输控制协议)是一种面向连接的、可靠的、基于字节流的传输层通信协议。TCP是位于IP层之上,应用层之下的中间层,即传输层。

2.IP协议

IP协议是将多个包交换网络连接起来,源地址和目的地址之间传送数据包,它还提供对数据大小的重新组装功能,以适应不同网络对包大小的要求。
IP不提供可靠的传输服务,它不提供端到端的或(路由)结点到(路由)结点的确认,对数据没有差错控制,它只使用报头的校验码,它不提供重发和流量控制。

3.FTP协议

FTP(File Transfer Protocol:文件传输协议)是TCP/IP协议族中的协议之一。FTP协议包括两个组成部分,其一为FTP服务器,其二为FTP客户端。
其中FTP服务器用来存储文件,用户可以使用FTP客户端通过FTP协议访问位于FTP服务器上的资源。在开发网站的时候,通常利用FTP协议把网页或程序传到Web服务器上。
此外,由于FTP传输效率非常高,在网络上传输大的文件时,一般也采用该协议。默认情况下FTP协议使用TCP端口中的 20和21这两个端口,
其中20用于传输数据,21用于传输控制信息。但是,是否使用20作为传输数据的端口与FTP使用的传输模式有关,如果采用主动模式,那么数据传输端口就是20;
如果采用被动模式,则具体最终使用哪个端口要服务器端和客户端协商决定。

4.SMTP协议

SMTP(Simple Mail Transfer Protocol:简单邮件传输协议)是在Internet传输Email的事实标准。它是一组用于由源地址到目的地址传送邮件的规则,由它来控制信件的中转方式。
SMTP协议属于TCP/IP协议簇,它帮助每台计算机在发送或中转信件时找到下一个目的地。通过SMTP协议所指定的服务器,就可以把E-mail寄到收信人的服务器上了,整个过程只要几分钟。
SMTP服务器则是遵循SMTP协议的发送邮件服务器,用来发送或中转发出的电子邮件。SMTP是一种TCP协议支持的提供可靠且有效电子邮件传输的应用层协议。

5.UDP协议

UDP(User Datagram Protocol:用户数据报协议)在网络中它与TCP协议一样用于处理数据包,是一种无连接的协议。
UDP不提供数据包分组、组装和不能对数据包进行排序,也就是说,当报文发送之后,是无法得知其是否安全完整到达的。
UDP用来支持那些需要在计算机之间传输数据的网络应用。包括网络视频会议系统在内的众多的客户/服务器模式的网络应用都需要使用UDP协议。

6.DNS协议

DNS(Domain Name System):域名系统)用于命名组织到域层次结构中的计算机和网络服务。域名是由圆点分开一串单词或缩写组成的,每一个域名都对应一个唯一的IP地址,
在Internet上域名与IP地址之间是一一对应的,DNS就是进行域名解析的服务器。DNS是因特网的一项核心服务,它作为可以将域名和IP地址相互映射的一个分布式数据库。

7.HTTP协议

HTTP(HyperText Transfer Protocol:超文本传输协议)是互联网上应用最为广泛的一种网络协议。所有的WWW文件都必须遵守这个标准。
是用于从WWW服务器传输超文本到本地浏览器的传输协议。它可以使浏览器更加高效,使网络传输减少。
它不仅保证计算机正确快速地传输超文本文档,还确定传输文档中的哪一部分,以及哪部分内容首先显示(如文本先于图形)等。

8.NNTP协议

NNTP(Network News Transfer Protocol:网络新闻传输协议 )是一个主要用于阅读和张贴新闻文章(俗称“帖子”,比较正式的是“新闻组邮件”)到Usenet上的Internet应用协议,也负责新闻在服务器间的传送。
用于向Internet上NNTP服务器或NNTP客户(新闻阅读器)发布网络新闻邮件的协议,提供通过Internet使用可靠的基于流的新闻传输,提供新闻的分发、查询、检索和投递。

9.SSH协议

SSH(Secure Shell:安全外壳协议) 是目前较可靠,专为远程登录会话和其他网络服务提供安全性的协议。利用 SSH 协议可以有效防止远程管理过程中的信息泄露问题。
通过使用SSH,你可以把所有传输的数据进行加密,这样"中间人"这种攻击方式就不可能实现了,而且也能够防止DNS欺骗和IP欺骗。
使用SSH,还有一个额外的好处就是传输的数据是经过压缩的,所以可以加快传输的速度。SSH有很多功能,它既可以代替Telnet,又可以为FTP、PoP、甚至为PPP提供一个安全的"通道"。

10.ARP协议

ARP(Address Resolution Protocol:地址解析协议)是根据IP地址获取物理地址(MAC地址)的一个TCP/IP协议。
主机发送信息时将包含目标IP地址的ARP请求广播到网络上的所有主机,并接收返回消息,以此确定目标的物理地址;
收到返回消息后将该IP地址和物理地址存入本机ARP缓存中并保留一定时间,下次请求时直接查询ARP缓存以节约资源。
ARP欺骗:地址解析协议是建立在网络中各个主机互相信任的基础上的,网络上的主机可以自主发送ARP应答消息,
其他主机收到应答报文时不会检测该报文的真实性就会将其记入本机ARP缓存;由此攻击者就可以向某一主机发送伪ARP应答报文,
使其发送的信息无法到达预期的主机或到达错误的主机,这就构成了一个ARP欺骗。

11.RARP协议

RARP(Reverse Address Resolution Protocol:反向地址转换协议)发出要反向解析的物理地址(MAC地址)并希望返回其对应的IP地址,网络管理员在局域网网关路由器里创建一个表以映射物理地址(MAC)和与其对应的 IP 地址。
当设置一台新的机器时,其 RARP 客户机程序需要向路由器上的 RARP 服务器请求相应的 IP 地址。假设在路由表中已经设置了一个记录,RARP 服务器将会返回 IP 地址给机器,此机器就会存储起来以便日后使用。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值