计算机网络知识点汇总

本文详细介绍了计算机网络中的各种协议,包括OSI七层模型、TCP/IP协议族及其各个层次的功能,如TCP和UDP的区别、TCP的可靠性机制、网络层、数据链路层和物理层的作用。此外,还讲解了TCP的三次握手和四次挥手过程、TCP粘包问题以及HTTP协议的工作流程、状态码和通信过程。最后讨论了HTTPS、Cookie、Session和Token在身份验证中的应用,并概述了Servlet的生命周期和线程安全性。
摘要由CSDN通过智能技术生成

总结不易,如果对你有帮助,请点赞关注支持一下
微信搜索程序dunk,关注公众号,获取博客源码

序号 内容
1 Java基础面试题
2 JVM面试题
3 Java并发编程面试
4 计算机网络知识点汇总
5 MySQL面试题
6 Mybatis源码分析 + 面试
7 Spring面试题
8 SpringMVC面试题
9 SpringBoot面试题
10 SpringCloud面试题
11 Redis面试题
12 Elasticsearch面试题
13 Docker学习
14 消息队列
15 持续更新…

|

OSI七层协议模型

图片来源于网络

img

(9-3-0753)
  • TCP/IP是一个四层的体系结构,主要包括:应用层、运输层、网际层和网络接口层。
  • 五层协议的体系结构主要包括:应用层、运输层、网络层,数据链路层和物理层。
  • OSI七层协议模型主要包括是:应用层(Application)、表示层(Presentation)、会话层(Session)、运输层(Transport)、网络层(Network)、数据链路层(Data Link)、物理层(Physical)

在这里插入图片描述

为什么要对网路协议进行分层

  • 简化问题难度和复杂度。由于各层之间独立,我们可以分割大问题为小问题
  • 灵活性好。当其中一层的技术变化时,只要层间接口关系保持不变,其他层不受影响
  • 易于实现和维护
  • 促进标准化工作。分开后,每层功能可以相对简单地被描述

网络协议分层的缺点: 功能可能出现在多个层里,产生了额外开销

五层协议的体系结构只是为了介绍网络原理而设计的,实际应用还是 TCP/IP 四层体系结构

TCP/IP协议族

img

TCP(传输控制协议)和IP(网际协议) 是最先定义的两个核心协议,所以才统称为TCP/IP协议族

应用层

应用层的任务是通过应用进程间的交互来完成特定网络应用,应用层协议定义的是应用进程间的通信和交互规则

对于不同的网络应用需要不同的应用层协议,在互联网中应用层协议很多,如域名系统 DNS,支持万维网应用的 HTTP 协议,支持电子邮件的 SMTP 协议、FTP协议等等

DNS

域名系统(Domain Name System,Domain Name被译为域名)是因特网的一项核心服务,它作为可以将域名和IP地址相互映射的一个分布式数据库,能够使人更方便的访问互联网,而不用去记住能够被机器直接读取的IP数串。(百度百科)例如:一个公司的 Web 网站可看作是它在网上的门户,而域名就相当于其门牌地址,通常域名都使用该公司的名称或简称。例如上面提到的微软公司的域名,类似的还有:IBM 公司的域名是 www.ibm.com、Oracle 公司的域名是 www.oracle.com、Cisco公司的域名是 www.cisco.com 等

HTTP

超文本传输协议(HTTP,HyperText Transfer Protocol)是互联网上应用最为广泛的一种网络协议。所有的 WWW(万维网) 文件都必须遵守这个标准。设计 HTTP 最初的目的是为了提供一种发布和接收 HTML 页面的方法

运输层

运输层的主要任务是负责两台主机进程之间的通信提供的数据传输服务,应用进程利用该服务传送应用层报文

运输层主要使用一下两种协议

  1. 传输控制协议-TCP:提供面向连接的,可靠的数据传输服务
  2. 用户数据协议-UDP:提供无连接的,尽最大努力的数据传输服务(不保证数据传输的可靠性)

