网络的基本结构 设备连接 数据传输

网络概述

这里是按找我的直觉一步一步完善网络,由物理到主机,更好的理解网络

建立连接

连接方式分为有线和无线

而由于范围增大,连接又需要不同的第三方帮助

有线和无线

有线

最开始是直接电线传输,通过电流电压表示数据;然后变成了光纤传输,通过光脉冲表示数据

物理信号通过调制和解调,与数字信号转换,从而实现数据传输.执行这一过程的叫做调制解调器,即光猫

科普:

脉冲的频率即传输速度的上限,因为光子更小,所形成的波频也更大,于是光纤取代了电线

另外一种就是频率就是cpu的时钟频率,cpu是按时钟信号来执行指令的,所以频率越高,cpu就越好.这种频率由晶振产生

石英晶体排列,让其在施加外力后(此处为电场力),能够由于弹性产生特定频率的震动,一般频率很高,我们将其分频后作为时钟信号

无线

原理 : 将数据调制成射频信号,电磁波低于100KHZ时会被地表吸收,高于100kHZ的电磁波称为射频,而不同频率传输不同的信息,这样信息才不会混乱

规范 : 所以不同射频需要进行规范,即进行分配,各国都留出ISM频段(Industrial Scientific Medical Band)免费给这几种行业使用,只要发出功率不超过1W从而不干扰其他频段的就可以了

应用 : 2.4GHz为各国共同的ISM频段。因WLAN、bluetooth等无线网络,均可工作在该频段上.而这些信号可以根据环境自动调节频率以防止冲突.另外,电视红外遥控器频率为38kHZ,汽车遥控器一般为433.92MHZ和315HZ

信号屏蔽器就是发送与移动通信相同频段的射频干扰通信

wifi是特殊的WLAN(wireless LAN)

连接

主机间连接

直接连接 : 由前面有先或无线建立连接

间接连接(局域网) : 当距离和设备增加时,则需要第三方来帮助,即交换机,物理地址(mac)与交换机的LAN端口绑定,主机的网卡有唯一mac地址

间接连接(广域网) : 而如果需要更大距离,则需要在交换机上加一条线连接到公网,即路由器,路由器有唯一公网ip地址

程序间连接

在主机内,程序内的socket通过与端口绑定

通过操作系统的ARP协议将ip转换成mac,然传给交换机

数据传输

  • 物理层 : 物理信号的直接传输

  • 数据链路层 :由于物理设备的不可靠性,就出现了按进行传输(数据链路层),即把数据进行分组加上校验

  • 网络层 : 不同网络的主机需要定位,即在网络中寻址,路由.这一步传输的是IP数据报,而也就是到了这一层,才实现了让任意两台主机传输数据

  • 传输层 : 但网络层的直接传输并不可靠,所以出现了以IP协议为基础封装的TCP/UDP协议,提供更可靠和更方便的传输

  • 应用层 :

    会话层 : 数据最终会传入进程,然后建立进程间会话
    表示层 : 将二进制解密,翻译成应用的格式,如文本,图片等
    应用层 : 应用数据 HTTP,FTP,SMTP,DNS,TELNET
    

这其实就是TCP/IP模型

如果将应用层细分,就是OSI模型

另外,数据传输时,常会进行加密和压缩处理

网络过程

由mac和ip确定位置,由路由寻找位置

由ip协议为基础的tcp/udp协议进行传输数据

MAC/IP

二者都是用来定位主机的,mac用在局域网中,ip用在广域网中

MAC

mac是物理世界地址,由设备中的网卡在出厂时唯一标识

