![](https://img-blog.csdnimg.cn/20201014180756927.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
计算机网络
凌星An
1
展开
-
NAT协议
NAT协议: 地址转换协议, 请求,将网络数据当中的私网的源IP地址(私网IP)转换为公网IP 应答,将网络数据当中的目的IP(公网IP)转换为私网IPNAT的特点:网络被划分为私网和公网,NAT网关设置到私网到公网的路由出口位置,双方的流量都是需要经过NAT网关的网络访问只能从私网一端发起,公网是无法访问到私网的主机的NAT网管对于请求方而言,是替换源IP地址,对于应答而言,是替换目的IP地址。NAT网关对于双方都是透明的,双方在网络传...原创 2020-06-09 10:15:03 · 485 阅读 · 0 评论 -
以太网协议和ARP协议
数据链路层负责相邻设备之间的传输,其关键作用的是MAC地址。MAC地址用于识别数据链路中互联的节点;MAC地址长48个比特位。以太网帧格式类型:网络层使用的协议CRC校验:检验数据链路层数据帧是否出错只要确定了IP地址,就可以像这个目标发送IP数据报。在底层,进行实际通信时有必要知道每个IP地址所对应的MAC地址。如果不知道,就无法传输数据了。而解决这个问题,需要运用ARP协议。ARP协议是通过IP地址获取MAC地址。ARP协议的工作流程: 为了获得目...原创 2020-06-05 18:09:28 · 735 阅读 · 0 评论 -
IP地址的管理
IP(iPv4):uint32_t.IP地址由 网络标识(网络号即网络地址)和主机标识(主机号即主机地址)两部分组成。IP地址分类:A类: 第一个比特位固定位0; 1~8个比特位是网络标识 ;剩余24位是主机标识A类的网络地址 0.0.0.0~127.0.0.0A类IP地址0.0.0.0~127.255.255.255B类: 前二个比特位固定为10 ;1~16个比特位是网络标识; 剩余8位是主机标识 B类的网络地址:128.0.0.0~191....原创 2020-06-05 16:52:38 · 2042 阅读 · 0 评论 -
HTTP协议
HTTP协议是Hyper Text Transfer Protocol(超文本传输协议)的缩写,是用于从万维网(WWW:World Wide Web)服务器传输超文本到本地浏览器的传送协议。HTTP是一个基于TCP/IP通信协议来传递数据(HTML 文件,图片文件,查询结果等)。HTTP是一个属于应用层的面向对象的协议,由于其简捷、快速的方式,适用于分布式超媒体信息系统。HTTP协议工作于客户端-服务端架构为上。浏览器作为HTTP客户端通过URL向HTTP服务端即WEB服务器发送所有请求。Web原创 2020-06-03 15:38:20 · 334 阅读 · 0 评论 -
ipv4的头部
4位版本信息:描述IP协议的版本。 4位头部长度:表示IP协议头部的长度 4个比特位表示的数值 * 4 = IP协议头部的长度 IP协议头部最大为60字节(固定的20字节+可选的40字节)8位服务类型: 比特 含义 0 1 2 优先级(现在已经弃用了) 3 最小延时(ssh) 4 最大吞吐量...原创 2020-06-02 20:35:48 · 3794 阅读 · 1 评论 -
TCP粘包问题
TCP粘包是指发送方发送的若干包数据到接收方,接收方应用程序看到一连串的字节数据,不知道从哪个部分到哪个部分是一个完整的应用层数据包。发生粘包的原因:发送方:TCP为了提高效率,如果发送的数据包太小,就会启动Nagle算法,对小的数据包进行合并,然后发送。这样的话,接收方接收到消息的时候就无法区分那些数据包,便产生了粘包现象。 接收方:接收方收到数据后,先放到接收缓冲区,如果不及时将接收缓冲区的数据拿走,下一次读取数据的时候可能会同时读到多个数据包,造成粘包现象。如何避免粘包问题?1原创 2020-05-30 16:19:33 · 143 阅读 · 0 评论 -
TCP的机制讨论:可靠传输、提高网络效率
通过序列号和确认应答提高可靠性在TCP中,当发送端的数据到达接收主机时,接收端主机会返回一个已收到消息的通知。这个通知叫做确认应答(ACK)通过序列号可以判断是否已经接收了该数据,并且能判断是否需要接收。提高可靠性的具体做法:接收端要查询数据TCP首部中的序列号和数据的长度,将自己下一步应该接受的序号作为确认应答返送回去。超时重传机制当消息发送方发送一条数据,就会开启一个重传计时器,用来计算数据发出去的时间,当数据发出去的时间大于RTO的时候,还没有收到确认报文,则进行重发。RT.原创 2020-05-30 17:03:47 · 423 阅读 · 1 评论 -
TCP连接过程
TCP的链接过程 Qyuan制作序列号和确认序列号 客户端和服务端各自维护一份序列号。 序列号不会只从0或1开始,而是建立连接时有计算机确定一个初始值,通过SYN包传给接收端主机。然后再将每转发过去的字节数累加到初始值上表示数据的位置。 在建立连接和断开连接时发送的SYN包和FIN包虽然并不携带数据,但是也会作为一个字节增加对应的序列号。 单独的ACK包不会消耗序列号 发送端收到这个确认应答以后可以认为在这个序号以前的数据都已经被正常...原创 2020-05-25 11:19:57 · 520 阅读 · 0 评论 -
TCP的首部
特点: 面向连接 可靠传输 面向字节流首部:源端口号:表示发送端端口字段长16位;目的端口号:表示接收端端口号字段长16位。32位序号:字段长32位。序号是指发送数据的位置。每发送一次数据,就累加一次该数据字节数的大小。32位确定序号:字段长32位,指下一次应该收到的数据的序列号,也就是目的端期望源端的下一个请求序号数据偏移,(4位首部长度):该字段长4位,单位为4字节。表示TCP所传输的数据部分应该从TCP包的哪个位开始计算,也可以将它看成TCP首部的长度。保留...原创 2020-05-23 17:28:51 · 3783 阅读 · 1 评论 -
UDP的协议、首部
特点:无连接:UDP通信双方在发送数据之前,不需要建立连接,只需要直到对方的ip和port就可以传输数据不可靠:UDP数据包在传输过程中,如果被丢弃了,不会进行重发。面向数据报:应用层使用UDP协议的时候,不管是从UDP接收缓冲区当中拷贝数据,还是应用层将数据拷贝到UDP的发送缓冲区,都市一整条数据拷贝的,而不是存在两条数据一起存在缓冲区当中的情况UDP缓冲区:对于应用层的数据是整条数据接收和发送的对于发送而言,应用层sendto接口将数据提交给传输层当中的UDP的发送缓冲区,.原创 2020-05-21 17:09:44 · 628 阅读 · 0 评论 -
socket的接口
1.创建套接字int socket(int domain, int type, int protocol) 参数: domain:设置网络层是用什么协议 AF_INET IPv4 Internet protocols AF_INET6 IPv6 Internet protocols type:套接字类型 流式套接字:默认协议是TCP,...原创 2020-05-21 14:06:03 · 589 阅读 · 0 评论 -
网络基础知识
OSI七层模型:物理层 数据链路层 网络层 传输层 会话层 表示层 应用层TCP/IP五层模型物理层 数据链路层 网络层 传输层 应用层(将OSI的会话层、表示层、应用层 合到一起)五层模型的作用及其常见协议应用层:负责应用程序之间的数据传输。典型的协议:HTTP协议、FTP协议(文件传输协议)、DNS协议、SMTP协议(简单电子邮件传输)传输层:负责端与端之间的数据传输,理解端与端(端口和端口之间的传输)典型的协议:TCP协议、UDP协议(用户...原创 2020-05-15 21:44:39 · 152 阅读 · 0 评论