TCP/IP协议包括链路层、网络层、传输层、应用层。
TCP/IP协议(传输控制协议/互联网协议)不是简单的一个协议,而是一组特别的协议,包括:TCP,IP,UDP,ARP等,这些被称为子协议。在这些协议中,最重要、最著名的就是TCP和IP。因此,大部分网络管理员称整个协议族为“TCP/IP”。
分层:
计算机网络中,实际应用的网络协议是TCP/IP协议族,TCP/IP的应用层大体上对应着OSl/RM模型的应用层、表示层和会话层,TCP/IP的网络接口层对应着OSI/RM的数据链路层和物理层,而传输层和网络层在两个模型中对应得很好。
1、链路层
链路层有时也称作数据链路层或网络接口层,通常包括操作系统中的设备驱动程序和计算机中对应的网络接口卡。它们一起处理与电缆(或其他任何传输媒介)的物理接口细节。把链路层地址和网络层地址联系起来的协议有ARP(Address Resolution Protocol,地址解析协议)和RARP(Reverse Address Resolution Protocol,逆地址解析协议)。
2、网络层
网络层处理分组在网络中的活动,例如分组的选路。在TCP/IP协议族中,网络层协议包括IP协议(Internet Protocol,网际协议)、ICMP协议(Internet Control Message Protocol,网际控制报文协议)和IGMP协议(Internet Group Management Protocol,网际组管理协议)。
3、传输层
传输层主要为两台主机上的应用程序提供端到端的通信。在TCP/IP协议族中,有两个互不相同的传输协议:TCP(Transmission Control Protocol,传输控制协议)和UDP(User Datagram Protocol,用户数据报协议)。
4、应用层
应用层负责处理特定的应用程序细节。几乎各种不同的TCP/IP实现都会提供下面这些通用的应用程序:Telnet远程登录、SMTP(Simple Mail Transfer Protocol,简单邮件传输协议)、FTP(File Transfer Protocol,文件传输协议)、HTTP(Hyper Text Transfer Protocol,超文本传输协议)等。
核心协议:
1、IP协议
网际协议IP是TCP/IP的心脏,也是网络层中最重要的协议。
IP层接收由更低层(网络接口层,例如以太网设备驱动程序)发来的数据包,并把该数据包发送到更高层——TCP或UDP层;相反,IP层也把从TCP或UDP层接收来的数据包传送到更低层。IP数据包是不可靠的,因为IP并没有做任何事情来确认数据包是按顺序发送的或者没有被破坏。IP数据包中含有发送它的主机的地址(源地址)和接收它的主机的地址(目的地址)。
高层的TCP和UDP服务在接收数据包时,通常假设包中的源地址是有效的。也可以这样说,IP地址形成了许多服务的认证基础,这些服务相信数据包是从一个有效的主机发送来的。IP确认包含一个选项,叫作IPsource routing,可以用来指定一条源地址和目的地址之间的直接路径。对于一些TCP和UDP的服务来说,使用了该选项的IP包好像是从路径上的最后一个系统传递过来的,而不是来自于它的真实地点。这个选项是为了测试而存在的,说明了它可以被用来欺骗系统来进行平时是被禁止的连接。因此,许多依靠IP源地址做确认的服务将产生问题并且会被非法入侵。
2、TCP协议
如果IP数据包中有已经封好的TCP数据包,那么IP将把它们向“上”传送到TCP层。
TCP将包排序并进行错误检查,同时实现虚电路间的连接。TCP数据包中包括序号和确认,所以未按照顺序收到的包可以被排序,而损坏的包可以被重传。
TCP将它的信息送到更高层的应用程序,例如,Telnet的服务程序和客户程序。应用程序轮流将信息送回TCP层,TCP层便将它们向下传送到IP层,设备驱动程序和物理介质,最后到接收方。
面向连接的服务(例如Telnet、FTP、rlogin、XWindows和SMTP)需要高度的可靠性,所以它们使用了TCP。DNS在某些情况下使用TCP(发送和接收域名数据库),但使用UDP传送有关单个主机的信息。
3、UDP协议
UDP与TCP位于同一层,但对于数据包的顺序错误或重发。因此,UDP不被应用于那些使用虚电路的面向连接的服务,UDP主要用于那些面向查询一应答的服务,例如NFS。相对于FTP或Telnet,这些服务需要交换的信息量较小。使用UDP的服务包括NTP(网络时间协议)和DNS(DNS也使用TCP)。
欺骗UDP包比欺骗TCP包更容易,因为UDP没有建立初始化连接(也可以称为握手)(因为在两个系统间没有虚电路),也就是说,与UDP相关的服务面临着更大的危险。
4、ICMP协议
ICMP与IP位于同一层,它被用来传送IP的控制信息。它主要是用来提供有关通向目的地址的路径信息。ICMP的“Redirect”信息通知主机通向其他系统的更准确的路径,而“Unreachable”信息则指出路径有问题。另外,如果路径不可用了,ICMP可以使TCP连接“体面地”终止。PING是最常用的基于ICMP的服务。
以上是tcp/ip协议分为几层的详细内容。更多信息请关注PHP中文网其他相关文章!

