计算机网络
文章平均质量分 94
关于网络的知识
没什么..
一个可爱的人
展开
-
网络编程---I/O多路转接之epoll
I/O多路转接之epoll一级目录二级目录三级目录I/O多路转接之select链接: link.一级目录二级目录三级目录原创 2021-07-24 23:54:07 · 285 阅读 · 1 评论 -
网络编程---I/O多路转接之select
高级IO1. 五种IO模型二级目录三级目录1. 五种IO模型二级目录三级目录原创 2021-07-22 19:24:26 · 276 阅读 · 1 评论 -
网络编程---I/O多路转接之poll
I/O多路转接之poll1. Poll函数接口2. 使用poll监控标准输入3. poll的优缺点I/O多路转接之select链接: link.解决了select的两个问题poll能等待的文件描述符是没有上限的poll不需要在每次调用的时候,都进行重新设置1. Poll函数接口#include <poll.h>int poll(struct pollfd *fds, nfds_t nfds, int timeout);pollfd结构struct pollfd {int原创 2021-07-23 14:57:04 · 238 阅读 · 0 评论 -
网络层---IP协议
IP协议1. IP协议报头1.1 分片和组装1.2 硬件设备2. 网段划分2.1 特殊的IP地址2.2 IP地址的数量限制3. 私有IP地址和公网IP地址4. 路由5. 重要的协议5.1 DNS(域名解析)5.2 ICMP协议5.3 NAT技术(重要)IP给通信双方提供了一种能力:将数据从A主机跨网络传输到B主机的能力。1. IP协议报头4位版本号(version): 指定IP协议的版本, 对于IPv4来说, 就是4.4位首部长度(header length): IP头部的长度是多少个32bit原创 2021-07-14 09:51:00 · 999 阅读 · 0 评论 -
数据链路层详解
数据链路层1. 局域网2. 以太网协议1.1 以太网帧格式2. MAC地址2.1 对比理解MAC地址和IP地址3. MTU(最大传输单元)3.1 MTU对IP协议的影响3.2 MTU对UDP协议的影响3.3 MTU对于TCP协议的影响4. ARP协议4.1 ARP数据报的格式上一节所说IP地址提供了一种能力:能够将数据跨网络从A主机到B主机,但是这是一种更为宏观的说法。事实上从A主机到B主机之前是不是应该先经过一个个的路由器(结点),真正做事干活的是数据链路层中的mac帧地址。1. 局域网这是一个局原创 2021-07-13 20:30:21 · 1082 阅读 · 1 评论 -
传输层协议UDP和TCP
传输层协议UDP和TCP1. 长短链接2. UDP协议2.1 UDP协议端格式2.2 UDP的特点3. TCP协议3.1 详谈TCP协议段格式3.2 确认应答(ACK)机制1. 长短链接短链接:版本号HTTP/1.0,每一次进行三次握手,然后建立连接,发送request,返回response,但是里面只有一个body,就断开连接了,下一次请求资源(比如请求网页:网页的本身是由多种“元素”所构成的,包括文本、图片、音频、视频等),又需要再次建立连接,这样两者之间建立连接的成本就会特别的高。长链接:版本原创 2021-06-06 17:01:47 · 557 阅读 · 1 评论 -
HTTP和HTTPS
HTTP和HTTPS1. 简易HTTP服务器2. http和https2.1 秘钥协商过程2.2 数据摘要和数据签名2.3 证书1. 简易HTTP服务器实现一个最简单的HTTP服务器, 网页上输出 “hello world”;#pragma once#include <iostream>#include <unistd.h>#include <stdlib.h>#include <strings.h>#include <string>原创 2021-06-03 19:11:41 · 407 阅读 · 1 评论 -
HTTP协议及TCP通讯流程
服务器初始化:调用socket, 创建文件描述符;调用bind, 将当前的文件描述符和ip/port绑定在一起; 如果这个端口已经被其他进程占用了, 就会bind失败;调用listen, 声明当前这个文件描述符作为一个服务器的文件描述符, 为后面的accept做好准备;调用accecpt, 并阻塞, 等待客户端连接过来;建立连接的过程:调用socket, 创建文件描述符;调用connect, 向服务器发起连接请求;connect会发出SYN段并阻塞等待服务器应答; (第一次)服务器.原创 2021-05-23 20:25:21 · 1026 阅读 · 3 评论 -
TCP通信
TCP通信1. 初识TCP(Transmission Control Protocol)协议2. socket常见API3. TCP通信代码1. 初识TCP(Transmission Control Protocol)协议2. socket常见API创建 socket 文件描述符 (TCP, 客户端 + 服务器)int socket(int domain, int type, int protocol);绑定端口号 (TCP, 服务器)int bind(int socket, const str原创 2021-05-19 20:23:53 · 299 阅读 · 3 评论 -
UDP通信
UDP通信1. IP地址和PORT端口号2. 初识UDP(User Datagram Protocol)协议3. 网络字节序3.1 大端模式和小端模式4. socketaddr结构5. UDP使用的socket编程接口6. UDP通信代码6.1 UDP---英译汉1. IP地址和PORT端口号IP地址:用来在公网中确定唯一的一台主机PORT端口号:标定特定一台主机上的唯一进程IP+PORT:标定全网中唯一的一个进程网络套接字的本质是进程间通信。2. 初识UDP(User Datagram原创 2021-05-16 20:39:54 · 6165 阅读 · 5 评论 -
网络初识
网络初识1. 网络协议初识1.1 协议分层1.2 OSI七层模型1.3 TCP/IP五层(或四层)模型2. 网络传输基本流程3. 数据包封装和分用4. 网络中的地址管理4.1 IP 地址4.1MAC 地址5. Linux下的两条语句1. 网络协议初识1.1 协议分层在这个例子中, 我们的协议只有两层; 但是实际的网络通信会更加复杂, 需要分更多的层次.分层最大的好处在于 “封装” ,且实现了解耦,便于每一层的维护。1.2 OSI七层模型OSI(Open System Interconnect原创 2021-05-08 20:22:31 · 230 阅读 · 6 评论