网络编程之网络基础部分

时间:2019-08-06
本文章向大家介绍网络编程之网络基础部分,主要包括网络编程之网络基础部分使用实例、应用技巧、基本知识点总结和需要注意事项,具有一定的参考价值,需要的朋友可以参考一下。

# osi七层
![555536a26f451df342a6f96c3522bc80.png](en-resource://database/681:1)
tcp/ip五层:应传网数物
osi七层:应表会传网数物
![edd944d7af531c0d730d3fa2c9236c68.png](en-resource://database/683:1)

## 物理层:
网线 无线电波 本质:传输低电平 高电平
## 数据链路层(以太网):
### 1.对电信号初始分组(8位一组)
### 2.以太网协议(广播+mac地址):
![5507c03d67b7779b4c5f16796751c830.png](en-resource://database/677:1)
**一组电信号构成一个数据包,叫帧**
**每一数据帧:报头head(固定18字节)+数据data(46字节~1500字节)=64字节~1518字节,超过就分片发送**
**head+data=数据包**
**head:**
* 发送者/源mac地址=6字节
* 接受者/目标mac地址=6字节
* 数据类型=6字节
**数据链路层的通信方式为广播**
接收到广播的主机如果发现目的mac地址不是自己,就丢掉

## 网络层
广播效率低,且有网络风暴
ip协议 主机跨网段就发给网关
**head(以太网头+ip头)+数据包(head+data)**
ARP协议(获取对方mac):未知对方mac情况下 通过广播,发送(源mac+目标mac全F+源ip+目标ip+数据部分 )
全F表示想获取目标ip的mac地址
主机包中 有网关 即可找到目的主机的网关,主机包中有ip,即可获得目的主机的mac
## 传输层
端口到端口的通信 找到主机的具体一个程序(0~65535)
套接字socket
![a362da3834f59797450872b1ed495242.png](en-resource://database/679:1)
tcp协议 udp协议
## 应用层
1.应用层:程序
2.表示层:加密解密,压缩解压缩
3.会话层:建立会话

原文地址:https://www.cnblogs.com/lishuaing/p/11311552.html