网络编程基础day01 预备知识

网络基础:

      
协议:
    一组规则。

分层模型结构:

    OSI七层模型:  物、数、网、传、会、表、应

    TCP/IP 4层模型:网(链路层/网络接口层)、网、传、应

        应用层:http、ftp、nfs、ssh、telnet。。。

        传输层:TCP、UDP

        网络层:IP、ICMP、IGMP

        链路层:以太网帧协议、ARP

                典型协议:

                网络传输流程:

                              数据没封装之前 是不能传输到网络中的

                              发送方:应用层(应用层)--->传输层(内核层 )--->网络层--->数据链路层

                              接收方:链路层--->网络层--->传输层--->数据链路层

                以太网帧格式:

                         

                                                        ARP协议:根据 Ip 地址获取 mac 地址。

                                                        以太网帧协议:根据mac地址,完成数据包传输。

                IP协议:

                UDP:16位   2^65536

                TCP:   16位   2^65536

 c/s模型:client-server                                    

优点:缓存大量数据  协议选择上灵活、灵活速度快 

缺点:安全性     

b/s模型:browser-server

优点:安全性高、跨平台

缺点:不能缓存大量的数据、严格遵守http协议

 网络套接字:socket

                     一个文件描述符指向一个套接字(该套接字内部由n内核借助两个缓冲区实现)

预备知识:

                网络字节序:

                                     小端法:高位存高地址  低位存低地址。int a = 0x12345678          

                                      大端法:高位存低地址  低位存高地址。int a = 0x12345678

                                      计算机采用小端法   网络采用大端法 那么就要涉及到转换

htonl(uint32_t hostlong)  我们平常见到的192.168.1.215(点分十进制) 本地------>网络(IP)

htons():

ntohl(): 

ntohs():

ip地址转换函数:

                          int inet_pton(int af,const char *src,void *dst);

                          af:AF_INET、AF_INET6

                          src:传入,IP地址;

                          dst:传出

 const char *inet_ntop(int af, const void *src,char *dst, socklen_t size);

                          网络字节--->本地字节(string IP)               

                          af:AF_INET、AF_INET6

                          src:传入,IP地址;

                          dst:本地字节序(string ip)

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值