TCP/IP协议实际上指的是一个具有四层结构的协议簇。计算机网络中还有另一个体系结构,就是OSI/RM(Open System Interconnection Reference Model,开放系统互联参考模型),其具有七层结构,与TCP/IP的层次对应关系如图1-1
这里主要讲的是TCP/IP协议,OSI/RM就不再介绍了。
层次:应用层
主要协议:HTTP,Telnet,FTP,SMTP等
主要功能:按照不同应用的特定要求和方式负责把数据传 输到传输层或者接收来自传输层的数据。
层次:传输层
主要协议:TCP,UDP
主要功能:TCP为两台主机提供高可靠性的数据通信, 其工作包括把应用程序交换来的数据分成合适的小块交给 下 面的网络层,确认接收的分组,设置发送最后确认分组的超时 时钟等。UDP则为应用层提供一种非常简单的服务,它只是 把数据报的分组从一台主机发送到另一台主机,但并不保证该 数据报能到达另一端。
层次:网络层
主要协议:IP,ICMP,IGMP
主要功能:主要为数据包选择路由。其中,IP是TCP/IP 协议簇中最为核心的协议。所有的TCP,UDP,ICMP,IGMP数据 都以IP数据报格式传输。
层次:链路层
主要协议:ARP,RARP和设备驱动程序及接口
主要功能:发送时将IP包作为帧发送,接收时把接收的比特组装成帧;提供链路管理错误检测等。
IPv4采用的是32为地址,其5类IP地址的格式如下:
类:0 + 网络号(7位)+ 主机号(24位)
类:10+ 网络号(14位)+ 主机号(16位)
类:110+ 网络号(21位)+ 主机号(8位)
类:1110+ 多播组号(28位)
类:11110+ 保留(27位)
按目的端主机的范围可将IP地址分为以下3类:
单播地址:目的端为单个主机
广播地址:目的端为给定网络上的所有主机
多播地址:目的端为同一组内的所有主机
和UDP采用16位的端口号来识别应用程序,这意味着相同的端口号对于不同的传输层协议,表示的是不同的进程。例如,TCP端口号23和UDP端口号23是不同的。
服务器一般都是通过熟知端口号(又称保留端口号)来识别的,由IANA(Internet Assigned Numbers Authority, Internet号码分配机构)管理,目前应该为1~1023。客户端口号又称为临时端口号,即客户程序运行时才存在,通常为1024~5000。从32768开始的端口号通常作为TCP和UDP的默认临时端口号。也把1024~65535的端口号统称为动态端口号。
注意:对于UNIX类系统来说,文件/etc/services中包含了熟知端口号。就有超级用户(root)权限的进程,允许分配1~1023之间的端口号。
通信过程中,当应用程序用TCP 传输数据时,数据被送入协议栈中,然后逐个通过每一层,直到被当作一串比特流送入网络。其中每一层对收到的数据都要增加一些首部信息(有时还要增加尾部信息),这种“加头加尾”的过程称为封装。该过程如图1-2所示:
当目的主机收到一个以太网数据帧时,数据就开始从协议栈中有底向上升,同时去掉各层协议添加的报文首部。每层协议都要检查报文首部中的协议标识,以确定接收数据的上层协议。这个过程称为分用(demultiplexing),如图1-3所示:
要特别注意图1-3中ARP, RARP, 和ICMP, IGMP的位置,这几个协议分别放在网络接口层与网络层,网络层与传输层之间的位置。目的是表明:这几个协议不能简单地归并于某一层,但在分用过程中,下层的协议依据首部协议类型仍然采用了往上层协议提交数据的相同方式来处理协议数据单元。
(Request for Comment)文档是一系列关于Internet的技术资料汇编,这些文档详细讨论了计算机网络技术的各种信息,重点是网络协议,进程,程序,概念,以及一些会议纪要,意见,各种观点等。每一个RFC文档都用一个数字来标识,数字越大,说明其中内容越新。
绝大多数互联网技术标准出自IETF(Internet Engineering Task Force, Internet工程任务组)。IETF成立于1985年底,是全球互联网最具权威的技术标准化组织,主要任务是负责互联网相关技术规范的研发和制定。
学会查阅RFC文档对学习TCP/IP协议具有重要意义。在学习中遇到不清楚的问题,往往都是对基础的网络协议工作过程不清楚造成的。解决问题的有效途径就是阅读RFC文档对协议工作原理或过程的描述。
查阅RFC文档时,一是需要确定它是最新的文档,二是需要注意RFC文档的类别。
网络协议栈的实现一般都由操作系统来完成,在网络接口层还需要借助网络接口的驱动程序,即网卡驱动程序。编程接口有两个层次:
传输层和网络层主要使用套接字编程;
网络接口层的访问方法有BSD的BPF,Linux系统下的SOCK_PACKET接口,Libpcap函数库等
也称为Berkeley Socket,表明它是从伯克利版套接字发展而来的。Socket接口是应用程序与TCP/IP协议栈的接口,它定义了一组函数或例程来支持TCP/IP网络应用程序开发。UNIX系列系统提供Socket接口,Windows系列系统提供Winsock接口
基本Socket API有若干常用函数,包括socket(), close(), bind(), listen(), accept(), connect(), send(), recv()等。
Socket API 可以方便地实现基于TCP和UDP的编程,也可以通过原始套接字完成基于IP的编程,如构建自己的数据报。
(packet capture library)是一个提供针对网络数据包捕获系统的高层接口的开源函数库。
应用程序接口被设计用于C语言或C++,通过将网卡设置为混合模式,可以捕获所有经过该网络接口的数据包。
的主要功能有数据包捕获,自定义数据包发送,流量采集与统计,以及规则过滤。
在TCP/IP协议栈层面,在进行网络通信的两台主机之间建立逻辑通路是传输层的一个重要工作,这种逻辑通路的建立,一方面通过IP协议中的源IP和目的IP将两台主机联系起来,另一方面通过传输层协议中的源端口号和目的端口号将两台主机上唯一的进程联系起来。在IP协议的首部中会包含传输层的协议号,以区分使用的是哪一个传输层协议。站在传输层的角度,可以认为传输层制定了数据向对方主机发送的策略,例如TCP协议会有
linux下TCP协议的认识,包括确认应答,超时重传,流量控制,滑动窗口,拥塞控制,三次握手四次挥手等。
一、引言在这个数字时代,互联网已成为我们生活中不可或缺的一部分。无论是刷社交媒体,观看视频,还是进行在线购物,我们的日常活动几乎都依赖于网络的稳定运行。而在这一切背后,有一个默默无闻但极其重要的协议在默默地确保数据可靠地传输,它就是传输控制协议(TCP)。想象一下,你正处于一场跨越大洋的国际视频会议中,会议的每一个细节都关乎你即将达成的重要商业合作。在这种情况下,任何一点点的数据丢失或错误都会导致
表示层的3大主要功能: 1)对应用层数据进行编码与转换,从而确保目的设备可以通过适当的应用程序理解源设备上的数据; 2)采用可被目的设备解压缩的方式对数据进行压缩; 3)对传输数据进行加密,并在目的设备上对数据解密。 会话层:会话层用于处理信息交换,发起对话并使其处于活动状态,并在对话中断或长时间处于空闲状态时重启会话。 常见 TCP/IP 协议包括: 1) &
tcp-ip的体系结构TCP-iP协议体系结构分为四层,由高到低分别是:应用层,传输层,网络层,链路层,体系图如下 ①链路层 也称网络接口层,就是装得一些网络驱动层序,tcp-ip协议的重点不是链路层 ②网络层 也称互联网层,该层的主要协议就是IP协议了 ③传输层 主要有两个传输协议,一个是TCP一个是UDP ④应用层 就是应用程序比如QQ,MSNtcp-ip协议模式中边界tcp-ip协议
一、什么是TCP/IP TCP/IP是一类协议系统,它是用于网络通信的一套协议集合 TCP/IP是供已连接因特网的计算机进行通信的通信协议 &
一、概述TCP/IP是用于计算机通信的一组协议,通常称它为TCP/IP协议簇,是Internet组建的基础,正是因为TCP/IP协议是Internet所采用的协议,所以TCP/IP是我们进行网络通信程序设计时需要理解的必要知识。 它是一个网络体系结构,也是一套协议标准。 OSI模型(主要用于理论研究)有7层结构,TCP/IP模型有4层结构(有些书籍将其分为5层,即网络接口层由链路层和物理层组成
**认识TCP/IP的体系结构** TCP/IP是指能够在多个不同网络间实现信息传输的协议簇。TCP/IP协议不仅仅指的是TCP 和IP两个协议,还包括TCP/IP、UDP、ARP、ICMP以及其他的一些子协议。大部分的网络管理员将整组协议称为TCP/IP。TCP/IP的最大优势之一是它的可路由性,它可以携带被路由器解释的网络信息。TCP/IP协议在一定程度上参考了OSI的体系结构。OSI模型共有
TCP/IP 标准TCP/IP:Transmission Control Protocol/Internet Protocol 传输控制协议/因特网互联协议TCP/IP是一个协议栈,由众多的协议组成。TCP和ip是最重要的两个协议,所以用来作为协议栈的名字。最早的时候这个协议是在互联网上面使用,局域网里面使用的最广泛的是IPX、SPX协议。以太网工作在数据链路层和物理层TCP/IP 分层 TCP
网络协议通常分不同层次进行开发,每一层分别负责不同的通信功能。一个协议族,比如 T C P / I P,是一组不同层次上的多个协议的组合。 T C P / I P通常被认为是一个四层协议系统,如图1 - 1所示。每一层负责不同的功能:1) 链路层,有时也称作数据链路层或网络接口层,通常包括操作系统中的设备驱动程序和计算机中对应的网络接口卡。它们一起处理与电缆(或其他任何传输媒介)的物理接口细节。2
目录参考模型协议OSI 模型应用层表示层会话层传输层网络层数据链路层物理层TCP/IP 协议栈OSI 没有被推广四层协议系统分层的意义网络层和传输层TCP/IP 协议分层数据的收发封装分用TCP/IP 通信过程参考资料参考模型在网络刚刚被搞出来的年代,通常只有同一个厂家生产的设备才能彼此通信,不同的厂家的设备不能兼容。这是因为没有统一的标准去要求不同的厂家按照相同的方式进行通信,所以不同的厂家都闭
TCP/IP 协议族实际上是由以传输控制协议(Transmission Control Protocol, TCP) 和因特网协议(Internet Protocol, IP) 为代表的许都协议组成的。TCP/IP协议是由美国国防部高级研究计划局DARPA(Defense Advanced Research Project Agency) 开发的,是早期AR
OSI参考模型虽然是ISO给出的,但是ISO在推进OSI协议标准化的进程上是比较缓慢的。而TCP/IP协议的标准化进程是相当快速的,因此现阶段的实际标准是TCP/IP协议。尽管TCP/IP协议与OSI有所差异,但是仍旧与OSI参考模型有一些对应关系。OSI参考模型与TCP/IP模型 7应用层应用层(DNS,URL,HTTP,HTML,STMP,SSH等)应用程序6表示层5会话层4传输层传输层(TC
一.TCP/IP协议是什么 互联网进行通信时,需要相应的网络协议,TCP/IP原本就是为了使用互联网而开发制定的协议族,从字面意思来看,TCP/IP是指TCP和IP这两种协议,但很多情况下,它是利用IP进行通信所必须用到的协议群的统称。像IP或ICMP、TCP或UDP、TELNET或FTP、HTTP等都属于TCP/IP协议。它们与TCP或IP的关系密切,是互联网必不可少的组成部分,所以TCP/I
Java网络编程:TCP/IP基础前言博主今天开始将把Java基础、网络编程、SpringDataJpa以及SpringBoot和Python一起陆续整理学习发出文章。本篇文章就为大家讲一下–Java网络编程:TCP/IP基础,本人才疏学浅,如有不足请大家提出欢迎交流/关注。TCP/IP 的具体含义从字面意义上讲,有人可能会认为 TCP/IP 是指 TCP 和 IP 两种协议。实际生活当中有时也确
TCP/IP通讯协议采⽤用了4层的层级结构 TCP/IP是一组协议的代名词,它还包括许多协议,组成了TCP/IP协议簇。TCP/IP协议簇 分为四层,IP位于协议簇的第二层(对应OSI的第三层),TCP位于协议簇的第三层(对应OSI 的第四层)。 TCP/IP通讯协议采⽤用了4层的层级结构,每一层都呼叫它的下一层所提供的网络来
一、基本概念TCP/IP(Transmission Control Protocol/Internet Protocol,传输控制协议/网际协议)是指能够在多个不同网络间实现信息传输的协议簇。TCP/IP协议不仅仅指的是TCP 和IP两个协议,而是指一个由FTP、SMTP、TCP、UDP、IP等协议构成的协议簇, 只是因为在TCP/IP协议中TCP协议和IP协议最具代表性,所以被称为TC
你是否曾在调试时反复切换窗口查看变量值?是否希望无需额外操作就能直观获取变量信息?gdbgui的变量悬停查看功能正是为解决这些痛点而生。本文将深入剖析这一功能的实现原理,包括前端交互设计与后端数据处理流程,帮助你理解如何在浏览器中轻松实现类似IDE的调试体验。## 前端交互设计:从鼠标悬停到数据展示变量悬停查看功能的核心在于捕捉用户操作并实时反馈数据。这一过程主要由[gdbgui/src/...
Blum Blum Shub(BBS),由Lenore Blum、Manuel Blum和Michael Shub于1986年提出。BBS伪随机数生成器以其可证明的安全性而闻名,其安全性基于大整数分解问题的困难性 BBS生成器的数学基础 1. Blum整数 BBS生成器的核心是Blum整数,定义为两 ...
本文总结了docx、pptx和xlsx文件预览的技术方案,推荐使用docx-preview、ppt-preview和exceljs+handsontable组合。重点介绍了handsontable/vue的配置方法:需引入HotTable组件和样式,通过settings参数配置表格,注意Vue2对JSON数据的绑定限制。同时提示了licenseKey设置和异步读取文件的注意事项,并提供了相关技术文档参考链接。适用于前端开发人员实现Office文件预览功能。
参考在ec2上部署qwen3-VL-2B模型一文已经自行部署了模型。之前只做过文本模型的对话实现,由于Qwen3-VL支持图像识别,需要考虑如何将客户端的图片传输给模型。 AI给出的方案有如下 通过base64编码的方式将图片数据嵌入到请求中 上传文件到文件服务器,将文件url传递给模型 使用对象存 ...
1.气泡提示(Popup) Popup属性可绑定在组件上显示气泡弹窗提示,设置弹窗内容、交互逻辑和显示状态。 气泡分为两种类型:一种是系统提供的气泡PopupOptions,一种是自定义的气泡CustomPopupOptions。 ● 其中PopupOptions为系统提供的气泡,通过配置prima ...