本文主要是介绍网络编程day03(网络体系结构、调试命令、TCP/IP对比),希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
目录
1》网络的体系结构
1> OSI模型
2> TCP/IP模型
3> 常见网络协议
4> DNS域名解析协议
2》 网络调试命令
1> ping:测试网络连通性(ICMP)
2> netstat
3》Dos (拒绝式服务)攻击?
4》 TCP/IP协议对比
1》网络的体系结构
网络采用分而治之的方法设计,将网络的功能划分为不同的模块,以分层的形式有机组合在一起。
每层实现不同的功能,其内部实现方法对外部其他层次来说是透明的。每层向上层提供服务,同时使用下层提供的服务。
网络体系结构即网络的层次结构和每层所使用协议的集合
两类非常重要的体系结构:OSI和TCP/IP
1> OSI模型
OSI模型是最理想的模型,只是在理想中的状态,并无法在现实中实现
应用层:指定特定应用的协议,文件传输,文件管理,电子邮件等。
表示层:确保一个系统应用层发送的信息可以被另一个系统的应用层读取,编码转换,数据解析,管理数据加密,解密。
会话层:通信管理,负责建立或者断开通信连接。
传输层:端口号,数据传输到具体那个进程程序(端到端)。
网络层:路由器中是有算法的,ip,(主机到主机)(路由的发送)。
链路层:格式变为帧(把数据分成包,一帧一帧的数据发送)。
物理层:传输的时bit流(0与1 一样的数据),物理信号,没有格式。
2> TCP/IP模型
应用层:应用协议和应用程序的集合
传输层:决定数据交给机器的那个任务(进程)去处理,通过端口寻址;进程一定有进程号,不一定有端口号,端口号只有在进行网络通信才有
网络层:提供设备到设备的传输,可以理解为通过IP寻址机器
网络接口和物理层:屏蔽硬件差异(驱动),向上层提供统一的操作接口。
OSI和TCP/IP模型对应关系图
3> 常见网络协议
网络接口和物理层:
<1> ppp:拨号协议(老式电话线上网方式)
<2> ARP:地址解析协议 IP-->MAC
<3> RARP:反向地址转换协议 MAC-->IP
网络层:
<1> IP(IPV4/IPV6):网间互连的协议
IP(Internet Protocol,网际协议)是网间层的主要协议,任务是在源地址和和目的地址之间传输数据。IP 协议只是尽最大努力来传输数据包,并不保证所有的包都可以传输到目的地,也不保证数据包的顺序和唯一。
<2> ICMP:网络控制管理协议,ping命令使用
ICMP(Internet Control Message Protocol,网络控制消息协议)是 TCP/IP 的核心协议之一,用于在 IP 网络中发送控制消息,提供通信过程中的各种问题反馈。ICMP 直接使用 IP 数据包传输,但 ICMP 并不被视为 IP 协议的子协议。常见的联网状态诊断工具依赖于 ICMP 协议。
<3> IGMP:网络分组管理协议,广播和组播使用
传输层:
<1> TCP:传输控制协议
TCP(Transmission Control Protocol,传输控制协议)是一种面向连接的,可靠的,基于字节流传输的通信协议。TCP 具有端口号的概念,用来标识同一个地址上的不同应用。
<2> UDP:用户数据报协议
UDP(User Datagram Protocol,用户数据报协议)是一个面向数据报的传输层协议。UDP 的传输是不可靠的,简单的说就是发了不管,发送者不会知道目标地址的数据通路是否发生拥塞,也不知道数据是否到达,是否完整以及是否还是原来的次序。它同 TCP 一样有用来标识本地应用的端口号。所以应用 UDP 的应用,都能够容忍一定数量的错误和丢包,但是对传输性能敏感,比如流媒体、DNS 等。
应用层:
<1> SSH:加密协议
SSH(Secure Shell,安全Shell),因为传统的网络服务程序比如TELNET本质上都极不安全,明文传输数据和用户信息包括密码。SSH 被开发出来避免这些问题,它其实是一个协议框架,有大量的扩展冗余能力,并且提供了加密压缩的通道可以为其他协议使用。
telnet:远程登录协议
<2> FTP:文件传输协议
FTP(File Transfer Protocol,文件传输协议)是用来进行文件传输的标准协议。FTP 基于 TCP,使用端口号 20 来传输数据,21 来传输控制信息。
<3> HTTP:超文本传输协议
HTTP(Hyper Text Transfer Protocol,超文本传输协议)是现在广为流行的 WEB 网络的基础,HTTPS 是 HTTP 的加密安全版本。协议通过 TCP 传输,HTTP 默认使用端口 80,HTTPS 使用 443。
<4> DNS:域名解析协议
DNS(Domain Name System,域名系统)是互联网的一项服务,可以简单的将用“.”分隔的一般会有意义的域名转换成不易记忆的 IP 地址。一般使用 UDP 协议传输,也可以使用 TCP,默认服务端口号为53。
<5> SMTP/POP3:邮件传输协议
SMTP(Simple Mail Transfer Protocol,简单邮件传输协议)是现在在互联网上发送电子邮件的事实标准。使用 TCP 协议传输,端口号为 25。
POP(Post Office Protocol,邮局协议)是支持通过客户端访问电子邮件的服务,现在版本是 POP3,也有加密的版本 POP3S。协议使用 TCP,端口为 110。
4> DNS域名解析协议
概念:
由于使用IP地址来指定计算机不方便人们记忆,且输入时候容易出错,用字符标识网络中计算机名称方法。
这种命名方法就像每个人的名字,这就是域名(Domian Name )
域名服务器(Domain Name server):用来处理IP地址和域名之间的转换。
域名系统(Domain Name System,DNS):域名翻译成IP地址的软件DNS
域名结构:例如域名 www.baidu.com.cn 从右向左看
cn为高级域名,也叫一级域名,它通常分配给主干节点,取值为国家名,cn代表中国
com为网络名,属于二级域名,它通常表示组织或部门
中国互联网二级域名共40个,edu表示教育部门,com表示商业部门,gov表示政府,军队mil等等
baidu为机构名,在此为三级域名,表示百度
www:万维网world wide web,也叫环球信息网,是一种特殊的信息结构框架。
DNS工作过程
DNS黑客技术
2》 网络调试命令
1> ping:测试网络连通性(ICMP)
作为平时网络连通检测使用最多的命令,它的作用主要是:
1> 用来检测网络的连通情况和分析网络速度;
2> 根据域名得到服务器IP
3> 根据ping 返回的TTL 值来判断对方所使用的操作系统及数据包经过路由器数量
字节:数据包大小,也就是字节
时间:响应时间(我发送数据包到该地址到该地址回应数据包到我这),这个时间越小,说明链接这个地址的速度越快
TTL:Time To Live,从源到目的,每经过一个路由器,TTL减1,当TTL=0时,包丢掉
2> netstat
netstat是控制台命令,是一个监控TCP/IP网络的非常有用的工具,他可以显示路由表、实际的网络连接以及每一个网络接口设备的状态信息。Netstat 用于显示与IP、TCP、UDP相关的统计数据,一般用于检验本机端口的网络连接情况。
作用:测试网络状态
netstat -a //查看所有网络状态 netstat -at //查看tcp所有网络状态 netstat -au //查看udp所有网络状态 netstat -l //查看处于监听状态的链接 netstat -lt //查看处于监听状态的链接tcp netstat -lu //查看处于监听状态的链接udp netstat -lx //查看处于监听状态的链接unix
3》Dos (拒绝式服务)攻击?
DOS:即Denial Of Service,拒绝服务的缩写,拒绝服务,DOS攻击即攻击者想办法让目标机器停止提供服务或资源访问,这些资源包括磁盘空间、内存、进程甚至网络带宽,从而阻止正常用户的访问。
要对服务器实施拒绝服务攻击,主要有以下两种方法:
①迫使服务器的缓冲区满,不接收新的请求;
②使用IP欺骗,迫使服务器把合法用户的连接复位,影响合法用户的连接,这也是DoS攻击实施的基本思想。
为便于理解,以下介绍一个简单的DoS攻击基本过程:攻击者先向受害者发送大量带有虚假地址的请求,受害者发送回复信息后等待回传信息。由于是伪造地址,所以受害者一直等不到回传信息,分配给这次请求的资源就始终不被释放。当受害者等待一定时间后,连接会因超时被切断,此时攻击者会再度传送一批伪地址的新请求,这样反复进行直至受害者资源被耗尽,最终导致受害者系统瘫痪。
4》 TCP/IP协议对比
UDP、TCP协议的相同点:都存在于传输层,全双工通信
不同点:
TCP:全双工通信、面向连接、可靠
TCP(即传输控制协议):是一种面向连接的传输层协议,他能提供高可靠性通信(即数据无误、数据无丢失、数据无失序、数据无重复到达的通信)
高可靠原因:
1.三次握手、四次挥手
2.序列号和应答机制
3.超时、错误重传机制
4.拥塞控制、流量控制
适用场景:适合用于对传输质量要求较高的通信
在需要可靠数据传输的场合,通常使用TCP协议
MSN/QQ等即时通讯软件的用户登录账户管理相关的功能通常采用TCP协议
UDP:全双工通信、面向无连接、不可靠UDP(用户数据包协议):是一种不可靠的无连接协议。在数据发送前,因为不需要进行连接,所以可以进行高效率的数据传输。
适用场景:
发送小尺寸数据(如对DNS服务器进行IP地址查询时)
适合于广播/组播式通信中。
MSN/QQ/Skype等即时通讯软件的点对点文本通讯以及音视频通讯通常采用UDP协议
今天的分享就到这里结束啦,如果有哪里写的不好的地方,请指正。
如果觉得不错并且对你有帮助的话点个关注支持一下吧!
这篇关于网络编程day03(网络体系结构、调试命令、TCP/IP对比)的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!