标签:世界 sign main 知识 list 网络字节序 protoc 服务 并且
客户端-服务器编程模型
四步:
1、当一个客户端需要服务时,它向服务器发送一个请求,发起一个事务。
2、服务器收到请求后,解释它,并以适当的方式操作它的资源。
3、服务器给客户端发送一个响应,并等待下一个请求。
4、客户端收到响应并处理它。
客户端与服务器都是进程。
网络
件和软件资源来通信。
对于主机而言,网络是一种I/O设备,是数据源与数据接收方。
物理上而言,网络是一个按照地理远近组成的层次系统。
协议具备的基本能力:
1、命名机制:不同的局域网技术有不同和不兼容的方式来为主机
分配地址
2、传送机制:在电缆上编码位和将这些位封装成帧方面,不同的
联网技术有不同的和不兼容的方式。
数据从一台主机到另一台主机:
IP地址
每台因特网主机都运行实现TCP/IP协议。
把因特网看成一个世界范围的主机集合:
1、主机集合被映射为一组32位的IP地址
2、IP地址被映射为一组称为因特网域名的标识符
3、因特网主机上的进程通过连接和任何其他因特网主机上的进程
通信
一个IP地址就是一个32位无符号整数
IP地址结构体:
struct in_addr{
uint32_t s_addr;
}
hotnl函数将32位整数由主机字节序转换为网络字节序。
ntohl函数将32位整数从网络字节顺序转换为主机字节。
域名与IP地址:
1、一个域名和IP地址之间是一一映射
2、多个域名可以映射到同一个IP地址
3、多个域名可以映射到同一组的多个IP地址
TCP/IP:
套接字接口
应用概述:
套接字地址结构:
{
uint16_t sin_family;
uint16_t sin_port;
struct in_addr sin_addr;
unsigned char size_zero[8];
}
socket 函数
{
int socket(int domain, int type , int protocol);
}
connect 函数
{
int connect(int clientfd,const struct *addr,socket_t addrlen);
}
bind 函数
{
int bind(int clientfd,const struct *addr,socket_t addrlen);
}
listen 函数
{
int listen(int socket,int backlog);
}
accept 函数
{
int accept(int listenfd, struct sockaddr* addr,int *addrlen);
}
监听与已连接:
2018-2019-1 20165320 《信息安全系统设计基础》第八周学习总结
标签:世界 sign main 知识 list 网络字节序 protoc 服务 并且
原文地址:https://www.cnblogs.com/Gst-Paul/p/10017924.html