网络协议

C/S和B/S架构

C:client(客户端)、S:server(服务端),比如电脑上装的QQ、微信

B:browser(浏览器)、S:server(服务端),比如网页的淘宝、京东

B/S架构本质也是C/S架构

网络协议

网络:网络连接介质+网络协议(osi七层)

网络协议按照功能不同分为osi七层或tcp/ip五层或tcp/ip四层

osi七层协议:应用层/表示层/会话层/传输层/网络层/数据链路层/物理层

五层协议:应用层/传输层/网络层/数据链路层/物理层

物理层

010101的电信号

物理层的功能:主要是基于电器特性发送高低电压(电信号),高电压对应数字1,低电压对应数字0

数据链路层

数据链路层的功能:定义了电信号的分组方式,把物理层的电信号分组

以太网协议

以太网协议Ethernet

  • 一组电信号叫一个数据报/数据帧
  • 每一数据帧分为:报头head和数据data两部分

报头head包含:(固定18字节)

  • 发送者/源地址:6个字节
  • 接收者/目标地址:6个字节
  • 数据类型:6个字节

数据data包含:(最短46字节,最长1500自己)

  • 数据报的具体内容

Mac地址

发送者地址和接收者地址就是网卡地址,即Mac地址

Mac地址:每块网卡都有一个唯一的Mac地址,长度为48位2进制,通常由12位16进制数表示(前六位是厂商编号,后六位是流水线号)

广播

同一个局域网内通信,但会出现广播风暴

网络层

网络成的功能:引入一套新的地址用来区分不同的广播域/子网,这套地址即网络地址

IP协议

  • 规定网络地址的协议叫IP协议,IP协议定义的地址称之为IP地址,广泛采用的v4版本即ipv4,它规定网络地址由32位2进制表示
  • 范围是0.0.0.0-255.255.255.255,范围是有限的,不能表示出所有的网络设备,于是出现了ipv6
  • 一个ip地址通常写成四段十进制数:如172.0.0.1

ip地址分为两部分

  • 网络部分:标识子网
  • 主机部分:标识主机

注意:单纯的ip地址段只是标识了ip地址的种类,从网络部分或主机部分都无法辨识一个ip所处的子网

子网掩码

所谓“子网掩码”,就是标识子网络特征的一个参数。它在形式上等同于IP地址,也是一个32位二进制数字,它的网络部分全部为1,主机部分全部为0.

通过子网编码和ip地址可以判断两个ip是否处在同一个网段,方式是将两个ip地址与子网掩码做按位与运算(两个数位都为1,运算结果为1,否则为0),然后比较结果是否相同,如果是的话,就表明它们在同一个子网络中,否则就不是。

ARP协议

广播的方式发送数据报,获取目标主机的Mac地址

Mac地址学习:Mac地址和IP地址的映射表,第一次接收到就会在ip/mac映射表中添加一条数据。

传输层

传输层的功能:建立端口到端口的通信

tcp协议

三次握手,四次挥手

三次握手

四次挥手

tcp连接可靠,因为发送过程中需要回执

服务端如果看到大量的syn_rcvd状态,表示收到了dos和ddos攻击

dos攻击:拒绝服务攻击,ddos攻击:分布式的拒绝服务攻击

端口:端口范围0-65535,0-1023为系统占用端口

udp协议

不可靠连接,因为发送不需要响应

应用层

应用层的功能:规定应用数据的数据格式

上网流程分析

以www.baidu.com为例

  1. 在浏览器输入www.baidu.com
  2. 会取dns服务器通过域名解析成ip地址
  3. 向ip+端口号这个地址发送请求,就会访问到百度的服务器

socket

在应用层和传输层之间的一个抽象层,它把TCP/IP层复杂的操作抽象为几个简单的接口供应用层调用,已实现进程在网络中通信

原文地址:https://www.cnblogs.com/yunluo/p/11467016.html