[网络]网络协议基础知识

本文介绍了TCP/IP网络协议的基础知识,包括网络层、链路层、传输层和应用层的主要协议及作用。此外,还讲解了trouble-shooting中常用的命令,如ping、traceroute、nslookup和telnet,用于诊断和解决网络问题。
摘要由CSDN通过智能技术生成

reference: 阮一峰博客,谢希仁, 极客时间课程 等

1.基础知识

常用的TCPI/IP模型自下而上:网络层、链路层、网络层(ip层)、传输层(tcp/udp层)、应用层。

网络-层协议
应用层http、telnet、ftp
传输层tcp、udp
网络层ip、arp、icmp
链路层ethernet
物理层
  • 链路层
    协议:以太网协议
    传输单位:帧,head + data
    head中包含MAC地址
    子网内,通过广播实现数据传送: 接收方会比较自己的MAC地址与接收方MAC地址,若不同,丢弃,若相同则接收。

  • 网络层

    • 协议:IP协议、ARP协议
      ip地址,前部分代表网络,后部分代表主机。
      子网掩码 与 ip地址 做 与运算 => 子网络

    • ip数据包:head + data
      head中包含IP地址

    • ARP协议
      发送网络数据,必须要知道对方的MAC地址和IP地址。接收方IP地址已知,如何获取MAC地址?

      • 若两台主机不在同一子网,发送方发送给网关;
      • 若在同一子网,使用 ARP协议来获取接收方MAC地址。
        流程:ARP协议也是发出一个数据包(包含在以太网数据包中),其中包含它所要查询主机的IP地址,在对方的MAC地址这一栏,填的是FF:FF:FF:FF:FF:FF,表示这是一个"广播"地址。它所在子网络的每一台主机,都会收到这个数据包,从中取出IP地址,与自身的IP地址进行比较。如果两者相同,都做出回复,向对方报告自己的MAC地址,否则就丢弃这个包。

    有了MAC地址和IP地址,可以建立主机到主机间的通信了。

  • 传输层
    建立端口到端口间的通信。端口:0~65525, 其中 0 ~ 1023被系统占用,用户选用 1024 ~ 65535间端口。
    套接字(Socket) = ip地址 + 端口

    • 协议: UDP、TCP
  • 应用层

    • 协议:http,telnet
      在这里插入图片描述

2. trouble-shooting常用命令、工具

  • ping
    用来测试两台主机之间的连通性。PING使用了ICMP回送请求与回送回答报文。PING是应用层直接使用网络层ICMP的一个例子。它没有通过运输层的TCP或UDP。(reference: 谢希仁)
    ICMP报文是装在IP数据报中,作为其中的数据部分。
    关注: packet loss 丢包率

  • traceroute
    同样也使用了ICMP协议,详细过程参见 谢希仁。
    如果ping成功,但质量不好,可用traceroute追踪路由进一步查看。
    本地不通,可使用该命令探测出是哪个路由出问题了。如果网络很卡,该命令可判断哪里是瓶颈。

  • nslookup
    两种常用用法:

    • 解析域名对应的ip

      nslookup <domain_name>

    • 查看dns

      nslookup
      server

    configration file location: /etc/resolv.conf

  • telnet
    检查port
    用户用TELNET就可在其所在地通过TCP连接注册(即登录)到远地的另一台主机上(使用主机名或IP地址)。TELNET能将用户的击键传到远地主机,同时也能将远地主机的输出通过TCP连接返回到用户屏幕。这种服务是透明的,因为用户感觉到好像键盘和显示器是直接连在远地主机上。因此,TELNET又称为终端仿真协议 。(reference: 谢希仁)
    排查场景:网络没问题,但无法访问服务。

    检查port是否畅通,畅通长这样:在这里插入图片描述

  • tcpdump
    端口畅通(服务可达),依然有问题,继续抓包。
    referece: tcpdump usage

    tcpdump -i any -n host <ip_address>
    [and port 8080 -w /tmp/tcpdump.pcap]

    todo: heartbeat 为什么没捕获到,研究下系统中heartbeat是如何工作的。

  • netstat
    在这里插入图片描述

  • ss(与netstat类似,暂忽略)

  • curl

  • route -n
    查看网关查看网关

  • lsof

ip

ip rule
ip route

iptables

> iptables -vnL	#default -t filter
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值