OSI:
应用层:常用通用服务
表示层:约定通信数据格式
会话层:位置回话通信
传输层:负责保证通信可靠 和区分通信任务
网络层:网络层 约定 跨物理介质通信交换结点的交换规则 IP
链路层:约定基本二进制听信格式 及 同介质上设备的 区分ID
物理层:约定物理通信 介质形式和 信号调制方式
tcp/ip:
应用层:常用服务
传输层:数据可靠 通信任务的 区分 维持会话
网络层: 数据分组 转发 (IP)
物理接口和链路层:(网卡)
tcp:
可靠性传输协议 :有链接通信 数据无乱序 无重复 无丢失 无出错
udp:
不可靠传输协议 :无链接通信
socket: {通用变成 接口}
ip:32bit 点分十进制
A:
0xxx xxxx.X.X.X 0.x.x.x ~ 127.x.x.x 128个网络 2^24 - 2
255.0.0.0
B:
10xx xxxx.X.X.X 128.X.X.X ~ 191.X.X.X 2^16个网络 2^16 -2 主机
255.255.0.0
C: 110x xxxx.X.X.X 192.X.X.X ~ 223.X.X.X 2^24个网络 254 台主机
255.255.255.0
D:组播地址
1110 xxxx.X.X.X 224.X.X.X ~ 239.X.X.X
E:测试地址
1111 0xxx.X.X.X 240.X.X.X ~ 247.X.X.X
局域网地址:
192.168.x.x
172.16.x.x
10.x.x.x
广播地址:主机号为全1的地址,仅限于局域网
端口:位于 tcp udp 传输层 子ID 0 ~ 65535 16bit
0 ~ 1023 常用服务端口
1024 ~ 50000 系统分配端口
50000 ~ 65535 自定义端口
字节序: 大端序
主机字节序 转换为 网络字节序
htonl htons
ntohl ntohs
udp:
发送端
socket
//bind(可选) 如果不执行绑定 系统会在进行第一次发送或接收时 随机分配 ip 端口
while(){
sendto(,,,&dest_addr,);
}
接收端
socket
bind
while(){
recv();
...
}
工具:
TCP nc -l 端口号 接收数据 nc IP port 发送数据