浅谈【网络编程】基础知识

目录

1、网络编程

1.1网路通信

1.2网络协议层次模型

1.2.1OSI 七层模型

1.2.2TCP/IP 四层模型

1.3网络数据怎么传输的

1.4部分硬件的功能

2、互联网地址(IP地址)

2.1IPV4地址分类

2.2端口号


谢谢帅气美丽且优秀的你看完我的文章还要点赞、收藏加关注

没错,说的就是你,不用再怀疑!!!

希望我的文章内容能对你有帮助,一起努力吧!!!


1、网络编程

1.1网路通信

通信/通讯需要具备两个基本条件:

  • 物理媒介(物理层面)
    • 光纤,网线
  • 协议(软件层面)
    • 网络通信协议

1.2网络协议层次模型

层次:把不同的功能封装成不同功能模块。

为什么叫做层次

因为被封装的模块必须按照已有顺序进行调用,不能越级调用

例如:

A 模块(用户层)

-----

B 模块(OS层)

-----

C 模块(硬件层)

A模块不能直接调用C模块,只能通过先调用B模块的接口,通过B模块的接口来调用C模块

1.2.1OSI 七层模型

  • 应用层
  • 表示层
  • 会话层
  • 传输层
  • 网络层
  • 数据链路层
  • 物理层

1.2.2TCP/IP 四层模型

  • 应用层
    • 应用协议
      • http,https,ftp,tftp,dns,qq协议,BT
  • 传输层
    • 主要作用
    • 协议:TCP,UDP
      • TCP : Transmission Control protocol 传输层控制协议
        • 是一种面向连接的传输层议,它可以提供高可靠的通信。
          • 即数据无误、数据无丢失、数据无失序、数据无重复到达的一种通信
        • 建立连接
          • 三次握手和四次挥手
          • 重发机制
          • “面向连接”
      • UDP : User Datagram Protocol 用户数据报协议
        • 它是不可靠的无连接协议。
          • 在数据发送之前,因为不需要进行连接就可以直接发送数据
          • "实时应用
  • 网络层
    • IP : IP地址 (网卡的逻辑上的编号)
    • ICMP
    • IGMP
  • 设备驱动与硬件层
    • 硬件
      • 网卡
      • 网线
    • MAC协议
      • MAC协议(网卡的物理地址48bits)

1.3网络数据怎么传输的

分层传输:

  • 封包过程
  • 拆包过程

整个过程可以通过图片形象展示:(方便读者理解记忆)

1.4部分硬件的功能

  • 路由器:主要功能“ 路由 ”
    • 选择网络数据包的下一站。
  • 网关:连接两个或以上网络
  • 交换机( switch ):
    • 扩展网口
    • 有源:增强信号
  • 猫( modern ):调制解调器
    • adsl 猫
    • 光纤猫

2、互联网地址(IP地址)

互联网: internet

互联网上的每一个接口(网卡)都必须要有一个唯一的 internet 地址(也叫: IP地址 )。协议上的逻 辑地址。

进行通信的时候,用到这个 IP 地址唯一标识一台主机(一个网卡)

IPV4 地址:

  • 32bits IP 地址

IPV6 地址:

  • 128bits IP 地址

IPV4 地址有 32bits ,怎么区分?

一般将一个 IPV4 网络地址分为两步:

  • 按照日常生活中的电话号码类似:
    • 区号
    • 主机号
    • 0731-888888 : 0731 区号、 888888 主机号
  • IPV4 地址的 32bits
    • 网段号:用来标识某个网段
      • 在 IPV4 地址用连续高位表示网段号
    • 主机号:用来标识特定网段中的特定主机的
      • 在 IPV4 地址用连续底位表示主机号
  • IPV4 地址: 32bits 用点分式来表示一个 IP 地址
    • 每8个 bit 位为一组,中间用 . 进行分割
    • 比如:
      • 11010010 01001001 10001100 00000010 --> 封装隐藏起来的
      • 210.73.140.2 -->展示出来的,点分式字符串

2.1IPV4地址分类

  • A 类地址:最高位 bit 位为 0 ,网络号 7bits ,主机号 24bits
    • IPV4 地址的范围: 0.0.0.0 ~ 127.255.255.255
      • 00000000 00000000 00000000 00000000 00000000 00000000 ---> 0.0.0.0 0

        1111111 11111111 11111111 11111111 11111111 11111111 ---> 127.255.255.255

      私有地址范围: 10.0.0.0~10.255.255.255

  • B 类地址:最高位 bit 位为 10 ,网络号 14bits ,主机号 16bits

    • IPV4 地址的范围: 128.0.0.0 ~ 191.255.255.255

      • 10000000 00000000 00000000 00000000 00000000 00000000 ---> 128.0.0.0 10111111 11111111 11111111 11111111 11111111 11111111 --->191.255.255.255

        私有地址范围: 172.16.0.0~172.31.255.255

  • C 类地址:最高位 bit 位为 110 ,网络号 21bits ,主机号 8bits

    • IPV4 地址的范围: 192.0.0.0 ~ 223.255.255.255

    • 私有地址范围: 192.168.0.0~192.168.255.255

  • D 类地址:最高位 bit 位为 1110 ,(多播组号 28bit )

    • 224.0.0.0 ~ 239.255.255.255

  • E 类地址:最高位 bit 位为 11110 (留待使用)

    • 240.0.0.0 ~ 247.255.255.255

在设置一个 IP 地址,还是可以指定这个地址中哪些 bits 位是网段号、哪些是主机号。

netmask (子网掩码):就是用来指定一个 IP 中,哪些是网段号,哪些是主机号

netmask : 255.255.254.0

192.168.1.4 和 192.168.2.5 是不是同一个网段?

11111111 11111111 11111110 00000000 子网掩码

xxxxxxxx xxxxxxxx 00000001 xxxxxxxx 192.168.1.4

xxxxxxxx xxxxxxxx 00000010 xxxxxxxx 192.168.2.5

×不是同一个网段

        IP 地址是用来唯一的表示网络上的一台主机的,一台主机可能有多个网络应用程序。

2.2端口号

TCP 和 UDP 采用 16bits 的端口用来标识应用程序

IP 地址只能唯一标识网络中的主机,但是每台主机上面的网络应用不止一个。既然有多个应用在跑。

从传输层角度划分:

  • TCP应用
  • UDP应用

TCP 和 UDP 的应用端口号是独立。

一台主机的网络应用由: IP 地址+传输层协议( TCP/UDP )+端口号进行确定。

端口号由 IANA ( internet Assigned Number Authority )管理

比较出名端口: 1~1023

  • ftp : 21
  • http : 80
  • 注册端口: 1024~49151
  • 动态和私有端口: 49152~65535
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值