网络编程(1)

网络是什么?

网络就是多设备通信。

ip地址的基本概念

  1. ip地址是Internet中主机的标识
  2. Internet中的主机要与别的机器通信必须具有一个ip地址
  3. ip地址分为IPv4或者ipv6
  4. IPv4常用点分十进制形式

3.NAT和DHCP的作用

NAT设备作用是进行网络地址的转换,将内部私有的ip地址转化为公共的ip地址,或者反向操作。

DHCP服务器的作用就是动态主机配置协议,自动分配ip地址,子网掩码,默认网关和DNS服务器ip。

4.ip地址的组成

ip地址由网络号和主机号组成

网络号,表示是否在一个网段内

主机号,标识在本网段内的ID,同一个局域内不能重复

5.ip地址的分类

分为ABCDE五类,

A类:0.0.0.0到127.255.255.255

B类:128.0.0.0到191.255.255.255

C类:192.0.0.0到223.255.255.255

D类:224.0.0.0到239.255.255.255

E类:保留地址,取值地址在240-247之间

特殊地址

0.0.0.0

127.0.0.1回环地址

网络地址,主机号为0

广播地址,主机号最大的

6.什么是子网掩码,特点是什么

子网掩码是一个32位的整数,作用是将一个ip划分为网络地址和主机地址

子网掩码长度是和ip地址长度完全一样

网络号全为1,主机号全为0

7.三级划分的作用

三级划分将重新划分网络号和主机号,也就是重新组网,从而提高资源的利用率。

三级划分ip地址=网络号+子网号+主机号

8.socket介绍

  1. 一个编程接口
  2. 是一种特殊的文件描述符
  3. 是一种通信机制,并不仅限于TCP/IP
  4. 面向连接(Transmission Control Protocol - TCP/IP)
  5. 无连接 (User Datagram Protocol -UDP 和 Inter-network Packet Exchange - IPX)

9.为什么需要socket?

  1. 普通的io操作过程:打开文件,读写操作,关闭文件
  2. TCP/IP协议被集成到操作系统的内核中,引入新的io,socket

10.socket类型

  1. 流式套接字(SOCK_STREAM) TCP
  2. 数据报套接字(SOCK_DGRAM) UDP
  3. 原始套接字(SOCK_RAW)

11.端口号

区分一台主机接受到的数据包应该转交给哪个进程来处理,使用端口号来区分

TCP端口号和UDP端口号相互独立

端口号一般由IANA管理

端口用两个字节来表示

12.字节序

不同类型的cpu主机,内存存储大于一个字节类型的数据在内存中的存放顺序。

分类:

小端序:低序字节存储在低地址,主机字节序

大端序:高序字节存储在低地址,网络字节序

网络中传输的数据必须使用网络字节序,大端字节序

终端显示的数据必须是主机字节序,即小端字节序

13.端口转换

主机字节序转化为网络字节序(小端->大端)

htonl,htons

网络字节序转化为主机字节序(大端->小端)

ntohl,ntohs

14.ip地址的转换

主机字节序转化为网络字节序(小端->大端)

网络字节序转化为主机字节序(大端->小端)

15.TCP编程

  1. 流程

服务器(接电话)

  1. 创建套接字(socket)
  2. 指定网络信息
  3. 绑定套接字(bind)
  4. 监听套接字(listen)
  5. 接收客户端连接,连接请求(accept)
  6. 接受,发送数据(recv send)
  7. 关闭套接字(close)

客户端(打电话的人)

  1. 创建套接字(socket)
  2. 指定服务器网络信息
  3. 连接(connect)
  4. 接收发送信息(recv send)
  5. 关闭套接字(close)

16.tcp编程的函数接口

  1. socket
  2. bind
  3. listen
  4. accept
  5. recv
  6. connect
  7. send
  • 7
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值