TCPIP介绍

        可见 TCP/IP 被分为 4 层,每层承担的任务不一样,各层的协议的工作方式也不一样,每层封装上层数据的方式也不一样:

应用层:应用程序通过这一层访问网络,常见 FTP、HTTP、DNS 和 TELNET 协议;
传输层:TCP 协议和 UDP 协议;
网络层:IP 协议,ARP、RARP 协议,ICMP 协议等;
网络接口层:是 TCP/IP 协议的基层,负责数据帧的发送和接收。

 

TCP/IP(Transmission Control Protocol/Internet Protocol)是传输控制协议和网络协议的简称,它定义了电子设备如何连入因特网,以及数据如何在它们之间传输的标准。

TCP/IP 不是一个协议,而是一个协议族的统称,里面包括了 IP 协议、ICMP 协议、TCP 协议、以及 http、ftp、pop3 协议等。网络中的计算机都采用这套协议族进行互联。

 

域名

         域名与计算机的 IP 地址相对应,并把这种对应关系存储在域名服务系统 DNS(Domain Name System) 中,这样用户只需记住域名就可以与指定的计算机进行通信了。

常见的域名包括 com、net 和 org 三种顶级域名后缀,除此之外每个国家还有自己国家专属的域名后缀(比如我国的域名后缀为 cn)。

        目前经常使用的域名诸如百度(www.baidu.com)、Linux 组织(www.lwn.net)等等。

MAC 地址

IP地址相当于收件人地址,MAC地址相当于收件人姓名

        MAC(Media Access Control)地址,或称为物理地址、硬件地址,用来定义互联网中设备的位置。在 TCP/IP 层次模型中,网络层管理 IP 地址,链路层则负责 MAC 地址。因此每个网络位置会有一个专属于它的 IP 地址,而每个主机会有一个专属于它 MAC 地址。

 

端口号

 

        IP 地址是用来发现和查找网络中的地址,但是不同程序如何互相通信呢?这就需要端口号来识别了。如果把 IP 地址比作一间房子,端口就是出入这间房子的门。真正的房子只有几个门,但是端口采用 16 比特的端口号标识,一个 IP 地址的端口可以有 65536(即:216)个之多!

        服务器的默认程序一般都是通过人们所熟知的端口号来识别的。例如,对于每个 TCP/IP 实现来说,SMTP(简单邮件传输协议)服务器的 TCP 端口号都是 25,FTP(文件传输协议)服务器的 TCP 端口号都是 21,TFTP(简单文件传输协议)服务器的 UDP 端口号都是 69。任何 TCP/IP 实现所提供的服务都用众所周知的 1-1023 之间的端口号。这些人们所熟知的端口号由 Internet 端口号分配机构(Internet Assigned Numbers Authority,IANA)来管理。

常用协议对应端口号:

SSH 22
FTP 20 和 21
Telnet 23
SMTP 25
TFTP 69
HTTP 80
SNMP 161
Ping 使用 ICMP,无具体端口号

 封装和分用

        封装:当应用程序发送数据的时候,数据在协议层次当中自顶向下通过每一层,每一层都会对数据增加一些首部或尾部信息,这样的信息称之为协议数据单元(Protocol Data Unit,缩写为 PDU),在分层协议系统里,在指定的协议层上传送的数据单元,包含了该层的协议控制信息和用户信息。如下图所示:

        物理层(一层)PDU 指数据位(Bit)
        数据链路层(二层)PDU 指数据帧(Frame)
        网络层(三层)PDU 指数据包(Packet)
        传输层(四层)PDU 指数据段(Segment)
        第五层以上为数据(data)

        分用:当主机收到一个数据帧时,数据就从协议层底向上升,通过每一层时,检查并去掉对应层次的报文首部或尾部,与封装过程正好相反。

 

RFC

