mac地址、IP地址和端口号

看了很多遍,才整理出来我对整个通信过程的理解,大致如下,后期会不断学习补充更正:

在利用TCP/IP协议族进行通信的时候,有三个比较关键的确认身份的信息:mac地址、IP地址和端口号。

  • mac地址是在数据链路层包裹在以太网头部中的,它主要用来识别同一个链路中的不同计算机。Mac地址即网卡号,每块网卡出厂的时候,都有一个全世界独一无二的 MAC 地址,长度是 48 个二进制位,通常用 12 个十六进制数表示。
  • IP地址是在网络层的IP头部里,用于识别网络中互联的主机和路由器,其实主要是确认子网,通过子网掩码确认某个IP地址所在的子网,而后再在子网内部确认mac地址就能找到准确的用户了。
  • 端口号是在传输层包含在TCP/UDP头部中的,用于识别应用程序。一台主机上能运行多个程序,那么接收到的消息到底是哪个程序的呢?就需要端口号来确认。

端口号有两种:

    • 固定的端口号,是形如http,telnet,ftp等广为使用的应用协议所使用的端口号是固定的
    • 动态分配的端口号,这个时候服务端要确定监听端口号,接受服务的客户端没必要确定端口号

端口号由传输层协议决定,因此不容传输协议可以使用相同的端口号,所以TCP和UDP可以使用同一个端口号

例如,主机A向主机B利用发送了一条消息,则在TCP head里包含了发送消息的应用的端口号以及接收方应用的端口号,传递给它的下一层,网络层会将TCP数据包封装起来再加自己的头部,IP头部里包含本地IP以及接收方IP等信息传递给数据链路层。数据链路层会再给加一个以太网头部,这里包含双方的mac地址。那么对方IP和端口号都好得到,可是mac地址如何获得呢?这个时候需要ARP协议,这个暂且不说,直说在已知mac地址和IP地址端口号情况下如何发送消息。

首先以太网数据包会在其子网内部广播,如果接收方在其子网内,则在比对mac地址后直接接收数据。如果不在同一个子网内,以太网协议就不能实现数据传输了,而且因为以太网协议采取广播的方式发送消息,就算没有局限在子网内,如果给非常庞大的主机群广播消息是非常可怕的。这个时候就需要IP地址了,IP地址主要是用来区分哪些mac地址在同一个子网。找到目的主机所在子网之后再根据mac地址确认主机,IP层从IP首部确定数据包所用的协议之后将数据包交给对应的协议,再由协议来确认程序的端口号,从而实现了消息的传递

时间: 2024-11-06 20:46:23

mac地址、IP地址和端口号的相关文章

mac下ip地址重定向

在终端临时使用最高权限用vim编辑/etc下的hosts文件,若提示Password: 输入开机登录密码并回车: yanguobindeMacBook-Pro:~ yanguobin$ sudo vim /etc/hosts 在末尾插入即可 格式为ip地址+空格+域名 可以将一个域名重定向到一个ip 例如: 127.0.0.1 peer1 127.0.0.1 peer2 记得保存退出 原文地址:https://www.cnblogs.com/yanguobin/p/11452916.html

Mac 关闭Mac所占用的的端口号

Mac  关闭Mac所占用的的端口号 今天在运行Tomcat时候报出错误,端口号被占用,自己把软件退出去也没有用,所以就想着把端口号杀掉,然后在跑服务: 1.打开终端,我们先要查找下端口号. 使用命令:lsof -i:8009(8009为你要查询的端口号) 2.复制这个PID,运行命令:kill 15460(15460为当前搜索的端口进程PID) 直接了当干掉当前端口号,使用 sudo -9 kill 15460 原文地址:https://www.cnblogs.com/tanglie/p/10

本地连接图标消失;修改地址IP地址

(1)网络连接中没有本地连接,电脑无法进行拨号.无法上网,右键点击“网上连接”选择“属性”,弹出的“网络连接”文件夹中没有本地连接的图标,类似情况处理起来要相对复杂些了,我们逐一判断故障原因,在想办法解决:1.右键点击“我的电脑”选择“属性”——>弹出的“系统属性”中选择“硬件”选项卡——>点击“设备管理器”——>在弹出的“设备管理器”中查看“网络适配器”前面是否出现感叹号!,或者“网络控制器”前面有个问号?,假如出现问号或感叹号,这说明网卡驱动不正常或根本就没有安装网卡驱动: (2)修

