linux基础-TCP/IP协议篇

csdnyasin 2019-12-10

 1.网络层次模型概念介绍:TCP/IP协议就是用于简化OSI层次,以及相关的标准。传输控制协议(tcp/ip)族是相关国防部(DoD)所创建的,主要用来确保数据的完整性及在毁灭性战争中维持通信

是由一组不同功能的协议组合在一起构成的协议族,利用一组协议完成OSI所实现的功能,不单单是指TCP.IP这两个协议。

 2.网络层析模型作用说明:

linux基础-TCP/IP协议篇

OSI七层模型简化四层DoD模型,应用层、表示层、会话层统称为应用层,传输层称为主机到主机层,网络层即为因特网层,数据链路层和网络层统称为网络接入层。

 3.网络层次模型组成部分如图:

linux基础-TCP/IP协议篇

每一层都包含了对应的协议规则,这里说明下ICMP协议,即为平时如果我们检查主机是否在线,通常使用ping 192.168.1.111,这里就用到了ICMP协议,如果ping不通也可能是ICMP协议关闭引起的哦!

 4.网络层次模型琢层说明

(1)首先应用层:

linux基础-TCP/IP协议篇

应用层包含了以上诸多协议规则,包括一些对应的端口,其中除了TFTP是UDP协议之外,其他全部都为TCP协议。

(2)主机到主机层:

linux基础-TCP/IP协议篇

主机到主机层只包含了两个TCP和UDP这两个网络协议

(3)因特网层/网络接入层:

linux基础-TCP/IP协议篇

因特网层负责将分组报文从源端发送到目的端,为网络中的设备提供逻辑地址

二.网络TCP/IP模型精讲

 1.网络重要协议说明:

TCP(传输控制协议):属于面向连接的网络协议,其可靠性相对UDP来说比较高、流控、使用TCP应用,例如WEB浏览器;电子邮件;文件传输程序。

UDP(用户报文协议):属于无连接的网络协议,不可靠传输,尽力而为,尽力传递,使用的UDP应用,例如域名系统(DNS),视频流,IP语音程序等。

 2.网络协议报文结构:

源端口随机分配,目标端口使用知名端口,在linux系统上的/proc/sys/net/ipv4/ip_local_port_rang位置存放的是本地端口的取值范围。

由于TCP协议头部使用16位来保存端口号,所以端口的个数最多为65536个,2~16=65536,0号端口不会被tcp和udp协议使用。tcp和udp协议端口号范围是1-65535.

控制字段说明(控制字段信息默认为0,控制字段功能不起作用;控制字段信息置为1,表示相应控制字段功能开启):

ack:表示确认控制字段,实现数据可靠连接

syn:表示请求建立连接字段

fin:表示请求断开连接字段

sep*num:此字段表示数据在发送过程中,需要把切分的数据排上序号依次发送给接收方,这样避免接收到数据在打包后的损坏问题。

ack*num;此字段表示在数据发送中,排序号的数据发送给接收号,接收号按序号给出一个接收相应,避免序号紊乱问题。

应用客户端使用的源端口号一般为系统中未使用的且大于1024的,目的端口号为服务端应用服务的进程,如telnet为23.

 3.网络连接的建立过程(TCP/IP)三次握手:

linux基础-TCP/IP协议篇

简要概括如下:一握手:请求建立连接(syn)

       二握手:连接确认再请求(ack syn)

         三握手:最后确认,即建立(ack)

 4.网络连接建立过程(四次挥手):

linux基础-TCP/IP协议篇

简要概括如下:

一挥手:请求连接断开(fin)

二挥手:断开请求要确认(ack)

三挥手:思考之后要断开(fin,ack)

四挥手:最后确认,即断开(ack)

 5.网络状态转换过程:

linux基础-TCP/IP协议篇

客户端独有的:SYN_SENT 、FIN_WAIT1 、FIN_WAIT2 、CLOSING 、TIME_WAIT 。
     服务端独有的:LISTEN、SYN_RCVD 、CLOSE_WAIT、LAST_ACK 。
  共有的:CLOSED、ESTABLISHED

三.网络TCP/CP涉及的原理

  1.ARR协议原理:

将ipv4地址解析为MAC地址

维护映射的缓存

linux基础-TCP/IP协议篇

原理说明:当主机1.1想要与其他主机通信发送消息时,需要向其他主机发送大量的广播信息用于查找其他主机,同理其他主机想要发送消息也一样,因此ARP协议就诞生了,当第一次找到其他主机时就会维护一个映射的缓存,下次在连接此主机就无需再发送广播信息来查找主机了。因此ARP协议就是为了解决主机间相互连接时的广播风暴问题。

 2.DNS协议原理:

DNS是什么?(Domain Name System)

DNS称为域名系统,在网站运行中起到了至关重要的作用,只要作用是负责把网站域名解析为对应的IP地址。

linux基础-TCP/IP协议篇

说明:域名的层次级别:

第一个级别:称为 根域名服务器 .(全球13个)
       第二个级别:称为 顶级域名服务器(一级域名服务器).com .cn .gov
       第三个级别:称为 二级域名服务器(授权DNS服务器).baidu.com .jd.com
       第四个级别:称为 虚拟主机信息 www.baidu.com www.jd.com

DNS解析相关命令
       dig @8.8.8.8 www.xxx.com +trace
       nslookup www.xxx.com
       host www.xxx.com    
       ping www.xxx.com

相关推荐