about blog github

12 Sep 2019
网络学习(一)

协议三要素:

  • 语法:规则和格式,如必要括号和标点符号
  • 语义:意义,如特定的单词表示什么意思
  • 顺序:顺序,协议需要按一定的顺序发送

网络协议层:

  • 应用层:如http/dns/dhcp,主要封装应用数据,一般也叫七层
  • 传输层:tcp/udp,提供会话连接机制,也叫四层,提供端口号和应用程序的映射关系
  • 网络层:ip/imcp/bgp,提供路由作用,也叫三层,提供ip地址,在网络中寻址,三层设备负责将ip头取出来,看看到底是转发、丢弃还是自己处理,三层连通表示通过ip可以通行
  • 链路层:arp/vlan/stp,提供定位和识别功能,也叫二层,提供mac地址,同一个网段的局域网使用mac地址就可以通行,二不同网段中需要使用ip进行通信,工作在该层的设备叫二层设备,负责接收网络包,将网络包的mac头取出来,看看这个网络包到底是转发、丢弃还是留给自己处理,二层连通表示仅通过mac就可以通信
  • 物理层:网络跳线,连接作用,也叫一层

网络数据包结构:

mac | ip | tcp/upd | http | data

依次是物理层的头部、网络层的头部、传输层的头部、应用层的头部和应用数据。

网卡的混杂模式:接受所有的数据包,不丢弃数据包

  • cidr:无类型域间选路,例如10.100.122.2/24,32位中,有24位是网络号,只有8位是主机号,主要用来判断数据包是不是在一个局域网,ip地址有定位功能,用于网络寻址,通信的范围比较大,mac地址类似身份证,没有定位功能,只有识别功能,通信的方位比较小,在一个局域网内是唯一的
  • 广播地址:10.100.122.255,如果往这个地址发送数据,所有10.100.122网络中的机器都会收到
  • 子网掩码:255.255.255.0,用于计算网络号
  • 公有ip:用于连接互联网
  • 私有ip:内网使用

cidr例子:16.158.165.91/22 (32 = 22 (16 + 6) + 10)

广播地址:16.158.<101001><11>.255 (16.158.167.255) 第一个地址:16.158.<101001><00>.1 (16.158.164.1) 子网掩码:255.255.<111111><00>.0 (255.255.252.0)

lo:loopback环回接口,127.0.0.1,用于本机通信,经过内核处理后直接返回,不会再任何网络中出现

网络设备状态标识(ip addr):

  • broadcast:表示网卡有广播地址,可以发送广播包
  • multicast:表示网卡可以发送多播包
  • up:表示网卡处于启动状态
  • lower_up:表示l1是启动状态,即网线是插着的
  • mtu:最大传输单元,以太网的默认值一般为1500,是二层mac层的概念,表示以太网规定,mac帧不能超过1518字节(mac头14字节和mac尾4字节),正文中还有ip头、tcp头和http头,如果放不下,需要分片传输
  • qdisc:queueing discipline排队规则,有pfifo先进先出,也有pfifo_fast方式,pfifo_fast包含3个band,band0到band2,优先级从高到低,在band中使用先进先出规则。数据包被分配到band主要依靠tos(type of service)服务类型区分

ip scope:

  • host:仅供本机相互通信,如lo
  • global:可以对外通信,可以接收来自各方的数据包,如eth0

给网卡设置ip:ifconfig eth0 192.169.1.100 && ifconfig eth0 up

网关要和当前网络至少一个网卡的ip在同一个网段。

dhcp:动态主机配置协议,自动分配可用的ip地址



LEo at 20:04

about blog github