TCP/IP协议栈概述

目录

1 应用层

1.1 应用层主要协议:

1.2 HTTP和HTTPS的区别:

1.3 HTTP常见状态码

2 传输层

2.1 传输层主要协议:

2.2 TCP三次握手

3 网络层

3.1网络层主要协议:

3.2网络层设备

3.3 路由算法

3.4 IP地址

4 网络接口层

4.1网络接口层主要协议:

4.2网络接口层设备:

5 一些常用的端口号:


       早期,不同的公司基于自己产品提出了不同的网络体系结构,这显然不符合互联网互连互通的希望,因此由国际标准化组织(ISO)提出了OSI 7层参考模型,但是尽管该模型在理论上有重大的意义,却由于种种原因,没能在实际应用中取得成功,成为了一种法定标准

       而TCP/IP参考模型则在市场上取得了巨大成功,成为了事实标准。 

图源王道论坛

1 应用层

1.1 应用层主要协议:

       电子邮件协议:SMTP

       文件传输:FTP

       万维网(WWW):HTTP

       DNS协议(域名解析协议):用来将域名转换为IP地址,也可以将IP地址转换为相应的域名地址

       TELNET协议:Internet远程登录服务的标准协议和主要方式

1.2 HTTP和HTTPS的区别:

传输信息安全性不同、连接方式不同、端口不同、证书申请方式不同
      HTTP:是超文本传输协议,信息是明文传输。如果攻击者截取了Web浏览器和网站服务器之间的传输报文,就可以直接读懂其中的信息。http的连接很简单,是无状态的。证书免费申请。

      HTTPS:是具有安全性的ssl加密传输协议,为浏览器和服务器之间的通信加密,确保数据传输的安全。是由SSL+HTTP协议构建的可进行加密传输、身份认证的网络协议。需要到ca申请证书,一般免费证书很少,需要交费。

1.3 HTTP常见状态码

(1)2xx (3种)

200 OK:表示从客户端发送给服务器的请求被正常处理并返回;

204 No Content:表示客户端发送给客户端的请求得到了成功处理,但在返回的响应报文中不含实体的主体部分(没有资源可以返回);

206 Patial Content:表示客户端进行了范围请求,并且服务器成功执行了这部分的GET请求,响应报文中包含由Content-Range指定范围的实体内容。

(2)3xx (5种)

301 Moved Permanently:永久性重定向,表示请求的资源被分配了新的URL,之后应使用更改的URL;

302 Found:临时性重定向,表示请求的资源被分配了新的URL,希望本次访问使用新的URL;

       301与302的区别:前者是永久移动,后者是临时移动(之后可能还会更改URL)

303 See Other:表示请求的资源被分配了新的URL,应使用GET方法定向获取请求的资源;

      302与303的区别:后者明确表示客户端应当采用GET方式获取资源

304 Not Modified:表示客户端发送附带条件(是指采用GET方法的请求报文中包含if-Match、If-Modified-Since、If-None-Match、If-Range、If-Unmodified-Since中任一首部)的请求时,服务器端允许访问资源,但是请求为满足条件的情况下返回改状态码;

307 Temporary Redirect:临时重定向,与303有着相同的含义,307会遵照浏览器标准不会从POST变成GET;(不同浏览器可能会出现不同的情况);

(3)4xx (4种)

400 Bad Request:表示请求报文中存在语法错误;

401 Unauthorized:未经许可,需要通过HTTP认证;

403 Forbidden:服务器拒绝该次访问(访问权限出现问题)

404 Not Found:表示服务器上无法找到请求的资源,除此之外,也可以在服务器拒绝请求但不想给拒绝原因时使用;

(5)5xx (2种)

500 Inter Server Error:表示服务器在执行请求时发生了错误,也有可能是web应用存在的bug或某些临时的错误时;

503 Server Unavailable:表示服务器暂时处于超负载或正在进行停机维护,无法处理请求;

2 传输层

2.1 传输层主要协议:

      TCP协议:面向连接,可靠传输,面向字节流,多应用于文件传输等。

 图源王道论坛

      UDP协议:无连接,不可靠传输,面向报文,多应用于及时通信等。

2.2 TCP三次握手

TCP连接传输三个阶段:连接建立、数据传送、连接释放

(1) 连接建立:三次握手,采用客户服务器模式