linux 下查看硬件信息(mac,IP地址,硬盘型号,序列号等)

一.查看网卡mac地址 #安装lshw [[email protected] ~]# yum install lshw #使用方法 [[email protected] ~]# lshw -c network *-network:0 description: Ethernet interface product: NetXtreme II BCM5709 Gigabit Ethernet vendor: Broadcom Limited physical id: 0 bus info: [ema

windows XP 获取网卡MAC和IP地址

程序源码 use strict; open my $fh,"ipconfig /all|" or die "can't find cmd ipconfig /all:$!"; my (%mac_ip_hash, $ip_address, $mac_address); while(defined(my $line1=<$fh>)){ if ($line1 =~ /^Windows/){ print "Windows IP Configure:\n

计算机网络之IP地址与MAC地址

IP地址 IP地址(Internet Protocol Address): 缩写为IP Adress,是一种在Internet上的给主机统一编址的地址格式,也称为网络协议(IP协议)地址. 它为互联网上的每一个网络和每一台主机分配一个逻辑地址. 常见的IP地址,分为IPv4与IPv6两大类,当前广泛应用的是IPv4. 目前IPv4几乎耗尽,下一阶段必然会进行版本升级到IPv6. IP地址对应于OSI参考模型的第三层网络层,工作在网络层的路由器根据目标IP和源IP来判断是否属于同一网段. 如果是不

一文搞懂网络知识,IP、子网掩码、网关、DNS、端口号

网络的基本概念 客户端:应用 C/S(客户端/服务器) B/S(浏览器/服务器) 服务器:为客户端提供服务.数据.资源的机器 请求:客户端向服务器索取数据 响应:服务器对客户端请求作出反应,一般是返回给客户端数据 URL Uniform Resource Locator(统一资源定位符) 网络中每一个资源都对应唯一的地址——URL IP .子网掩码 .路由器 .DNS IP地址 IP地址是IP协议提供的一种统一的地址格式,它为互联网上的每一个网络和每一台主机分配一个逻辑地址,以此来屏蔽物理地址(

1.socket编程:socket编程,网络字节序,函数介绍,IP地址转换函数,sockaddr数据结构,网络套接字函数,socket相关函数,TCP server和client

 1  Socket编程 socket这个词可以表示很多概念: 在TCP/IP协议中,"IP地址+TCP或UDP端口号"唯一标识网络通讯中的一个进程,"IP 地址+端口号"就称为socket. 在TCP协议中,建立连接的两个进程各自有一个socket来标识,那么这两个socket组成的socket pair就唯一标识一个连接.socket本身有"插座"的意思,因此用来描述网络连 接的一对一关系. TCP/IP协议最早在BSD UNIX上实现,

(四十七)socket编程——socket引入、网络字节序、IP地址转换函数、sockaddr数据结构介绍

一.什么是socket socket这个词可以表示很多概念: 在TCP/IP协议中,"IP地址+TCP或UDP端口号"唯一标识网络通讯中的一个进程,"IP地址+端口号"就称为socket. 在TCP协议中,建立连接的两个进程各自有一个socket来标识,那么这两个socket组成的socket pair就唯一标识一个连接.socket本身有"插座"的意思,因此用来描述网络连接的一对一关系. TCP/IP协议最早在BSD UNIX上实现,为TCP/

关于绑定IP地址与端口号的见解

"端口",通俗地讲就是一个通信通道的"门",各种计算机服务和通信都是通过特定的端口与外部计算机进行通信,像常见的WWW.FTP.Telnet服务一样. 随着计算机网络技术的发展,原来物理上的接口(如键盘.鼠标.网卡.显示卡等输入/输出接口)已不能满足网络通信的要求,TCP/IP协议作为网络通信的标准协议就解决了这个通信难题.TCP/IP协议集成到操作系统的内核中,这就相当于在操作系统中引入了一种新的输入/输出接口技术.因为在TCP/IP协议中引入了一种称之为&quo