TCP协议10个问题解答

 

 

协议栈是什么?定义:(特定的沟通模式)

答案:根据分层思想,每一层都有对应的协议,协议家族-->协议栈   

栈:先进后出       

理论:有一群专家为了使机器与机器之间的通讯修订了一层协议的七层模型; 应用层,表示层 ,会话层 ,传输层,网络层 数据链路层,物理层;  可是在工业界 用不到7层,五层就足够了。

  五层模型的应用层包含了应用层,表示层,会话层属于应用程序;

udp协议--->传输层。

 

 

物理层:是传输光电信号     在    光纤或双绞线

数据链路层:传输的数字信号   010101010101

网络层:

网卡将数字信号转换为光电信号;;;不属于任意一层  A/D D/A

 

mac地址:     只是在局域网内有用,

 

#define ETH_LENGTH 6    数组


sstruct ethhdr {
unsigned char dest[ETH_LENGTH];  目的地址
unsigned char src[ETH_LENGTH];   源地址
unsigned short proto;                         类型
};

               以太网的头封装完;

 

封装IP头

 

 服务类型:是提供音频  视频的

IP的理解:协议栈包里边有个位置为了寻目的地址


struct iphdr {

unsigned char version:4 版本
hdrlen:4 首部长度
unsigned char tos; // 服务类型
unsigned short tot_len; 包的总长度

unsigned short id; 十六位标识
unsigned short flag:3, 三位的标志
offset:13; 十三位片偏移

unsigned char ttl;
unsigned char proto; 8位的协议
unsigned short check; 十六位的校验

unsigned int sip; 源
unsigned int dip; 目的IP地址
}? end iphdr ? ;

ip头封装完

 

udp协议

struct udphdr {
unsigned short sport; 源端口
unsigned short dport; 目的端口号
unsigned short length; 长度
unsigned short check; 校验

};

posted @ 2020-07-02 22:02  tu破  阅读(154)  评论(0)    收藏  举报