热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

怎样知道邮箱的端口_计算机网络与通信原理——端口

我们知道,世界上有各种各样的计算机操作系统,各种各样的编码方式,那么我们要实现全球的通信,是不是要建立一个普适的网络模型&#
824872441feede74e99f9163e3dd07bf.png

我们知道,世界上有各种各样的计算机操作系统 ,各种各样的编码方式,那么我们要实现全球的通信,是不是要建立一个普适的网络模型,来满足各种各样不同的计算机之间的通信需求?这时,TCP/IP协议定义的网络模型和国际标准化组织ISO定义的OSI(Open System Interconnection开放式系统互联)模型就应运而生了。TCP/IP协议要早于OSI模型,并且现实生活中主要用到的是TCP/IP协议,OSI模型几乎没有实现过,不过OSI模型仍有其理论价值。

一、OSI模型

OSI模型定义了七个层,每个层提供不同的服务并且将功能封装起来供上一层使用。

5229da40c1a881783dc78df389f8e984.png

这张图表示了每个层传输的数据单元名称以及每一层用到的协议

1cebf45b2c5eff4dc802165f090caea0.png

这张图表示在最高层是原始数据,每往下一层就需要封装一次,传输的数据单元就会越来越大。

二、TCP/IP

TCP/IP协议是四层模型,它与OSI模型的对比如下

493190ac92e94fba4755dfad62072b69.png

TCP/IP四层模型由上到下我们也通常称为:应用层、传输层、网络层、数据链路层。

在简单了解了网络模型的层次,我们看看计算机之间是怎么来通信的吧!

三、寻址

大家都知道,逛淘宝买东西需要提供什么呀?自己的收货地址!不论是显示生活中的信件、快递还是网络中计算机之间的通信,我们都需要地址对吧,地址其实在计算机网络通信里占有非常重要的地位。想想生活中你的家是不是有一个唯一的地址?其实每台计算机也有它唯一的地址——IP地址(逻辑地址)。比如百度服务器(一台性能很好的计算机)的IP地址220.181.112.244,它的别名,也就是域名为www.baidu.com。

其实我们熟知的IP地址只是地址的一种,它工作在网络层,在传输的过程中是不可变的。

地址分为四种:物理地址、逻辑地址、端口地址和专有地址。

a.物理地址

物理地址工作在最底层,即数据链路层和物理层的帧(frame,一种数据单位,由比特构成)中,它每一次传输都会改变,比如从帧A一台计算机a到一个路由器b使用了一组地址,该帧A在路由器b到路由器c中就会换另一组地址,它是可变的。

b.逻辑地址

即世界上所有的计算机都有一个32位的地址(IPv4),它唯一的表示每一台计算机,后来IPv4地址不够用了,就出现了IPv6地址,128位长。只需记住一点,无论IPv4还是IPv6地址都是逻辑地址,它们是唯一的表示一台计算机的IP地址。它工作在网络层,在传输的过程中是不会变的。

c.端口地址

我们通过逻辑地址实现了计算机之间的通信,但是这样并没有什么意义,比如你在打英雄联盟,这时你需要把数据传输到其他玩家的计算机上还是传输到其他玩家的英雄联盟上呢?你打出了100点伤害,这样一个数字,传到计算机上毫无意义,但是传输到英雄联盟中,英雄联盟就知道你造成了100点伤害,并在游戏里计算。这样一个简单的例子说明计算机之间的通信实质上是不同计算机之间进程的通信。而端口号就是唯一的表示这些进程的编号。(进程:运行着的程序)端口号有16位,0到65535,一共有2^16个端口号。通过端口号可以找到计算机运行的应用程序。如Web服务器对应的端口号是80,我们通过80端口实现了上网的功能。端口地址工作在传输层,在传输的过程中是不会变的,端口地址就是端口号。

d.专用地址

最典型的例子就是邮箱地址,每个邮箱被邮箱地址唯一指定,它会被转换成对应的端口地址和逻辑地址进行传输。专用地址工作在应用层,在传输的过程中是不会变的。

我们可以发现,计算机地址分为4类刚好对应 TCP/IP4层模型,由上到下分别为:

专用地址——应用层

端口地址——传输层

逻辑地址——网络层

物理地址——数据链路层和物理层

四、端口

所以我们常说的端口指的是我们访问主机上的某一进程的标识号,通过端口实现了计算机之间进程的通信。例如,我们访问百度主页,实际上是我们计算机上的浏览器这一进程访问百度服务器(一台计算机)上的Web服务器(一款软件,也就是一个大型程序)进程。

Web服务器对应的端口号是80。就是说我们访问一个Web页面的正确输入应该是IP:80。比如百度服务器(一台计算机)的IP地址220.181.112.244,也可以通过域名www.baidu.com访问(域名就是IP地址的),要访问百度页面(百度服务器上的Web程序)正确的输入应该是220.181.112.244:80或www.baidu.com:80。而我们通过在浏览器上输入www.baidu.com就能访问百度页面的原因是浏览器默认访问80端口。

#端口#

220693129a674698a06fa833ab653ae9.png



