• IP地址、MAC地址及端口


    概述:

    • IP 是地址,有定位功能(网与网的通讯)     (在逻辑上唯一标识一台电脑)(网络层)
    • MAC 是身份证,无定位功能(在子网干活)(在物理上唯一标识一台电脑) (链路层)

    首先是如何查看ip地址的问题:

    Windows:ipconfig

    Linux:ifconfig 、ip addr

    #Linux下ip addr的内容
    root@test:~# ip addr
    1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default 
        link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
        inet 127.0.0.1/8 scope host lo
           valid_lft forever preferred_lft forever
        inet6 ::1/128 scope host 
           valid_lft forever preferred_lft forever
    2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP group default qlen 1000
        link/ether fa:16:3e:c7:79:75 brd ff:ff:ff:ff:ff:ff # MAC地址
        inet 10.100.122.2/24 brd 10.100.122.255 scope global eth0  #10.100.122.2就是一个IP地址
    valid_lft forever preferred_lft forever inet6 fe80::f816:3eff:fec7:7975/64 scope link valid_lft forever preferred_lft forever

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

    • IP地址:(基于计算机或路由器)在网络层的IP头部里,用于识别网络中互联的主机和路由器,其实主要是确认子网,通过子网掩码确认某个IP地址所在的子网,而后再在子网内部确认mac地址就能找到准确的用户了。
    • MAC地址:(基于网卡或路由器)在数据链路层包裹在以太网头部中的,它主要用来识别同一个链路中的不同计算机。Mac地址即网卡号,每块网卡出厂的时候,都有一个全世界独一无二的 MAC 地址,长度是 48 个二进制位,通常用 12 个十六进制数表示。
    • 端口号:在传输层包含在TCP/UDP头部中的,用于识别应用程序。一台主机上能运行多个程序,那么接收到的消息到底是哪个程序的呢?就需要端口号来确认。
    • 端口号有两种:
      •   固定的端口号,是形如http,telnet,ftp等广为使用的应用协议所使用的端口号是固定的
      •   动态分配的端口号,这个时候服务端要确定监听端口号,接受服务的客户端没必要确定端口号

    端口

    端口是应用层的概念,每个应用程序(进行网络通信)都占用自己的端口

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

    通过端口发送给应用程序

    端口号用16位2进制数来表示。取值范围0~65535,分为两种端口:

    知名端口:0~1023(系统应用程序服务所占用)

    FTP服务:21

    HTTP服务:80、443

    动态端口:1024~65535(自己安装的应用程序/服务占用)

    MySQL:3306

    Redis:6379

    FeiQ:2425

    问题:现在很多工具都可以更改本机的MAC地址,也就是网络上存在很多MAC地址被更改成一样的,然而并没有出现通讯异常或者混乱这是为什么?
    回答:MAC在一个局域网内冲突才会影响网络通讯,局域网外是通过IP定位,所以不同局域网的网络设备MAC一样是不会有通讯问题的。


    IP详细补充

    根据网络号的前几位不同,把IP地址分为5类:

    目前IP技术可能使用的IP地址最多可有4,294,967,296个(即232)。

    n 表示该二进制位是网络位    H 表示该二进制位是主机位    X 表示该二进制位无特定作用

    A类地址:第一位为0,网络号长度是8-1=7位,主机号地址长度是24位。地址范围:0.0.0.0~127.255.255.255
      0.  0.  0.  0 = 00000000.00000000.00000000.00000000
    127.255.255.255 = 01111111.11111111.11111111.11111111
                      0nnnnnnn.HHHHHHHH.HHHHHHHH.HHHHHHHH
    B类地址:前两位为10,网络号长度是16-2=14位,主机号长度16位。地址范围:128.0.0.0~191.255.255.255
    128.  0.  0.  0 = 10000000.00000000.00000000.00000000
    191.255.255.255 = 10111111.11111111.11111111.11111111
                      10nnnnnn.nnnnnnnn.HHHHHHHH.HHHHHHHH
    
    C类地址:前三位为110,网络号长度为24-3=21位,主机号长度8位。地址范围:192.0.0.0~223.255.255.255
    192.  0.  0.  0 = 11000000.00000000.00000000.00000000
    223.255.255.255 = 11011111.11111111.11111111.11111111
                      110nnnnn.nnnnnnnn.nnnnnnnn.HHHHHHHH
    
    D类地址:前四位为1110,后面不区分网络号和主机号。用于进行多播或广播
    224.  0.  0.  0 = 11100000.00000000.00000000.00000000
    239.255.255.255 = 11101111.11111111.11111111.11111111
                      1110XXXX.XXXXXXXX.XXXXXXXX.XXXXXXXX
    
    E类地址:后面不区分网络号和主机号,预留,现在没用了(出了IPV6)
    240.  0.  0.  0 = 11110000.00000000.00000000.00000000
    255.255.255.255 = 11111111.11111111.11111111.11111111
                      1111XXXX.XXXXXXXX.XXXXXXXX.XXXXXXXX


     

    C类地址中,在一个局域网(网络号相同)内,最多能同时存在多少台机器?256台
    B类地址中,在一个局域网(网络号相同)内,最多能同时存在多少天机器?65536台
    A类地址中,……
    另外,在A、B、C地址中,有一个小范围:
    10.0.0.0~10.255.255.255
    172.16.0.0~172.16.255.255
    192.168.0.0~192.168.255.255
    这个范围之内的IP地址用来做私有IP
    这些地址是不能联网的,能上网的IP叫公有IP
     
    还有一个127.0.0.1~127.255.255.255,用于回路测试。以确保自己的电脑身上的网络相关的功能是正常的。

    学习参考资料:

    IP地址和MAC地址的本质区别

    mac地址、ip地址和端口号

    集线器、交换机、路由器的区别

  • 相关阅读:
    ==和equals
    java 多重继承
    java单例模式
    基础小知识
    print流之错误日志
    print流
    实现读文本文件(IOl流)
    缓冲流(数据的复制粘贴)IO流
    力扣20题、1047(括号合法性,删除字符串中的所有相邻重复项)
    力扣232题、225题(栈实现队列,队列实现栈)
  • 原文地址:https://www.cnblogs.com/kumata/p/9182158.html
Copyright © 2020-2023  润新知