RFC(Request for Comment)文档是所有互联网协议的正式标准,并在其官网上面公布,由 IETF 标准协会制定。大量的 RFC 并不是正式的标准,出版的目的只是为了提供信息。RFC 的篇幅不一,从几页到几百页不等。每一种协议都用一个数字来标识,如 RFC 3720 是 iSCSI 协议的标准,数字越大意味着 RFC 的内容越新或者是对应的协议(标准)出现的比较晚。

所有的 RFC 文档都可以从网络上找到,其官网为 IETF。在网站上面可以通过分类以及搜索快速找到目标协议的 RFC 文档。目前在 IETF 网站上面的 RFC 文档有数千个,但是我们不需要全部掌握,在工作或学习中如果遇到可以找到对应的解释,理论与实际结合会有更好地效果,单纯阅读 RFC 的效果一般。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/226615.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Node-RED 规则引擎:开启物联网时代的智能决策

Node-RED 规则引擎:开启物联网时代的智能决策 随着物联网技术的快速发展,大量的设备和传感器正在不断产生海量的数据。为了有效处理这些数据,并实现智能决策,规则引擎在物联网领域扮演着至关重要的角色。而 Node-RED 规则引擎则以…

如何集成和使用Feign的远程调用

feign的简单介绍 Feign是一个声明式的http客户端,可以帮助我们优雅的实现http请求的发送 OpenFeign/feign: Feign makes writing java http clients easier (github.com)Spring Cloud OpenFeign 中文文档 (springdoc.cn)Spring Cloud OpenFeign在spring cloud的基础…

Tutorials about this CSDN Account

Tutorials about this CSDN Account 0. Introduction ​ The original intent of these blogs is to record the knowledge and matters that I’ve encountered during college life so that I could learn from the OLD me when needed. Additionally, I’d like to emphas…

Reinfocement Learning 学习笔记PartⅡ

文章目录 Reinfocement Learning六、随机近似与随机梯度下降(Stochastic Approximation & Stochastic Gradient Descent)6.1 Robbins-Monro Algorithm6.2 随机梯度下降 七、时序差分方法(Temporal-Difference Learning)7.1 TD…

用enum代替int常量

使用enum类型是一种更优雅、类型安全的方式来代替int常量。枚举类型提供了更多的语法支持和类型检查,使得代码更易读、易维护。以下是一个简单的例子,演示如何用enum代替int常量: // 使用enum定义枚举类型 enum Direction {NORTH,SOUTH,EAST…

TSINGSEE青犀可视化视频云平台JT/T1078接入能力在智慧物流中的应用

一、引言 随着科技的快速发展和全球贸易的蓬勃发展,智慧物流成为了现代物流业的重要发展方向。智慧物流通过引入先进的信息技术,实现了物流过程的自动化、智能化和信息化,从而提高了物流效率和准确性。在这个过程中,JT/T1078接入…

魔众文库系统v5.7.0版本文件顺序选择,短信注册支持设置密码,前端界面升级

文件顺序选择,短信注册支持设置密码,前端界面升级 [新功能] 富文本支持文档一键导入,支持Word文档(docx)、Markdown文档(md) [新功能] 财务中心→全部订单新增"业务订单ID"筛选条件…

【Vue】elementUI表格,导出Excel

系列文章 【Vue】vue增加导航标签 本文链接:https://blog.csdn.net/youcheng_ge/article/details/134965353 【Vue】Element开发笔记 本文链接:https://blog.csdn.net/youcheng_ge/article/details/133947977 【Vue】vue,在Windows IIS平台…

操作系统系列:快速了解C语言的编译

操作系统系列:快速了解C语言的编译 关于C语言的编译编译时会发生什么?C预处理器实际的编译汇编链接 传递参数到程序中匈牙利命名法系统调用Unix系统调用 关于C语言的编译 开发者写好一段代码后,需要将编码语言转换为设备认识的机器语言才能执…

Jmeter分布式性能测试,80%资深测试都会遇到这个坑!