tcp/ip全称是“Transmission Control Protocol/Internet Protocol”,中文意思为“传输控制协议/网际协议”。TCP/IP协议不仅仅指的是TCP和IP两个协议,而是指一个由FTP、SMTP、TCP、UDP、IP等协议构成的协议簇,只是因为在TCP/IP协议中TCP协议和IP协议最具代表性,所以被称为TCP/IP协议。

近年来,Go语言作为一种高效、轻量级、并发性优异的编程语言,受到越来越多人的关注和喜爱。在网络编程方面,Go语言拥有丰富的网络协议支持,能够帮助开发者快速、方便地构建网络应用。下面就让我们来了解一下Go语言中的网络协议有哪些。1.TCPTCP(TransmissionControlProtocol,传输控制协议)是一种在计算机网络中常用的传输协

Java网络编程中常用的协议包括:TCP/IP:用于可靠数据传输和连接管理。HTTP:用于Web数据传输。HTTPS:HTTP的安全版本,使用加密传输数据。UDP:用于快速但不稳定的数据传输。JDBC:用于与关系数据库交互。

如何利用PHP与TCP/IP协议进行数据通信引言:在现代互联网时代,数据通信是非常重要的一个方面。无论是客户端与服务器之间的通信,还是不同服务器之间的通信,TCP/IP协议一直是最常用的通信协议之一。本文将介绍如何利用PHP语言与TCP/IP协议进行数据通信,并提供相关的代码示例。一、TCP/IP协议简介TCP/IP协议是Internet协议簇的基础,它定义

区别:1、TCP/IP是一个协议簇,而OSI是一个模型;2、TCP/IP是五层结构,而OSI是七层结构;3、TCP/IP的第三层仅支持IP协议,OSI支持所有的网络层协议。联系:1、OSI引入了服务、接口、协议、分层的概念,而TCP/IP借鉴了OSI的概念;2、OSI先有模型,后有协议,先有标准,后进行实践,而TCP/IP先有协议和应用再提出了模型,且是参照的OSI模型。

网络协议的三要素:1、语义,即解释控制信息每个部分的意义;它规定了需要发出何种控制信息,以及完成的动作与做出什么样的响应。2、语法,即用户数据与控制信息的结构与格式,以及数据出现的顺序。3、时序,即对事件发生顺序的详细说明。

应用层协议有:1、Telnet,允许一台机器上的用户,登录到远程机器上,并进行工作;2、FTP,提供了将文件从一台机器上移到另一台机器上的方法;3、SMTP,是一种提供电子邮件传输的协议;4、SNMP,是用于在IP网络管理网络节点的一种标准协议;5、DNS,主要用于将人们所熟悉的网址“翻译”成电脑可以理解的IP地址;6、HTTP,是一个请求-响应协议,用于在WWW上获取主页。

TCP和IP是互联网中两个不同的协议:1、TCP是一种运输层协议,而IP是一种网络层协议;2、TCP提供了数据包的分段、排序、确认和重传等功能,而IP协议负责为数据包提供源和目标地址;3、TCP是面向连接的协议,而IP协议是无连接的;4、TCP还提供流量控制和拥塞控制。

热AI工具

Undresser.AI Undress
人工智能驱动的应用程序,用于创建逼真的裸体照片

AI Clothes Remover
用于从照片中去除衣服的在线人工智能工具。

Undress AI Tool
免费脱衣服图片

Clothoff.io
AI脱衣机

AI Hentai Generator
免费生成ai无尽的。

热门文章

热工具

ZendStudio 13.5.1 Mac
功能强大的PHP集成开发环境

安全考试浏览器
Safe Exam Browser是一个安全的浏览器环境,用于安全地进行在线考试。该软件将任何计算机变成一个安全的工作站。它控制对任何实用工具的访问,并防止学生使用未经授权的资源。

适用于 Eclipse 的 SAP NetWeaver 服务器适配器
将Eclipse与SAP NetWeaver应用服务器集成。

WebStorm Mac版
好用的JavaScript开发工具

Atom编辑器mac版下载
最流行的的开源编辑器