图源王道论坛

                 SYN=1,同步位,代表连接请求/连接请求的接收报文

                  seq=x,序号

                  ACK=1,确认位,与ack搭配使用

                  ack:期待对方下一个发送的报文段的第一个字节

图源王道论坛 

(2) 连接释放:四次挥手

 图源王道论坛 

                FIN=1,结束位

3 网络层

3.1网络层主要协议:

      IP协议:无连接

       ICMP和IGMP协议:IP协议的补充

      ARP协议:即地址解析协议,是根据IP地址获取MAC地址的一个网络层协议

     

      路由协议:ARP的MAC寻址还是局限在同一个子网中,如果不在同一个子网,以太网会将该数据包转发给本子网的网关进行路由

3.2网络层设备

可以分割广播域。

     路由器:多个输入、输出端口的专用计算机、进行转发分组。

                    根据选定的路由选择协议构造路由表,根据转发表对分组进行转发。

                    可以互联两个不同网络层协议的网段

3.3 路由算法

 

3.4 IP地址

每台设备都有一个或多个IP地址:

IP地址:全世界唯一的32位标识符,标识路由器主机的接口。网络号+主机号

IP地址的分类:

 图源王道论坛

 图源王道论坛

内部网络地址,互联网不承认:

 图源王道论坛

4 网络接口层

4.1网络接口层主要协议:

       局域网中使用网络接口层协议代表

         1.以太网
         2.令牌环(淘汰)
         3.FDDI(淘汰)

      



广域网中使用网络层协议代表

        1.SLIP(串行链路网际协议)
        2.PPP(点对点协议,MTU默认为1500字节)

4.2网络接口层设备:

物理层:

可以扩展以太网,但不能分割冲突域。

       中继器:再生、还原信号,只有两个接口,且因为无存储转发功能,适用于完全相同的两类网络互连(两端协议、速率、网络种类等都相同)(5-4-3原则)。

       集线器:多端口中继器,再生、放大信号,然后转发到除输入端口外的所有端口上,是共享式设备。

       放大器:放大信号。

链路层:

可以分割冲突域。

        网桥:(交换机前身)根据MAC帧目的地址对帧进行转发过滤。过滤通信量、增大吞吐率;扩大了物理范围;提高可靠性;可以互连不同网络、速率的以太网。

              透明网桥:以太网站点不知道发送帧经过哪些网桥,即插即用(自学习)。

             源路由网桥:把最佳路由信息(路由最少/时间最短)放在帧首部(广播发现帧实现)。

      交换机:多接口网桥,独占传输媒体带宽。

              直通式:查目的地址后立即转发。

              存储转发式:会检查是否正确,错误即丢弃。

 简洁地讲:当你输入一个网址并按下回车键的时候,首先,应用层协议对该请求包做了格式定义;紧接着传输层协议加上了双方的端口号,确认了双方通信的应用程序;然后网络协议加上了双方的IP地址,确认了双方的网络位置;最后链路层协议加上了双方的MAC地址,确认了双方的物理位置,同时将数据进行分组,形成数据帧,采用广播方式,通过传输介质发送给对方主机。而对于不同网段,该数据包首先会转发给网关路由器,经过多次转发后,最终被发送到目标主机。目标机接收到数据包后,采用对应的协议,对帧数据进行组装,然后再通过一层一层的协议进行解析,最终被应用层的协议解析并交给服务器处理。

5 一些常用的端口号:

0-1023是公认端口号,即已经公认定义或为将要公认定义的软件保留的,而1024-65535是并没有公共定义的端口号,用户可以自己定义这些端口的作用。

关于数据库的端口号:

      Oracle 数据库,默认的端口号为1521

      ORACLE EMCTL,默认的端口号为1158

      Oracle XDB(XML 数据库),默认的端口号为8080

      Oracle XDB FTP服务,默认的端口号为2100

      MS SQL*SERVER数据库server,默认的端口号为1433/tcp 1433/udp

      MS SQL*SERVER数据库monitor,默认的端口号为1434/tcp 1434/udp

      MYSQL默认端口号:3306

      REDISE端口号: 6379

参考文章:深入浅出 TCP/IP 协议栈 - 一像素 - 博客园

https://blog.csdn.net/ArthurCaoMH/article/details/88680834

https://blog.csdn.net/sinat_39049092/article/details/109351867

https://blog.csdn.net/banana960531/article/details/85621865

  • 2
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值