推荐阅读
  • 【图解HTTP】第一章 了解web及网络基础
    [图解HTTP]了解Web及网络基础Web页面是如何呈现的?根据Web浏览器地址栏中指定的URL,Web浏览器从Web服务器端获取文件资源(resour ... [详细]
  • 域名解析系统DNS
    文章目录前言一、域名系统概述二、因特网的域名结构三、域名服务器1.根域名服务器2.顶级域名服务器(TLD,top-leveldomain)3.权威(Authoritative)域名 ... [详细]
  • 如何使用PLEX播放组播、抓取信号源以及设置路由器
    本文介绍了如何使用PLEX播放组播、抓取信号源以及设置路由器。通过使用xTeve软件和M3U源,用户可以在PLEX上实现直播功能,并且可以自动匹配EPG信息和定时录制节目。同时,本文还提供了从华为itv盒子提取组播地址的方法以及如何在ASUS固件路由器上设置IPTV。在使用PLEX之前,建议先使用VLC测试是否可以正常播放UDPXY转发的iptv流。最后,本文还介绍了docker版xTeve的设置方法。 ... [详细]
  • 如何使用Java获取服务器硬件信息和磁盘负载率
    本文介绍了使用Java编程语言获取服务器硬件信息和磁盘负载率的方法。首先在远程服务器上搭建一个支持服务端语言的HTTP服务,并获取服务器的磁盘信息,并将结果输出。然后在本地使用JS编写一个AJAX脚本,远程请求服务端的程序,得到结果并展示给用户。其中还介绍了如何提取硬盘序列号的方法。 ... [详细]
  • 本文介绍了RPC框架Thrift的安装环境变量配置与第一个实例,讲解了RPC的概念以及如何解决跨语言、c++客户端、web服务端、远程调用等需求。Thrift开发方便上手快,性能和稳定性也不错,适合初学者学习和使用。 ... [详细]
  • Skywalking系列博客1安装单机版 Skywalking的快速安装方法
    本文介绍了如何快速安装单机版的Skywalking,包括下载、环境需求和端口检查等步骤。同时提供了百度盘下载地址和查询端口是否被占用的命令。 ... [详细]
  • [译]技术公司十年经验的职场生涯回顾
    本文是一位在技术公司工作十年的职场人士对自己职业生涯的总结回顾。她的职业规划与众不同,令人深思又有趣。其中涉及到的内容有机器学习、创新创业以及引用了女性主义者在TED演讲中的部分讲义。文章表达了对职业生涯的愿望和希望,认为人类有能力不断改善自己。 ... [详细]
  • 计算机存储系统的层次结构及其优势
    本文介绍了计算机存储系统的层次结构,包括高速缓存、主存储器和辅助存储器三个层次。通过分层存储数据可以提高程序的执行效率。计算机存储系统的层次结构将各种不同存储容量、存取速度和价格的存储器有机组合成整体,形成可寻址存储空间比主存储器空间大得多的存储整体。由于辅助存储器容量大、价格低,使得整体存储系统的平均价格降低。同时,高速缓存的存取速度可以和CPU的工作速度相匹配,进一步提高程序执行效率。 ... [详细]
  • SpringMVC接收请求参数的方式总结
    本文总结了在SpringMVC开发中处理控制器参数的各种方式,包括处理使用@RequestParam注解的参数、MultipartFile类型参数和Simple类型参数的RequestParamMethodArgumentResolver,处理@RequestBody注解的参数的RequestResponseBodyMethodProcessor,以及PathVariableMapMethodArgumentResol等子类。 ... [详细]
  • 本文由编程笔记#小编整理,主要介绍了关于数论相关的知识,包括数论的算法和百度百科的链接。文章还介绍了欧几里得算法、辗转相除法、gcd、lcm和扩展欧几里得算法的使用方法。此外,文章还提到了数论在求解不定方程、模线性方程和乘法逆元方面的应用。摘要长度:184字。 ... [详细]
  • Netty源代码分析服务器端启动ServerBootstrap初始化
    本文主要分析了Netty源代码中服务器端启动的过程,包括ServerBootstrap的初始化和相关参数的设置。通过分析NioEventLoopGroup、NioServerSocketChannel、ChannelOption.SO_BACKLOG等关键组件和选项的作用,深入理解Netty服务器端的启动过程。同时,还介绍了LoggingHandler的作用和使用方法,帮助读者更好地理解Netty源代码。 ... [详细]
  •   1、确认自己的线路是否连接正确腾达a9设置。 ... [详细]
  • Linux内核那些事之连接跟踪
    “本文分析了Linux内核连接跟踪的关键实现”连接跟踪(也叫会话管理)是状态防火墙关键核心,也是很多网元设备必不可少的一部分。各厂商的实 ... [详细]
  • 这篇文章主要讲解了“面向对象设计的六大原则是什么”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究 ... [详细]
  • 运行机制_PHP 底层的运行机制与原理转
    篇首语:本文由编程笔记#小编为大家整理,主要介绍了PHP底层的运行机制与原理--转相关的知识,希望对你有一定的参考价值。发现一片总结的还不错的文 ... [详细]
author-avatar
静候轮回
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有