目录
谢谢帅气美丽且优秀的你看完我的文章还要点赞、收藏加关注
没错,说的就是你,不用再怀疑!!!
希望我的文章内容能对你有帮助,一起努力吧!!!
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 用户数据报协议
- 它是不可靠的无连接协议。
- 在数据发送之前,因为不需要进行连接就可以直接发送数据
- "实时应用
- 它是不可靠的无连接协议。
- TCP : Transmission Control 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
-
- IPV4 地址的范围: 0.0.0.0 ~ 127.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