ぉ沙皮狗的忧伤 发表于 2020-5-20 11:40:21

linux 网络编程自学笔记一

本帖最后由 ぉ沙皮狗的忧伤 于 2020-5-20 11:58 编辑


[*]网络编程预备知识:
    1.什么是套接字:是一种网络编程的接口.是一种特殊的文件描述符.

    套接字分类:
      -----》流失套接字:SOCK_STREAM,提供了一个面向连接、可靠的数据传输服务 -----》 选择网络通信对应tcp协议.
      ------>数据报套接字:SOCK_DGRAM,无连接服务,----》选择网络通信对应udp协议.
      ------>原始套接字:直接作用于网络层,实现Ping命令.

2.什么是IP地址:
Ip地址:网络中主机的唯一标识,路由通过ip寻找不同网络中接收数据的主机.
Ip分类:ipv4地址(4字节整数)和Ipv6地址(16字节)

私有IP地址:只能在局域网中访问,在不同局域网重复使用.
公有ip地址:在internet中注册,可以直接被互联网中其他主机直接访问.

Ipv4地址表示方法:   1.采用机器能识别的整数表示:0x12345678   2.采用十进制点分字符串表示:“192.168.7.5”

   Ip地址 = 网络地址 +主机地址

Ip地址分类 :
A类地址:高1个字节表示网络地址,低3个字节表示主机地址
   0.0.0.0----->126.255.255.255
一个A类网络可以容纳的主机个数: 2^24 -2

B类地址:高2个字节表示网络地址,低2个字节表示主机地址
   128.0.0.0------》191.255.255.255
一个B类网络可以容纳的主机个数: 2^16 -2 =65524台

C类地址:高3个字节表示网络地址,低1个字节表示主机地址
   192.0.0.0-----> 223.255.255.255
一个C类网络可以容纳的主机个数: 2^8 -2 =254台

D类地址:特殊用途,用于组播数据包
    224.0.0.0----->239.255.255.255

E类地址: 保留地址:
    240.0.0.0---->255.255.255.255

主机地址最大数为该网段的广播地址:
192.168.7.255:表示192.168.7网段的广播地址
128.192.255.255表示128.192网段的广播地址

A,B,C类网络中预留一部分用于组建局域网:
10.0.0.0   ----》 10.255.255.255
172.16.0.0 -----》 172.31.255.255
192.168.0.0 -----》 192.168.255.255

------》3.什么是端口:

作用:为了区分一台主机接收到的数据包应该转交给哪个进程来进行处理,使用端口号来区别

端口:是一个短整形数(2字节) 65536个端口:0----> 65535
Tcp端口和udp端口:相互独立

网络体系架构



TCP/IP协议的数据包


数据的封装与传递过程


SOCKET位置


字节序大小端


网络编程相关的API



TCP变成API


UDP编程的API



注:想看更多在论坛下载网络编程的pdf
:代码子附件中



页: [1]
查看完整版本: linux 网络编程自学笔记一