网络编程的一些基础知识

OSI 七层模型:物理 数据链路 网络 传输 会话 表示 应用
TCP/IP 4层模型:应用 传输 网络 链路
在这里插入图片描述
ARP协议:根据ip地址获取相应的mac地址

IP协议:TTL:设置数据包在路由节点中的跳转上限(生存时间)

源IP:32位 ———4字节 例:192.168…1.108

IP地址:可以在网路环境中唯一标识一台主机

端口号:可以在网络主机上 唯一标识一个进程

C/S模型优点:缓存大量数据 协议选择灵活 速度快
缺点:安全性无法保证 跨平台难度大

B/S模型优点:安全 可以跨平台
缺点: 不可缓存 只可以用http

套接字:
一个文件描述符指向一个套接字(套接字内部由内核借助两个缓冲区实现)
通信过程中套接字是成对出现的

网络字节序:
小端法(本地存储):高位存高 低位存低
大端法(网络存储):高位存低地址 低位存高地址

socket函数:创建一个套接字,如果成功的话返回新套接字所对应的文件描述符

bind函数:给socket绑定一个地址结构(ip + 端口号)

listen函数:设置同时与服务器建立连接的上限数(同时进行三次握手的客户端数量)

accept函数:阻塞等待客户端建立连接 成功的话返回一个与客户端成功连接的socket文件描述符

connect函数:使用现有的socket与服务器建立连接

在这里插入图片描述

主动发起连接请求端:CLOSE – 发送SYN – SEND_SYN – 接收 ACK、SYN – SEND_SYN – 发送 ACK – ESTABLISHED(数据通信态)
被动接收连接请求端: CLOSE – LISTEN – 接收 SYN – LISTEN – 发送 ACK、SYN – SYN_RCVD – 接收ACK – ESTABLISHED(数据通信态)

主动关闭连接请求端: ESTABLISHED(数据通信态) – 发送 FIN – FIN_WAIT_1 – 接收ACK – FIN_WAIT_2(半关闭)

			-- 接收对端发送 FIN -- FIN_WAIT_2(半关闭)-- 回发ACK -- TIME_WAIT(只有主动关闭连接方,会经历该状态)

			-- 等 2MSL时长 -- CLOSE 

被动关闭连接请求端: ESTABLISHED(数据通信态) – 接收 FIN – ESTABLISHED(数据通信态) – 发送ACK

			-- CLOSE_WAIT (说明对端【主动关闭连接端】处于半关闭状态) -- 发送FIN -- LAST_ACK -- 接收ACK -- CLOSE
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值