TCP

  1. TCP 是面向连接的。(就好像打电话一样,通话前需要先拨号建立连接,通话结束后要挂机释放连接)
  2. 每一条 TCP 连接只能有两个端点,每一条TCP连接只能是点对点的(一对一)
  3. TCP 提供可靠交付的服务。通过TCP连接传送的数据,无差错、不丢失、不重复、并且按序到达
  4. TCP 提供全双工通信。TCP 允许通信双方的应用进程在任何时候都能发送数据。TCP 连接的两端都设有发送缓存和接收缓存,用来临时存放双方通信的数据
  5. 面向字节流。TCP 中的“流”(Stream)指的是流入进程或从进程流出的字节序列。“面向字节流”的含义是:虽然应用程序和 TCP 的交互是一次一个数据块(大小不等),但 TCP 把应用程序交下来的数据仅仅看成是一连串的无结构的字节流

UDP

  1. UDP 是无连接的;
  2. UDP 使用尽最大努力交付,即不保证可靠交付,因此主机不需要维持复杂的链接状态(这里面有许多参数);
  3. UDP 是面向报文的;
  4. UDP 没有拥塞控制,因此网络出现拥塞不会使源主机的发送速率降低(对实时应用很有用,如 直播,实时视频会议等);
  5. UDP 支持一对一、一对多、多对一和多对多的交互通信;
  6. UDP 的首部开销小,只有8个字节,比TCP的20个字节的首部要短。

TCP和UDP的区别

TCP UDP
是否连接 面向连接 无连接
是否可靠 可靠传输,使用流量控制和拥塞控制 不可靠传输,不使用流量控制和拥塞控制
连接对象的个数 只能是一对一通信 支持一对一,一对多,多对一和多对多交互通信
传输方式 面向字节流 面向报文
首部开销 首部最小20字节,最大60字节 首部开销小,仅8字节
场景 可靠性要求较高的场景,文件传输 实时性要求较高的场景(IP电话、视频会议、直播)

每一个应用层(TCP/IP参考模型的最高层)协议一般都会使用到两个传输层协议之一:

运行在TCP协议上的协议:

  • HTTP(Hypertext Transfer Protocol,超文本传输协议),主要用于普通浏览。
  • HTTPS(HTTP over SSL,安全超文本传输协议),HTTP协议的安全版本。
  • FTP(File Transfer Protocol,文件传输协议),用于文件传输。
  • POP3(Post Office Protocol, version 3,邮局协议),收邮件用。
  • SMTP(Simple Mail Transfer Protocol,简单邮件传输协议),用来发送电子邮件。
  • TELNET(Teletype over the Network,网络电传),通过一个终端(terminal)登陆到网络。
  • SSH(Secure Shell,用于替代安全性差的TELNET),用于加密安全登陆用。

运行在UDP协议上的协议:

  • BOOTP(Boot Protocol,启动协议),应用于无盘设备。
    NTP(Network Time Protocol,网络时间协议),用于网络同步。
  • DHCP(Dynamic Host Configuration Protocol,动态主机配置协议),动态配置IP地址。
    运行在TCP和UDP协议上:
  • DNS(Domain Name Service,域名服务),用于完成地址查找,邮件转发等工作。

网络层

网络层的任务就是选择合适的网间路由和交换节点,确保计算机通信的数据及时传送。在发送数据时,网络层把运输层产生的报文段或用户数据报封装成分组和包进行传送。在 TCP/IP 体系结构中,由于网络层使用 IP 协议,因此分组也叫 IP 数据报 ,简称数据报。

互联网是由大量的异构(heterogeneous)网络通过路由器(router)相互连接起来的。互联网使用的网络层协议是无连接的网际协议(Intert Prococol)和许多路由选择协议,因此互联网的网络层也叫做网际层或 IP 层。

数据链路层

数据链路层(data link layer)通常简称为链路层。两台主机之间的数据传输,总是在一段一段的链路上传送的,这就需要使用专门的链路层的协议。

在两个相邻节点之间传送数据时,数据链路层将网络层交下来的 IP 数据报组装成帧,在两个相邻节点间的链路上传送帧。每一帧包括数据和必要的控制信息(如同步信息,地址信息,差错控制等)。

在接收数据时,控制信息使接收端能够知道一个帧从哪个比特开始和到哪个比特结束

物理层

在物理层上所传送的数据单位是比特。 物理层(physical layer)的作用是实现相邻计算机节点之间比特流的透明传送,尽可能屏蔽掉具体传输介质和物理设备的差异。使其上面的数据链路层不必考虑网络的具体传输介质是什么。“透明传送比

评论 20
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值