the bits and bytes of computer network笔记
#tcp/ip five layer model
network layer : communicate through routers
通过router连接:internetwork -> Internet
协议: IP -> internet protocol
data link layer : across a single link
network layer : across a collection of networks
transport layer : sort out which client and sever programs are supposed to get that data
hub: physical层设备,少用
switch:data link层设备
router:forward data between independent network
network layer
Border Gateway Protocol(BGP) : router最优路径选择协议
网线接口 : RJ45
link light : 正确连接
activity light : 数据正确传输
data link层
MAC地址:48位 前24位表示生产厂商
unicast : 一对一传输 least significant bit为0
mulcast : least significant bit为1
broadcast : 发送到LAN中每个设备 -> board cast address : FF:FF:FF:FF:FF:FF
Ethernet frame
Preamble: 8byte
前7byte : 交替01
最后byte : SFD(start frame delimiter)
destination address : 目标MAC地址
source address : 来源MAC地址
ether-type : 16bit 描述协议
VLAN header : 表示frame本身为VLAN frame
VLAN(virtual LAN):单个物理设备有多个虚拟LAN
payload :数据
FCS : frame check sequence cyclical redudancy check(CRC)
network层
DHCP(dynamic host configuration protocol):分配ip地址
ip datagram
version : 协议版本
header length : 20bytes for ipv4
service type: 8bits quality of service (QoS)
identification: 相同message该字段相同
flag field: datagram是否可以fragment
fragment offset: 标识一个datagram的切片
TTL: time to live 被抛弃前最多的router hop次数
protocol: 传输层所使用协议
header checksum: datagram header校验和
ipv4地址:
class A:
开始为0
第一个byte:network ID
后三个byte: host ID
class B:
开始为10
前两个byte:network ID
后两个byte: host ID
class C:
开始为110
前三个byte:network ID
最后一个byte: host ID
ARP : address resolution protocol
寻找一个ip的硬件地址
ARP table: ip地址与MAC地址表
三段non-routable address:
10.0.0.0/8
172.16.0.0/12
192.168.0.0/16
对外部router不可见
transport层
tcp header
sequence number : 当前段的编号
acknowledgement number : 下一段编号
命令
linux : traceroute
win : tracert
打印传输路线
linux : mtr
win :pathping
持续traceroute
linux : netcat
nc -z -v [host] [port]
-z: zero input -v: verbose
win : Test-NetConnection
nslookup