📢专注于分享软件测试干货内容,欢迎点赞 👍 收藏 ⭐留言 📝 如有错误敬请指正!📢交流讨论:欢迎加入我们一起学习!📢资源分享:耗时200小时精选的「软件测试」资…

深度学习项目部署:解析 NVIDIA Docker 中的 CUDA 镜像版本:base 版本、 runtime 版本、devel 版本

近期,我不得不将深度学习项目部署到 Docker 环境中,而在这个过程中避免不了涉足 NVIDIA Docker 的坑。尽管确认其为非常实用的工具,但容器里却一片干净,什么都没有,需要一些时间去进行配置。在这篇博客中,我…

【C语言】动态内存管理(C语言的难点与精华,数据结构的前置知识,你真的掌握了吗?)

文章目录 引言一、为什么要动态内存分配二、动态内存分配的相关函数2.1 malloc2.2 free2.3 calloc2.4 realloc 三、常见的动态内存的错误3.1 对NULL指针的解引用3.2 对动态内存越界访问3.3 对非动态内存释放3.4 对动态内存部分释放3.5 对动态内存多次释放3.6 未对动态内存释放&…

v-md-editor高级使用之自定义目录

​ 官方给出的目录设置参见:https://code-farmer-i.github.io/vue-markdown-editor/zh/senior/toc.html#%E7%9B%B8%E5%85%B3%E9%85%8D%E7%BD%AE ​ 在做实际使用中往往可能需要将目录结构独立出来,经过近一天的研究终于明白其实现逻辑,并将目…

C++知识点总结(9):前缀和

一、前缀和 1. 意义 数列1520305065下标12345前缀和153565115180 2. 表示 前缀和:用数组表示,因为每一项的前缀和都能算出来。 3. 公式 值前缀和数组 a [ 1 ] a[1] a[1] s [ 1 ] s[1] s[1] s [ 1 ] a [ 2 ] s[1]a[2] s[1]a[2] s [ 2 ] s[2] s[2] …

3.qml 3D-Node类学习

Node类是在View3D 中的对象基础组件,用于表示3D空间中的对象,类似于Qt Quick 2D场景中的Item,介绍如下所示: 如上图可以看到,Node类的子类非常多,比如Model类(显示3D模型)、ParticleSystem3D粒子系统类、Li…

苹果计划将全球1/4的IPhone产能转移至印度

KlipC报道:据相关人士报道,苹果希望在未来2到3年内每年在印度生产超过5000万部iphone,要是该计划得以实现,印度将占领全球iPhone产量的四分之一。 KlipC的分析师Alex Su表示:“此次iPhone15推出是苹果印度制造计划的一…

认知能力测验,①如何破解数字推理类测试题?

校园招聘(秋招春招),最为常见的认知能力测验,在线工具网将整理分析关于认知能力测验的系列文章,希望能帮助大家顺利通过认知能力测评,找到自己心仪的工作。 数字推理测试,是我们在求职中经常会…

C# 获取Windows所有窗口句柄

写在前面 在做录屏或截屏操作时,需要获取当前正在运行中的桌面程序句柄,在网上查找资源的的时候,发现了一个工具类还不错,这边做个验证记录。 参考代码 public class WindowApi{//寻找目标进程窗口 [DllImport("USER…

【大数据】Hudi 核心知识点详解(二)

😊 如果您觉得这篇文章有用 ✔️ 的话,请给博主一个一键三连 🚀🚀🚀 吧 (点赞 🧡、关注 💛、收藏 💚)!!!您的支持 &#x…

商用机器人,不好用是原罪

热潮褪去后,所有的问题都汇总成一个词,不好用。 从炙手可热到“大玩具” 一款产品好用与否,更多时候人们不会关心它先进的技术、工艺、用料,也不会考虑所谓的潮流趋势或前景,只会用最朴素的直观感受告诉你&#xff0…