网络基础(七)-WebSocket协议
参考文献
趣谈网络协议
WebSocket-RFC-6455
WebSocket
数据格式
123456789101112131415161718 0 1 2 3 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1+-+-+-+-+-------+-+-------------+-------------------------------+|F|R|R|R| opcode|M| Payload len | Extended payload length ||I|S|S|S| (4) |A| (7) | (16/64) ||N|V|V|V| |S| | (if payload len==126/127) || |1|2|3| |K| | ...
网络基础(六)-链路层
参考文献
TCP/IP详解
链路层
在TCP/IP协议族中,链路层主要有三个目的:
为IP模块发送和接收IP数据报;
为ARP模块发送ARP请求和接收ARP应答;
为RARP发送RARP请求和接收RARP应答
MAC地址
Media Access Control
设备间通信的本质其实是设备拥有的网络接口(网卡)间的通信.为了区别每个网络接口,互联网工程任务组(IETF)要求每个设备拥有一个唯一的编号,这个就是 MAC 地址
数据的发送方,将自己的 MAC 地址、目的地 MAC 地址,以及数据作为一个分组(Packet),也称作 Frame 或者封包,发送给交换机.交换机再根据目的地 MAC 地址,将数据转发到目的地的网络接口(网卡)
IP 协议要传输数据,就要将数据转换成为链路层的分组,然后才可以在链路层传输
链路层分组大小受限于链路层的网络设备、线路以及使用了链路层协议的设计
MTU 这个缩写词,它指的是 Maximun Transmission Unit,最大传输单元,意思是链路层网络允许的最大传输数据分组的大小.因此 IP 协议要根据 MTU ...
网络基础(二)-HTTP安全-HTTPS
参考文献
[SSL/TLS Handshake: Detailed Process and How does it Work](SSL/TLS Handshake: Detailed Process and How does it Work)
极客时间 透视HTTP协议
HTTPS
如果通信过程具备了四个特性,就可以认为是“安全”的,这四个特性是:机密性、完整性,身份认证和不可否认.
机密性(Secrecy/Confidentiality)是指对数据的“保密”,只能由可信的人访问,对其他人是不可见的“秘密”,简单来说就是不能让不相关的人看到不该看的东西.
完整性(Integrity,也叫一致性)是指数据在传输过程中没有被篡改,不多也不少,“完完整整”地保持着原状.
身份认证(Authentication)是指确认对方的真实身份,也就是“证明你真的是你”,保证消息只能发送给可信的人.
不可否认(Non-repudiation/Undeniable),也叫不可抵赖,意思是不能否认已经发生过的行为,不能“说话不算数”“耍赖皮”.
SSL/TLS
SSL(Secure Soc ...
网络基础(五)-IP协议
参考文献
IP-rfc791
CIDR-rfc4632
趣谈网络协议
IP协议
主要目的是解决寻址和路由问题,以及如何在两点之间传送数据包.
IP协议使用“IP 地址”的概念来定位互联网上的每一台计算机.
不可靠(unreliable)的意思是它不能保证IP数据报能成功地到达目的地.IP仅提供最好的传输服务.如果发生某种错误时,如某个路由器暂时用完了缓冲区,IP有一个简单的错误处理算法:丢弃该数据报,然后发送ICMP消息报给信源端.任何要求的可靠性必须由上层来提供(如TCP).
无连接(connectionless)这个术语的意思是IP并不维护任何关于后续数据报的状态信息. 每个数据报的处理是相互独立的.这也说明,IP数据报可以不按发送顺序接收.如果一信源向相同的信宿发送两个连续的数据报(先是 A,然后是B),每个数据报都是独立地进行路由选择,可能选择不同的路线,因此B可能在A到达之前先到达.
IP地址
IP地址的规则中,网络号和主机号连起来总共32比特.通过子网掩码来区分网络号和主机号
子网掩码为1的部分为网络号,子网掩码为0的部分表示主机号.
IP地址的主机号: ...
网络基础(四)-UDP协议
参考文献
编程必备基础 大话HTTP协议[慕课]
趣谈网络协议
WireShark数据包分析实战(第三版)
TCP-RFC793
TCP/IP详解 卷1: 协议
图解网络-小林coding
UDP-RFC768
UDP
UDP头部格式
123456789101112130 7 8 15 16 23 24 31 +--------+--------+--------+--------+ | Source | Destination | | Port | Port | +--------+--------+--------+--------+ | | | | Length | Checksum | +--------+--------+--------+--------+ | ...
网络基础-TCP协议(二)
参考文献
编程必备基础 大话HTTP协议[慕课]
趣谈网络协议
WireShark数据包分析实战(第三版)
TCP-RFC793
TCP/IP详解 卷1: 协议
图解网络-小林coding
[UDP-RFC768]
TCP重传机制
TCP实现可靠传输的方式之一是通过序列号与确认应答.
在TCP中,当发送端的数据到达接收主机时,接收端主机会返回一个确认应答消息,表示已收到消息.
常见的重传机制有:
超时重传
快速重传
SACK
D-SACK
超时重传
在发送数据时,设定一个定时器,当超过指定的时间后,没有收到对方的ACK确认应答报文,就会重发该数据.
TCP会在以下两种情况发生超时重传:
数据包丢失: 数据包未成功发送
确认应答丢失: 确认应答未成功发送
RTT(Round-Trip 往返时延): 数据从网络一端传送到另一端所需的时间,也就是包的往返时间.
超时重传时间是以RTO(Retransmission Timeout 超时重传时间)表示
在重传的情况下,超时时间RTO较长或较短会出现不同的情况
当超时时间RTO较大时,重发就慢,丢了很久才重发,没效率 ...
网络基础-HTTP协议
参考文献
编程必备基础 大话HTTP协议[慕课]
趣谈网络协议
WireShark数据包分析实战(第三版)
HTTP/1.1-RFC2616
TCP-RFC793
TCP/IP详解 卷1: 协议
图解网络-小林coding
UDP-RFC768
HTTP
历史
20世纪60年代,美国国防部高等研究计划署(ARPA)建立ARPA网,它被认为是如今互联网的始祖.
1989年,任职于欧洲核子研究中心(CERN)的Tim Berners-Lee发表了一篇论文,提出了在互联网上构建超链接文档系统的构想.这篇论文中确立了三项关键技术:
URI: 即统一资源标识符,作为互联网上资源的唯一身份.
HTML: 即超文本标记语言,描述超文本文档.
HTTP: 即超文本传输协议,用来传输超文本.
HTTP/0.9,结构比较简单,为了便于服务器和客户端处理,它也采用了纯文本格式.
HTTP/1.0,HTTP/1.0 版本在 1996 年正式发布.多方面增强了0.9版本:
增加了 HEAD、POST 等新方法;
增加了响应状态码,标记可能的错误原因;
引入了协议版本号概念;
引入了 HTTP ...
网络基础-TCP协议(一)
参考文献
编程必备基础 大话HTTP协议[慕课]
趣谈网络协议
WireShark数据包分析实战(第三版)
TCP-RFC793
TCP/IP详解 卷1: 协议
图解网络-小林coding
UDP-RFC768
计算机网络通关29讲
Does the original TCP connection still exist after disconnecting the network cable?
https://wenfh2020.com/category/#kernel
TCP协议
TCP (Transport Control Protocol)是一个传输层协议,提供 Host-To-Host 数据的可靠传输,支持全双工,是一个连接导向的协议.
TCP 提供的是 Host-To-Host 传输,一台主机通过 TCP 发送数据给另一台主机.这里的主机(Host)是一个抽象的概念,可以是手机、平板、手表等.收发数据的设备都是主机,所以双方是平等的.
TCP 要实现主机到主机通信,就需要知道主机们的 网络地址(IP 地址),但是 TCP 不负责实际地址到地址(Address-To- ...
网络基础(一)-网络协议概述
参考文献
编程必备基础 大话HTTP协议[慕课]
趣谈网络协议
WireShark数据包分析实战(第三版)
TCP-RFC793
TCP/IP详解 卷1: 协议
图解网络-小林coding
UDP-RFC768
透视HTTP协议[极客时间]
什么是TCP/IP?-四张图解释TCP/IP四层协议模型
协议三要素
语法, 是解释控制信息每个部分的意义.就是这一段内容要符合一定的规则和格式.例如,括号要成对,结束要使用分号等.
语义,是用户数据与控制信息的结构与格式.就是这一段内容要代表某种意义.例如数字减去数字是有意义的,数字减去文本一般来说就没有意义.
顺序(时序),是对事件发生顺序的详细说明,就是先干啥,后干啥.例如,可以先加上某个数值,然后再减去某个数值.
OSI七层模型
OSI: “开放式系统互联通信参考模型”(Open System Interconnection Reference Model)OSI参考模型从下往上依次是:(物联网叔会试用)
物理层(Physical Layer):物理层复制传送比特(Bit),涉及到接口和传输媒体的机械,电气等特性. 比特 ...