格式 : 如BC-6E-E2-22-26-87 ,由``6*32bit`组成,每个32bit由2十六进制表示,前三个表示厂商序列号(IEEE分配),后三个表示产品序号
mac可通过特定手段修改

IP

组成

IP地址是在网络中的地址,分为前后两部分,前面部分为网络号,后半部分为主机号

两个部分通过子网掩码进行区分,子网掩码由连续的1和连续的0构成,如255.255.255.0,1的部分对应为网络号,后面为主机号,因为子网掩码全为1,也经常用1的个数来表示子网掩码,如192.168.0.1/24 表示子网掩码为255.255.255.0

特殊的IP

网络地址 : 用来表示子网,主机号全为0
广播地址 : 用来向子网广播,主机号全为1
受限广播地址 : 255.255.255.255, 不能经过路由器
回环地址 : 127.0.0.1/8,用来表示本机地址,常用于测试

分配

私有IP : 我们的IP都是局域网内的IP,很多时候都是192.168.x.x,足以容纳254个终端,一般够用了,而前面由 IANA这个机构指定为私有地址

动态分配 : 路由器接收操作系统的DHCP请求后分配,主机再将ip配置到网卡

手动分配 : 手动配置ip地址,即静态地址.需要自己填写IP地址,路由器公网地址(默认网关),子网掩码,DNS.

使用

操作系统维护ARP(Address Resolution Protocol)表,即mac-ip的映射.

查表将对方ip转换成mac,如果没有查到,先给所有设备发送arp包,对应ip的主机会回复自己的mac地址,其他的会丢弃该包

寻址

因为网络范围的扩大,所以需要寻址

局域网和广域网 :即 LAN(local area network)和WAN(wide area network) ,其实局域和广域都是相对而言的,我能掌握的就是局域网

网关

gateway,即网络中的关卡

用于在不同网络中通信的设备,所以交换机不算网关,路由器算网关.

网关实现多种功能,如路由、安全、负载均衡、缓存、压缩、加密、认证、授权、过滤、转码等

交换机

只有LAN口接局域网内设备

实现网卡的mac与交换机的LAN口的绑定.

将mac地址与端口绑定,维护mac地址表,通过控制端口来实现交换数据

路由器

WAN口接运营商以连接到互联网 LAN口接自己设备

数据包需要跨越子网的时候就要经过路由器

当发现数据包不在自己子网时,就将目标IP改成路由器的,然后经由DNS,到达目标

地址转换技术

即NAT : Network Address Translation

如过两台设备在自己内网ip地址都是192.168.1.10,正常传输应该就会冲突

解决方法,将发送端的IP改成网关的IP,因为网关连接公网,IP是唯一的,能够正常寻址,解决了IPV4地址不足的问题

TCP/UDP

都是基于ip协议封装的协议,传输二进制数据

tcp

基于连接,保证数据的可靠性

建立连接的过程

建立和关闭其实都可以发两次包完成,即分别告诉对方要建立连接或断开连接

为了保证建立的可靠性,于是有第三次握手

未来保证数据传输的完整性,于是有了后两次挥手

握手表示双方都需要立刻响应,挥手表示自己到了可以关闭状态

另外为了保证数据的完整性,TCP建立文件缓冲区,每次发一部分,并在发送时附带序列号和发送的长度,以便于接收端把接收到的数据进行验证,从而确定是否重新请求

三次握手

首先客户端发SYN请求连接

服务器会SYN+ACK收到请求并确认

然后客户端发ACK建立连接

第三次发ACK是因为如果网络阻塞或SYN丢失,客户端会再次发送SYN包

如果阻塞的SYN恢复,如果两次包直接建立连接,服务器就会建立多个连接,而客户端只需要一个,产生两边状态不匹配.

所以第三次是tcp的核心,用于在不稳定的网络建立可靠的连接

四次挥手

客户端发FIN,然后服务器会ACK表示知道要关了,客户端就不必再次发FIN了

再数据传输完成后,服务器发FIN并可以关了,客户端收到后会ACK,然后服务器收到后关闭,客户端再超时等待确认服务器已经关闭后再关闭

都是为了防止数据包丢失防止对方重复发包

udp

直接传输,保证数据的时效性

封装成数据包后直接传输,用于语音和视频等少数丢包不影响的时候

另外常用于隧道网络

网络应用

VPN

通过隧道网络实现,即在一个网络协议中封装另一个网络协议的方式,将数据从一个网络传输到另一个网络的技术]

解决的问题 : 我们的数据会经过其他服务器,可以被其进行过滤和修改,即防火墙

但如果有服务器能同时连接两边的网络,那么我们就可以通过这个服务器来访问墙外的网络,即代理

而数据在传输时经过对称加密

内网穿透

因为我们设备的IP都是内网IP,二者不能直接进行连接

而内网穿透就是通过将内网IP映射为内网穿透部门所提供的公网IP

从而能够跨局域网连接

常用命令

windows中在cmd中执行

ping

我们执行 ping baidi.com

得到多个 来自 47.254.33.193 的回复: 字节=32 时间=420ms TTL=32

TTL(Time to Live),windows初始为128,linux初始为64,为了避免数据包在网络中无线循环而设置

每经过一个路由器就减1,当减到0时就会销毁,路由器发送ICMP给发出者

可以知道ping的作用

  1. 解析域名得到IP
  2. 检测网络连接状态
  3. 查看距离

验证,ping本机

ping 127.0.0.1
来自 127.0.0.1 的回复: 字节=32 时间<1ms TTL=128

arp

用于查看mac与ip映射

执行arp -a得到下面格式的数据

Interface: 192.168.1.2 --- 0x4
  Internet Address      Physical Address      Type    Age
  192.168.1.1           00-1a-2b-3c-4d-5e     dynamic  100
  192.168.1.10          00-aa-bb-cc-dd-ee     dynamic  200

在这个示例中:

  • 接口: 192.168.1.2
  • 网络接口的索引: -0x4
  • Internet 地址: 两个ARP缓存条目,分别对应IP地址192.168.1.1和192.168.1.10
  • 物理地址: 分别显示了与这两个IP地址相关联的MAC地址
  • 类型: dynamic,表示这是动态获取的ARP缓存条目

tracert

最终通过了哪些路由(route)

执行tracert baidu.com 得到下面数据

通过最多 30 个跃点跟踪
到 baidu.com [39.156.66.10] 的路由:

  1     2 ms     2 ms     1 ms  192.168.2.55
  2     *        *        *     请求超时。
  3     *        *        *     请求超时。
  4     *        *        *     请求超时。
  5     *        *        *     请求超时。
  6    20 ms    20 ms    19 ms  211.139.51.37
  7     *       24 ms     *     ptr.cq.chinamobile.com [218.207.40.157]
  8     *        *        *     请求超时。
  9     *       91 ms     *     221.183.72.13
 10    56 ms    54 ms    52 ms  221.183.49.126
 11    56 ms    52 ms    58 ms  111.13.188.38
 12    57 ms    56 ms    56 ms  39.156.27.1
 13    92 ms    59 ms    61 ms  39.156.67.1
 14     *        *        *     请求超时。
 15     *        *        *     请求超时。

你可能感兴趣的:(网络,tcp/ip)