Linux网络编程--(1)网络体系架构

一、网络的体系架构

1、OSI模型

网络体系结构指的是网络的分 层结构以及每层的使用的协议集合。

OSI协议(国际标准化组织)参考模型:分为 7层

但是由于OSI的分层过于复杂,TCP/IP模型将网络体系架构分为4层,被广泛应用。
Linux网络编程--(1)网络体系架构_第1张图片
2、在tcp/ip模型中四层的功能:

  • 网络接口层(物理层、链路层): 传输物理信号,接口,信号形式【高通】,曼彻斯特编码,将二进制流转换为数据帧,并进行数据帧的发送和接收。数据帧是网络传输的基本单元。
  • 网络层 :由路由进行数据分组,把分组封装在IP数据包中。根据数据包的目的IP,选择通路发出去。根据IP地址唯一的确定一台主机。主要有IP ICMP ARP
  • 传输层 负责实现应用程序间的通信服务,又称端到端的通信。报文段、另外传输层要负责差错处理、恢复,流量控制。确认丢失、确认迟到。超时重传。主要有TCP/UDP
  • 应用层 :应用程序使用相应的应用层协议,把封装好的数据交给传输层,或者接受传输层数据进行处理。主要有 FTP telnet smtp http dns
Linux网络编程--(1)网络体系架构_第2张图片
Linux网络编程--(1)网络体系架构_第3张图片
3、数据包的相关知识
包(Packet)是 TCP/IP协议通信传输中的数据单位,一般也称“数据包”。
TCP/IP协议是工作在OSI模型第三层(网络层)、第四层(传输层)上的,帧工作在第二层(数据链路层)。上一层的内容由下一层的内容来传输,所以在局域网中,“包”是包含在“帧”里的。
Linux网络编程--(1)网络体系架构_第4张图片

4,常用的网络调试工具
telnet测试TCP服务器端
Telnet协议是TCP/IP协议 族中的一员,是Internet远程登录 服务的标准协议和主要方式。它 为用户提供了在本地计算机上完成远程主机 工作的能力 。在终端 使用者的电脑上使用telnet程序,用它连接到服务器 。终端 使用者可以在telnet程序中输入命令,这些命令会在服务器 上运行,就像直接在服务器的控制台上输入一样。可以在本地就能控制服务器 。要开始一个telnet会话,必须输入用户名和密码来登录服务器 。Telnet是常用的远程控制 Web服务器 的方法。
lsof
lsof(list open files) 是一个列出当前系统打开文件的工具 。在linux环境下,任何事物都以文件的形式存在,通过文件不仅仅可以访问常规数据,还可以访问网络连接和硬件。
netstat
在Internet RFC标准 中,Netstat的定义 是: Netstat是在内核 中访问网络及相关信息的程序 ,它能提供TCP连接,TCP和UDP监听,进程内存管理 的相关报告
Netstat是控制台 命令,是一个监控TCP/IP网络的非常有用的工具,它可以显示路由表 、实际的网络 连接以及每一个网络接口设备的状态信息。Netstat用于显示与IP、TCP 、UDP 和ICMP 协议相关的统计数据,一般用于检验本机各端口 的网络连接情况。
如果你的计算机有时候接收到的数据包导致出错数据或故障,你不必感到奇怪,TCP/IP可以容许这些类型的错误,并能够自动重发数据包。但如果累计的出错情况数目占到所接收的IP数据报相当大的百分比,或者它的数目正迅速增加,那么你就应该使用Netstat查一查为什么会出现这些情况了。
一般用netstat -an 来显示所有连接的端口并用数字表示。
netstat命令的功能是显示网络连接、路由表 和网络接口信息,可以让用户得知有哪些网络连接正在运作。[1]  使用时如果不带参数,netstat显示活动的 TCP 连接。
sniffer
Sniffer,中文可以翻译为嗅探 器,也叫抓数据包软件,是一种基于被动侦听原理的网络分析 方式。使用这种技术方式,可以 监视网络的状态、数据流动情况以及网络上传输的信息。
抓包软件wireshark 科来
两种抓包工具的用法:
wireshark 和科来软件以及数据包的分析方法:
Linux网络编程--(1)网络体系架构_第5张图片

Linux网络编程--(1)网络体系架构_第6张图片
Linux网络编程--(1)网络体系架构_第7张图片

你可能感兴趣的:(Linux网络编程)